Jump to content

A problem with software update failures.


Recommended Posts

bfogdb20825
Posted

My device is Synology DS220+.

 

The installed version is the one from the Package Center, and its version number is 4.8.10.0 - 724081000 .

I encounter failures when updating software or upgrading plugins.

 

I've checked my network and found that IPv6 can't connect to your server while IPv4 is working properly. When I disabled my IPv6, I could update and download software normally.

 

I've noticed that the software isn't designed to automatically switch to the connectable IPv4 when IPv6 fails to connect. I hope this can be improved as it's crucial for the user experience of the software.

Screenshot_20241223-014636.png

embyserver (1).txt

Posted

Hi, switch the order of priority for IP6 and IP4. Make IP4 preferred and that should fix the issue for now, but you should try to find out why IP6 isn't working
You could try doing trace route using IP6 to see how far it makes it and where it stops..
 

bfogdb20825
Posted
17 hours ago, Carlo said:

Hi, switch the order of priority for IP6 and IP4. Make IP4 preferred and that should fix the issue for now, but you should try to find out why IP6 isn't working
You could try doing trace route using IP6 to see how far it makes it and where it stops..

 

The Synology device can't prioritize IPv4. At least I haven't found a way to do it so far. I'm using a Xiaomi router, and it can't prioritize IPv4 either. It seems that the current network protocols all prefer IPv6. The solution I'm using for now is to temporarily disable IPv6 when there's an update.

bfogdb20825
Posted
17 hours ago, Carlo said:

Hi, switch the order of priority for IP6 and IP4. Make IP4 preferred and that should fix the issue for now, but you should try to find out why IP6 isn't working
You could try doing trace route using IP6 to see how far it makes it and where it stops..

 

There are restrictions on accessing many foreign websites in our country. It's impossible to connect to them unless you use a VPN or something similar.

I think that when IPv6 doesn't work, automatically trying IPv4 should be something that the software does automatically. It shouldn't just stop working. Instead of asking me to go to other devices to set IPv4 as the preferred option, which is also the reason why I posted this.

Posted

Hi, yes the reason this happens is sometimes the dotnet runtime stack wants to use ipv6, but then the connection fails and I guess it doesn't fallback to ipv4. That's why turning off ipv6 in your router fixes it because it disables it entirely.

Posted

@Luke

It's a combination of factors, including the .NET runtime, the operating system's network stack, and DNS configuration.

Dual-stack sockets

The .NET runtime generally uses dual-stack sockets, meaning the socket can handle both IPv4 and IPv6 connections. This allows the OS to choose the most appropriate address. Typically it looks something like this:

  • When the .NET application makes a DNS request, the request is passed to the underlying operating system's network stack which handles the request.
  • If only one type of record is returned (either A for IP4 or AAAA for IP6), the OS uses that address type.
  • If both A and AAAA records are returned, the OS uses an address selection algorithm to choose the best IP address. This algorithm typically follows RFC 3484 and RFC 6724, which typically prioritize IPv6 addresses in most cases.
  • Operating System: The OS network stack might have its own preferences or configurations that influence address selection (i.e. gai.conf on Linux).
  • Network Connectivity: Network conditions may play a part. If IPv6 connectivity is poor or unavailable, the OS may favor IPv4 addresses. This is normally across the board use of IP4 over IP6 when the OS finds IP6 isn't working.

The most robust way I've found to communicate back to servers/dns under your control, from apps running on many different OSes, is to setup the typical dns host record, then two specific protocol records. For example, you could have catalog.domain.com that has both A & AAAA records.  You can then setup catalog4.domain.com with only A records and catalog6.domain.com with only AAAA records.

With this DNS setup, if the device/PC is dual-stacked and an error occurs trying to access catalog.domain.com you can "manually" force an IP4 connection using catalog4.domain.com which only has an IP4 record. If that fails, you can try catalog6.domain.com which only has an IP6 address to use. This way you don't have to know if the OS has a mechanism to favor one address space over the other or know how it determines which to use. The 4 or 6 in the host subdomain's name makes it easy to remove the OS/platform uncertainty.

It's only useful for things under your control, nut can help with licensing or Premiere validation, notifications, server updates, catalog plugins, EPG, etc 
To me the biggest benefit would be update notifications and Premiere validation. I'd hate to miss PVR recordings because my Premiere license couldn't be validated due to some ongoing IP6 issue between my server and the Emby backend license servers.

 

 

 

  • Thanks 1
bfogdb20825
Posted
On 1/1/2025 at 5:13 AM, Carlo said:

@Luke

It's a combination of factors, including the .NET runtime, the operating system's network stack, and DNS configuration.

Dual-stack sockets

The .NET runtime generally uses dual-stack sockets, meaning the socket can handle both IPv4 and IPv6 connections. This allows the OS to choose the most appropriate address. Typically it looks something like this:

  • When the .NET application makes a DNS request, the request is passed to the underlying operating system's network stack which handles the request.
  • If only one type of record is returned (either A for IP4 or AAAA for IP6), the OS uses that address type.
  • If both A and AAAA records are returned, the OS uses an address selection algorithm to choose the best IP address. This algorithm typically follows RFC 3484 and RFC 6724, which typically prioritize IPv6 addresses in most cases.
  • Operating System: The OS network stack might have its own preferences or configurations that influence address selection (i.e. gai.conf on Linux).
  • Network Connectivity: Network conditions may play a part. If IPv6 connectivity is poor or unavailable, the OS may favor IPv4 addresses. This is normally across the board use of IP4 over IP6 when the OS finds IP6 isn't working.

The most robust way I've found to communicate back to servers/dns under your control, from apps running on many different OSes, is to setup the typical dns host record, then two specific protocol records. For example, you could have catalog.domain.com that has both A & AAAA records.  You can then setup catalog4.domain.com with only A records and catalog6.domain.com with only AAAA records.

With this DNS setup, if the device/PC is dual-stacked and an error occurs trying to access catalog.domain.com you can "manually" force an IP4 connection using catalog4.domain.com which only has an IP4 record. If that fails, you can try catalog6.domain.com which only has an IP6 address to use. This way you don't have to know if the OS has a mechanism to favor one address space over the other or know how it determines which to use. The 4 or 6 in the host subdomain's name makes it easy to remove the OS/platform uncertainty.

It's only useful for things under your control, nut can help with licensing or Premiere validation, notifications, server updates, catalog plugins, EPG, etc 
To me the biggest benefit would be update notifications and Premiere validation. I'd hate to miss PVR recordings because my Premiere license couldn't be validated due to some ongoing IP6 issue between my server and the Emby backend license servers.

 

 

 

When I tried the advanced settings of Synology network IPv6, I found that there was a preference for IPv4 address resolution. The problem is that after using it, the wide area network access of Emby Connect also became IPv4, which is rather unfriendly for those without a public IPv4 network.

Screenshot_20250105-184734~2.png

Carlo
Posted

I'm not near my Synology NAS at the moment, so I can't see what those 2 dialog screens say in English.
Any chance you could translate what those options say?

bfogdb20825
Posted
On 1/7/2025 at 3:51 AM, Carlo said:

I'm not near my Synology NAS at the moment, so I can't see what those 2 dialog screens say in English.
Any chance you could translate what those options say?

Screenshot_20250111-1405482.thumb.png.45bdac64e87bb2c330bd5aaaecaf8911.png

Posted

@bfogdb20825When you get a chance reply back to the PM I sent earlier, regarding location, IP addresses and network setup.
That info may help provide the best solution to your issue.

Carlo
 

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...