You are not logged in.

#1 2015-08-22 22:36:45

chapatt
Member
Registered: 2010-12-23
Posts: 24

[SOLVED] USB "over-current condition" with Happy Hacking Keyboard

This seems similar to https://bbs.archlinux.org/viewtopic.php?id=165878, but there is no solution there.

Last night while shutting down my laptop (a Lenovo U310), I noticed these unusual kernel messages mixed in with the systemd messages. On boot today, I noticed them again, and after logging in with GDM, it hung until I realized what was happening and unplugged my Happy Hacking Lite 2 keyboard and then it successfully started the Gnome session. Here is dmesg after plugging the keyboard in:

[ 1640.136860] usb 1-1.2: new full-speed USB device number 22 using ehci-pci
[ 1640.223731] hub 1-1.2:1.0: USB hub found
[ 1640.224085] hub 1-1.2:1.0: 3 ports detected
[ 1640.490073] usb 1-1.2.1: new full-speed USB device number 23 using ehci-pci
[ 1640.581236] input: Chicony PFU-65 USB Keyboard as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/0003:04FE:0006.000F/input/input35
[ 1640.633635] hid-generic 0003:04FE:0006.000F: input,hidraw1: USB HID v1.00 Keyboard [Chicony PFU-65 USB Keyboard] on usb-0000:00:1a.0-1.2.1/input0
[ 1640.840240] usb 1-1.2-port3: over-current condition
[ 1641.073388] usb 1-1.2-port3: over-current condition
[ 1641.400067] usb 1-1.2-port3: over-current condition

That last message continues until I unplug it. Here's the relevant part of lsusb -v (the whole thing is here <http://pastebin.com/yE1DYsne>)

Bus 001 Device 023: ID 04fe:0006 PFU, Ltd 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x04fe PFU, Ltd
  idProduct          0x0006 
  bcdDevice            1.02
  iManufacturer           3 Chicony
  iProduct                4 PFU-65 USB Keyboard
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4 PFU-65 USB Keyboard
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower               36mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      65
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              24
Device Status:     0x0000
  (Bus Powered)

Bus 001 Device 022: ID 04fe:0008 PFU, Ltd 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            9 Hub
  bDeviceSubClass         0 
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0         8
  idVendor           0x04fe PFU, Ltd
  idProduct          0x0008 
  bcdDevice            1.02
  iManufacturer           1 (error)
  iProduct                2 Generic USB Hub
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower               64mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval             255
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             3
  wHubCharacteristic 0x000d
    Per-port power switching
    Compound device
    Per-port overcurrent protection
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent     90 milli Ampere
  DeviceRemovable    0x02
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0103 power enable connect
   Port 2: 0000.0100 power
   Port 3: 000b.0008 C_OC C_ENABLE C_CONNECT oc
Device Status:     0x0000
  (Bus Powered)

It's a keyboard with a built in hub (3 ports: 1 for the keyboard itself, 2 external). I tried it on another laptop running Arch (an HP something-or-other circa 2009) and it did the same thing. I tried it on Windows and it seems happy; in the device manager it shows that the hub has a max allocated current of 400mA and the keyboard uses 36mA.

Anyone have any idea what's going on? Thanks!

Last edited by chapatt (2015-08-23 16:04:28)

Offline

#2 2015-08-23 13:47:54

Techmeology
Member
Registered: 2012-08-21
Posts: 19

Re: [SOLVED] USB "over-current condition" with Happy Hacking Keyboard

Does the keyboard actually stop working under Arch? The 36 mA refers to the current the keyboard requested, rather than the amount it's actually using. Your pastebin shows that the keyboard is configured for a maximum power of 36 mA:

MaxPower               36mA

It's possible the keyboard is drawing more than this. If so, it may or may not work correctly. It seems unlikely to me that this is a driver/software issue, as all USB devices should conform to certain specifications (that includes requesting power) that I would expect to be handled by the Kernel's USB driver (rather than a driver specific to the device). It may be that Windows is choosing to solve the problem by allocating more power to the keyboard, but afaik this is not required (I'd have to check the standard to be sure though).

From the fact that the same thing happened on another machine, I suspect the keyboard is either faulty or possibly has a design fault. Are you able to measure the actual current usage? If so, could you confirm how much current is actually being drawn by the keyboard?

Offline

#3 2015-08-23 15:07:25

chapatt
Member
Registered: 2010-12-23
Posts: 24

Re: [SOLVED] USB "over-current condition" with Happy Hacking Keyboard

I forgot to mention, this keyboard has worked on Arch for the last four-or-so years I've had it. It still works, despite the error. I don't see how I'd measure the actual current without stripping a USB extension cable and testing with a multimeter.

I tested it with an old Arch ISO off a flash drive and it still reports the error. Apparently the keyboard started shorting somewhere, or something. Guess I'll see if it falls under warranty.

Thanks.

Offline

#4 2015-08-23 15:29:08

mich41
Member
Registered: 2012-06-22
Posts: 796

Re: [SOLVED] USB "over-current condition" with Happy Hacking Keyboard

The overcurrent is reported by the keyboard's internal hub, at port3, while port1 seems to be used by the actual keyboard.

I hope you haven't posted this topic with some extra device plugged to this port smile

Maybe there's some debris stuck in there?

Offline

#5 2015-08-23 16:33:20

chapatt
Member
Registered: 2010-12-23
Posts: 24

Re: [SOLVED] USB "over-current condition" with Happy Hacking Keyboard

No, it's definitely the keyboard. Nothing else is plugged in and the warnings stop when it's unplugged. Thanks though smile

Offline

Board footer

Powered by FluxBB