I want to program a microcontroller under Debian Wheezy, but can't get it to work so far. I asked on Electrical Engineering and got the advice to check if something is already occupying the serial port. I don't have the program they suggested, brltty.

How can I check if there is some other package preventing the microcontroller board from talking to the computer? Or if there is some kind of driver problem with the device?

This is what happens when I plug it in:

rumtscho@simak:~/Projects/had_launchpad-blink-master$ dmesg | tail
[11936.051300] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[11936.051306] usb 4-1: Product: Texas Instruments MSP-FET430UIF
[11936.051313] usb 4-1: Manufacturer: Texas Instruments
[11936.051318] usb 4-1: SerialNumber: 95FF469286C9572A
[11936.060401] cdc_acm 4-1:1.0: This device cannot do calls on its own. It is not a modem.
[11936.060412] cdc_acm 4-1:1.0: No union descriptor, testing for castrated device
[11936.060467] cdc_acm 4-1:1.0: ttyACM0: USB ACM device
[11946.113517] generic-usb 0003:0451:F432.0005: usb_submit_urb(ctrl) failed
[11946.113550] generic-usb 0003:0451:F432.0005: timeout initializing reports
[11946.114261] generic-usb 0003:0451:F432.0005: hiddev0,hidraw0: USB HID v1.01 Device [Texas Instruments Texas Instruments MSP-FET430UIF] on usb-0000:00:1d.0-1/input1

Can I somehow troubleshoot the connection from here?

  • 1
    When I did this on my raspberry-pi using Debian 7.0, I had to disable a service that used the serial port. It would output the boot log (at boot time), and I think allow a user to login. It was probably a getty service, but I can not remember. Jan 11 '15 at 16:37

Linux uses ttySx for a serial port device name. For example, COM1 (DOS/Windows name) is ttyS0, COM2 is ttyS1 and so on.

  1. Attach your micro-controller to serial port and type dmesg | grep tty command to check whether it's detected or not.

  2. If all your slots are PCI, the serial port is likely to be on either an ISA bus or LPC bus (also called a "LPC interface"). LPC is common on laptop computers. Type "lspci" to see if it shows "LPC"

Now for configuring your serial port you have to work with setserial comand. (CLICK HERE to learn setserial command.)

http://www.cyberciti.biz/faq/find-out-linux-serial-ports-with-setserial/ http://www.tldp.org/HOWTO/Serial-HOWTO-8.html


I'd run lsof as root and then check to see which processes have /dev/tty* files open. Then trace down the process to determine what they are doing.


I use a pc with two external serial controllers to connect in two different BMS systems. Running two vmware players on debian weezy with different Operating systems in each one and connecting one serial port to each vmware machine! The problem was that unpredictably one or both serials didn't connect to vmware or showed like they were used by another application. After hours of log searching, hardware changing etc, I noticed in /var/log/syslog the modemmanager making calls to all ttyS* trying to identify connected modem! I removed it with "apt-get remove modemmanager" and problem solved! I believe that trying to find connected devices left the ports or the devices connected to the ports in an non ready condition!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.