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.

MSP430 Launchpad Serial on Windows with USB3

Other Parts Discussed in Thread: TUSB3410, MSP-EXP430FR5969, MSP-EXP430F5529LP, MSP430G2553, MSPDS, MSP-EXP430FR6989, MSP-EXP430FR4133

I've been using MSP430 Launchpads with students in a course for a few years. This year, lots of students have laptops with USB 3 ports, and we're finding that the virtual com port doesn't work over USB 3 ports. We're using a python program on the PC to receive characters from the launchpad. In cases where the computers have USB 2 and USB 3 ports, the problems are simply solved by plugging the launchpad board into a USB 2 port.


We've tried updating the TUSB3410 drivers to the most recent but it hasn't helped.

I haven't seen many reports of this, except for something here:

I was wondering if there are any solutions known to make the TUSB3410 on these Launchpads work properly over USB 3?

  • Hi Carl,

    Thanks for reporting this issue.

    Can you provide a little more detail about when it doesn't work and confirm some details, so we can try to reproduce here and debug this:

    • With USB3 ports, is the Launchpad and MSP430 application UART not showing up correctly in Device Manager?
      • If so, how does it enumerate (or does it not enumerate at all).
    • What OS is used (Windows 7? Windows 8?)
    • To confirm, this is with MSP-EXP430G2 launchpads?
      • If you happen to have other Launchpads available (like MSP-EXP430F5529LP or MSP-EXP430FR5969) do these behave similarly, or is there no USB3 issue with these?
    • Does the UART work ok with USB3 with generic terminal programs and just not the python program, or does it not work with these terminal programs either?
    • Is it just the backchannel UART that doesn't work? Or does downloading/debugging code from an IDE like CCS or IAR not work either?

    Regards,

    Katie 

  • As an update, a colleague here just tested MSP-EXP430G2 Launchpad with Tera Term on Windows 7 with USB3 - he had no issue. There must be some difference in our setup (OS maybe?). Hopefully some of the above information will help us narrow down what it is.
    -Katie
  • Dear Katie,

    thanks for looking into this! I've seen this happen on ~5 computers this week. In every case, the UART does appear to enumerate correctly - it appears in the device manager, typically as COM4 or COM5. For sure we've seen this in Windows 8.1. I think there was at least one Windows 7 system in there as well, but I'll try to confirm that.

    We're using MSP-EXP430G2 launchpads with MSP430G2553's. I'm afraid I don't have any other model of Launchpads available.

    It is just the backchannel UART that has trouble, there have been no problems downloading and debuging code from CCS.

    I'll have to let you know in a couple of days about whether a generic terminal program works, haven't tried it, but I will.

    There are a couple of other pieces I can add to the puzzle: On a couple of the systems we sometimes saw corrupt data being received, as though the UART was "working" but was configured for a higher speed than specified (definitely higher because more bytes were received than transmitted). This definitely occured a few times, but was inconsistent and not reproducible. The first system that showed this behaviour later started to work perfectly. Another system that showed this behaviour has never shown any characters since. The demo program we supplied uses a software-serial (we have a mix of rev. 1.4 and 1.5 boards) at 2400bps. But I have also tried this using the hardware UART at 9600bps. Both versions have been tested with USB2 and on linux and Mac and work as expected.

    One of the posts on the thread linked above on the 43oh site does sound like there may be some trouble in configuring the UART: "I find if I toggle between 115200 and 9600 bps, maybe requiring a board reset or two, it does work."

    On at least 3 of the systems, just unplugging the launchpad from the USB3 port and plugging into a USB2 port solved the problem.

    One student with a laptop with only USB3 ports installed linux and was able to use the UART on the USB3 port successfully.

    I will definitely follow up on the generic terminal issue though. I have seen some weirdness with pyserial in other contexts, and it does make sense to remove it from the mix.

    Thanks,

    Carl
  • Hi Carl,

    Thanks for the additional information. I am definitely hoping to see what are the results of tests with a generic serial terminal since we weren't able to reproduce here - I might see if we have a Windows 8 with USB3 machine here to try as well. We want to make sure we don't have an issue that a lot of people are going to run into - if the problem is with support with the OS, rather than with the specific python serial program being used - thanks again for your help investigating, as this will probably help other users as well.
     
    Regards,
    Katie

  • So, this is looking like the problem is in pyserial. I've got 5 reports of usb3 trouble with windows 8 or 8.1. There is one report with win 7, though its symptoms are different, and I'm thinking it is an unrelated problem.

    On one system we installed Tera Term and the problem seems to be specific to python. We've moved up to the most recent pyserial and it _appears_ that that has resolved the problem.

    I'll post back if we learn anything different.
  • Hi Carl,

    Thanks for the additional investigation and update. Let us know if you run into more problems with it.

    -Katie
  • Hello,

    I'm getting ready to teach a course again using msp430 launchpads, and am encountering this problem again. I have a msp-exp430G2 board, rev 1.5, and I can't get the virtual com port to work under windows.

    I'm using windows 8.1 on a recent Dell XPS 13. I've installed CCS 6.1.1.00022, and I can load programs into the board, and can debug, but I can't get any communications from the board to appear in any windows program.

    I've used TeraTerm to try to simply display whatever characters are sent from the board, but nothing appears. The same program exactly works as expected under linux.  The serial data-flow is unidirectional: the msp430 should be sending a byte a second to the serial terminal.

    I did check to make sure I have teraterm working ok - it does see bytes that come from an arduino.

    The CDC driver I'm using in Windows is version 1.3.0 from 2007, which feels rather old, but is the one currently linked to at: http:www/ti.com/tool/MSPDS

  • Some progress on this. Out of desperation, I uninstalled CCS on this computer, and as soon as I did, fired up Teraterm and suddenly it started working as expected. I'm a little surprised that uninstalling CCS didn't uninstall the VCP driver. I've since then reinstalled and uninstalled CCS 4 times, and see consistent behaviour:


    When CCS is installed, the VCP appears to work properly for a short while, often long enough to start the debugger and have characters appearing in teraterm while debugging in CCS. But this doesn't last long, a few minutes or so. After that, there doesn't seem to be much I can do to receive any characters from the uart - even rebooting doesn't seem to help.


    Uninstall CCS though, and then unplug/replug the Launchpad, and all is well again.

    Any help in tracking this down would be much appreciated.

  • Hi Carl,

    I'll pass your information along to the tools team. But I wanted to point out the MSP Debuggers guide www.ti.com/lit/pdf/slau647 has a note in it in section 4.3 eZ430-Based Experimenter Boards and Launchpad Kits (of which MSP-EXP430G2 is one) has a note that eZ430 tools like MSP-EXP430G2 are not supported on USB 3.0 ports. I wonder if that could be your problem? There is no such note for eZ-FET based tools, like any of the other newer launchpads MSP-EXP430FR4133 MSP-EXP430FR5969 MSP-EXP430F5529LP MSP-EXP430FR6989.
    Regards,
    Katie
  • Hi Katie,

    thanks. I hadn't seen that note - so it does appear that I'm trying to do something unsupported.

    In looking for alternatives over the last couple of days, I found that if I use the open source mspgcc compiler and msp430-gdbproxy I can get everything to work on Windows 8 with a usb 3 port, as long as I don't have Code Composer Studio installed.


    Is it safe to assume then that TI has abandoned this board software-wise?

  • Hi Carl,

    No I would not say that TI has abandoned the MSP-EXP430G2, just that it seems there may not be a good solution for boards with the eZ-430 emulation which is only on that Launchpad and older experimenter boards (which is why there is the note). The data points you have are interesting though and I will pass them on to the team in case it helps them. I believe there is work being done to help make things better for those using these in the future, but I don't know of any near term solution for you unfortunately, so this is the current state of things. I wish I could be more help :-(

    Regards,
    Katie
  • I have problem using MSP-EXP430G2 too.

    Currently, I am using Win-8.1 on a Asus 64-bit Notebook and IAR IDE 6.10.7. But I had similar problems with Win-XP and older IAR as well.

    The problem is, IAR finds the G2 "already in use" and thus cannot use it. My work around is, I power down the PC, plug in the G2 before I power up the PC. This works most of the time. Occasionally, I have to repeat the same sequence a few more times.
  • One more data point. I did a kind of 'bisect' through the CCS install directory, and narrowed this down to:
    ccsv6\ccs_base\emulation\tpi\TPIMSP320.dll
    If I rename that library so it can't be found, then the back channel UART works, but CCS can't talk to the device.

    Its all a bit weird - moving files/directories out of the way so they aren't found and then back so they are, you sometimes have to unplug/replug the Launchpad two or three times till you find the right answer as to whether a particular directory tree holds the problem. It is completely unclear to me how that library matters to teraterm or whatever when CCS isn't running, but it does seem that the simple existence of that file kills the back-channel UART somehow. If I rename it, the UART works.
  • This is just plain weird. Running Listdlls from Microsoft sysinternals, that library isn't even loaded unless CCS is running and you've started to 'debug' on the board. But this is totally reproducible. If I rename TPIMSP430.dll (typo above, sorry), then the uart works. It really just seems to be the existence of the file. I'm a Linux guy generally, but this makes window more mysterious than ever to me...
  • Hi Carl, others,

    I know this doesn't help much in the near term, but I wanted to make you aware of this: e2e.ti.com/.../1732961 See response here. A lot of the issues with MSP-EXP430G2 with newer features ( like USB3) have to do with the older emulation hardware on this board - the other launchpads all have the newer eZ-FET emulation hardware. There is work being done this year to address this hardware gap later this year as mentioned, and I wanted to make you aware of this.

    Regards,
    Katie
  • Hi Katie,

    thanks for the pointer to this. It is nice to hear that better support will be coming.

    Carl

  • Is there something new? I do have the same problems here. It would be a pity if there was no remedy.

  • Hello All,

    Just noticed this thread after opening one about three weeks ago, still the problem is ongoing (MSP430G2 LP programmer works fine but not the UART. However, it works on an older computer running Win7 with USB2.0 ports but can't work on Win8.1 with USB3.0 ports). The other thread I initiated can be found here: e2e.ti.com/.../558111
  • Hi,

    TI, please increase priority for this issue:

    The EXP430G2 is a nice compact board i can carry with me for playing around on the go.

    Imho, this BUG is a Windows 8-10 TI-Driver Issue.

    In my scenario it turns into a real Show-Stopper, since carrying an additional FTDI-Board with the additional wiring defeats the mobility in this case:

    My host is a GPD Pocket (www.indiegogo.com/.../gpd-pocket-7-0-umpc-laptop-ubuntu-or-win-10-os-laptop--2

    It is running Windows 10 and has no plain USB2 port. Only USB3.

    MSP-EXP430G2 programming and debugging works using latest CCS.

    But: Although enumeration of the Backchannel COM port always works, cmmunication does not most of the time.

    The only time i actually received something was when i used the 2400 baud software uart after dis-/re-connecting the EXP multiple times in a trial and error fashion.

    Using a USB2 Hub does not change behavior.

    This is reproducable on a desktop machine as well.

    Using the Backchannel Uart via the same USB3 Path with Linux works all the time.

**Attention** This is a public forum