Can't connect via USB, even as root!

Hi all, brand new user here!

So I connect my Arduino UNO via ttyS3 to my system, and I get absolutely nothing through.

Works fine on a Windows 7 laptop, but on 2 different Linux systems, I get the same errors (trying to upload the blink sketch in this example):

Binary sketch size: 1,054 bytes (of a 32,256 byte maximum)
/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -patmega328p -carduino -P/dev/ttyS3 -b115200 -D -Uflash:w:/tmp/build8050325059739374736.tmp/Blink.cpp.hex:i 

avrdude: Version 6.2
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/usr/share/arduino/hardware/tools/avrdude.conf"
         User configuration file is "/home/tinker/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyS3
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

avrdude done.  Thank you.

I've ruled out permission problems, as it does this even as root. Any further ideas?

When I plug my Uno in a Linux box via USB, the serial port name is /dev/ttyACM0. dmesg should produce some useful debugging info.

Mine doesn't go ttyACM0. It goes ttyS3. Here's the output from plugging it in:

Nov 19 15:02:32 timothy kernel: [ 3125.411123] usb 1-1.3: USB disconnect, device number 6
Nov 19 15:02:35 timothy kernel: [ 3129.231645] usb 1-1.3: new full-speed USB device number 7 using dwc2
Nov 19 15:02:36 timothy kernel: [ 3129.333146] usb 1-1.3: New USB device found, idVendor=1a86, idProduct=7523
Nov 19 15:02:36 timothy kernel: [ 3129.333168] usb 1-1.3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
Nov 19 15:02:36 timothy kernel: [ 3129.333182] usb 1-1.3: Product: USB2.0-Serial
Nov 19 15:02:36 timothy mtp-probe: checking bus 1, device 7: "/sys/devices/platform/ff540000.usb/usb1/1-1/1-1.3"

And that creates this device:

crw-rw---- 1 root dialout 4, 67 Nov 19 14:10 /dev/ttyS3

Yes, my user is in the dialout group. As well as the UUCP group. But I still get the same result, even when running as root.

Here is what I see.

usb 2-1.4.3: new full-speed USB device number 34 using ehci-pci
usb 2-1.4.3: New USB device found, idVendor=2341, idProduct=0001
usb 2-1.4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=220
usb 2-1.4.3: Product: Arduino Uno
usb 2-1.4.3: Manufacturer: Arduino (www.arduino.cc)
usb 2-1.4.3: SerialNumber: 649323436383510112B1
cdc_acm 2-1.4.3:1.0: ttyACM0: USB ACM device

I suspect you have a Uno clone with a different USB serial chip. You probably have to update the driver for the USB serial in your Uno. With other drivers, the port usually appears as /dev/ttyUSB0 but I suppose it could be different on your system.

The USB vendor ID of your device indicates it has a CH34X usb serial chip so that is the driver that is not working or needs an update.

Here is what lsusb shows on my system.

Bus 002 Device 034: ID 2341:0001 Arduino SA Uno (CDC ACM)

You might see this.

Bus 001 Device 011: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

Just for the heck of it, I plugged it into a Pi board I have laying around. Worked just fine, there.

So the problem is obviously with the tinker board. Worst purchase I’ve made yet. Too many “workarounds” needed to get even simple things working even nearly right.