Topics

Unable to run USB samples on STM32F411E-DISCO #samples


bbradley@...
 

So I think there are a few things going on here, and have begun to unravel it but I might need some guidance on how to proceed. 

I intend to utilize the STM32F411E MCU on an upcoming board, but I wanted to test the DISCO board in zephyr to get a feel for it first. One of the features I will need is USB, which the DISCO board appears to have available in the form of an OTG port. I only need the cdc mode of operation, so I think this shouldn't be too difficult of a task.

I pretty quickly realized that USB wasn't supported on this board on latest version of zephyr (2.3-rc0), so I started by trying to add it. I was able to get it compiled pretty quickly with some changes to the dts and pinmux.c by referencing other implementations and the datasheet for the MCU. 

So after some minor changes, I was able to get it to compile without any problems. Upon flashing it to the board *something* appears to be happening, but I am not sure if there is more that I am missing. Right now, the USB_OTG LED is illuminating on the DISCO board, which I think indicates something is happening, and the Device Manager (Windows 10) is recognizing a device, which is also good. But it is unable to setup the device and giving a "Device Descriptor Request Failed" error. I am curious if I am missing some additional steps to properly implement USB, and if I should possibly start an issue and work towards a PR on github.

Thanks for any advice!
Brian


Erwan Gouriou
 

Hi Brian,

Raising an issue would indeed help to provide support.
Don't hesitate to share the work you've already done to ease things.

BR
Erwan

On Tue, 12 May 2020 at 21:14, <bbradley@...> wrote:
So I think there are a few things going on here, and have begun to unravel it but I might need some guidance on how to proceed. 

I intend to utilize the STM32F411E MCU on an upcoming board, but I wanted to test the DISCO board in zephyr to get a feel for it first. One of the features I will need is USB, which the DISCO board appears to have available in the form of an OTG port. I only need the cdc mode of operation, so I think this shouldn't be too difficult of a task.

I pretty quickly realized that USB wasn't supported on this board on latest version of zephyr (2.3-rc0), so I started by trying to add it. I was able to get it compiled pretty quickly with some changes to the dts and pinmux.c by referencing other implementations and the datasheet for the MCU. 

So after some minor changes, I was able to get it to compile without any problems. Upon flashing it to the board *something* appears to be happening, but I am not sure if there is more that I am missing. Right now, the USB_OTG LED is illuminating on the DISCO board, which I think indicates something is happening, and the Device Manager (Windows 10) is recognizing a device, which is also good. But it is unable to setup the device and giving a "Device Descriptor Request Failed" error. I am curious if I am missing some additional steps to properly implement USB, and if I should possibly start an issue and work towards a PR on github.

Thanks for any advice!
Brian


bbradley@...
 

Thanks for the feedback. I will go ahead and create an issue on github to describe the issue and show what I have tried so far.

Thanks!
Brian