I connected the RPI5 via a USB-C/USB3 hub with the PD. So, I am able to feed power to the RPi and also convert the RPi's USB-C to USB3. I have only a USB-C/USB3 hub. You mentioned that device mode on the RPi5 is supported with USB2 only. I am confused: Do I have to set the RPi's USB-C port to USB2 mode? How? If it is in USB2 mode, will it accept the PD from the connected USB-C hub? I think I could connect a USB3 port on the hub to a USB2 port on the host, and the entire chain will be set to USB2 mode, but the only hosts I have are USB3/USB-C.
OK, so some misunderstanding of USB on your part...
Unless you USB host is very unusual it has both USB2 and USB 3 ont he same connector (whether A or C). That's what the spec requires.
The USB C port on the Pi5 is only capable handling USB 2 data. The pins required for USB 3 data are not connected to anything.
Loading the dwc2 overlay enabled the USB 2 controller that is connected to the Pi5's USB C port. No other action is required.
Is the upstream facing port of that hub connected to the Pi or to the actual host device? If to the Pi, it's presence will prevent device mode from working. USB is a master - slave system. Two masters cannot communicate directly neither can two slaves.I connected the RPI5 via a USB-C/USB3 hub with the PD. So, I am able to feed power to the RPi and also convert the RPi's USB-C to USB3.
If the upstream facing port of the hub is connected to the actuall USB host device, you'll very liekely find that the PD pass through function is only between PSU and USB host device not between PSU and connected downstream devices. Though in this instance, device mode should still function.
As for debugging your script, I suggest you disable your service and run it manually from the command line. I suspect it would be safe to ignore that error and continue with the script but you'll need to test that.
Statistics: Posted by thagrol — Mon Jul 29, 2024 11:27 am