Internet connection gone after performing speed tests

Hello,

I recently installed the latest build of OpenWRT (version 21.02.1) that I flashed for my Raspberry Pi 4 model B
(version 4GB).
I use an USB to Ethernet adapter to get a second RJ45 port.

On a native port, it's the LAN interface, and WAN for the adapter.
Internet connection works, so I ran some speed tests (curl or wget to get a big file) directly after SSHing into the RPI, getting about 110 MB/s, so that's not bad (I have a symmetrical GigaBit fibre plan). But if I run one, 2 or sometimes 3 tests in a row, the internet connection eventually drops (ping 8.8.8.8 fails for instance).

But for a more standard usage (not very demanding, mostly surfing websites atm.), internet connectivity seems to remain active.

I didn't find any specific log that would help me pinpoint the cause of the problem.

I guess it could be due to several reasons, among them:

  • FW (maybe a kind of burst limit?)
  • perhaps too many drivers / packages that create a conflict?

Less likely, as far as I know:

  • QoS (but I didn't explicitly enabled it, so unless it's activated by default)
  • faulty USB 3.0 to Ethernet adapter or maybe its default FW values not suited?

Please let me know if you need additional information.

Thanks.

I'm leaning towards the USB ethernet adapter.

does the connection recover ?
post lsusb after a "crash".
did you run the ping on the client, or the RPi ?

2 Likes

Thank you for your reply.

No, the connection does not recover by itself, I have to reboot the RPI (restarting the network service does not help either).
I run the ping from the PI, but I also noticed that all connected clients on the LAN experience the same issue and are no longer connected to the internet.

What happens if you disconnect the usb dongle and connect it again?

1 Like

I'll post the lsusb output after the connection is lost and also try unplugging / replugging the adapter to see if that helps once I get back home.

Let me know if you want me to run additional tests or upload logs / configurations etc. ...

1 Like

would that include dmesg ?

1 Like

Yes I checked this one, but I think there was nothing relevant to the extend of explaining the problem, but I can post that too anyway.


Bus 002 Device 002: ID 0b95:1790 ASIX Elec. Corp. AX88179
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass          255 
  bDeviceSubClass       255 
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x0b95 
  idProduct          0x1790 
  bcdDevice            1.00
  iManufacturer           1 ASIX Elec. Corp.
  iProduct                2 AX88179
  iSerial                 3 00000000000179
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0039
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              496mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 
      bInterfaceSubClass    255 
      bInterfaceProtocol      0 
      iInterface              4 Network_Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              11
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               3
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x0016
  bNumDeviceCaps          2
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000002
      HIRD Link Power Management (LPM) Supported
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
    wSpeedsSupported   0x000e
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport **can't get debug descriptor: Resource temporarily unavailable**
  1
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat           1 micro seconds
    bU2DevExitLat         101 micro seconds
Device Status:     0x000c
  (Bus Powered)
  U1 Enabled
  U2 Enabled

Bus 002 Device 001: ID 1d6b:0003 Linux 5.4.154 xhci-hcd xHCI Host Controller
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            9 
  bDeviceSubClass         0 
  bDeviceProtocol         3 
  bMaxPacketSize0         9
  idVendor           0x1d6b 
  idProduct          0x0003 
  bcdDevice            5.04
  iManufacturer           3 Linux 5.4.154 xhci-hcd
  iProduct                2 xHCI Host Controller
  iSerial                 1 0000:01:00.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x001f
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
        bMaxBurst               0
