# Hidden USB Devices

## jecepede

Ho ho ho everyone !

I have an unbranded USB memorystick, 2GB, and when I connect it to my iMac G3,

this is what I see in /var/log/messages

```

Nov 24 18:42:47 iMac usb 1-1.2: new full speed USB device using ohci_hcd and address 7

Nov 24 18:42:47 iMac usb 1-1.2: rejected 1 configuration due to insufficient available bus power

Nov 24 18:42:47 iMac usb 1-1.2: no configuration chosen from 1 choice

```

A dmesg |grep usb gives :

```

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

usbmon: debugfs is not available

usb usb1: configuration #1 chosen from 1 choice

usb 1-1: new full speed USB device using ohci_hcd and address 2

usb 1-1: configuration #1 chosen from 1 choice

usb 1-1.1: new low speed USB device using ohci_hcd and address 3

usb 1-1.1: configuration #1 chosen from 1 choice

usb 1-1.3: new low speed USB device using ohci_hcd and address 4

usb 1-1.3: configuration #1 chosen from 1 choice

usbcore: registered new interface driver hiddev

input: USB HID v1.00 Keyboard [Alps Electric M2452] on usb-0000:00:14.0-1.1

input: USB HID v1.00 Mouse [Logitech M4848] on usb-0000:00:14.0-1.3

usbcore: registered new interface driver usbhid

drivers/usb/input/hid-core.c: v2.6:USB HID core driver

usbcore: registered new interface driver appletouch

usb 1-1.2: new full speed USB device using ohci_hcd and address 5

usb 1-1.2: rejected 1 configuration due to insufficient available bus power

usb 1-1.2: no configuration chosen from 1 choice

usb 1-1.2: USB disconnect, address 5

usb 1-1.2: new full speed USB device using ohci_hcd and address 6

usb 1-1.2: rejected 1 configuration due to insufficient available bus power

usb 1-1.2: no configuration chosen from 1 choice

usb 1-1.2: USB disconnect, address 6

usb 1-1.2: new full speed USB device using ohci_hcd and address 7

usb 1-1.2: rejected 1 configuration due to insufficient available bus power

usb 1-1.2: no configuration chosen from 1 choice

usb 1-1.2: USB disconnect, address 7

```

Now if I understand these logs correctly, my iMac does not have USB 2.x ports yet, which is supported by the manual from the iMac... 

The only thing that I find really weird :

In the dmesg I see three other "insufficient power" messages...

That would mean I have three other device that should not work in my iMac (I booted without the 2Gb stick)

But, everything is working ????? Can't find anything that does not work and further more :

I only have my mouse and keyboard on the USB bus ???

Is there an unknown device inside my iMac that I do not know about or did I do something wrong with installing ?

And the last question : 

In Windows I can actually see the 2Gb drive but it warnes me it is NOT running at top speed coz I use an old USB 1.x HUB. 

Never the less, it works... Can I do that in Linux as well, force the machine to mount it anyway ?????

Cheeeeeeeeeeeeeeeeeeers

Jessy

----------

## NeddySeagoon

jecepede,

Invest in a powered USB Hub.

It looks like windows does not check for overpower conditions if it all works in windows.

Your USB port can provide 500mA for all devices but a powered hup can provide 500mA for each port.

Operating a USB port over power, even if you can do it, is likely to lead to all sorts of marginal power problems, so don't do it.

Look in /proc/bus/usb/devices to see all about your USB devices. If thats too ugly, emerge usbview

----------

## jecepede

Ho ho ho !

Thanx for your fasssssssssst reply NeddySeagoon.....

This time, the joke is on me hahaha

I Wanted to type "I guess you never saw an iMac upclose, the USB-port is build in..." but then I looked in the proc dir and saw :

```

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 4

D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0409 ProdID=55ab Rev= 1.00

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=500mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=255ms

```

Heyyyyyy that looks like USB 2 ! As it turned out, I misread the manual. ONLY the hub in the keyboard is a lowspeed hub.   :Embarassed: 

