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

Reply via email to