Jump to content
IGNORED

A novel way to massively improve the SQ of computer audio streaming


Message added by The Computer Audiophile

Important and useful information about this thread

Posting guidelines

History and index of useful posts

Most important: please realize this thread is about bleeding edge experimentation and discovery. No one has The Answer™. If you are not into tweaking, just know that you can have a musically satisfying system without doing any of the nutty things we do here.

Recommended Posts

Ok, MASSIVE is a bit of an overstatement at this level of high-end audio but now that I have your attention, I would say that this improvement is quite significant, nonetheless, and once you hear it, I suspect you will not wish to go back to your previous setup. More importantly, this is neither difficult nor expensive to implement.

 

Hi @romaz

 

I'm trying to understand your experiment in the context of the rest of your setup. Can you clarify a few things for us?

 

  • What are physical distances involved here?
    • Between your Mac Mini and the switch?
    • Between the Mac Mini and the mR/SMS-200? Did you change this for your experiment, i.e. move the Mini closer to your mR/SMS-200?

     

    [*]What is on which AC circuit?

    • Of the following: Mini, NAS, and switch, which of these, if any, is in the same room, or on the same AC circuit as your audio gear - i.e. mR/SMS-200 and downstream devices?

     

    [*]Did cabling stay the same? So before, you had the Mini, the NAS, and the mR/SMS-200 connected to your switch. It sounds like the big epiphany (and audible improvement) for you was moving the cable from the mR/SMS from the router to the Mini (with bridging enabled, of course)

    • So other than that port change, were the cables unchanged in type, or length?

     

    [*]And final question :D

    • Can you enumerate your "massively improved chain" from end to end? What PSUs are in place? What isolation do you still have in place for: AC, DC, Ethernet, and USB?

 

Also, I wanted to comment on the following quote:

 

This excerpt is taken from John Darko's review of this latest generation DX server:

 

"A third way to plumb Roon inside the DX is to have Roon Core talk to Roon Ready directly. Think of this scenario as Roon playing out the server-client model not on a LAN but inside a single computer.

 

Jenkins clarifies: "They [Roon Core and Roon Ready] talk using RAAT but when they are in the same device they do not need to use the not-so-good comms layers that sit underneath RAAT when the two apps talk across a network."

If you read that from the perspective of someone who's familiar with OS kernel internals, he could be talking about some kind of local optimization, where if Core and Ready processes are running on the same OS instance, with the same IP address, they could detect that and bypass TCP/IP "comms" (for example, AF_INET sockets) and use a different form of IPC (inter-process communication), like UNIX domain sockets, pipes, or even shared memory.

 

I apologize if the above sounds very mumbo-jumbo, but the key point for the lay person is that when using Ethernet bridging, your endpoint (i.e. mR/SMS) still has a distinct IP address from your Mini, so I'm afraid the "not so good comms layer" is still in effect, as the Core and Ready processes are not "local" to each other.

Link to comment

 

Thanks! Not exactly "easy," but hey, what is!

 

I'll have to study that, as it looks like it it uses static IP's for the two ethernet ports, which is OK, but I need to figure out if the streamer attached to that bridged port (in my case, Aries Mini) can still get a DHCP address.

Link to comment
My cabling has not changed. Instead of connecting the sMS-200 directly to my Paul Pang switch, I now connect it directly to the native ethernet port on my Mac Mini. This is the only variable I have altered.

@romaz

 

I am sure what you are hearing is real and applicable to your system.

 

However, I still have a hard time coming up with any rational explanation for what you are hearing.

 

So, as is always the case with hard-to-explain effects, we wait and see if enough people can replicate this. I will be very curious.

Link to comment
I agree, you should be skeptical by this phenomenon that I have no explanation for. I'm sure Sonore and SOtM are skeptical also but SOtM is interested enough that they are now doing their own internal testing. But what I am suggesting is easy enough and inexpensive enough for many to implement and so I am hoping people will try it and give feedback. I suspect a community effort can only lead to better things. As for me being the only one, actually Jelt2359 has independently tried it in his system (Windows PC > sMS-200) and is hearing the same thing I am hearing.

 

That's great news. My Aries Mini attaches to my router via a long run to the other side of the house. This is about an 80' run. The NAS/music server is next to the router.

 