Hub Descriptor:
  bLength              12
  bDescriptorType      42
  nNbrPorts             4
  wHubCharacteristic 0x0009
    Per-port power switching
    Per-port overcurrent protection
  bPwrOn2PwrGood       10 * 2 milli seconds
  bHubContrCurrent   **can't get debug descriptor: Resource temporarily unavailable**
   0 milli Ampere
  bHubDecLat          0.0 micro seconds
  wHubDelay             0 nano seconds
  DeviceRemovable    0x00
 Hub Port Status:
   Port 1: 0000.02a0 5Gbps power Rx.Detect
   Port 2: 0000.0203 5Gbps power U0 enable connect
   Port 3: 0000.02a0 5Gbps power Rx.Detect
   Port 4: 0000.02a0 5Gbps power Rx.Detect
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x000f
  bNumDeviceCaps          1
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x02
      Latency Tolerance Messages (LTM) Supported
    wSpeedsSupported   0x0008
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   3
      Lowest fully-functional device speed is SuperSpeed (5Gbps)
    bU1DevExitLat           4 micro seconds
    bU2DevExitLat         231 micro seconds
Device Status:     0x0001
  Self Powered

Bus 001 Device 002: ID 2109:3431  USB2.0 Hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            9 
  bDeviceSubClass         0 
  bDeviceProtocol         1 
  bMaxPacketSize0        64
  idVendor           0x2109 
  idProduct          0x3431 
  bcdDevice            4.21
  iManufacturer           0 
  iProduct                1 USB2.0 Hub
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0019
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             4
  wHubCharacteristic 0x00e0
    Ganged power switching
    Ganged overcurrent protection
    TT think time 32 FS bits
    Port indicators
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent    100 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0100 power
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x002a
  bNumDeviceCaps          3
  USB 2.0 Extension Device Capability:
    bLength                 **can't get debug descriptor: Resource temporarily unavailable**
7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000002
      HIRD Link Power Management (LPM) Supported
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
    wSpeedsSupported   0x000e
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   1
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat           4 micro seconds
    bU2DevExitLat         231 micro seconds
  Container ID Device Capability:
    bLength                20
    bDescriptorType        16
    bDevCapabilityType      4
    bReserved               0
    ContainerID             {30eef35c-07d5-2549-b001-802d79434c30}
Device Status:     0x0001
  Self Powered

Bus 001 Device 001: ID 1d6b:0002 Linux 5.4.154 xhci-hcd xHCI Host Controller
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 
  bDeviceSubClass         0 
  bDeviceProtocol         1 
  bMaxPacketSize0        64
  idVendor           0x1d6b 
  idProduct          0x0002 
  bcdDevice            5.04
  iManufacturer           3 Linux 5.4.154 xhci-hcd
  iProduct                2 xHCI Host Controller
  iSerial                 1 0000:01:00.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0019
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 
      bInterfaceSubClass      0 
      bInterfaceProtocol      0**can't get device qualifier: Resource temporarily unavailable**
**can't get debug descriptor: Resource temporarily unavailable**
 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             1
  wHubCharacteristic 0x0009
    Per-port power switching
    Per-port overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood       10 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x02
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0507 highspeed power suspend enable connect
Device Status:     0x0001
  Self Powered

Above is the 'lsusb -v' result, just after the WAN connection failed, many "can't get debug descriptor: Resource temporarily unavailable" errors ...

