My Raspberry Pi is connected to a Arduino over USB. I addressed it at /dev/ttyUSB0 until today. I also addressed a motor control board attached to the second USB port at /dev/ttyACM0. When I started up my Pi today it wouldn't boot. I looked at the SD card on my Mac and although I couldn't see into the Linux partition, I could see that there were files missing in the root directory. I had a backup disk image so I copied the files from it to the SD card. (I had no idea whether this was a reasonable thing to do but I was desperate.)

My Pi then booted. Everything seems to be running okay except when I do a ls /dev there is no ttyUSB0 or ttyACM0 there.

Any thoughts on what I should try next?

  • These are not regular files but rather nodes. Not sure what happens on your particular pi Linux distro, but while it is possible to statically create these on a persistent file system, most modern "full" linuxes create them upon USB peripheral enumeration as a result of a udev rule or similar. You may want to look in dmesg or use lsusb to see if the device is connected, and also see if you have the usb-serial and cdcacm kernel modules present, if they are getting loaded upon insertion. – Chris Stratton Jan 28 '14 at 17:51

Running rpi-update as suggested on http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&t=53832 fixed the problem.

  • 1
    Glad to hear you fixed your problem! Could you mark this as answer please? We are trying to get the site Q:A ratio up and that would help us a lot :) Thanks! – RPiAwesomeness Mar 23 '14 at 16:58

Obviously there could be a problem if files are missing from the SD card.

Other possibilities would be the USB port getting fried, or the devices being fried.

Check the power supply is sufficient for the extra current used by the USB devices.

If you have another SD card, it would be a good idea to try a fresh install.

You can also try the USB devices in your Mac to confirm they are ok.

  • I connected the USB devices to my Mac and they work fine. – Rick Kaye Sep 28 '13 at 17:40
  • I did a fresh install on a new SD card and the new install doesn't create /dev/ttyUSB0 or ttyACM0 either. I used a USB keyboard and mouse to configure the new install and that worked fine. So the ports are not fried. The only thing I can think of is that I had set something in the previous install that caused it to create ttyUSB0 and ttyACM0 at boot and that I wiped out that setting when doing the restore. I can't think of what I might have done but it was months ago so I could have easily forgotten. Any idea of what that might be? – Rick Kaye Sep 28 '13 at 17:50

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.