Estamos desarrollando una placa personalizada para controlar los motores de CC sin escobillas. El tablero tiene STM32F405RGTx. Ahora estamos tratando de hacer que la comunicación USB CDC funcione. Generamos el código usando STM32CubeMX.
Desafortunadamente, cuando conectamos la placa en la máquina con Linux (kernel 4.4.14) no se detecta el puerto USB. Sin embargo, el kernel muestra que ha detectado un nuevo dispositivo:
sudo dmesg | tail
[346221.900229] usb 1-1: new full-speed USB device number 75 using xhci_hcd
[346222.259132] usb 1-1: new full-speed USB device number 76 using xhci_hcd
[346227.525263] usb 1-1: new full-speed USB device number 96 using xhci_hcd
[346228.765215] usb 1-1: new full-speed USB device number 100 using xhci_hcd
[346230.015198] usb 1-1: new full-speed USB device number 104 using xhci_hcd
[346236.265479] usb 1-1: new full-speed USB device number 4 using xhci_hcd
[346243.515496] usb 1-1: new full-speed USB device number 32 using xhci_hcd
[346250.766546] usb 1-1: new full-speed USB device number 60 using xhci_hcd
[346252.265563] usb 1-1: new full-speed USB device number 65 using xhci_hcd
[346258.265781] usb 1-1: new full-speed USB device number 89 using xhci_hcd
Lo anterior es la salida después de enchufarlo y sacarlo 3 veces. Como puede ver, al dispositivo siempre se le asigna un nuevo número y no se reconoce por completo. Además, el mensaje de que se detecta un nuevo dispositivo aparece varias veces para que se conecte una sola vez.
lsusb
tampoco muestra el dispositivo. ¿Puede indicarme qué sección del firmware de STM32 debo cambiar para corregir eso, de modo que el dispositivo aparezca en la lista bajo /dev
? Puede encontrar el código que estoy usando actualmente aquí: enlace .