Hi all, I have been using openbsd on a raspberry pi cm4 for a while and everything was ok.
The cm4 does not have an usb3 connection through pci like the raspberry pi 4 and it uses dwc2 by default. Recently I created my own carrier board for the cm4, with a single usb connection and without a hub to keep costs down. That configuration gets in trouble on openbsd but not on Linux. It seems that openbsd dwc2 assumes that a usb hub is present between a peripheral and the cm4 port, while Linux does not. The Linux driver seems doubly licensed under gpl and bsd so updating should not be a problem for the driver maintainer, and the differences between the Linux dwc2 driver and the openbsd one seem minor. What I get on openbsd is as follows (on Linux I don’t get these issues): 1) if I connect a keyboard to the usb port before boot it does not get recognised. I have to disconnect it after boot and reconnect it to be recognised. 2) if I disconnect the keyboard after it’s been recognised, it crashes the whole system and shows an error “ dwc2_host_complete: unknown error status -54”. 3) if I add an external usb hub and connect a keyboard to it everything works fine during boot and afterwards unless I disconnect the hub, in which case I would get the system to crash like before. Linux just recognises the keyboard at boot without the usb hub, if I disconnect it it does not crash and if I reconnect it it recognises it again. Is there a way to get this fixed on openbsd? Is anything needed from me in order to get this fixed? Thank you all very much :-) Alex Sent from my iPhone