[libhid-discuss] problems with libhid and Oregon Scientific weather station WMRS203 (interrupt read)

Jordi Puigsegur jordi.puigsegur at gmail.com
Thu Jul 30 20:26:53 UTC 2009


I found another directory under sys/bus where the device does appear:

root at puigmal:/sys/bus/hid/drivers/generic-usb$ ls
0003:047D:1062.0002  0003:0FDE:CA01.0001  bind  module  uevent  unbind

However, after doing the unbind, libhid returns the same error

root at puigmal:/sys/bus/hid/drivers/generic-usb# echo -n "0003:0FDE:CA01.0001"
> unbind
root at puigmal:/sys/bus/hid/drivers/generic-usb# ls
0003:047D:1062.0002  bind  module  uevent  unbind

jordi at puigmal:~/workspace/prova1/Debug$ sudo ./prova1
[...]
 NOTICE: hid_force_open(): successfully opened USB device 004/002[0].
[...]
WARNING: hid_interrupt_read(): failed to get interrupt read from device
004/002[0]: could not claim interface 0: Device or resource busy
hid_interrupt_read failed with return code 21

I'll keep trying.
I am using ubuntu Jaunty and I just read there are issues with usbserial.
Seems that this module has been added to the kernel and has caused some
trouble. I'll try to investigate that..

Thanks,
Jordi.

2009/7/29 Jordi Puigsegur <jordi.puigsegur at gmail.com>

> Hi all,
>
>>
>> When I was doing some libusb work, I found that I needed to unbind the
>> interface from the driver before I could claim it with libusb. The
>> interface will remain unclaimed until the device is connected again. I
>> currently run the following commands to unbind the interface whenever
>> I need to use the device and libusb can't claim the interface.
>>
>> # cd /sys/bus/usb/drivers/usbhid
>> # echo -n interface > unbind
>> "interface" is the name of the interface in the
>> /sys/bus/usb/drivers/usbhid folder. For my device, it was something
>> like "6-2:1.0". It will look similar for your device. From your lsusb
>> output, I'd guess that your interface would have the identifier
>> "4-2:1.0". The first part of that identifier varies based on which bus
>> and port number your device is plugged into and the second part varies
>> with the configuration number (usually always 1) and the interface
>> number.
>>
>
> I tried that, and the device doesn't appear in /sys/bus/usb/drivers/usbhid.
> Nor does it appear under any /sys/bus/usb/drivers directory:
>
> root at puigmal:/sys/bus/usb# ls -R
> .:
> devices  drivers  drivers_autoprobe  drivers_probe  uevent
>
> ./devices:
> 1-0:1.0  3-1      3-1:1.2  4-1      4-2:1.0  usb1  usb4
> 2-0:1.0  3-1:1.0  3-1:1.3  4-1:1.0  5-0:1.0  usb2  usb5
> 3-0:1.0  3-1:1.1  4-0:1.0  4-2      6-0:1.0  usb3  usb6
>
> ./drivers:
> btusb  hiddev  hub  usb  usbfs  usbhid
>
> ./drivers/btusb:
> 3-1:1.0  3-1:1.1  bind  module  new_id  uevent  unbind
>
> ./drivers/hiddev:
> bind  module  new_id  uevent  unbind
>
> ./drivers/hub:
> 1-0:1.0  3-0:1.0  5-0:1.0  bind    new_id  unbind
> 2-0:1.0  4-0:1.0  6-0:1.0  module  uevent
>
> ./drivers/usb:
> 3-1  4-1  4-2  bind  uevent  unbind  usb1  usb2  usb3  usb4  usb5  usb6
>
> ./drivers/usbfs:
> bind  module  new_id  uevent  unbind
>
> ./drivers/usbhid:
> 4-1:1.0  4-2:1.0  bind  module  new_id  uevent  unbind
>
> root at puigmal:/sys/bus/usb# lsusb
> Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 004 Device 004: ID 047d:1062 Kensington PocketMouse Max
> Bus 004 Device 003: ID 0fde:ca01
> Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 003 Device 002: ID 03f0:171d Hewlett-Packard Wireless (Bluetooth +
> WLAN) Interface [Integrated Module]
> Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
>
>
> This was done just after starting the computer and plugging in the weather
> station, before running any C program.
>
>  Might there be any other program claiming the interface? How could I check
> that?
>
> Thanks,
> Jordi
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/libhid-discuss/attachments/20090730/a1ce81c6/attachment.htm>


More information about the libhid-discuss mailing list