Hi
I’m a new user of balena.io. Very impressed with the experience so far, and keen to get a real project underway. Unfortunately, I seem to have hit an early hardware issue.
I’m using a Raspberry Pi 4 B 8GB, and trying to get a USB GPS device (GlobalSat BU-353S4) to work. I have confirmed that the hardware works: if I load the Pi with a copy of Ubuntu server (21.04) then lsusb
shows:
Bus 001 Device 004: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port / Mobile Action MA-8910P
However, if I set the Pi up as a balena device (balenaOS 2.82.10+rev1, development edition), and connect to the HostOS then lsusb
just shows:
Bus 002 Device 001: ID 1d6b:0003
Bus 001 Device 001: ID 1d6b:0002
If I connect a USB memory stick, this does show up:
Bus 002 Device 002: ID 0781:5583 USB SanDisk 3.2Gen1
but there is no sign of the GPS. It seems that the required modules are present:
# find /lib | grep pl2303
/lib/modules/5.10.31-v8/kernel/drivers/usb/serial/pl2303.ko
There are indications that not all is well with the USB ports. dmesg | grep usb
shows output that includes:
[ 3.366928] usb 1-1: device descriptor read/64, error -71
…
[ 6.026753] usb 1-1: device not accepting address 4, error -22
I don’t see anything like this with Ubuntu loaded, and - after trying a bunch of different things - an wondering if there is a general problem with the USB support, rather than something specific with the GPS device. I did note that the config.txt for the Ubuntu system includes
dtoverlay=dwc2
I’ve tried including this a balena configuration variable (and checked that it gets into the config.txt) but dmesg
output suggests that dwc_otg
is still loaded…
I’m assuming that until I can get the device to show up in the HostOS, I can’t expect to be able to use it from a container.
Update: I’ve discovered if I use balenaOS 2.75.0+rev1 instead, then the device is detected, the pl2303 driver is loaded, and /dev/ttyUSB0 is created. So looks like it is a 2.82.10 issue. For completeness, I’ve also tried 2.80.5+rev1 - that also seems to be working. So the problem appears to be specific to balenaOS 2.82.10+rev1 and nothing to do with dwc2 vs dwc_otg.