Hi,
We are using a Linux PC to communicate with the ChipSHOUTER and we have been able to successfully send commands and receive responses using the shouter-console.py Python script.
However, I would also like to use minicom to communicate with the ChipSHOUTER but I haven’t been able to determine the correct settings that allow any of the commands to be accepted. At this point, no matter what I command I enter after I hit the Carriage Return it displays the entire help menu with all the commands. It doesn’t seem to be recognizing anything I’m typing and just keeps showing the help menu. I’m confident I have the right serial port settings (115,200 baud 8N1) and I also have the following minicom settings:
Hardware Flow Control: No
Software Flow Control: No
Add linefeed: Yes
Local echo: Yes
Add carriage return: Yes
Terminal Emulation: VT102
Is there any reason why I can’t use minicom to communicate with the ChipSHOUTER instead of using the shouter-console.py script?
Please let me know if you have any questions and I look forward to your response.
Hi Brad,
Your serial settings looks right, but I believe that commands are terminated only by a newline, not a newline + carriage return. Can you try removing the carriage return and seeing if the problem persists?
Alex
Hi Alex,
Thank you for your prompt response.
Are you defining a newline as Line Feed (LF) [0x0A] or something else?
In the past, I have also seen a newline be defined as Carriage Return (CR) + LF but since you specified that the CR isn’t to be used I assume that only the LF should be used for the newliine. Is that correct?
Hi Alex,
If I remove the from the minicom settings the help menu just does a line wrap in the minicom window. If I add the back in, then the help menu displays normally but it doesn’t recognized any of the commands.
If I temporarily run the shouter-console.py script, run a command to the ChipSHOUTER and then go back to minicom, then the last command I used under the script is the command that one that seems to be executed on the ChipSHOUTER every regardless of the command I use.
So far, I haven’t found any settings on minicom that allow the ChipSHOUTER to respond to any of the commands I type in. I have even tried to manually type in a LF [0x0A] with a Ctrl-J and that didn’t seem to make a difference either.
Hi Brad,
Yeah, a newline is 0x0A, sorry about the confusion. Your settings look correct, so if you’ve disabled sending carriage returns I’m not sure what the issue is. Have you tried connecting to the ChipShouter using another serial terminal or via PySerial?
Alex
Hi Alex,
I have tried using multiple different Linux terminal emulation applications including minicom, PuTTY and cutecom. I have also used the python-based serial console port script that is part of the ChipShouter git repository (shouter-console.py).
So far the only applications that work on our Linux-based PC are the shouter-console.py script and the cutecom application. The cutecom application is unique since it allows you to specify the termination character for the input to a Line Feed (0x0A). I have not found a way to do that on minicom or PuTTY.
I think this is basis of my problem since Linux uses only a line feed (0x0A) as the termination character. Using a Linux-based PC, have you successfully used any serial communication application to communicate with the ChipShouter? If so, which application and what were the configuration settings?
I currently don’t have access to a Windows-based PC so I can’t confirm that PuTTY communicates as expected with the ChipShouter.
I look forward to your response.
Hi Brad,
Sorry I didn’t have enough time to get this tested on Friday. I’ll see if I can recreate your issue on Monday.
Alex
Hi Brad,
I’ve tried connecting to the ChipShouter and I’ve found the following:
- Termite on Windows seems to work, but PuTTy doesn’t
- In Linux, minicom and screen don’t seem to work
- Configuring the serial port via stty (
stty -F /dev/ttyUSB0 115200 min 1 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -ecohe -echok -echoctl -echoke
) and then using echo and cat works. Minicom will configure most of this stuff on startup, so you may want to enter minicom and then exit immediately.
I’ll do some more experimenting and see if I can track down why some serial terminals work but others don’t.
Alex
Hi Alex,
Thank you for the information.
I have a correction and a question:
On your stty command, I believe there is a typo in the -echoe parameter, the corrected version is:
stty -F /dev/ttyUSB0 115200 min 1 ignbrk -brkint -icrnl -imaxbel
-opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
Also, can you tell me how you used the echo and cat commands to verify the communication to the ChipShouter is working? I haven’t been able to get cat /dev/ttyUSB0 to return anything regardless which command I issue with the echo command.
I look forward to your response.
Hi Brad,
Thanks for the correction on the command.
To read/write, I’ve been doing
# cat /dev/ttyUSB0 &
# echo <cmd> > /dev/ttyUSB0
Let me know if that works for you
Alex
Hi Alex,
Thank you for your quick response.
That worked. I thought I added the ‘&’ at the end of my cat command to run it on the background but I must have done something wrong the first time.
Thanks!
1 Like
Hi Alex,
Were you ever able to determine what settings are needed to get the ChipSHOUTER to communicate and display correctly when using Minicom and/or PuTTY?
I’m still able to use the shouter-console.py python script but I would also like to communicate with this device using a standard serial communications application.
I look forward to your response.
Hi Brad,
The issue you were having was caused by a firmware bug that caused the write to timeout, so for it to be fixed you’ll need to wait for a firmware update from us. In the meantime, you should be able to fix this by buffering the serial data (meaning it will send all at once when you enter a line break). I don’t have a ChipShouter serial interface on hand to test, but you might be able to turn buffering on by enabling cooked mode (# stty -F /dev/ttyUSB0 cooked
), though I’m not sure if minicom overwrites these settings either.
Alex
Hi Alex,
Thank you for your prompt reply.
Do you have an anticipated time frame when this firmware update will be available?
In the meantime, I’ll try the stty settings you suggested. If minicom adjusts these settings upon initialization, I’ll look into trying to have minicom and/or PuTTY use the enable the buffering.
Hi Brad,
The update should be available fairly soon, assuming everything goes okay with the build. Otherwise, it may be a bit before we can roll the update out.
Alex
Hello,
I’m also having difficulties communicating with the Chipshouter on Linux. Putty and Minicom don’t work for me. Even the shouter-console.py doesn’t work for me (see below).
Any advice?
Thanks.
Regards,
Melvin.
Hi Melvin,
Does shouter console work with python3? Additionally, on Linux you may need to join the dialout
group to have permissions to access the serial port.
Alex