USB Initialization
Posted: Tue Oct 02, 2018 4:37 pm
I've created a composite USB device using the "Interface Association" protocol. The device includes a single channel usb audio class device (which behaves like a microphone, and sends uLaw audio at 8000 hz), as well as a second interface which is vendor specific and sends data from an SPI sensor.
When i start everything up, it seems to work. If, however, the board gets re-enumerated by the host, problems arise. I'm using LIBUSB to read a bulk stream from that second interface, and it returns EPROTO. the audio interface still works.
This device uses a ULPI phy on the USB_HS interface
One of my target computers initializes USB devices several times when cold-booting, so I need to find a fix. Is there a general strategy to ensure this? can i re-initialize the USB peripheral when i get a USB_RESET event?
edit: i'll add the detail that i'm using an STM32F427, and chibios 18.2.1
When i start everything up, it seems to work. If, however, the board gets re-enumerated by the host, problems arise. I'm using LIBUSB to read a bulk stream from that second interface, and it returns EPROTO. the audio interface still works.
This device uses a ULPI phy on the USB_HS interface
One of my target computers initializes USB devices several times when cold-booting, so I need to find a fix. Is there a general strategy to ensure this? can i re-initialize the USB peripheral when i get a USB_RESET event?
edit: i'll add the detail that i'm using an STM32F427, and chibios 18.2.1