Skip to content

Troubleshooting

bb-qq edited this page Oct 5, 2024 · 30 revisions

This page summarizes what you should try when facing performance or stability issues.

If your situation does not improve by trying the solutions here, or if you cannot find the cause of your issue, it may be an issue on Synology's side (USB xHCI host controller hardware or its driver). In that case, there is no solution at this time.

Reports from other users may be helpful in guessing whether the problem is on the Synology side.

Stability Issues

Change the USB port to be connected

Front ports tend to be more stable, but some users have reported they got better stability with rear ports

Use a self-powered USB hub or Y cable

In some environments, the power supply of USB ports may be insufficient. It causes forcing the device into the slow/low-power mode or stopping.

For example, the following products would be good.

Do not use USB adapters with L-shaped connectors or USB extension cables.

Synology's USB ports are sensitive to noise, so you should not use these accessories even if they are of acceptable quality for PC use.

Reverse the orientation of the Type-C connector.

Some dongles have a USB Type-C port and are shipped with a Type-C to Type-A converter cable, but some of these cables may result in a USB 2.0 connection if the wrong side is used.

Remove all other USB devices

Ethernet devices tend to be sensitive to other USB devices in terms of communication characteristics and power consumption.

If the device is unstable, disconnect other USB devices to isolate the problem and see what happens.

Try a direct connection to a PC

Some switches sometimes fail to auto-negotiate the Multi-Giga link or may cause compatibility issues with the SFP transceiver module. Connecting without a Switch eliminates this possibility.

Use the latest drivers and firmware

Your NIC, switch, or router may have a newer version of firmware or drivers than the version that came with it when it shipped. Also, the version available on the vendor's page is often newer than the version distributed via Windows Update.

Configure parameters of the driver

Disable Thermal Throttling (aqc111 specific)

The aqc111u has a feature that automatically drops the link speed when the chip gets high temperatures. This feature is enabled by default and should be left enabled as much as possible, but you may want to disable it to isolate the cause of the problem. In that case, execute the following command on the terminal and then Stop&Run the driver from the Package Center.

echo off | sudo tee /var/packages/aqc111/etc/flag-thermal_throttling

Try a different ethernet cable

Category 5e/6/6A cables are required in a Multi-Giga environment. Category 6A is recommended for longer(> 3m) cables. Category 7/8 cables are almost a SCAM and should not be used.

Also, changes in hardware configuration may surface quality problems that the cable originally had. If you are using an old cable, I recommend trying a new cable.

In the balance of quality and cost, I personally recommend the following products:

Performance issues

Check the protocol version of the USB connection

You can confirm the protocol version of your device using by lsusb command.

|__1-3 1c04:0015:0101 00 2.10 480MBit/s 500mA 1IF (QNAP QNAP QNA-UC5G1T USB to 5GbE Adapter 2BI03114)

For example, 2.10 480MBit/s indicates that the device using USB 2(480Mbps). In this situation, sufficient speed cannot be obtained.

To use USB 3, change the connection port (blue ports are USB 3) or change the USB cable. (if the cable is detachable)

When USB 3 is used, 3.20 5000MBit/s will appear as shown below.

  |__2-1         1c04:0015:0101 00  3.20 5000MBit/s 896mA 1IF (QNAP QNAP QNA-UC5G1T USB to 5GbE Adapter 2BI03114)

Note:

  • USB cables are available in two types: USB 2.0-compatible and USB 3.0-compatible. Be careful that if you use the cable not supplied with the product.
    • Even if USB 3.0 compatibility is indicated, some products do not meet the required quality requirements, and some products may be false, for example, by using a false color for the connector.
  • On some USB Type-C cables, only half of the USB3 pins of the connector are soldered. Please note that such cables have two sides.
  • USB3 devices are recognized as USB 2.0 when the connector is inserted slowly into the port. It is not necessary to insert it very quickly but avoid inserting it slowly.

Increase MTU

USB transactions consume a lot of CPU power and have a high overhead. Transmitting more data in a single packet at a time may reduce this overhead and improve performance. There are also reports of lower power consumption and lower device temperatures.

Do not forget to increase MTU on the other side of communication.

About MTU configuration using GUI

Whether Jumbo Frame can be configured in the DSM's GUI for additional Ethernet devices connected via USB depends on whether the model's built-in Ethernet device supports Jumbo Frame.

You can check if your model supports Jumbo Frame with the following command

/bin/get_key_value /etc.defaults/synoinfo.conf supportMTU

If not supported, perhaps setting supportMTU to yes in synoinfo.conf could force it to be configurable via GUI, but this is risky since it directly rewrites system files. It would be safer to register a script that sets the MTU directly by ifconfig to Task Scheduler.

