Change Bonjour interface/IP bind order

I’m having a challenge setting up Channels DVR on my Synology 1813+. In addition to being a normal NAS, I use my Synology as an iSCSI target with NIC3 and NIC4 as individual target interfaces (with separate IPs on different VLANs).

NIC1 and NIC2 on my Synology are bonded and this IP serves as my main interface for all normal services (CIFS, NFS, Crashplan, Plex, etc.). This should also be the IP that Channels (on tvOS) should use. However, when the Channels DVR service starts up, it begins broadcasting Bonjour with all IPs of the box, with the ordering using my iSCSI IPs first. Since this (non-routable) IP is the first in the broadcast list, it’s the one being used by my other devices in naming resolution. It’s not routable and cannot be seen by the Channels tvOS app.

Long story short, I need to modify the priority list of how the Channels app broadcasts its IP list. Ideally, I would like to omit IPs that it should broadcast. Is this possible?

Can you run “ifconfig -a” over ssh and post the output?

bond0 Link encap:Ethernet HWaddr 00:11:32:1D:D7:AF
inet addr:192.168.5.40 Bcast:192.168.5.255 Mask:255.255.255.0
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:8875575641 errors:0 dropped:363366 overruns:363366 frame:0
TX packets:8139038144 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9946955626015 (9.0 TiB) TX bytes:8441476481707 (7.6 TiB)

eth0 Link encap:Ethernet HWaddr 00:11:32:1D:D7:AF
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:609473643 errors:0 dropped:939 overruns:939 frame:0
TX packets:372079330 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:614319501005 (572.1 GiB) TX bytes:328766643526 (306.1 GiB)

eth1 Link encap:Ethernet HWaddr 00:11:32:1D:D7:AF
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:8266101998 errors:0 dropped:362427 overruns:362427 frame:0
TX packets:7766958814 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9332636125010 (8.4 TiB) TX bytes:8112709838181 (7.3 TiB)

eth2 Link encap:Ethernet HWaddr 00:11:32:1D:D7:B1
inet addr:192.168.51.40 Bcast:192.168.51.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:9000 Metric:1
RX packets:997083928 errors:0 dropped:0 overruns:0 frame:0
TX packets:1035099443 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5363585187090 (4.8 TiB) TX bytes:2174584745305 (1.9 TiB)

