This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F5529: MSP430F5529 USB ENumeration Issues

Part Number: MSP430F5529
Other Parts Discussed in Thread: MSP-EXP430F5529LP, MSP430FG6626

Hello

We are working on a design that uses an MSP430 (MSP430FG6626) and have been having some issues getting the USB to beahve.  To speed development along though, we purchased the MSP-EXP430F5529LP board and tried using the demo code that came with the board to at least get that working, with the hopes of making minor changes to port it to the 6626 part.

I've uploaded code to https://bitbucket.org/apecor/msp430fg6626_usb/src/master/ to at least help get some eyes on the code, and hopefully some pointers to get it to work.  I originally set up the repo to track our original design, so you can ignore the markdown on the repo page w/ schematics... the code that is on there right now is for the launchpad code.  It is essentially the same code that comes in the TI archive file @ https://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP-EXP430F5529LP/latest/exports/MSP-EXP430F5529LP_Software_Examples_linux.tar.gz  but I instead am using mspgcc as the compiler.

The problem we are having while using the launchpad board is that the device tries to enumerate but never completes enumeration and gives errors in dmesg:

[573720.992435] usb 1-2.4.1: new full-speed USB device number 118 using xhci_hcd
[573721.092460] usb 1-2.4.1: device descriptor read/64, error -32
[573721.312414] usb 1-2.4.1: device descriptor read/64, error -32
[573721.532485] usb 1-2.4.1: new full-speed USB device number 119 using xhci_hcd
[573721.632469] usb 1-2.4.1: device descriptor read/64, error -32
[573721.852464] usb 1-2.4.1: device descriptor read/64, error -32
[573721.972623] usb 1-2.4-port1: attempt power cycle
[573722.642387] usb 1-2.4.1: new full-speed USB device number 120 using xhci_hcd
[573722.642486] usb 1-2.4.1: Device not responding to setup address.
[573722.872571] usb 1-2.4.1: Device not responding to setup address.
[573723.102501] usb 1-2.4.1: device not accepting address 120, error -71
[573723.202450] usb 1-2.4.1: new full-speed USB device number 121 using xhci_hcd
[573723.202691] usb 1-2.4.1: Device not responding to setup address.
[573723.422621] usb 1-2.4.1: Device not responding to setup address.
[573723.652397] usb 1-2.4.1: device not accepting address 121, error -71
[573723.652582] usb 1-2.4-port1: unable to enumerate USB device

I frankly don't know where to start to get this working... so any helpful pointers would be great to try and debug this

Thanks!
Chris

  • Download  MSP430 USB Firmware Upgrade Example for Win and start it. When you press BSL / PUR button on your board if everything related USB hardware is OK, device should be enumerated by OS as HID. Than Win interface can be used to download firmware for blink or USB example (builded for F5529 by default). For TI factory HID BSL XT2 must be 4, 8, 12 or 24Mhz (in general, didn't check MSP430FG6626).

    Mass erased device (by FET) after power up or reset should also automatically start in BSL HID mode, without using BSL / PUR button.

  • Thanks for the response.  

    The out of the box example provided above is the one that I based that code off of, so I essentially did as you mentioned.  Still not getting any enumeration though... any other ideas?

  • If you want to run your USB code on 5529 LP and you have problems, than of course problem is in your code. All TI USB examples are configured for 5529 (LP) with 4 MHz XT2. Start with TI original code working example on 5529 LP, and than apply changes one by one, and test after each step. At the end try to port to your FG6xx target. Test with FG6xx HID BSL first to be 100% sure that hardware design related USB on your FG6xx target is OK.

    By log, device during enumeration doesn't replay to OS, nobody knows why, and I don't have mentioned device and time to debug your software / hardware design. You can debug working USB example to see how is going correct USB enumeration, and than compare it with yours that fail. I debug USB on this way not only for MSP430.

**Attention** This is a public forum