Can't upload to arduino

Hi I tried to upload some tests on arduino, but I can't.

When I connect the arduino, using dmesg I got:

[ 3920.921942] usb 3-2.4: new full-speed USB device number 7 using xhci_hcd
[ 3920.955145] usb 3-2.4: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[ 3920.956483] cdc_acm 3-2.4:1.0: ttyACM3: USB ACM device

So I start the arduino IDE, take an example and try to upload it. Sometimes the serial port ttyACM3 is not there, and even if it's present in the arduino IDE, whenever I try to upload something I get

avrdude: stk500_getsync(): not in sync: resp=0x30

and in dmesg

[ 3982.834825] xhci_hcd 0000:04:00.0: ERROR no room on ep ring
[ 3982.834838] cdc_acm 3-2.4:1.1: acm_submit_read_urb - usb_submit_urb failed: -12
[ 3982.834848] tty_port_close_start: tty->count = 1 port count = 0.
[ 3987.770273] xhci_hcd 0000:04:00.0: ERROR no room on ep ring
[ 3987.770277] cdc_acm 3-2.4:1.1: acm_submit_read_urb - usb_submit_urb failed: -12
[ 3987.770280] tty_port_close_start: tty->count = 1 port count = 0.

any idea? I'm in the dialout group, and even running it as super user doesn't work.

Try to reload the module as follows sudo modprobe -r xhci_hcd && sudo modprobe xhci_hcd

Then see what happens.

Are you using USB 3 by any chance? This can be caused by the kernel not liking USB 3.

Hi
I tried to do so, but this is the result:

lbedogni@otto:~$ sudo modprobe -r xhci_hcd && sudo modprobe xhci_hcd
FATAL: Module xhci_hcd is builtin
lbedogni@otto:~$

Anyway, I’m not using 3 USB, it’s my only one. I think that maybe the other 3 are like the trackpad or similar.

This may be silly sounding, but have you unplugged the Arduino, rebooted, and plugged the Arduino back in?

Yes I already tried that, but it happens regardless of this.

OK. You obviously have a problem with the xhci_hcd module on your system. And since it's built in, you will probably need a new kernel and/or a patch to resolve it.

What version of Unix/Linux are you using? What kind of computer are you running this on?

My question about USB 3 was not referring to the port #, but rather the version of USB that your computer has. MANY kernels cannot properly support the USB 3 standard, and so they give the "no room on ep ring" error.

Hi, sorry if I misunderstood your question.

Anyway, I'm on an XPS L502X 15", with Ubuntu 12.04 running on. I'll try to download a vanilla kernel and build it with xhci_hcd as a module and see what happens.

I checked and the XPS L502X does have USB 3 ports. So I am sure that is the cause of the problem.

Yes it does have these ports. I'm compiling a new kernel right now with xhci_hcd as a module, I'll keep you informed.

Ok I tried but with no luck. I remove the module and reinsert it afterwards, but the problem won't go away.

You may want to visit a more Linux specific forum and ask about the "no room on ep ring" error. It's not specific to Arduino, so I am sure that someone with more linux experience than myself can help find a solution for you.