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
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
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?
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 !
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:
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.
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.