Assuming the Synology bridging works, I'll certainly try it. But I don't have any fancy PSes on the NAS or router, just FMC isolation between router and streamer.

Link to comment

 

Well, I tried this, and was able to get the commands to complete successfully, but after completion, my NAS is unreachable at the eth0 address (also the br0 address). Luckily a reboot fixed everything back to before.

 

I was hoping to just try this out, but given my experience, I may have to wait and see.

 

I agree, you should be skeptical by this phenomenon that I have no explanation for. I'm sure Sonore and SOtM are skeptical also but SOtM is interested enough that they are now doing their own internal testing. But what I am suggesting is easy enough and inexpensive enough for many to implement and so I am hoping people will try it and give feedback. I suspect a community effort can only lead to better things. As for me being the only one, actually Jelt2359 has independently tried it in his system (Windows PC > sMS-200) and is hearing the same thing I am hearing.

Do you have a link to Jelt2359 results?

 

Has anyone else validated romaz's specific results - i.e.

  • configure network bridging on music server with 2+ ethernet ports
  • remove endpoint (NAA/Roon endpoint/UPnP renderer) connection to router/switch
  • connect endpoint to second port on bridged music server
  • change NOTHING else

 

What SQ difference did you get?

Link to comment
What address did you set the default gateway to?

 

Removing your switch yields a significant SQ improvement as is very much worth pursuing.

 

OK, so my network's gateway address is 192.18.0.2. My NAS (unbridged) has a static IP of 192.168.0.240. I allocated another static address 192.168.0.241 for my 2nd port.

 

Here are the commands I tried - exactly like the link you posted, with edits for my situation:

 

Synology# insmod /lib/modules/stp.ko

Synology# insmod /lib/modules/bridge.ko

Synology# brctl addbr br0

Synology# brctl stp br0 off

Synology# ifconfig br0 192.168.0.240 netmask 255.255.255.0 up

Synology# brctl addif br0 eth0

Synology# brctl addif br0 eth1

Synology# ifconfig eth0 192.168.0.240 promisc up

Synology# ifconfig eth1 192.168.0.241 promisc up

Synology# route add default gw 192.168.0.2 dev br0

 

Looking at this, I do have some questions:

  • is the IP address of the bridge interface (br0) supposed to the be the same as the eth0?
  • What is the correct default gateway address?
  • I didn't try bouncing br0 after this sequence - maybe I should have

 

Thanks for any suggestions.

Link to comment
Removing your switch yields a significant SQ improvement and is very much worth pursuing.

 

Well, what exactly does that mean?

 

Previous experience - I've gone from this:

NAS <-> Router <-> Switch <-> renderer

 

to

NAS <-> Router <-> renderer

 

and heard absolutely no SQ difference. Granted, I have no LPSes on my NAS and router.

 

Now in this case, I think the claim on this thread is that if I went to this:

Router <-> NAS with bridging (my music server) <-> renderer

 

I would hear a massive difference. Given my previous experience, you'll have to pardon my skepticism. Not saying I won't try it - if I can get bridging to work on my Synology - just saying I'm not convinced I'll hear a difference.

 

YMMV.

Link to comment
Here is what I run:

 

ifconfig eth0 0.0.0.0

ifconfig eth1 0.0.0.0

brctl addbr br0

brctl addif br0 eth0 eth1

ifconfig br0 xxx.xxx.xxx.xxx netmask 255.255.255.0

route add default gw yyy.yyy.yyy.yyy br0

 

#where xxx.xxx.xxx.xxx is the static IP for the bridged machine and yyy.yyy.yyy.yyy is the address of the gateway (router)

 

Makes sense. But I may have an issue testing this interactively if I'm ssh'ed in remotely, which is necessary on the NAS.

 

Won't I lose connectivity when I run this?

ifconfig eth0 0.0.0.0

Link to comment
You can also concatenate lines to a single line with a semi colon and hit return to execute once.

 

If you lose control just reboot.

 

OK I might try that. BTW do I need an "ifconfig br0 up" at the end? or "up" on that last line?

 

EDIT: Never mind. Should have RTFM.

 

up: This flag causes the interface to be activated. It is implicitly specified if an address is assigned to the interface.