eth3 Link encap:Ethernet HWaddr 00:11:32:1D:D7:B2
inet addr:192.168.52.40 Bcast:192.168.52.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:9000 Metric:1
RX packets:997791045 errors:0 dropped:0 overruns:0 frame:0
TX packets:1035436472 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5367161900326 (4.8 TiB) TX bytes:2175233874381 (1.9 TiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:20231199 errors:0 dropped:0 overruns:0 frame:0
TX packets:20231199 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5836419299 (5.4 GiB) TX bytes:5836419299 (5.4 GiB)

sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Thanks. On the Settings tab, under the Bonjour option what order are the IPs listed in?

This is a screenshot of the setup:

I've got a Bonjour Discovery app on my iPhone - It sees the "_channels_dvr._tcp" service on the local domain with the IPs in the same order (192.168.5.40 is last).

If I try and ping "dvr-skynet.local" from a local Windows PC - It resolves to 192.168.51.40 (Pings go unreturned dues to the network not being routable).

1 Like

I’ve just released DVR v2017.01.23.2004 which has a hidden API to force bonjour to use a specific interface.

Upgrade your DVR by click “check for update”, and once its running the new version, run the following command in a terminal:

curl -XPUT http://192.168.5.40:8089/bonjour/interface/bond0

Then uncheck and recheck the bonjour option in the web UI, and you should see it advertising over the single correct ip address.

although I don’t need it (yet) for my setup, my question would be how to reset it back to normal behavior?

curl -XDELETE http://x.x.x.x:8089/bonjour/interface

Perfect! I was just able to test this and it worked great. Thanks!

BTW - DVR is great! Can’t wait to see how this project evolves. This is the first step in getting rid of my TIVO boxes!

Thanks again!

2 Likes

I officially unplugged my 2 Tivos this past weekend. Huge milestone! An end of a VERY long era. I got to re-appropriate one of the cable cards for a second Prime giving me 2 Primes and a Connect. 8 Tuners! It’s exciting.

1 Like

I’m almost there too. I only used my TiVo once since I started the Alpha for a missed episode on the bad update, and wife and kids are using this too. That’s the most important part.

1 Like

:metal::metal::metal:

1 Like

How’s the iSCSI performance as opposed to NFS or SMB ?

I use it for my vSphere environment - It’s currently serving a couple of VM’s in my lab. Works well, I don’t see many network disconnects and the performance is pretty solid. It helps that I’m using a mirrored pair of 1TB SSDs for the datastore. I only keep my horizon VDI VMs on it - The rest (of my lab) stay on a NFS share that’s on the other HDD volume.

I would just like to say “Thank you” to tmm1 and all Channels Developers for resolving the issue as quickly as you did.

I am a first time user (as of today), and I have a similar setup as blanier, except I have a QNAP TS-453 Pro NAS. The curl command ran successfully, and a quick untick and re-tick of the bonjour service corrected the unavailable DVR function.

I am just waiting for the guide data to download now, and then I think I should be able to start testing the service.

1 Like

Sounds like I should give the bond devices priority so a bunch more people don’t have to go through this too.

I think as the community grows, you’re going to find a bunch of different use cases for users network setups. Probably the best method is to expose the individual interfaces and then allow the user to check the interfaces that Channels would use. I’m sure i’m trivializing the complexity, but at least it’s an option that allows for maximum flexibility

Is there a way to set the bond devices priority on a windows system running the DVR service? I am having a similar issue when I have a VPN client running. The Apple TV apps doesn’t always see the DVR server and I would like to set just one IP for the Bonjour advertising.

Thank you

1 Like

Can you send me the output of “ipconfig /all” from your windows machine?

Here you go:

Windows IP Configuration

   Host Name . . . . . . . . . . . . : home-dk-01
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Broadcast
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : hidden.com

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . : hidden.com
   Description . . . . . . . . . . . : Sophos SSL VPN Adapter
   Physical Address. . . . . . . . . : 00-FF-CF-17-3A-79
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::48c3:2103:1982:97c7%5(Preferred)
   IPv4 Address. . . . . . . . . . . : 10.242.2.5(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Saturday, April 1, 2017 3:50:10 PM
   Lease Expires . . . . . . . . . . : Sunday, April 1, 2018 3:50:09 PM
   Default Gateway . . . . . . . . . :
   DHCP Server . . . . . . . . . . . : 10.242.2.254
   DHCPv6 IAID . . . . . . . . . . . : 151060431
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1D-0E-DD-A1-C4-34-6B-73-EA-9E
   DNS Servers . . . . . . . . . . . : 192.168.114.10
                                       192.168.114.15
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Intel(R) Ethernet Connection I217-LM
   Physical Address. . . . . . . . . : C4-34-6B-73-EA-9E
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::855c:2f5f:5fa6:6dfc%3(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.99.91(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.99.1
   DHCPv6 IAID . . . . . . . . . . . : 63190123
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1D-0E-DD-A1-C4-34-6B-73-EA-9E
   DNS Servers . . . . . . . . . . . : 192.168.99.1
                                       8.8.8.8
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter VMware Network Adapter VMnet1:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet1
   Physical Address. . . . . . . . . : 00-50-56-C0-00-01
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::c075:acb7:2fef:37e2%10(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.79.1(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :
   DHCPv6 IAID . . . . . . . . . . . : 67129430
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1D-0E-DD-A1-C4-34-6B-73-EA-9E
   DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                       fec0:0:0:ffff::2%1
                                       fec0:0:0:ffff::3%1
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter VMware Network Adapter VMnet8:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
   Physical Address. . . . . . . . . : 00-50-56-C0-00-08
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::90a0:92d4:e920:3b55%11(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.30.1(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :
   DHCPv6 IAID . . . . . . . . . . . : 151015510
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1D-0E-DD-A1-C4-34-6B-73-EA-9E
   DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                       fec0:0:0:ffff::2%1
                                       fec0:0:0:ffff::3%1
   NetBIOS over Tcpip. . . . . . . . : Enabled