For some time, I have experienced problem that after booting my Raspberry Pi can not detect Arduino Nano that is connected via USB port /dev/USB0 (If you have Arduino Leonardo that would be /dev/ttyAMA0). Only solution is to replug Arduino Nano after bootin RPi. But that means that you must move and idea is to save calories :)
After little research I have found that my Arduino Nano v3 have hardware fault :(
For USB interface Arduino Nano uses FTDI chip (specification available here)
It clearly says that Test pin “Puts the device into IC test mode. Must be tied to GND for normal operation, otherwise the device will appear to fail”.
If you examine hardware schematics for your Arduino Nano notice that “test” pin of FTDI chip is not grounded.
So after heating up soldering iron, make short between pins 25 (Ground) and 26 (test pin). It should look like this:
and closeup:
Now just plugin your Arduino and boot your Raspberry (or PC) and enjoy good USB detection/connection!
I don’t know who you are, but you are amazing. I was hunting down this bug for the better part of a week. Turns out it was the damn test pin of the FTDI chip. Thank you. Again. Without you, I would still be banging my head against the wall
Glad that I have helped you :)
Fix to FTDI chip is super simple, but it is very hard to find the root cause, but hey, that’s the challenge :)