Not surprised. I've had all sorts of problems with USB when using a hub chip. It all seems to point to a software/driver glitch. I really wish I could help out to fix it, but I'm more of an application developer.
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to a topic in the Google Groups "BeagleBoard" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/beagleboard/C6gMT2_FfiM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beagleboard...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
echo 'on' | tee /sys/bus/usb/devices/usb1/power/control" in the /etc/rc.local script (no quotes) to try and mitigate the issue. The former, from what I understand, keeps the CPU running at full speed, and does not let it slow down based on demand, the latter works to keep USB power on to the port at all times, rather than letting the BBB decide whether to power it off/on.
At this point, the BBB has not thrown any more Babble errors through multiple power off/on events, nor through any extensive scanning or quiet time.
Of note, there may also be some merit in the grounding issue, as walking across the floor and then touching the BBB case will occasionally cause the Babble issue to appear and the Symbol device to power off. The device is connected to a DC power supply, but there is no grounding plug with the brick, so it stands to reason that the device is not grounded.
Hope this helps someone... although I'm sure that at this point I have no concrete solutions to the problem.
--
The scanner does not power back on if disconnected. The BBB has to be power cycled before the scanner is usable.
The relevant DMESG entries are below:
[15104.176465] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
[15104.176536] hub 1-0:1.0: port 1, status 0100, change 0001, 12 Mb/s
[15104.176555] usb 1-1: USB disconnect, device number 2
[15104.176566] usb 1-1: unregistering device
[15104.176579] usb 1-1: unregistering interface 1-1:1.0
[15104.176809] musb-hdrc musb-hdrc.1.auto: shutdown urb df5da6c0 ep1in-intr
[15104.177785] usb 1-1: usb_disable_device nuking all URBs
[15104.290606] hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x100
[15104.290694] hub 1-0:1.0: hub_suspend
[15104.290724] usb usb1: bus auto-suspend, wakeup 1
The scanner does not power back on if disconnected. The BBB has to be power cycled before the scanner is usable.
The relevant DMESG entries are below:
[15104.176465] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
[15104.176536] hub 1-0:1.0: port 1, status 0100, change 0001, 12 Mb/s
[15104.176555] usb 1-1: USB disconnect, device number 2
[15104.176566] usb 1-1: unregistering device
[15104.176579] usb 1-1: unregistering interface 1-1:1.0
[15104.176809] musb-hdrc musb-hdrc.1.auto: shutdown urb df5da6c0 ep1in-intr
[15104.177785] usb 1-1: usb_disable_device nuking all URBs
[15104.290606] hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x100
[15104.290694] hub 1-0:1.0: hub_suspend
[15104.290724] usb usb1: bus auto-suspend, wakeup 1
-- Best Regards Ulf Samuelsson
On Dec 24, 2013 2:04 AM, "APRichelieu" <apric...@gmail.com> wrote:
>
> Den tisdagen den 24:e december 2013 kl. 01:03:16 UTC+1 skrev Brent:
> > Ok, got it. I need to contribute to try it out. Here is my problem, and I would like to hear if this solves it. I have a hub that uses the SMSC 2512 hub chip (USB2512QFN36). Mass storage devices work as long as it's inserted at power up. Any hot plugging after boot will not work. Does your kernel fix this problem?
>
> What I find with the standard kernel, is that if You have a hub inserted at boot time, you can hot-plug stuff using the hub. If you remove the hub then you have to reset the device.
> If you have a device inserted at boot, it is detected and is functional.
> If you remove it after the boot and reinsert it, it is no longer detected.
> For some devices, removal will crash the kernel within a minute.
>
> With my patched kernel, I can remove hub and / or devices and have them be detected and functional after boot, and can do this multiple times.
> Tested with a mouse, keyboard, USB Serial and Hub.
>
> >
> >
> >
> > Also, I have some other items in the kernel that I need enabled. If I contribute $50 or $125 I only get whatever you built into your kernel... right? Could I give you my .config and you build it?
>
> My idea was $50 will get you a root file system without source.
'Without source' go read the GPL again...
> You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
Kernel is released under GPLv2 and this allows me to ship object code with an offer to ship source code for the cost of distribution. I believe that this is what I an doing.
Apparently there are several variants og GPLv2, but I am using the contents of the COPYING
file in the kernel source which claims that this is *the* version to use if in doubt.
I have seen other versions, which seems to support your interpretation.
I do want to comply, so if you find that I am violating anything in the COPYING file,
then please point out the paragraph.
/ulf
Ulf, does your kernel patch interrupt data streams? In other words, for example, if I'm running a webcam and I hotplug another device, will data transfers from the webcam be affected?
--
--
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
ubuntu@arm:~$ uname -aLinux arm 3.12.3-00082-g6cf1f10-dirty #1 SMP Fri Dec 6 11:44:27 BRST 2013 armv7l armv7l armv7l GNU/Linux
ubuntu@arm:~$ cat /sys/devices/bone_capemgr.6/slots 0: 54:PF--- 1: 55:PF--- 2: 56:PF--- 3: 57:PF--- 5: ff:P-O-L Override Board Name,00A0,Override Manuf,NEO-UART0 6: ff:P-O-L Override Board Name,00A0,Override Manuf,NEO-UART1-485 7: ff:P-O-L Override Board Name,00A0,Override Manuf,NEO-UART2 8: ff:P-O-L Override Board Name,00A0,Override Manuf,NEO-UART3 9: ff:P-O-L Override Board Name,00A0,Override Manuf,NEO-UART410: ff:P-O-L Override Board Name,00A0,Override Manuf,NEO-UART5
ubuntu@arm:~$ dmesg | grep capemgr[ 0.000000] Kernel command line: console= fixrtc capemgr.enable_partno=NEO-UART0,NEO-UART1-485,NEO-UART2,NEO-UART3,NEO-UART4,NEO-UART5 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait[ 0.184969] bone-capemgr bone_capemgr.6: Baseboard: 'A335BNLT,0A5C,3313BBBK0501'[ 0.184996] bone-capemgr bone_capemgr.6: compatible-baseboard=ti,beaglebone-black[ 0.222939] bone-capemgr bone_capemgr.6: slot #0: No cape found[ 0.262936] bone-capemgr bone_capemgr.6: slot #1: No cape found[ 0.302934] bone-capemgr bone_capemgr.6: slot #2: No cape found[ 0.342933] bone-capemgr bone_capemgr.6: slot #3: No cape found[ 0.342977] bone-capemgr bone_capemgr.6: slot #4: specific override[ 0.343004] bone-capemgr bone_capemgr.6: bone: Using override eeprom data at slot 4[ 0.343020] bone-capemgr bone_capemgr.6: slot #4: 'Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G'[ 0.343102] bone-capemgr bone_capemgr.6: enabled_partno part_number 'NEO-UART0', version 'N/A'[ 0.343114] bone-capemgr bone_capemgr.6: slot #5: generic override[ 0.343126] bone-capemgr bone_capemgr.6: bone: Using override eeprom data at slot 5[ 0.343141] bone-capemgr bone_capemgr.6: slot #5: 'Override Board Name,00A0,Override Manuf,NEO-UART0'[ 0.343207] bone-capemgr bone_capemgr.6: enabled_partno part_number 'NEO-UART1-485', version 'N/A'[ 0.343220] bone-capemgr bone_capemgr.6: slot #6: generic override[ 0.343231] bone-capemgr bone_capemgr.6: bone: Using override eeprom data at slot 6[ 0.343247] bone-capemgr bone_capemgr.6: slot #6: 'Override Board Name,00A0,Override Manuf,NEO-UART1-485'[ 0.343307] bone-capemgr bone_capemgr.6: enabled_partno part_number 'NEO-UART2', version 'N/A'[ 0.343320] bone-capemgr bone_capemgr.6: slot #7: generic override[ 0.343331] bone-capemgr bone_capemgr.6: bone: Using override eeprom data at slot 7[ 0.343346] bone-capemgr bone_capemgr.6: slot #7: 'Override Board Name,00A0,Override Manuf,NEO-UART2'[ 0.343414] bone-capemgr bone_capemgr.6: enabled_partno part_number 'NEO-UART3', version 'N/A'[ 0.343429] bone-capemgr bone_capemgr.6: slot #8: generic override[ 0.343442] bone-capemgr bone_capemgr.6: bone: Using override eeprom data at slot 8[ 0.343457] bone-capemgr bone_capemgr.6: slot #8: 'Override Board Name,00A0,Override Manuf,NEO-UART3'[ 0.343529] bone-capemgr bone_capemgr.6: enabled_partno part_number 'NEO-UART4', version 'N/A'[ 0.343542] bone-capemgr bone_capemgr.6: slot #9: generic override[ 0.343554] bone-capemgr bone_capemgr.6: bone: Using override eeprom data at slot 9[ 0.343569] bone-capemgr bone_capemgr.6: slot #9: 'Override Board Name,00A0,Override Manuf,NEO-UART4'[ 0.343630] bone-capemgr bone_capemgr.6: enabled_partno part_number 'NEO-UART5', version 'N/A'[ 0.343643] bone-capemgr bone_capemgr.6: slot #10: generic override[ 0.343655] bone-capemgr bone_capemgr.6: bone: Using override eeprom data at slot 10[ 0.343670] bone-capemgr bone_capemgr.6: slot #10: 'Override Board Name,00A0,Override Manuf,NEO-UART5'[ 0.344028] bone-capemgr bone_capemgr.6: loader: before slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)[ 0.344044] bone-capemgr bone_capemgr.6: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)[ 0.344128] bone-capemgr bone_capemgr.6: loader: before slot-5 NEO-UART0:00A0 (prio 0)[ 0.344141] bone-capemgr bone_capemgr.6: loader: check slot-5 NEO-UART0:00A0 (prio 0)[ 0.344222] bone-capemgr bone_capemgr.6: loader: before slot-6 NEO-UART1-485:00A0 (prio 0)[ 0.344236] bone-capemgr bone_capemgr.6: loader: check slot-6 NEO-UART1-485:00A0 (prio 0)[ 0.344315] bone-capemgr bone_capemgr.6: loader: before slot-7 NEO-UART2:00A0 (prio 0)[ 0.344330] bone-capemgr bone_capemgr.6: loader: check slot-7 NEO-UART2:00A0 (prio 0)[ 0.344405] bone-capemgr bone_capemgr.6: loader: before slot-8 NEO-UART3:00A0 (prio 0)[ 0.344418] bone-capemgr bone_capemgr.6: loader: check slot-8 NEO-UART3:00A0 (prio 0)[ 0.344496] bone-capemgr bone_capemgr.6: loader: before slot-9 NEO-UART4:00A0 (prio 0)[ 0.344509] bone-capemgr bone_capemgr.6: loader: check slot-9 NEO-UART4:00A0 (prio 0)[ 0.344548] bone-capemgr bone_capemgr.6: initialized OK.[ 0.347060] bone-capemgr bone_capemgr.6: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)[ 0.347100] bone-capemgr bone_capemgr.6: loader: after slot-5 NEO-UART0:00A0 (prio 0)[ 0.347115] bone-capemgr bone_capemgr.6: slot #5: Requesting part number/version based 'NEO-UART0-00A0.dtbo[ 0.347133] bone-capemgr bone_capemgr.6: slot #5: Requesting firmware 'NEO-UART0-00A0.dtbo' for board-name 'Override Board Name', version '00A0'[ 0.347405] bone-capemgr bone_capemgr.6: loader: after slot-6 NEO-UART1-485:00A0 (prio 0)[ 0.347438] bone-capemgr bone_capemgr.6: loader: after slot-7 NEO-UART2:00A0 (prio 0)[ 0.347463] bone-capemgr bone_capemgr.6: loader: after slot-8 NEO-UART3:00A0 (prio 0)[ 0.347484] bone-capemgr bone_capemgr.6: loader: after slot-9 NEO-UART4:00A0 (prio 0)[ 0.350275] bone-capemgr bone_capemgr.6: loader: before slot-10 NEO-UART5:00A0 (prio 0)[ 0.350291] bone-capemgr bone_capemgr.6: loader: check slot-10 NEO-UART5:00A0 (prio 0)[ 0.350309] bone-capemgr bone_capemgr.6: loader: after slot-10 NEO-UART5:00A0 (prio 0)[ 3.884455] bone-capemgr bone_capemgr.6: slot #5: dtbo 'NEO-UART0-00A0.dtbo' loaded; converting to live tree[ 3.884665] bone-capemgr bone_capemgr.6: slot #5: #2 overlays[ 3.885562] bone-capemgr bone_capemgr.6: slot #6: Requesting part number/version based 'NEO-UART1-485-00A0.dtbo[ 3.885584] bone-capemgr bone_capemgr.6: slot #6: Requesting firmware 'NEO-UART1-485-00A0.dtbo' for board-name 'Override Board Name', version '00A0'[ 3.886898] bone-capemgr bone_capemgr.6: slot #6: dtbo 'NEO-UART1-485-00A0.dtbo' loaded; converting to live tree[ 3.887238] bone-capemgr bone_capemgr.6: slot #6: #2 overlays[ 3.888249] bone-capemgr bone_capemgr.6: slot #7: Requesting part number/version based 'NEO-UART2-00A0.dtbo[ 3.888272] bone-capemgr bone_capemgr.6: slot #7: Requesting firmware 'NEO-UART2-00A0.dtbo' for board-name 'Override Board Name', version '00A0'[ 3.889736] bone-capemgr bone_capemgr.6: slot #7: dtbo 'NEO-UART2-00A0.dtbo' loaded; converting to live tree[ 3.889962] bone-capemgr bone_capemgr.6: slot #7: #2 overlays[ 3.890459] bone-capemgr bone_capemgr.6: slot #8: Requesting part number/version based 'NEO-UART3-00A0.dtbo[ 3.890481] bone-capemgr bone_capemgr.6: slot #8: Requesting firmware 'NEO-UART3-00A0.dtbo' for board-name 'Override Board Name', version '00A0'[ 3.891816] bone-capemgr bone_capemgr.6: slot #8: dtbo 'NEO-UART3-00A0.dtbo' loaded; converting to live tree[ 3.892023] bone-capemgr bone_capemgr.6: slot #8: #2 overlays[ 3.892787] bone-capemgr bone_capemgr.6: slot #9: Requesting part number/version based 'NEO-UART4-00A0.dtbo[ 3.892806] bone-capemgr bone_capemgr.6: slot #9: Requesting firmware 'NEO-UART4-00A0.dtbo' for board-name 'Override Board Name', version '00A0'[ 3.894528] bone-capemgr bone_capemgr.6: slot #9: dtbo 'NEO-UART4-00A0.dtbo' loaded; converting to live tree[ 3.894760] bone-capemgr bone_capemgr.6: slot #9: #2 overlays[ 3.895368] bone-capemgr bone_capemgr.6: slot #10: Requesting part number/version based 'NEO-UART5-00A0.dtbo[ 3.895389] bone-capemgr bone_capemgr.6: slot #10: Requesting firmware 'NEO-UART5-00A0.dtbo' for board-name 'Override Board Name', version '00A0'[ 3.896831] bone-capemgr bone_capemgr.6: slot #10: dtbo 'NEO-UART5-00A0.dtbo' loaded; converting to live tree[ 3.897076] bone-capemgr bone_capemgr.6: slot #10: #2 overlays[ 3.906307] bone-capemgr bone_capemgr.6: slot #6: Applied #2 overlays.[ 3.906325] bone-capemgr bone_capemgr.6: loader: done slot-6 NEO-UART1-485:00A0 (prio 0)[ 3.906359] bone-capemgr bone_capemgr.6: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)[ 3.908897] bone-capemgr bone_capemgr.6: slot #8: Applied #2 overlays.[ 3.908916] bone-capemgr bone_capemgr.6: loader: done slot-8 NEO-UART3:00A0 (prio 0)[ 3.908949] bone-capemgr bone_capemgr.6: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)[ 3.909411] bone-capemgr bone_capemgr.6: slot #7: Applied #2 overlays.[ 3.909429] bone-capemgr bone_capemgr.6: loader: done slot-7 NEO-UART2:00A0 (prio 0)[ 3.909534] bone-capemgr bone_capemgr.6: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)[ 3.909842] bone-capemgr bone_capemgr.6: slot #5: Applied #2 overlays.[ 3.909857] bone-capemgr bone_capemgr.6: loader: done slot-5 NEO-UART0:00A0 (prio 0)[ 3.909934] bone-capemgr bone_capemgr.6: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)[ 3.911658] bone-capemgr bone_capemgr.6: slot #10: Applied #2 overlays.[ 3.911674] bone-capemgr bone_capemgr.6: loader: done slot-10 NEO-UART5:00A0 (prio 0)[ 3.911800] bone-capemgr bone_capemgr.6: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)[ 3.911858] bone-capemgr bone_capemgr.6: slot #9: Applied #2 overlays.[ 3.911871] bone-capemgr bone_capemgr.6: loader: done slot-9 NEO-UART4:00A0 (prio 0)[ 3.911897] bone-capemgr bone_capemgr.6: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)[ 3.911913] bone-capemgr bone_capemgr.6: loader: after slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)[ 3.911925] bone-capemgr bone_capemgr.6: slot #4: Requesting part number/version based 'BB-BONE-EMMC-2G-00A0.dtbo[ 3.911943] bone-capemgr bone_capemgr.6: slot #4: Requesting firmware 'BB-BONE-EMMC-2G-00A0.dtbo' for board-name 'Bone-LT-eMMC-2G', version '00A0'[ 5.683930] bone-capemgr bone_capemgr.6: failed to load firmware 'BB-BONE-EMMC-2G-00A0.dtbo'[ 5.683957] bone-capemgr bone_capemgr.6: loader: failed to load slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
I can confirm, that the issue can be solved by inserting an active USB hub (externally powered).