Link to comment
You can also concatenate lines to a single line with a semi colon and hit return to execute once.

 

If you lose control just reboot.

Tried the concatenated command sequence on one line, but didn't work. No connectivity, had to reboot. Trying to test over a remote ssh is severely limiting.

 

Oh well. This goes on the shelf for now. Many more tweaks to try!

Link to comment
Too bad, but there is hope. Qnap recently listened to its customers and enabled network bridging and configuration from their web based user interface. Perhaps Synology will do the same. You may want to ask them.

 

Or buy an Intel based Qnap fanless NAS and power it with an LPS. An El cheapo powered mine perfectly.

 

Not going to happen - I just bought the Synology 916+, and am really happy with it.

 

There may be hope from another angle - I found these instructions 8128blog: Ethernet Bridge For Synology DS412+ : Craig Becker's new blog

 

I'll try them out when I get a chance.

Link to comment
Not going to happen - I just bought the Synology 916+, and am really happy with it.

 

There may be hope from another angle - I found these instructions 8128blog: Ethernet Bridge For Synology DS412+ : Craig Becker's new blog

 

I'll try them out when I get a chance.

 

Well... still no luck, unfortunately, getting bridging to work on a Synology DS916+ NAS running DSM 6.

 

This time I created a make-bridge.sh file like so:

ash-4.3# cat make-bridge.sh

#!/bin/sh

insmod /lib/modules/stp.ko

insmod /lib/modules/bridge.ko

brctl addbr br0

brctl stp br0 off

brctl addif br0 eth0

brctl addif br0 eth1

brctl show

ifconfig eth0 0.0.0.0 promisc up

ifconfig eth1 0.0.0.0 promisc up

ifconfig br0 192.168.0.240 netmask 255.255.255.0 up

route add default gw 192.168.0.2 dev br0

echo "1" > /proc/sys/net/ipv4/ip_forward

 

Then I ran it:

 

ash-4.3# ./make-bridge.sh

bridge name bridge id STP enabled interfaces

br0 8000.00113262e5d1 no eth0

eth1

 

And then... I lost connectivity, and the NAS does not respond to it's bridge IP address.

 

Now - it's possible this will work if I put this script in the rc.local directory so it's executed at boot, but that scares me, because if it doesn't work, I can't just reboot to recover - I may have to restore my settings from backup.

 

Nah - that is a "bridge too far!" Sorry - I gave it a try.

 

If anyone succeeds with bridging - especially on the current version of DSM on Synology - please educate.

Link to comment
Rajiv, i have a hunch, please comment out the line "brctl STP br0 off" and give it another go. I also don't think you need the promiscuous port settings, but try that later.

 

I think you are creating a bridge named STP not br0.

 

I see why you think that, but I did get the output of "brctl show" on my screen and it was:

"bridge name bridge id STP enabled interfaces"

"br0 8000.00113262e5d1 no eth0"

" eth1"

 

EDIT: Gah, I can't get CA to respect the blanks. Anyway you see it created a bridge names br0.

 

I wonder a couple of other things:

  1. Try running this in the background
  2. Since I lose connectivity at the eth0 line, can I move that last.

 

I'll try both. Worst case, 2 more reboots. :D

Link to comment
I wonder a couple of other things:

  1. Try running this in the background
  2. Since I lose connectivity at the eth0 line, can I move that last.

 

I'll try both. Worst case, 2 more reboots. :D

 

@lmiche

 

Larry,

 

Still no luck, but I put some ifconfig's at the end of the script, ran it in the background, and captured output to a file. Everything looks good, but the NAS still does not respond to the bridge IP address.

 

Screen Shot 2017-01-04 at 5.11.45 PM.png

 

I'm sure there's something subtle going on, but I ran out of time for now. I'm also thinking - a bit late, I know, and apologies to OP! - that we should probably move this debug stuff off thread and report back only if anything changes.

 

I'll keep plugging at it as and when I have some free time.

