Hi,
Since version 2.6.29rc1 querying cleware USb devices no longer works.
2.6.28 works fine. 2.6.29-rc2 also no longer works.
I googled for git bisect but it seems that will take a looong time
(building kernel takes aprox 4 hours) so maybe there's a shortcut I can
take?
Folkert van Heusden
--
http://www.vanheusden.com/multitail - win een vlaai van multivlaai! zorg
ervoor dat multitail opgenomen wordt in Fedora Core, AIX, Solaris of
HP/UX en win een vlaai naar keuze
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, http://www.vanheusden.com
> Since version 2.6.29rc1 querying cleware USb devices no longer works.
> 2.6.28 works fine. 2.6.29-rc2 also no longer works.
This is the WORKING situation:
open("/dev/usb/hiddev0", O_RDWR) = 3
ioctl(3, HIDIOCGDEVINFO, 0xbfa71a48) = 0
ioctl(3, HIDIOCAPPLICATION, 0) = -6291455
ioctl(3, HIDIOCGSTRING, 0x804e2c0) = 7
the is the FAILURE situation (2.6.29-rc*):
open("/dev/usb/hiddev0", O_RDWR) = 3
ioctl(3, HIDIOCGDEVINFO, 0xbf90c0d8) = 0
ioctl(3, HIDIOCAPPLICATION, 0) = -6291455
ioctl(3, HIDIOCGSTRING, 0x804e2c0) = -1 ENODEV (No such device)
Bus 002 Device 003: ID 0d50:0008 Cleware GmbH
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0d50 Cleware GmbH
idProduct 0x0008
bcdDevice 0.17
iManufacturer 1 Cleware GmbH
iProduct 2 USB-Switch
iSerial 3 000175C
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 34
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 120mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 48
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 50
Device Status: 0x0000
(Bus Powered)
Folkert van Heusden
--
To MultiTail einai ena polymorfiko ergaleio gia ta logfiles kai tin
eksodo twn entolwn. Prosferei: filtrarisma, xrwmatismo, sygxwneysi,
diaforetikes provoles. http://www.vanheusden.com/multitail/
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, http://www.vanheusden.com
Am Monday 26 January 2009 19:27:07 schrieb Folkert van Heusden:
> > Since version 2.6.29rc1 querying cleware USb devices no longer works.
> > 2.6.28 works fine. 2.6.29-rc2 also no longer works.
>
> the is the FAILURE situation (2.6.29-rc*):
> open("/dev/usb/hiddev0", O_RDWR) = 3
> ioctl(3, HIDIOCGDEVINFO, 0xbf90c0d8) = 0
> ioctl(3, HIDIOCAPPLICATION, 0) = -6291455
> ioctl(3, HIDIOCGSTRING, 0x804e2c0) = -1 ENODEV (No such device)
Please try this patch.
Regards
Oliver
--
--- linux-2.6/drivers/hid/usbhid/hiddev.c.alt 2009-01-26 20:03:10.000000000 +0100
+++ linux-2.6/drivers/hid/usbhid/hiddev.c 2009-01-26 20:03:17.000000000 +0100
@@ -656,7 +656,7 @@ static long hiddev_ioctl(struct file *fi
case HIDIOCGSTRING:
mutex_lock(&hiddev->existancelock);
- if (!hiddev->exist)
+ if (hiddev->exist)
r = hiddev_ioctl_string(hiddev, cmd, user_arg);
else
r = -ENODEV;
Am Monday 26 January 2009 18:01:30 schrieb Folkert van Heusden:
> Hi,
>
> Since version 2.6.29rc1 querying cleware USb devices no longer works.
> 2.6.28 works fine. 2.6.29-rc2 also no longer works.
What kind of device is this? What happens if you try to use the device?
Isn't it detected, do you get an error?
Regards
Oliver
> > > Since version 2.6.29rc1 querying cleware USb devices no longer works.
> > > 2.6.28 works fine. 2.6.29-rc2 also no longer works.
> >
>
> > the is the FAILURE situation (2.6.29-rc*):
> > open("/dev/usb/hiddev0", O_RDWR) = 3
> > ioctl(3, HIDIOCGDEVINFO, 0xbf90c0d8) = 0
> > ioctl(3, HIDIOCAPPLICATION, 0) = -6291455
> > ioctl(3, HIDIOCGSTRING, 0x804e2c0) = -1 ENODEV (No such device)
> Please try this patch.
Yes, that fixes it! Thanks!
Ack-by: [email protected]
> --- linux-2.6/drivers/hid/usbhid/hiddev.c.alt 2009-01-26 20:03:10.000000000 +0100
> +++ linux-2.6/drivers/hid/usbhid/hiddev.c 2009-01-26 20:03:17.000000000 +0100
> @@ -656,7 +656,7 @@ static long hiddev_ioctl(struct file *fi
>
> case HIDIOCGSTRING:
> mutex_lock(&hiddev->existancelock);
> - if (!hiddev->exist)
> + if (hiddev->exist)
> r = hiddev_ioctl_string(hiddev, cmd, user_arg);
> else
> r = -ENODEV;
Folkert van Heusden
--
MultiTail ? uno flexible tool per seguire di logfiles e effettuazione
di commissioni. Feltrare, provedere da colore, merge, 'diff-view',
etc. http://www.vanheusden.com/multitail/
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, http://www.vanheusden.com
On Mon, Jan 26, 2009 at 08:11:19PM +0100, Oliver Neukum wrote:
> > Since version 2.6.29rc1 querying cleware USb devices no longer works.
> > 2.6.28 works fine. 2.6.29-rc2 also no longer works.
>
> What kind of device is this? What happens if you try to use the device?
> Isn't it detected, do you get an error?
It is a powerswitch that can be toggled via USB. Cleware also has
sensors (temperature, humidity, etc.) that all can be handled via a
commandline utility I wrote.
It has been a while but if i remember correctly the failing ioctl is for
determing the serial number of the device. That is required to talk to
the right device. http://www.vanheusden.com/clewarecontrol/
Folkert van Heusden
--
MultiTail is een flexibele tool voor het volgen van logfiles en
uitvoer van commando's. Filteren, van kleur voorzien, mergen,
'diff-view', etc. http://www.vanheusden.com/multitail/
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, http://www.vanheusden.com
Am Tuesday 27 January 2009 20:55:20 schrieb Folkert van Heusden:
> On Mon, Jan 26, 2009 at 08:11:19PM +0100, Oliver Neukum wrote:
> > > Since version 2.6.29rc1 querying cleware USb devices no longer works.
> > > 2.6.28 works fine. 2.6.29-rc2 also no longer works.
> >
> > What kind of device is this? What happens if you try to use the device?
> > Isn't it detected, do you get an error?
>
> It is a powerswitch that can be toggled via USB. Cleware also has
> sensors (temperature, humidity, etc.) that all can be handled via a
> commandline utility I wrote.
> It has been a while but if i remember correctly the failing ioctl is for
> determing the serial number of the device. That is required to talk to
> the right device. http://www.vanheusden.com/clewarecontrol/
There's a known bug in hiddev. Please test the included patch.
Regards
Oliver
---
--- linux-2.6/drivers/hid/usbhid/hiddev.c.alt 2009-01-26 20:03:10.000000000 +0100
+++ linux-2.6/drivers/hid/usbhid/hiddev.c 2009-01-26 20:03:17.000000000 +0100
@@ -656,7 +656,7 @@ static long hiddev_ioctl(struct file *fi
case HIDIOCGSTRING:
mutex_lock(&hiddev->existancelock);
- if (!hiddev->exist)
+ if (hiddev->exist)
r = hiddev_ioctl_string(hiddev, cmd, user_arg);
else
r = -ENODEV;
> > > > Since version 2.6.29rc1 querying cleware USb devices no longer works.
> > > > 2.6.28 works fine. 2.6.29-rc2 also no longer works.
> > >
> > > What kind of device is this? What happens if you try to use the device?
> > > Isn't it detected, do you get an error?
> >
> > It is a powerswitch that can be toggled via USB. Cleware also has
> > sensors (temperature, humidity, etc.) that all can be handled via a
> > commandline utility I wrote.
> > It has been a while but if i remember correctly the failing ioctl is for
> > determing the serial number of the device. That is required to talk to
> > the right device. http://www.vanheusden.com/clewarecontrol/
>
> There's a known bug in hiddev. Please test the included patch.
Works!
Acked-by: Folkert van Heusden <[email protected]>
> --- linux-2.6/drivers/hid/usbhid/hiddev.c.alt 2009-01-26 20:03:10.000000000 +0100
> +++ linux-2.6/drivers/hid/usbhid/hiddev.c 2009-01-26 20:03:17.000000000 +0100
> @@ -656,7 +656,7 @@ static long hiddev_ioctl(struct file *fi
>
> case HIDIOCGSTRING:
> mutex_lock(&hiddev->existancelock);
> - if (!hiddev->exist)
> + if (hiddev->exist)
> r = hiddev_ioctl_string(hiddev, cmd, user_arg);
> else
> r = -ENODEV;
Folkert van Heusden
--
MultiTail is een flexibele tool voor het volgen van logfiles en
uitvoer van commando's. Filteren, van kleur voorzien, mergen,
'diff-view', etc. http://www.vanheusden.com/multitail/
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, http://www.vanheusden.com