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.

MSP430F5503: Random USB disconnects

Part Number: MSP430F5503
Other Parts Discussed in Thread: MSP430F5529

While testing a CDC product with MSP430F5503 we run into problems that the MSP430 USB device randomly disconnects.The frequency varies from few hours to few days. I noticed that the application, which is using the COM port on PC, somehow affect the frequency (some can cause the issue more often).

Symptoms:
Under Win 7, the COM port number simply disappears from Device Manage/ Ports (COM & LPT) section and the application stops receiving new data.
Under Win 10, it usually stays listed and the application, which is using the port, freezes and it is not possible to reconnect to that port. More rarely "Unknow USB Device (Port Reset Failed) (Windows has stopped this device because it has reported problems. (Code 43) A USB port reset request failed.) " appears under Device Manager/Universal Serial Bus controllers. 

The app on MSP430 is not frozen, it is not reset and continues to execute while this happens. Oscillator nor MNI fault was detected by MSP430. Only USBCDC_sendDataInBackground starts returning timeout after while. I went through the USB module registers after incident, but nothing "interesting" catch my eye.

The problem is present also with C3_EchoToHost example application from MSP430USBDevelopersPackage_5_20_06_02 package. Tested on custom board with F5503 and on MSP-EXP430F5529 kit.  IAR MSP430 6.3 was used to compile the code.

I will be grateful for any ideas or experience.

  • Hello Petr,

    Thanks for your detailed post. I see you're using the latest USB Developer's Package, which is great.

    It's definitely an interesting issue. I searched online for the Code 43 and found a lengthy article by Lifewire on How to Fix Code 43 Errors. The causes range from driver issues to exceeding the maximum power that the PC's USB port can provide.

    From your description, it sounds like the MSP430 is working properly and just waiting on data from the PC COM port which eventually leads to timeout. Are you using USB2.0 or USB3.x ports?

    Regards,

    James

  • As a follow-up, please read through the following threads. Looking at the last thread, I'm starting to suspect that the issue is caused by an errata unfortunately. For the MSP430F5503, the USB9 errata is related to VBUS detection that may fail after power up. Please refer to the erratasheet for more information.

    MSP430 Hangs BIOS, and then I get "Unknown Device" in device manager in Windows 7

    USB drivers and Windows 7

    MSP430 CDC example running problem

    Regards,

    James

  • Hi Petr,

    I am going to assume from your post that you don't see this behavior on the MSP-EXP430F5529 board but only on your custom board?  Can you verify that your USB is designed according to Figure 8 in SLAA457a.pdf document?

    If USB has been designed properly you might want to check the power settings on Win7 and Windows 10 for the COM ports you are using.  You might also try turning off the 'sleep' or 'hibernate' feature on your laptop. 

    Regards,

    Arthi

  • Hello James,

    Thanks for reply.
    The code 43 does appear rarely. And it is quite easy to fix, I just need to disconnect and reconnect the MSP430 device then it starts working again.
    The timeout is the result, the COM disappears from PC so I guess MSP430 is not able to send the data and because the previous operation is not complete the timeout raised for new send request.
    It is on USB 2.0 ports.

    Petr
  • Arthi,
    I see the same behaviour on MSP-EXP430F5529 as well as on our custom boards. That is what makes it curious to me.
    Sleep and hibernate are turned off.

    Petr
  • James,
    I went through the suggestions in your second post.
    And I think this is not related, in all those cases the issue was that it did not work from the connection/PC reset. This is not the case, the device works for hours/days and then it stops working.

    Anyway, thanks.
    Petr
  • Hello Petr,

    Petr Wagner said:
    And I think this is not related, in all those cases the issue was that it did not work from the connection/PC reset. This is not the case, the device works for hours/days and then it stops working.

    Looking at the USB9, USB10, and USB12 errata, they specifically mention that the issue can be resolved by unplugging and replugging the USB cable. This matches what you've been doing - disconnecting and reconnecting the MSP430 device then it starts working again. Please read through these errata carefully, implement the workarounds one-by-one, and continue to test whether the issue is observed or not.

    Also, there are several open questions that we've asked above. These answers may help shed some light on what you're observing. Again, I would focus on the errata.

    Regards, 

    James

  • Petr,

    Are you running one of the USB packaged CDC applications when you see your issue?  I would like to try to re-create your issue on my end here using the MSP430F5529.

    Regards,

    Arthi

  • Hello James,

    It took another round of testing to verify. It was caused by USB10 from errata after all. You made me to recheck them again. Thanks!

    Regards,

    Petr

    PS: I would strongly recommend to update the USB10 description with additional information how the issue can manifest. I have disregarded it initially as not related due to "USB begin to babble" description. Moreover, under certain conditions the problem is definitely not "extremely rare" (We have an old serial application written in TCL, which somehow significantly increases the probability of this error.).

  • Hi Petr,

    That's great news. Thanks for rechecking the errata again and for letting us know the solution to the issue. Also, I'll pass along your valuable feedback regarding the USB10 description.

    Regards,

    James

**Attention** This is a public forum