Measuring performance with iperf

In addition to the driver and physical layer, performance degradation can also be caused by the protocol layer (e.g., SMB) and server software. It is important to measure performance at the pure TCP/IP level to isolate these.

The iperf for Synology can be easily installed from SynoCommunity.

Enable SMB3

If the file transfer rate to and from Windows is slow, try setting the SMB protocol version set to a higher version.

Also please note that if you are using a larger MTU, the version should be set to SMB2 and Large MTU or SMB3.

Disable auto-negotiation

All Ethernet devices have an auto-negotiation mechanism that automatically determines the link speed, but this mechanism can sometimes cause unstable operation due to interoperability issues between devices. This happens more often in a Multi-Giga environment.

To check whether auto-negotiation works correctly, use the ethtool command.

Settings for eth2:
        Supported ports: [ TP MII ]
        Supported link modes:   100baseT/Full
                                1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 5000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
Cannot get wake-on-lan settings: Operation not permitted
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

If ethtool does not report the expected link speed, disable auto-negotiation by explicitly specifying the link speed.

For example, to disable auto-negotiation and fix the link speed to 1gbps, do the following.

sudo ethtool -s eth2 speed 1000 duplex full autoneg off

When you connect the device to the PC directly or your switch has the feature to fix link speed, it would be better to specify link speeds on those opposing devices.

Fix to 2.5Gbps/5Gbps (r8152 specific)

The above command cannot be used to operate the 2.5Gbps/5Gbps link for the r8152 driver. You can use the following commands.

2.5G before kernel v4.10
# ethtool -s eth0 autoneg on advertise 0x802f

2.5G for kernel v4.10 and later
# ethtool -s eth0 autoneg on advertise 0x80000000002f

5G for kernel v4.10 and later (Couldn't be supported before kernel v4.10)
# ethtool -s eth0 autoneg on advertise 0x180000000002f

Your kernel version can be identified by uname -a.

Check your transceiver (if you are using SFP+)

Some transceivers link up at 2.5Gbps/5Gbps even though they do not support MultiGiga (IEEE 802.3bz). While these products may appear to work, they do not provide enough performance.

So carefully check the vendor's page for specifications and information about the combination with your switch.

Configure parameters of the driver

Disable Low-Power mode (aqc111 specific)

Starting with version 1.3.3.0-6, low power mode is enabled by default in favor of stability.

To disable it, execute the following command on the terminal and then Stop&Run the driver from the Package Center.

echo on | sudo tee /var/packages/aqc111/etc/flag-low_power_5g

Change the size of the ring buffer

For more information on the RX ring buffer, see the explanation page by RedHat.

Show Ring parameter

sudo ethtool -g eth2

Changes the number of ring entries for the Rx ring.

sudo ethtool -G eth2 rx 100

Other Issues / Tips

Hot plugging does not work

The hot plug feature is disabled by default. To enable it, execute the following command:

sudo bash /var/packages/r8152/scripts/install-udev-rules

or

sudo bash /var/packages/aqc111/scripts/install-udev-rules

Note: This command modifies the system files of the DSM. Uninstalling the driver package will discard that change.

Multiple identical devices do not work

Please enable the hot plug feature described above.

Since the same products have the same serial number, connecting them to one NAS at the same time will trigger the workaround process of the Linux kernel. This will prevent recognition. Using the hot plug feature avoids this problem.

This is not a problem when combining different products.

Uninstall completely / full reinstallation

To remove the driver completely, follow this procedure:

  1. Uninstall the driver package using Synology Package Center.
  2. Remove the appconf directory of the driver package.
    • You can find the directory under the destination volume.
    • For example, /volume1/@appconf/r8152
  3. Remove spk_su if you don't need the driver anymore.
  4. Reboot the system.
    • Required to ensure unloading of kernel modules.

When you reinstall the driver, follow the same procedure as you did the first time you installed it, after the steps above.

How to investigate if the driver does not work properly

You can debug the driver from the following information.

  • The outputs of dmesg and lsusb
  • /var/packages/{r8152 or aqc111}/var/log/start-stop-status.log
    • Please note that the entire log is required for investigation.
    • If the log file is too large, delete it first and restart the driver manually.
  • /var/log/synopkg.log

When creating an Issue, attach this information to the Issue to help with the investigation.

for ARPL users

There are some reports that a driver included in ARPL causes conflict issues. Follow the steps in this article to disable cdc_ncm. https://mi-d.cn/5556

Note: cdc_ncm allows Realtek devices to operate in CDC-compatible mode, but does not provide sufficient performance.