Dmesg:

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[    0.000000] Linux version 5.4.154 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16325-88151b8303)) #0 SMP Sun Oct 24 09:01:35 2021
[    0.000000] Machine model: Raspberry Pi 4 Model B Rev 1.2
[    0.000000] Reserved memory: created CMA memory pool at 0x000000002ac00000, size 64 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] On node 0 totalpages: 1012736
[    0.000000]   DMA zone: 3792 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 242688 pages, LIFO batch:63
[    0.000000]   DMA32 zone: 12032 pages used for memmap
[    0.000000]   DMA32 zone: 770048 pages, LIFO batch:63
[    0.000000] percpu: Embedded 21 pages/cpu s45336 r8192 d32488 u86016
[    0.000000] pcpu-alloc: s45336 r8192 d32488 u86016 alloc=21*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: EL2 vector hardening
[    0.000000] ARM_SMCCC_ARCH_WORKAROUND_1 missing from firmware
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 996912
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=0 bcm2708_fb.fbheight=0 bcm2708_fb.fbswap=1 smsc95xx.macaddr=DC:A6:32:78:5F:57 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=squashfs,ext4 rootwait
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x37400000-0x3b400000] (64MB)
[    0.000000] Memory: 3829424K/4050944K available (7102K kernel code, 432K rwdata, 1144K rodata, 512K init, 541K bss, 155984K reserved, 65536K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	CONFIG_RCU_FANOUT set to non-default value of 32.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] random: get_random_bytes called from 0xffffffc0108a0b98 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 54.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns
[    0.000002] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns
[    0.000074] Console: colour dummy device 80x25
[    0.000169] printk: console [tty1] enabled
[    0.000186] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=216000)
[    0.000195] pid_max: default: 32768 minimum: 301
[    0.000312] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.000376] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.000706] cgroup: Disabling memory control group subsystem
[    0.001120] ASID allocator initialised with 32768 entries
[    0.001160] rcu: Hierarchical SRCU implementation.
[    0.001477] smp: Bringing up secondary CPUs ...
[    0.001671] Detected PIPT I-cache on CPU1
[    0.001700] CPU1: Booted secondary processor 0x0000000001 [0x410fd083]
[    0.001913] Detected PIPT I-cache on CPU2
[    0.001927] CPU2: Booted secondary processor 0x0000000002 [0x410fd083]
[    0.002122] Detected PIPT I-cache on CPU3
[    0.002135] CPU3: Booted secondary processor 0x0000000003 [0x410fd083]
[    0.002164] smp: Brought up 1 node, 4 CPUs
[    0.002188] SMP: Total of 4 processors activated.
[    0.002193] CPU features: detected: 32-bit EL0 Support
[    0.002198] CPU features: detected: CRC32 instructions
[    0.002222] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.002230] CPU: All CPU(s) started at EL2
[    0.002243] alternatives: patching kernel code
[    0.005861] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.005884] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.007118] pinctrl core: initialized pinctrl subsystem
[    0.007608] NET: Registered protocol family 16
[    0.008290] DMA: preallocated 1024 KiB pool for atomic allocations
[    0.008574] cpuidle: using governor ladder
[    0.008588] cpuidle: using governor menu
[    0.008698] Serial: AMBA PL011 UART driver
[    0.009431] bcm2835-mbox fe00b880.mailbox: mailbox enabled
[    0.016008] raspberrypi-firmware soc:firmware: Attached to firmware from 2021-02-16 14:17, variant start
[    0.020005] raspberrypi-firmware soc:firmware: Firmware hash is d6d82cf99bcb3e9a166a34cfde53130957a36bd3
[    0.032638] bcm2835-dma fe007000.dma: DMA legacy API manager, dmachans=0x1
[    0.033450] SCSI subsystem initialized
[    0.033525] usbcore: registered new interface driver usbfs
[    0.033546] usbcore: registered new interface driver hub
[    0.033562] usbcore: registered new device driver usb
[    0.033615] usb_phy_generic phy: phy supply vcc not found, using dummy regulator
[    0.033746] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[    0.034165] clocksource: Switched to clocksource arch_sys_counter
[    0.035546] thermal_sys: Registered thermal governor 'step_wise'
[    0.035656] NET: Registered protocol family 2
[    0.036069] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.037235] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    0.037261] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.037356] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[    0.037861] TCP: Hash tables configured (established 32768 bind 32768)
[    0.038012] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.038041] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.038153] NET: Registered protocol family 1
[    0.038198] PCI: CLS 0 bytes, default 64
[    0.038809] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    0.040740] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.050489] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.051417] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
[    0.051430] brcm-pcie fd500000.pcie:   No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
[    0.051446] brcm-pcie fd500000.pcie:      MEM 0x0600000000..0x0603ffffff -> 0x00f8000000
[    0.051459] brcm-pcie fd500000.pcie:   IB MEM 0x0000000000..0x00bfffffff -> 0x0400000000
[    0.100216] brcm-pcie fd500000.pcie: link up, 5 GT/s x1 (SSC)
[    0.100290] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
[    0.100298] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.100305] pci_bus 0000:00: root bus resource [mem 0x600000000-0x603ffffff] (bus address [0xf8000000-0xfbffffff])
[    0.100325] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400
[    0.100374] pci 0000:00:00.0: PME# supported from D0 D3hot
[    0.101759] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.101849] pci 0000:01:00.0: [1106:3483] type 00 class 0x0c0330
[    0.101878] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit]
[    0.101957] pci 0000:01:00.0: PME# supported from D0 D3cold
[    0.103277] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    0.103295] pci 0000:00:00.0: BAR 8: assigned [mem 0x600000000-0x6000fffff]
[    0.103304] pci 0000:01:00.0: BAR 0: assigned [mem 0x600000000-0x600000fff 64bit]
[    0.103346] pci 0000:00:00.0: PCI bridge to [bus 01]
[    0.103353] pci 0000:00:00.0:   bridge window [mem 0x600000000-0x6000fffff]
[    0.103429] pcieport 0000:00:00.0: enabling device (0000 -> 0002)
[    0.103484] pcieport 0000:00:00.0: PME: Signaling with IRQ 38
[    0.103600] pcieport 0000:00:00.0: AER: enabled with IRQ 38
[    0.103690] pci 0000:01:00.0: enabling device (0000 -> 0002)
[    0.103863] bcm2708_fb soc:fb: Unable to determine number of FBs. Disabling driver.
[    0.103874] bcm2708_fb: probe of soc:fb failed with error -2
[    0.104619] Serial: 8250/16550 driver, 1 ports, IRQ sharing enabled
[    0.104962] iproc-rng200 fe104000.rng: hwrng registered
[    0.105016] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB)
[    0.105190] gpiomem-bcm2835 fe200000.gpiomem: Initialised: Registers at 0xfe200000
[    0.105279] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.105837] random: fast init done
[    0.106215] random: crng init done
[    0.107940] brd: module loaded
[    0.109510] loop: module loaded
[    0.109867] Loading iSCSI transport class v2.0-870.
[    0.110443] libphy: Fixed MDIO Bus: probed
[    0.110547] bcmgenet fd580000.ethernet: failed to get enet clock
[    0.110556] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000
[    0.110563] bcmgenet fd580000.ethernet: failed to get enet-wol clock
[    0.110569] bcmgenet fd580000.ethernet: failed to get enet-eee clock
[    0.110585] bcmgenet: Skipping UMAC reset
[    0.122167] libphy: bcmgenet MII bus: probed
[    0.170178] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus
[    0.170568] xhci_hcd 0000:01:00.0: xHCI Host Controller
[    0.170583] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1
[    0.171056] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000009000000890
[    0.171446] xhci_hcd 0000:01:00.0: xHCI Host Controller
[    0.171455] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2
[    0.171466] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
[    0.171601] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[    0.171609] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.171616] usb usb1: Product: xHCI Host Controller
[    0.171622] usb usb1: Manufacturer: Linux 5.4.154 xhci-hcd
[    0.171627] usb usb1: SerialNumber: 0000:01:00.0
[    0.171763] hub 1-0:1.0: USB hub found
[    0.171808] hub 1-0:1.0: 1 port detected
[    0.172076] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
[    0.172084] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.172091] usb usb2: Product: xHCI Host Controller
[    0.172096] usb usb2: Manufacturer: Linux 5.4.154 xhci-hcd
[    0.172101] usb usb2: SerialNumber: 0000:01:00.0
[    0.172214] hub 2-0:1.0: USB hub found
[    0.172260] hub 2-0:1.0: 4 ports detected
[    0.172610] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    0.172647] dwc_otg: FIQ enabled
[    0.172648] dwc_otg: NAK holdoff enabled
[    0.172650] dwc_otg: FIQ split-transaction FSM enabled
[    0.172652] Module dwc_common_port init
[    0.172776] usbcore: registered new interface driver uas
[    0.172807] usbcore: registered new interface driver usb-storage
[    0.172839] mousedev: PS/2 mouse device common for all mice
[    0.173028] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    0.173448] sdhci: Secure Digital Host Controller Interface driver
[    0.173454] sdhci: Copyright(c) Pierre Ossman
[    0.173583] mmc-bcm2835 fe300000.mmcnr: could not get clk, deferring probe
[    0.173674] Error: Driver 'sdhost-bcm2835' is already registered, aborting...
[    0.173679] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.175838] vchiq: vchiq_init_state: slot_zero = 0000000034bfab1f
[    0.177370] NET: Registered protocol family 10
[    0.177784] Segment Routing with IPv6
[    0.177818] NET: Registered protocol family 17
[    0.177840] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    0.177848] 8021q: 802.1Q VLAN Support v1.8
[    0.178013] Key type ._fscrypt registered
[    0.178018] Key type .fscrypt registered
[    0.180338] uart-pl011 fe201000.serial: cts_event_workaround enabled
[    0.180394] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 14, base_baud = 0) is a PL011 rev2
[    0.400040] usb 2-2: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[    0.410493] printk: console [ttyAMA0] enabled
[    0.486704] usb 2-2: New USB device found, idVendor=0b95, idProduct=1790, bcdDevice= 1.00
[    0.494918] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    0.496528] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    0.501852] mmc-bcm2835 fe300000.mmcnr: mmc_debug:0 mmc_debug2:0
[    0.509996] usb 2-2: Product: AX88179
[    0.514081] mmc-bcm2835 fe300000.mmcnr: DMA channel allocated
[    0.562118] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[    0.563019] usb 2-2: Manufacturer: ASIX Elec. Corp.
[    0.569971] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    0.577962] usb 2-2: SerialNumber: 00000000000179
[    0.646165] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[    0.647738] mmc0: SDHCI controller on fe340000.emmc2 [fe340000.emmc2] using ADMA
[    0.870059] usb 1-1: New USB device found, idVendor=2109, idProduct=3431, bcdDevice= 4.21
[    0.876232] of_cfs_init
[    0.881271] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    0.881274] usb 1-1: Product: USB2.0 Hub
[    0.888967] of_cfs_init: OK
[    0.922050] hub 1-1:1.0: USB hub found
[    0.929320] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    0.934928] hub 1-1:1.0: 4 ports detected
[    0.940628] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[    1.351122] Waiting for root device /dev/mmcblk0p2...
[    1.357706] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    1.452251] mmc0: new ultra high speed DDR50 SDXC card at address 0001
[    1.459208] mmcblk0: mmc0:0001 ED4QT 119 GiB
[    1.464290]  mmcblk0: p1 p2
[    1.468193] mmc1: new high speed SDIO card at address 0001
[    1.487915] EXT4-fs (mmcblk0p2): mounted filesystem without journal. Opts: (null)
[    1.495434] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[    1.502512] Freeing unused kernel memory: 512K
[    1.507006] Run /sbin/init as init process
[    1.550504] init: Console is alive
[    1.553982] init: - watchdog -
[    1.745265] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    1.758883] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    1.768737] init: - preinit -
[    1.854672] bcmgenet: Skipping UMAC reset
[    1.859867] bcmgenet fd580000.ethernet: configuring instance for external RGMII
[    1.867328] bcmgenet fd580000.ethernet eth0: Link is Down
[    5.899552] mount_root: mounting /dev/root
[    5.904007] EXT4-fs (mmcblk0p2): warning: mounting unchecked fs, running e2fsck is recommended
[    5.913553] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[    5.933716] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[    5.944217] urandom-seed: Seeding with /etc/urandom.seed
[    5.954256] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[    5.962304] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    5.996212] bcmgenet fd580000.ethernet eth0: Link is Down
[    6.003742] procd: - early -
[    6.006669] procd: - watchdog -
[    6.526927] procd: - watchdog -
[    6.530746] procd: - ubus -
[    6.584414] procd: - init -
[    6.588019] uart-pl011 fe201000.serial: no DMA platform data
[    6.655101] kmodloader: loading kernel modules from /etc/modules.d/*
[    6.674487] tun: Universal TUN/TAP device driver, 1.6
[    6.687187] sctp: Hash tables configured (bind 256/256)
[    6.710627] hidraw: raw HID events driver (C) Jiri Kosina
[    6.716869] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[    6.728022] GACT probability on
[    6.731621] Mirror/redirect action on
[    6.737054] u32 classifier
[    6.739777]     input device check on
[    6.743432]     Actions configured
[    6.763358] Loading modules backported from Linux version v5.10.68-0-g4d8524048a35
[    6.770948] Backport generated by backports.git v5.10.68-1-0-ga4f9ba32
[    6.785476] usbcore: registered new interface driver usbhid
[    6.791066] usbhid: USB HID core driver
[    6.801431] xt_time: kernel timezone is -0000
[    7.140111] ax88179_178a 2-2:1.0 eth1: register 'ax88179_178a' at usb-0000:01:00.0-2, ASIX AX88179 USB 3.0 Gigabit Ethernet, 00:0e:c6:48:54:17
[    7.154304] usbcore: registered new interface driver ax88179_178a
[    7.160996] usbcore: registered new interface driver cdc_ether
[    7.182387] PPP generic driver version 2.4.2
[    7.187436] NET: Registered protocol family 24
[    7.192388] usbcore: registered new interface driver rndis_host
[    7.199823] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
[    7.207670] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[    7.229719] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    7.395803] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    7.413693] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Mar 23 2020 02:20:01 version 7.45.206 (r725000 CY) FWID 01-febaba43
[    7.452266] usbcore: registered new interface driver brcmfmac
[    7.459456] kmodloader: done loading kernel modules from /etc/modules.d/*
[    8.326955] bcmgenet: Skipping UMAC reset
[    8.332126] bcmgenet fd580000.ethernet: configuring instance for external RGMII
[    8.339615] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[   12.653352] ax88179_178a 2-2:1.0 eth1: ax88179 - Link status is: 1

Mmmh ASIX USB3 dongles did have a reputation of not being able to saturate a 1Gbps link somewhere here in the forums, but that was about achieved speed and not about dropping out completely. Could this be related to USB power somehow, like when the dongle runs at full speed during the speedtests it might draw more power than the pi is willing to reliably supply or alternatively more power than it can dissipate the heat off? If you can it might make sense to test with a different USB-ethernet dongle.

3 Likes

Asix 88179, seems you're not alone Need help! Openwrt + USB LAN Asix AX88179 (Ugreen 50922) crashes continuously, has to reboot constantly

3 Likes

Thanks to both of you for your help. Tbh, I didn't expected to get replies so fast :slight_smile: .

I use the official power supply (5V and 3A if I remember correctly, the RPI runs at its default clocks and voltages).

I don't have any other adapter to find out whether that works better or not.
But if the adapter is the culprit, am I wrong to assume it should perform badly with another computer?

The first time today when I attempted to perform the test to give you the information you asked me, I was able to launch the speed test (time it takes for curl to download a 1GB file) 8 times in a row with no problem, so I rebooted and then it failed as expected.

Yesterday I played a bit with various settings, so perhaps some of them didn't survive the reboot.
But I don't know if that was just pure coincidence or if the settings did actually help.
I used ethtool, and disabled settings like EEE and modified something like flow control or checksum offloading.
I tried reapplying what I could remember, but this time the connection dropped after just 1 or 2 downloads. But perhaps I forgot others that I also changed yesterday.

I would turn this around, if the same adapter causes issues in another computer the adapter might indeed be suspicious. But if works well with another computer that might still indicate something like, e.g. higher than standard defined current draw and one computer might simply have sufficient reserves to supply that while raspberry might not (mind you I am making this up, I do remember some vague issue with raspberry pi 4B power).

2 Likes

i've just re-read the other thread

it's interesting that it crashed on the other dude running pfsense assumably on another base board

i'd be interested to see what happens if you arbitrarily lower your wan speed to say 100/15 via cake... ( or maybe 50/15 if that has issues ) temporarily for the sake of science... :robot:

reasoning... i'm sure people run these things... and issues are not horribly common, so that kinda leaves is with model/load based interaction with driver or (nic internal) components

(then again there are two 'asix' maybe paying attention to the one that pops up all time will pay dividends)

yours

Bus 002 Device 002: ID 0b95:1790 ASIX Elec. Corp. AX88179
[   12.653352] ax88179_178a 2-2:1.0 eth1: ax88179 - Link status is: 1

the other dudes

[  186.070262] NETDEV WATCHDOG: eth2 (ax88179_178a)

another interesting case where someone had issues... then none with raspiOS-32, then the issues went away... this one looks more like some weird hardware interaction and power than load...

2 Likes

Regarding power issues, there are two possible situations I can imagine:

  1. the system as a whole is running at or near the limit of the Pi's overall power budget (which could be related to the incoming USB-C supply and/or the power subsystem on the Pi)
  2. The Pi may be unable to provide enough power on the USB-A ports, regardless of the above.

It might be worth trying a powered usb hub between the Pi and the ASIX ethernet dongle. This might help reduce the probability of a power issue during periods of high bandwidth activity. It doesn't answer the question about which part of the power system is limited, but additional experiments could be run to try to nail that down.

3 Likes

Regarding total power consumption of the system, besides what I have already mentioned earlier, that is, the SOC (CPU, GPU and whatnot) run both at theirs default values for clocks and voltages, I can give some more details:

I use a microSD card to store OpenWRT (not a USB key), no keyboard or mouse is plugged, nor is a display attached.
The adapter, is using one of the 3.0 ports (at first I plugged it into a USB 2 port by mistake, no bug, but the bandwidth was limited as expected (something like 30 MB/s I think).
But in addition to speed, if I remember right, USB 3 ports can also provide more power to connected devices compared to USB 2 ports.
But I'm not sure that's all in terms of differences, maybe some latencies, buffer settings, etc. ... are not the same between those standards.

I'm not (yet) familiar with Cake, but limiting bandwidth with Curl is literally a piece of cake, so here are the results:

1 Like

It is not only voltage and clock speeds here that matter. Power consumption (watts) will increase as you push higher speed transfers. Although higher clock speeds will also result in higher power consumption (and thus also thermal loading), it is plausible that even baseline clock settings could still potentially hit the power limits - with or without the usb dongle. Even if the pi doesn’t use too much power on its own, add in the dongle and you could possibly be hitting the limit. Or, if not a system limit, it could also be the USB port’s power availability and the amount of power that the usb Ethernet dongle is demanding.

It should be a quick (and hopefully useful) test to simply insert a modern powered hub between the pi and the Ethernet dongle.

The powered hub in question should explicitly be USB 3.0 compliant, to not limit the bandwidth, right?

Yes. You want one that advertises the ability to charge devices - this ensures that it will have enough power to deliver to the usb dongle.

Ok, thanks. Not sure I have one like that, but I'll have a look though.

Anyway, USB 3.0 officially provide 0.9 A maximum, since my adapter is using USB 3.0, I think it's safe to assume it should not consume more than that, or at least, not misbehave as long as it can draw 0.9 A.

Since USB ports from the RPI can provide a current of 1.2 A (granted, probably not for all ports at the same time, otherwise that would equal to 4.8 A just to power USB ports, with a 3 A PSU ...).

Genuinely curious to know why you think it could be a power related problem?