USB getting disabled after disconnect

On my new BBB, I have noticed that if I power it up with a USB peripheral connected to the host port, that peripheral works fine. But if I disconnect it, then it looks like the USB bus becomes disabled: I cannot connect any USB device again to the BBB until I power it off and power it on again: they are just not seen by the kernel anymore. a lsusb tells me:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The workaround I have been using until now, is to always keep a hub connected to my BBB, but that does not sound right at all… I’m using the Ubuntu image that is available here: http://www.armhf.com/index.php/boards/beaglebone-black/

Has anyone experienced something similar?

Ed

AFAIK on 3.8.X Kernels USB hotplug isn´t working right now.

That would definitely explain it :slight_smile: Thanks !

That may not be entirely accurate…
As a test, I booted up the bbb on the 3.8.11 angstrom image, without any usb hubs, card readers, etc., attached to the bbb. Then I attached a SIIG usb card reader for the very first time. It immediately recognized the reader (visible via lsusb etc). Then removed and re-attached it. It was no longer visible. So, looks like it can detect the first time, but not subsequently, until the next reboot. There seems to be some distinction there in the recognition logic there…

/venkat

There is a workaround for this where you can “wake-up” the USB to accept another USB device after you’ve unplugged one by forcing a rescan of the USB bus. I describe how to do it both via the shell and programatically via C here:

https://groups.google.com/forum/?fromgroups#!category-topic/beagleboard/beaglebone-black/nuyyVDhU6bw

I think that I’ll see if I can put together a kernel patch for 3.8.x to fix this issue, since it pops up quite often.

Hi all,

Has this issue been resolved?

I have this same issue on recent Linux kernel build and also FreeBSD. So do you guys think it is hardware issue?

Thanks,
Yin

I don’t.

Gerald

So are there any fix?!

Mine is revision A5A, are there any difference to A5B or A5C?

BTW, the HDMI doesn't work too!

Yin

Yes. there re differences. That is why they have different revision numbers. Did you look on the Wiki for the changes??

http://circuitco.com/support/BeagleBoneBlack?

Did you look for the HDMI issue page?

Did you look for the SW update page?

Gerald

Yes. there re differences. That is why they have different revision numbers. Did you look on the Wiki for the changes??

Yes, so I don’t know if its related to my USB and HDMI issue?

http://circuitco.com/support/BeagleBoneBlack?

Did you look for the HDMI issue page?

Yes, I tried all settings, no help. I may change another cable to try again.

Did you look for the SW update page?

Yes, latest version: angstrom 2013.09.04.

I read Wiki page already but none help. That’s why I come for here.

As I saw other people have same USB issue. I just want to know how they resolve it. Anyway thanks.

Yin

There are no changes related to USB or HDMI in the hardware.

You might try checking your HDMI cable, they can be bad. Also check your grounds so that all devices in the system connect to the same power strip.

You might want to use the DC power as USB power is limited.

Gerald

I am using DC 5v 3a I think its enough? Do you think I should RMA? I
can buy one more board to test. But I want to sure that I am not
doing something wrong first.

-Yin

Based on the information you have provided I don’t see this as a hardware failure, But, you are certainly free to request and RMA and have it looked at.

Gerald

FYI, I have use same ground as well. Tried USB power hub to power up bone.

Regards,
Yin

I’ve experienced the same problem. My BBB does not recognize newly plugged in USB hardware (an XBee dongle and an Arduino). I’m running Debian with kernel 3.8.13. I can “wake up” the USB by typing:

lsusb -v

After issuing this command, my USB device powers on and runs as expected. The -v is important. Without it, the hardware remains powered off and unrecognized.

"uname -r" what you describe should have been fixed...

Regards,

On my experience with last Robert’s Kernel (3.8.13-bone28) the only way to reliable USB hotplug is to disable USB suspend when compiling Kernel.

juanjo@boil:~$ uname -a
Linux boil 3.8.13-bone28 #6 PREEMPT Wed Sep 25 15:18:48 CLT 2013 armv7l GNU/Linux
juanjo@boil:~$ zcat /proc/config.gz |grep USB_SUSPEND

CONFIG_USB_SUSPEND is not set

Hello there!
I’m created basic workaround for this by creating little daemon which rescan usb bus every one second. I know it’s hack, but as temp solution is ok.

Source file: usb_fix.c

Compiled binary on BBB ubuntu 13.10: usb_fix

You can add copy binary to /bin directory and add to rc.local /bin/usb_fix to force start daemon on system start.

I hope this helps!

On my experience with last Robert’s Kernel (3.8.13-bone28) the only way to reliable USB hotplug is to disable USB suspend when compiling Kernel.

juanjo@boil:~$ uname -a
Linux boil 3.8.13-bone28 #6 PREEMPT Wed Sep 25 15:18:48 CLT 2013 armv7l GNU/Linux
juanjo@boil:~$ zcat /proc/config.gz |grep USB_SUSPEND

CONFIG_USB_SUSPEND is not set

I’ve experienced the same problem. My BBB does not recognize newly plugged
in USB hardware (an XBee dongle and an Arduino). I’m running Debian with
kernel 3.8.13. I can “wake up” the USB by typing:

lsusb -v

After issuing this command, my USB device powers on and runs as expected.
The -v is important. Without it, the hardware remains powered off and
unrecognized.

“uname -r” what you describe should have been fixed…

I now have a fixed kernel where I managed to hotplug a mouse, keyboard, hub and USB serial adapter.
Looking for contributions, so I started a crowdfunding project at: