Still issues with USB Hub VL805

Hello there,
we are facing irregular problems with the VL805 hub on the Edge Connect.
Its always the same issue: all devices attached to the VL805 seem to disconnect on some point and the hub will return oc (overcurrent) from this point on.
There is no other chance to revive the devices besides powercycle the device (complete power off for at least 2 minutes due to large kapacitors on mainboard). We were able to force this issue with the uhubctl package and the following command:

uhubctl --location 1-1 --action 2 --reset

Which is turning power off and on of the hub. It reports after this reset:

  Port 4: 0008 oc

We checked the devices we are using multiple times and were not able to reproduce on any other (different manufacturer) rpicm4 we have with the via vl805.
What we tried:

  • uhubctl to reset
  • bind/unbind devices
  • reset USB functions
  • power control functions

We realized that its always the vl805 which seems to be the issue, therefore we tried the devices in different mpcie slots and on the usb 2.0 connector, which worked completely fine.
Stumbled acros an entry about the vl805 and a pcie switch which offered no solution
Github - EEProm Issues with VL805
And the latest update of the vl805 which seems to fix a huge issue but CANT be applied
Git - RPIEEprom

git clone https://github.com/raspberrypi/rpi-eeprom.git
chmod a+x rpi-eeprom/tools/vl805
sudo ~/rpi-eeprom/tools/vl805

VL805 FW version: 000137ee
flash ID mismatch - found c213, expected 0000ef10

sudo ~/vl805update/rpi-eeprom/tools/vl805 -w vl805-000138c0.bin -d

VL805 FW version: 000137ee
W CHIP_SEL 00000001
R PCI_WB_EN 00000000
W PCI_WB_EN 00000001
R STOP_POLLING 00000000
W STOP_POLLING 00000001
W CTRL_REG 000005a0
W CLK_DIV 00000008
W CHIP_SEL 00000000
W Tx_REG0 90000000
W CTRL_REG 000005c0
R Rx_REG0 c213c213
W CHIP_SEL 00000001
W CTRL_REG 00000000
flash ID mismatch - found c213, expected 0000ef10

We face the exact same issues everytime we flash the rakpios image and boot for the first time, after one exact powercycle its gone.

Another Question is:
Does your VL805 use an external EEProm with Firmware on it ?
Since a few Versions the pi uses no external eeprom, instead the firmware of the vl805 is conntrolled by the bootloader. Therefore my understanding is that if i update the firmware of the bootloader i should get another firmwareversion on the vl805 aswell.
I updated the bootloader a few times now, even with the flag VL805=1 in boot.conf but it does not change at all:

BOOTLOADER: up to date
   CURRENT: Mon 15 Apr 13:12:14 UTC 2024 (1713186734)
    LATEST: Mon 15 Apr 13:12:14 UTC 2024 (1713186734)
   RELEASE: default (/lib/firmware/raspberrypi/bootloader-2711/default)
            Use raspi-config to change the release.

  VL805_FW: Using bootloader EEPROM
     VL805: up to date
   CURRENT: 000137ee
    LATEST: 000137ee

Newest FW for VL805 is :
138C0

lspci -xxx confirmed 000137ee

Hello @AdrianDE
Thank you for the detailed description of the issue. I’m forwarding your information to the HW engineering team. The VL805 has an SPI Flash attached to it.

Hello @AdrianDE
May I know what device you are using and if it draws more than 1A? Also, are you facing the issue only on the USB3 connectors of the board or also on the MiniPCIe#3 or M.2 slots?

Hi @xoseperez thanks for getting back to this problem.
The devices i tried:

Module Connection type Power consumption Connected to
Ublox Zed F9P RTK Receiver M-PCIE 3.3V @ 240mA Mini PCI-e 3
Quectel EC25 EUX M-PCIE 3.3V @ 650mA max Mini PCI-e 2
Quark Elec AIS Receiver USB Slot 3.0 5V @ 45mA USB 3.0 Con1
RAK 5146 M-PCIE 3.3V @ 610mA max Mini PCI-e 1

The error occured aswell when I only attach the RAK5146 to mini pcie 1 plus the Quectel EC25 EUX on mini pci-e 3.

Does the Flash has the firmware for the via on it ? This may answer the question why i cant get any new firmware on the vl805 via the rpi-eeprom-update tool.
This maybe necessary because the VL805 configuration uses more USB.30 ports than the standard pi 4, i understand, but is there any way to update the vl805 ?
Ive found 2 issues on the old vl805 on the web, therefore it may be necessary to depoly new firmware for your flash/vl805 fw aswell ?
Just pointing out thoughts, thanks !

Hello,
a small update and question:

root@rakgateway:/home# uhubctl
Current status for hub 3 [1d6b:0002 Linux 5.15.92-v8+ dwc2_hsotg DWC OTG Controller fe980000.usb, USB 2.00, 1 ports, ppps]
  Port 1: 0503 power highspeed enable connect [1a40:0101 USB 2.0 Hub, USB 2.00, 4 ports, ganged]
Current status for hub 2 [1d6b:0003 Linux 5.15.92-v8+ xhci-hcd xHCI Host Controller 0000:05:00.0, USB 3.00, 4 ports, ppps]
  Port 1: 02a0 power 5gbps Rx.Detect
  Port 2: 02a0 power 5gbps Rx.Detect
  Port 3: 02a0 power 5gbps Rx.Detect
  Port 4: 0088 off oc
Current status for hub 1-1 [2109:3431 USB2.0 Hub, USB 2.10, 4 ports, ppps]
  Port 1: 0008 oc
  Port 2: 0008 oc
  Port 3: 0008 oc
  Port 4: 0008 oc
Current status for hub 1 [1d6b:0002 Linux 5.15.92-v8+ xhci-hcd xHCI Host Controller 0000:05:00.0, USB 2.00, 1 ports, ppps]
  Port 1: 0507 power highspeed suspend enable connect [2109:3431 USB2.0 Hub, USB 2.10, 4 ports, ppps]

It seems that the device on Port4 of the USB3.0 Hub triggers the issue, but there is no device attached to the M2 Port which should be Port4 (assumption based on connection via the USB3.0 Ports and MPCIE3 Card).

Can you confirm:
The USB Port No.4 on VIA USB Hub 3.0 is the M2 connector.
Which USB CON of the VIA is conencted to which USB3.0, MPCIE or M2 ?

I did some tests and saw : USB 2.0 Hub Conns of the VIA 3.0 are:

  1. USB 3.0 Lower Port
  2. USB 3.0 Upper Port
  3. MPCIE #3
  4. M2 Port

I definetly need an update here in time.
There have been multiple devices now with the exact same issue.

@xoseperez could you please provide some feedback ?

Hi @AdrianDE
Sorry for the delay. It’s a hard to tackle issue. We found a potential reason in the design around the VL805 related to the over current circuitry. The OC pins on ports #1 and #2 are correctly pulled up but the pull-ups for ports #3 and #4 are missing. We need to do some more testing to be sure this is the reason behind this issue and see if we have some workaround to fix it. Will keep you informed.

Hey any updates ?
Firmwareupdate for the VIA to be able to reset it properly after this issue maybe ?
Any news are welcome.

Hi @AdrianDE , we are afraid the issue is not with the firmware of the VIA chip but on the OC circuitry around it. We don’t have a solution for this at the moment since it requires a redesign.