Bug 147479 - The usbhid driver is incorrectly claiming the USB Wireless Security Lock as a mouse.
Summary: The usbhid driver is incorrectly claiming the USB Wireless Security Lock as a...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 4
Hardware: athlon
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Dave Jones
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 167479
TreeView+ depends on / blocked
 
Reported: 2005-02-08 13:31 UTC by Dimitris
Modified: 2015-01-04 22:16 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2005-08-30 01:51:19 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Patch for USB Wireless Security Lock device (723 bytes, patch)
2005-07-24 21:30 UTC, Dimitris
no flags Details | Diff
Patch for 2.6.13-rc4 kernel and above (1.10 KB, patch)
2005-09-02 16:22 UTC, Dimitris
no flags Details | Diff

Description Dimitris 2005-02-08 13:31:18 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5)
Gecko/20041111 Firefox/1.0

Description of problem:
The usbhid driver is incorrectly claiming the USB Wireless Security
Lock as a mouse.

This device is a wireless dongle and a receiver. Once the dongle is
far from the computer then the PC will lock (via screensaver or other
way). You can take a look at the device here:
http://www.thinkgeek.com/gadgets/security/698d/

Once the USB Security Lock is inserted, the kernel detects the device
as a mouse, thus it creates /dev/input/mouse* entries.

Here is what i get in the /var/log/messages:

system kernel: usb 3-2.3: new low speed USB device using uhci_hcd and
address 5
system hal.hotplug[5846]: DEVPATH is not set
system kernel: input: USB HID v1.10 Joystick [Cypress Semi. Cypress
Ultra Mouse] on usb-0000:00:10.1-2.3

The problem is with the device itself. Since the internal 'engine' of
the device is really a wireless mouse. The manufacturer did not change
the USB identification marks, thus it still identifies it self as a mouse.

Here is what "lsusb -vv" says:

Bus 003 Device 005: ID 04b4:7417 Cypress Semiconductor Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x04b4 Cypress Semiconductor Corp.
  idProduct          0x7417
  bcdDevice            0.01
  iManufacturer           1 Cypress Semi.
  iProduct                2 Cypress Ultra Mouse
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4 HID-Compliant??^A
    bmAttributes         0xa0
      Remote Wakeup
    MaxPower               26mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Devices
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      72
cannot get report descriptor
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               none
          Usage Type               Data
        wMaxPacketSize     0x0004  bytes 4 once
        bInterval              10
  Language IDs: (length=4)
     0409 English(US)


As you can see, the device says its an InterfaceClass "3",
InterfaceSubClass "1" and InterfaceProtocol "2" (mouse).

The device ID should be added in the hid core blacklist instead, thus
a proper device driver will be able to take over the device. There are
two device drivers already written, though they conflict with the hid
core that takes over and loads the device as a mouse.

The device ID is:

 idVendor           0x04b4 Cypress Semiconductor Corp.
 idProduct          0x7417

Also, the product id (7417) should be added in the hwdata id string
database for usb devices with the name "USB Wireless Security Lock",
though i guess that is another bug entry :)



Version-Release number of selected component (if applicable):
kernel-2.6.10-1.741_FC3

How reproducible:
Always

Steps to Reproduce:
1. boot
2. insert USB security device in USB port
3. enable dongle and watch mouse jump around :(
    

Actual Results:  The HID core takes over and attaches the device as a
mouse.

Expected Results:  The hid core should leave the device alone for a
real driver to be able to take over.

Additional info:

none.

Comment 1 Dimitris 2005-02-23 20:10:33 UTC
*bump*

i don't see much interest here. is there anywhere else i can report
this bug and get it fixed?

thank you.


Comment 2 Dave Jones 2005-02-23 20:33:29 UTC
linux-usb-devel.net

Comment 3 Dave Jones 2005-07-15 18:16:21 UTC
An update has been released for Fedora Core 3 (kernel-2.6.12-1.1372_FC3) which
may contain a fix for your problem.   Please update to this new kernel, and
report whether or not it fixes your problem.

If you have updated to Fedora Core 4 since this bug was opened, and the problem
still occurs with the latest updates for that release, please change the version
field of this bug to 'fc4'.

Thank you.

Comment 4 Dimitris 2005-07-16 13:09:43 UTC
I've changed the version field to 'fc4'.


Comment 5 Dimitris 2005-07-24 21:30:01 UTC
Created attachment 117110 [details]
Patch for USB Wireless Security Lock device

This patch fixes the USB Wireless Security Lock device bug, which incorrectly
detects the device as a mouse.

Comment 6 Dave Jones 2005-08-03 21:31:17 UTC
fixed in cvs.


Comment 7 Dimitris 2005-08-04 11:27:08 UTC
Thank you, much appriciated. We'll be waiting for the next kernel release for FC4.

Comment 8 Dimitris 2005-08-30 12:38:50 UTC
Just installed the latest kernel (2.6.12-1.1447_FC4).

Unfortunately, the device isn't assigned a /dev/ entry, instead i get this error:

Aug 30 15:43:46 thinkpad kernel: usb 2-2: new low speed USB device using
uhci_hcd and address 2
Aug 30 15:43:46 thinkpad kernel: usbhid: probe of 2-2:1.0 failed with error -5

Any suggestions please?

Comment 9 Dimitris 2005-09-02 16:20:27 UTC
There is a possibility that the above error is normal. Once i execute a client
application (http://www.schau.com/l/wsl/) which gets hold of the device, i
receive this:

Sep  2 19:08:10 thinkpad kernel: usb 2-2: usbfs: interface 0 claimed while
'wslxsctl' sets config #1

Probably because usbfs is still holding the device for some reason.

I'll investigate further.

Comment 10 Dimitris 2005-09-02 16:22:54 UTC
Created attachment 118394 [details]
Patch for 2.6.13-rc4 kernel and above

Same patch but for newer version of kernel.

Comment 11 Dimitris 2005-09-02 23:04:53 UTC
Apparently the error is normal. Maybe a little bit misleading, but normal.

We can leave this bug as CLOSED. Sorry for the disturbance.


Note You need to log in before you can comment on or make changes to this bug.