The documentation suggests that this can only be done by modifying the SD card balena-boot directory directly. I’m trying to enable the usbserial module on an Orange Pi Zero, since plugging in a USB serial device has the kernel recognise a generic usb device without loading serial. modprobe usbserial also tells me that the module does not exist. I’m a bit confused about this generally, is the module not compiled in? The serial seems actually to be present and working on the Pi3 already, making this documentation wrong, since I did not have to do this on the Pi3 at all.
I’m convinced this is isn’t an issue with configuration and that the usbserial module isn’t compiled into the Orange Pi Zero BalenaOS image, which is really frustrating and means I can’t do what I want to do. Any suggestions?
[ 85.384419] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[ 85.384592] ch341 6-1:1.0: device disconnected
[ 87.720189] usb 6-1: new full-speed USB device number 3 using ohci-platform
[ 87.949256] usb 6-1: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.63
[ 87.949275] usb 6-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 87.949288] usb 6-1: Product: USB2.0-Serial
[ 87.951563] ch341 6-1:1.0: ch341-uart converter detected
[ 87.961643] usb 6-1: ch341-uart converter now attached to ttyUSB0
Here is the output for the board as it shows on both Armbian and Raspian(for pi 3).
On BalenaOS, I get this instead:
[ 839.637112] usb 4-1: USB disconnect, device number 2
[ 851.223231] usb 4-1: new full-speed USB device number 3 using ohci-platform
This renders my application useless, since it can’t read the 3d printer I have plugged in.
Looking at this thread, it seems clear to me that the module simply isn’t present in the Balena version that is currently available for the Orange Pi, which is 2.31.5. Other Orange Pi boards are even more outdated than this. When will this be resolved?
I’ve been informed by one of our device engineers that whilst we do now support the usbserial module in meta-balena, but that we haven’t yet built or tested a later version for the Orange Pi. I’ve had a quick look at the relevant BSP (https://github.com/balena-os/balena-allwinner/blob/master/CHANGELOG.md) and it does seem to suggest the meta-balena version submoduled is a version with this feature. You should be able to build a version of the OS for the Orange Pi Zero using this BSP, but obviously it won’t be supported by us (and may have other issues).
Unfortunately, we don’t currently have an ETA for when we may produce a new version of the OS ourselves.
The main distinction between target balena environments is down to the configuration information, rather than how an image is built. balena-cli allows you to configure a provisioning image to allow a device to tie itself to an application that exist, for example, in balenaCloud.
For example, after logging into to the baleanCloud environment via balean login:
balena os configure custom-image.img --app balenaCloudApp
would allow you to configure your custom-built image with details from the balenaCloudApp that you’d pre-created on balenaCloud.
Is there any news on when this’ll simply be pushed to Balena so I can start working on something? I’m losing hope in doing anything with Balena on these boards, and I dont’ want to be locked down to expensive Raspberry Pi’s for everything that I want to do
Hello, unfortunately we don’t have an ETA for this as of right now. Let us know if you end up building this yourself: as Hedley mentioned we will not be able to officially support it, but we will be happy to provide assistance and pointers on a best-effort basis.
I am running into the same issue but with the odroid-xu4 balena image. I’m kind of new to balena and couldn’t follow what you were saying about meta-balena. How can I try and build this into the kernel myself?
I believe it’s actually now in meta-balena in general from version v2.39.0 (see the kernel-resin: Add support for CH340 family of usb-serial adapters [Sebastian Panceac] line). However, it appears the latest Production OS version of the XU4 is on v2.38.3+rev3. I’ve asked our device engineers if we have an ETA for a new XU4 release on Production, but in the meantime, it may well be worth trying our Staging environment to see if this does work for the XU4, as the latest release we have there is v2.43.0+rev2 and it should include the changes required for the use of this UART family.
We’ll get back to you once we get a reply from the device engineers, and if you could let us know if this does indeed work for you, that would be very useful.
You’re most welcome! I’ve also been informed by our device engineers that they expect a new release for the XU4 to be available in the next fortnight, so should that work on Staging it should also work when released to Production.
@hedss Unfortunately I think my device may not fall in the “CH340” family which I missed when reading your post. I just tried it and it didn’t work.
I’m trying to connect a GlobalSat BU-353-S4 device and do not see a /dev path created. I also get modprobe: FATAL: Module usbserial not found in directory /lib/modules/4.19.1-odroid when I try modprobe usbserial vendor=0x067b product=0x2303
[ 79.921650] usb 3-1.2: new full-speed USB device number 3 using xhci-hcd
[ 80.052753] usb 3-1.2: New USB device found, idVendor=067b, idProduct=2303, bcdDevice= 4.00
[ 80.059690] usb 3-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 80.067956] usb 3-1.2: Product: USB-Serial Controller D
[ 80.072278] usb 3-1.2: Manufacturer: Prolific Technology Inc.