[SOLVED] Arduino board not recognized by Linux (dmesg, lsusb, etc.)

I just received my first Arduino board which is essentially a Leonardo (ATmega32U4) customized to include a NFC reader (PN532).

When I plug it in, the PWR LED comes on steady, the D13 LED flashes a few times, and then the STA LED blinks once and only the PWR LED is left on. I can upload a basic sketch to the correct Serial Port, but the Serial Monitor is always empty.

I have noticed that, when uploading the script, the RX/TX LEDs stay off (which I thought was a sign of uploading/downloading data). I figured this was the root of my issue so I tried to look into it further. Running lsusb does not find the device and dmesg does not show any information when (un)plugging the device.

I also tried on a Windows install, but couldn’t install the Leonardo drivers since Device Manager wouldn’t register any unknown USB/Arduino devices.

Do you think my board is dead on arrival or am I doing something wrong?

You say you uploaded a sketch...

Try uploading the blink sketch then try it again but change the delays and see if the delays actually change how the LED blinks. If that works then your problem is seeing the board being connected not the board actually being detected.

Chilli, thanks for the response. You, along with some people on StackExchange, have forced me to revisit the "fact" that I uploaded a sketch. Turns out I wasn't right with that assumption.

I just uploaded the Blink tutorial sketch and it uploaded "successfully" but I noticed no differences. Please note that I don't have an external LED attached, but am looking at the board's LED on pin 13. This pin already flashes a few times (as mentioned before) on a reset, so I modified the delay times and still noticed no change.

I am uploading using board Leonardo, as recommended for my hardware, and the serial port /dev/ttyS0. I thought this was the right port because I remember not seeing it at first, but on second thought I had a permission issue at first (which is now resolved) causing me to not see the port.

So it looks like my board is not detected by my computer and I'm successfully uploading sketches to a meaningless port. Any troubleshooting options for me? I've tried different USB ports and am, as of recently, plugging my board into external power (9V). The only thing I can think of that on my end is that I'm using a Y-cable for my USB connection (I have a normal Mini-USB coming tomorrow via Amazon) since it is all I had. I can also confirm that this USB connection does power the board when plugged in.

Yup, the USB cable was only transferring power and not data. I used a new one and it showed up in the kernel, I switched to /dev/ttyACM0, and uploaded sketches fine.

Great news, I am pleased it is now fixed!

This is an old thread, but I just wanted to say thanks. I’m new to arduino and ran into the same problem. My cable was powering up a Ruggeduino but it wasn’t registering in the kernel. It wasn’t showing up in lsusb or /dev. Reading this, I switched out the cable and now it all starts as expected (populated in the IDE and successfully uploaded a sketch).

Thank you!