Link to comment
Ok, another new revelation. The improvement I am hearing with this direct connection has nothing to do with bypassing the switch. At least, it has nothing to do with bypassing my Paul Pang 100Mbit switch with TCXO clock powered by my LPS-1. This switch has no noisy switching regulators. It is a 5V device as is the TXCO clock. Previously, as I had stated, it resulted in a small but meaningful difference in my system. I have now connected it in my "direct" path. It is flanked on both ends by a short SOtM black LAN cable. One cable connects directly to my Mac Mini and the other connects to my sMS-200. The improvement is now even larger with a bigger soundstage and even crisper details, especially with guitar plucks. While the improvement is not anywhere as huge as the direct connection, it is now MUCH more pronounced than when I had it connected before my Mac Mini! This switch is staying exactly where it's at.

 

I bought this switch used from another CA member for $99 and figured it was worth the risk. It's turning out to be a truly excellent buy. For those interested, you can buy one new from Paul Pang himself. It appears he no longer sells the slower 100Mbit switch that I have although it's unclear to me if one speed sounds any better than the other.

 

SHOPPING AREA: AUDIO GRADE SWITCH

 

Tomorrow, I will see if my FMCs in this "direct" path results in any benefit.

 

Ooh this sounds really intriguing!

 

So are you saying this configuration is even better than the direct connection without the switch? And you attribute it to the SotM cables? Or is the Mac Mini still doing the bridging to the router?

 

Trying to understand. Given my difficulties getting bridging to work, this may be a more viable option.

Link to comment
No, with this switch in the "direct" path, you will still need to bridge. I am seeing no way around this.

 

Ah I see. Well, I haven't given up, so will see if I can make this work in my setup.

 

Before, it was internet modem/router > ethernet cable > FMC > optical cable > FMC > ethernet cable > Paul Pang switch > Thunderbolt ethernet port on Mac Mini > Mac Mini > native ethernet port on Mac Mini > 50 cm SOtM LAN cable > iSO-CAT6 isolator > 30 cm SOtM LAN cable > sMS-200.

 

What I have done is I have replaced the iSO-CAT6 isolator with the Paul Pang switch and connected the receiving FMC directly to my Mac Mini. Nothing else has changed. I had previously verified that the iSO-CAT6 was causing no harm although it didn't result in any major improvement either. As I have swapped out the iSO-CAT6 isolator and swapped in the Paul Pang switch, the improvement is quite notable.

 

OK, understood.

 

But in this scenario, why use the switch at all? Is anything else connected to it besides the Mini and the SMS-200? Even with the clean LPS on the Pang switch, it's still one more active device in the chain?

 

Did you see if this had a similar gain? I.e. just remove the switch:

 

internet modem/router > ethernet cable > FMC > optical cable > FMC > ethernet cable > Thunderbolt ethernet port on Mac Mini > Mac Mini > native ethernet port on Mac Mini > 50 cm SOtM LAN cable > iSO-CAT6 isolator > 30 cm SOtM LAN cable > sMS-200

 

I would also be very interested to see you try:

 

internet modem/router > ethernet cable > Thunderbolt ethernet port on Mac Mini > Mac Mini > native ethernet port on Mac Mini > 50 cm SOtM LAN cable > FMC > optical cable > FMC > 30 cm SOtM LAN cable > sMS-200.

 

This is all very interesting!

Link to comment
This is not a Roon only thing. Bridging would work for any audio setup that transmits music via Ethernet. As mentioned Jplay has been advocating this kind of direct connection for years.

 

I suspect you are right. Roon and HQPlayer may be wonderful, but for many of us, it's a lot of steps to get to a full Roon/HQP setup, and there are definite tradeoffs.

 

I was hoping to try this (bridging) out in the context of UPnP/DLNA using MinimServer, but have had no luck getting bridging to work on my Synology NAS. At this point, I'm not willing to spend more time and effort on that.

 

I do, at some point, want to try out the whole Roon and HQPlayer paradigm, and have a W10 desktop I can use for that purpose. I think I will piggyback this bridging experiment when I do that.

Link to comment
Why not try running MinimServer on the W10 desktop and configure it in bridged mode? You could either have MinimServer configured to just read from either a folder on your NAS or a folder locally on the W10 desktop containing some music files. Could be a quick and dirty way just to see if there would be value in pursuing this further.

 

Indeed!

 

This was on my mind, but I forgot to mention it with all the Roon/HQP talk. It may be a while before I get to it, though. My desktop doesn't have a second Eth adapter.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...