r8152 icon indicating copy to clipboard operation
r8152 copied to clipboard

DS1817+ unstable

Open Malinskiy opened this issue 2 years ago • 2 comments

Description of the problem

The network interface falls back to 100Mbit speed and is unavailable

Description of your products

  • DS1817+
  • Linux ds1817 3.10.108 #42962 SMP Tue Oct 18 15:01:39 CST 2022 x86_64 GNU/Linux synology_avoton_1817+
  • DSM version 7.1.1-42962 Update 2
  • 0bda:8156:3104 (Realtek USB 10/100/1G/2.5G LAN 4013000001)

Description of your environment

connected to a switch. I have the same dongle on another server connected to the same switch running latest arch without any issues

Output of dmesg command

r8152 3-2:1.0 eth4: Stop submitting intr, status -71
r8152 3-2:1.0 eth4: get_registers -71
...(repeated for the whole 16k of it)

Output of lsusb command

|__usb3          1d6b:0003:0310 09  3.00 5000MBit/s 0mA 1IF  (Linux 3.10.108 etxhci_hcd-170202 Etron xHCI Host Controller 0000:04:00.0) hub
  |__3-2         0bda:8156:3104 00  3.20 5000MBit/s 256mA 1IF  (Realtek USB 10/100/1G/2.5G LAN 4013000001)

Output of ifconfig -a command

eth4      Link encap:Ethernet  HWaddr XXXXX
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:5023 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:300079 (293.0 KiB)  TX bytes:0 (0.0 B)

I've made a workaround by running the following using cron every minute while the issue still persists:

#!/usr/bin/env bash

set -ex

link=eth4
port=usb3
bond=bond0

speed=$(cat /sys/class/net/$link/speed || echo "0")

if [ "$speed" != "2500" ]
then
  echo "Link speed regression detected"
  echo "$port" > /sys/bus/usb/drivers/usb/unbind
  sleep 1
  echo "$port" > /sys/bus/usb/drivers/usb/bind
  
  until [ -l /sys/class/net/$link ]
  do
    sleep 1
  done
  ip link set master $bond dev $link
fi

The surprising thing for me is that I have to rebind the whole USB hub, not just the USB device to make it work again. This leads me to believe this is not the problem with this project per se, but with something in the usbcore in the synology kernel (3.10 is an arguably old kernel), but I may be wrong here.

Malinskiy avatar Nov 26 '22 10:11 Malinskiy

Which version of the driver have you installed?

nkmtsm avatar Jan 17 '24 20:01 nkmtsm

All versions released during the last year have this behaviour

Malinskiy avatar Jan 17 '24 22:01 Malinskiy