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.

TM4C1294NCPDT: CDC mode woks on certain Tera Term, but not PuTTY

Part Number: TM4C1294NCPDT
Other Parts Discussed in Thread: EK-TM4C1294XL

Run into something very strange.

I use USB/CDC mode so that I can use serial terminal to talk to the micro.

If I set Optimazation level to 3, and the Speed vs size trade-off to 2, the program works fine in both PuTTY and Tera Term 

If I set Optimazation level to 3, and the Speed vs size trade-off to 3, the program only works fine in Tera Term, but  PuTTY can't connect to the device at all

Any pointer to solve this issue? Thanks!

  • Greetings,

    Since one of your terminal Apps performed under both, 'Speed vs. Size' tests - I'd bet that you've hit a, 'PuTTY or PC issue.'    Is another PC available - which may shed some 'PC specific' light?   

    In such cases it proves always worthwhile to,

    • Monitor & ideally capture/store your Signals - under both Speed/Size settings - looking for differences.
    • Minimize (most or all) other PC activity - while conducting fresh tests.     As always - your objective is to give your transfer 'Every chance to succeed.'
    • In some cases it proves best to 'Reset the PC' - prior to launching the terminal App.

  • Tried and confirmed the same result on multiple PCs. 

  • And - you've:

    • Monitored & ideally captured/stored your MCU's Signals - for eased comparison?
    • Minimized (most or all) other PC activity - while conducting such tests?

    It proves likely that (something) changes during the shift from, "Speed/Size 2 to Speed/Size 3."     You are the one 'closest to the action' - thus best able to 'identify, document & present here' - the significance of that change.'

    It should be noted that yours proves a, 'Far more PuTTY/PC Issue' than an MCU one - you may consider, 'Requesting aid there as well...'     (if 'skilled' - they may well ask for similar detail...)

  • I captured two wireshark sessions, didn't see anything obviously wrong. but I don't know that much about USB/CDC protocol

    I don't think PC plays any role in this case. 

    ps. I merely want to see if anyone have a quick pointer, and I am sure PuTTY and TI will point finger at each other, so let's close the book unless TI FAE has more to share.

  • Hi David,

    Doing the wireshark sessions is the correct approach. Since they are not showing any error and since this issue occurs as the optimization is set to faster execution, I suspect that it is a data overflow problem that PuTTY is not handling well. Did you include the optional USB buffers in your implementation?

    I am going to ask Ralph to look at this thread as he is way better at USB than I am.

  • Bob Crosby said:
    I suspect that it is a data overflow problem that PuTTY is not handling well.

    Cannot this 'suspicion' be 'quickly/easily' tested - by substituting a, 'FAR SMALLER' transfer - in place of the 'LARGER ONE' - currently failing?

  • What do you mean by "optional USB buffers"? It doesn't ring a bell to me at this point

  • I assumed you were using the CDC Device Class Driver from the TivaWare usblib. The document is in the TivaWare directory:

    C:\ti\TivaWare_C_Series-2.1.4.178\docs\SW-TM4C-USBL-UG-2.1.4.178.pdf

    Here is the block diagram:

    An example of using the buffers in in the file
    C:\ti\TivaWare_C_Series-2.1.4.178\examples\boards\ek-tm4c1294xl\usb_dev_cserial\usb_structs.c

  • Hello David,

    Just so I am testing apples to apples, are you using a single CDC port or the TivaWare composite example with two CDC ports?

  • Hello David,

    I was not able to re-create your observation with my project. I used the Optimization settings you outlined in your post:

    With those settings, TeraTerm, PuTTy, and Termite as well all worked identically with my example.

    I am attaching the example project I used for your reference (this will be released in the next TivaWare): 1018.usb_dev_cdcserial.zip

    You'll need to reconfigure the optimizations for that project as I just used the existing zip file I already had made in the past to keep the distribution consistent on E2E.

  • Thanks, it could be the optimization of my added codes, I will see if I can extract it.

    Anyway, this is already beyond the scope of example program, so I will stop here

    Thank you all for your inputs!

  • As vendor's Bob noted earlier - the 'Transfer Size' may play a role here.

    Should the transfer size which has 'worked' prove much smaller than that used by the poster (which failed) - the 'solution' may not be as 'broad & effective' as desired.

    Testing w/poster's (previous failing) data would prove more 'convincing' - is that not true?