(BTW, I never use that keyboard USB-port, anything put in there, wont come out. It's tighter than 4 elephants in a phonebooth)

Annnnnyway, I tried various other devices like my MMC-reader and webcam, they don work...

I even see errors in the /var/log/messages like :

```

.

.

.

Nov 24 22:33:14 iMac attempt to access beyond end of device

Nov 24 22:33:14 iMac sda: rw=0, want=125469, limit=125440

Nov 24 22:33:14 iMac attempt to access beyond end of device

Nov 24 22:33:14 iMac sda: rw=0, want=125470, limit=125440

Nov 24 22:33:14 iMac attempt to access beyond end of device

Nov 24 22:33:14 iMac sda: rw=0, want=125471, limit=125440

Nov 24 22:33:14 iMac attempt to access beyond end of device

Nov 24 22:33:14 iMac sda: rw=0, want=125449, limit=125440

Nov 24 22:33:14 iMac attempt to access beyond end of device

Nov 24 22:33:14 iMac sda: rw=0, want=125450, limit=125440

.

.

.

```

That means I did something wrong. I have searched the forums and saw a lot of bugs in older kernel versions 

so I'm right now upgrading from kernel 2.4.x -> 2.6.19. See if that makes any difference...

BTW :

 *NeddySeagoon wrote:*   

> jecepede,
> 
> Invest in a powered USB Hub.
> 
> 

 

I have several....

Just didn't think of using them (yet)...

 *NeddySeagoon wrote:*   

> Look in /proc/bus/usb/devices to see all about your USB devices. If thats too ugly, emerge usbview

 

Hummmmmmm gonna try that one to   :Razz: 

Okie Thanx again for the fast reply and I'll let you know what happened with the iMac and the three mysterious devices...

Jecepede

----------

## NeddySeagoon

jecepede,

Your /proc/bus/usb/devices shows

```
D:  Ver= 1.00
```

which tells that this device is USB 1. 

D:  Ver= 1.10 is USB 1.1 and D:  Ver= 2.00 is USB 2.

----------

## jecepede

Ho Ho Ho !

I now run kernel 2.6.22-gentoo-r5 and now ANYTHING I have simply works in the iMac  :Very Happy: 

Below my OHCI controller,

followed by the 4-ports internal USB hub,

the keyboard,

mouse,

and last but not least : memory stick...

```

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc= 28/900 us ( 3%), #Int=  3, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.22-gentoo-r5 ohci_hcd

S:  Product=OHCI Host Controller

S:  SerialNumber=0000:00:14.0

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  5 Spd=12  MxCh= 4

D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0409 ProdID=55ab Rev= 1.00

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=500mA

I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=255ms

T:  Bus=01 Lev=02 Prnt=05 Port=00 Cnt=01 Dev#=  6 Spd=1.5 MxCh= 0

D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=05ac ProdID=0202 Rev= 1.01

S:  Manufacturer=Alps Electric

S:  Product=M2452

C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA

I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid

E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

T:  Bus=01 Lev=02 Prnt=05 Port=02 Cnt=02 Dev#=  7 Spd=1.5 MxCh= 0

D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=05ac ProdID=0301 Rev= 5.00

S:  Manufacturer=Logitech

S:  Product=M4848

C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 26mA

I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid

E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  8 Spd=12  MxCh= 0

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=0930 ProdID=6545 Rev= 1.00

S:  Product=USB Flash Memory

S:  SerialNumber=01505470D080692D

C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA

I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

```

 *NeddySeagoon wrote:*   

> jecepede,
> 
> Your /proc/bus/usb/devices shows
> 
> ```
> ...

 

Ah, still confusing for me coz I thought 500 milli amps was v2 ?

Also, in the manual they really say the internal USB potrs are V2 ?

ALL devices are V1.x except the memory stick, there are no errors in the messages-file about power etc

it justs works ???

Can you please explain a bit more ?

Cheeeeeeeeeeeeeeeeeeeers 

Jessy

----------

## NeddySeagoon

jecepede,

Looking at your /proc/bus/usb/devices in usbview, I pasted it to a file and configured usbview to read the file, shows that you have a single USB 1 root hub that provides two ports

```
OHCI Host Controller

Manufacturer: Linux 2.6.22-gentoo-r5 ohci_hcd

Speed: 12Mb/s (full)

Number of Ports: 2
```

That is connected to a 4 port USB 1 hub, to which your devices are connected.

Because your only root hub is USB 1, everything is working at USB 1 speeds - even your memory stick, which shows

```
USB Flash Memory

Serial Number: 01505470D080692D

Speed: 12Mb/s (full)
```

That last line needs to read Speed 480Mb/s (high) but you don't have USB 2, or if you do, its not being used.

Incidently, the total power requirements of your connected devices are 

```
MaxPower Needed: 100mA

MaxPower Needed:  26mA

MaxPower Needed: 200mA
```

which is well under the 500mA available from a root hub for bus powered devices.

----------

