Message ID | 1345630637-7142-1-git-send-email-simon.farnsworth@onelan.co.uk (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Jiri Kosina |
Headers | show |
On Wed, 22 Aug 2012, Simon Farnsworth wrote: > This QUANTA device is driven by the generic hid-multitouch.ko driver, and > therefore shouldn't be in the special drivers list. > > I've gone over the entire special drivers list in hid-core.c; this is the > only device I spotted that's listed as needing a special driver, but doesn't > have an entry in a struct hid_driver's id_table. > > Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk> > --- > > Applying just this patch is enough to fix the problem I described in my mail > "QUANTA touchscreen controller integrated in HP2310ti no longer recognised > (regression in 3.5 and later as compared to 3.3)". > > This looks like an oversight in commit 4fa3a58; that commit removes most > multitouch screens from this list, but missed this one. Henrik should be > able to confirm, though, so I'd appreciate his sign-off. > > drivers/hid/hid-core.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c > index 60ea284..8bf8a64 100644 > --- a/drivers/hid/hid-core.c > +++ b/drivers/hid/hid-core.c > @@ -1624,7 +1624,6 @@ static const struct hid_device_id hid_have_special_driver[] = { > { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) }, > { HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) }, > { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) }, > - { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN) }, > { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONE) }, > { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_ARVO) }, > { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_ISKU) }, Good catch, thank you. I will be pushing this to Linus for 3.6 still.
> > Applying just this patch is enough to fix the problem I described in my mail > > "QUANTA touchscreen controller integrated in HP2310ti no longer recognised > > (regression in 3.5 and later as compared to 3.3)". > > > > This looks like an oversight in commit 4fa3a58; that commit removes most > > multitouch screens from this list, but missed this one. Henrik should be > > able to confirm, though, so I'd appreciate his sign-off. Yes, good find. We have two identifiers for the same device, USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN and USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001, which might explain why it was overlooked. I think we should get rid of one of them. Also, I wonder if the HID_QUIRK_NOGET quirk is still necessary. Thanks, Henrik -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wednesday 22 August 2012 19:00:52 Henrik Rydberg wrote: > > > Applying just this patch is enough to fix the problem I described in my mail > > > "QUANTA touchscreen controller integrated in HP2310ti no longer recognised > > > (regression in 3.5 and later as compared to 3.3)". > > > > > > This looks like an oversight in commit 4fa3a58; that commit removes most > > > multitouch screens from this list, but missed this one. Henrik should be > > > able to confirm, though, so I'd appreciate his sign-off. > > Yes, good find. We have two identifiers for the same device, > USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN and > USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001, which might explain why it > was overlooked. I think we should get rid of one of them. Also, I > wonder if the HID_QUIRK_NOGET quirk is still necessary. > I'll send a follow-on patch to remove the PIXART_IMAGING identifier. I tried removing the HID_QURIK_NOGET quirk, but it appears to be needed: without it, I get: [ 1.472269] usb 6-1: New USB device found, idVendor=0408, idProduct=3001 [ 1.472275] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 1.472279] usb 6-1: Product: Optical Touch Screen [ 1.472284] usb 6-1: Manufacturer: QUANTA <snip> [ 15.884252] hid-multitouch 0003:0408:3001.0001: usb_submit_urb(ctrl) failed: -1 [ 15.884337] hid-multitouch 0003:0408:3001.0001: timeout initializing reports [ 15.884584] input: QUANTA Optical Touch Screen as /devices/pci0000:00/0000:00:1d.1/usb6/6-1/6-1:1.0/input/input10 [ 15.884783] hid-multitouch 0003:0408:3001.0001: input,hidraw0: USB HID v1.10 Device [QUANTA Optical Touch Screen] on usb-0000:00:1d.1-1/input0 If I leave the quirk in place, I don't get the 14 second delay, suggesting that the quirk is needed on this hardware.
> I'll send a follow-on patch to remove the PIXART_IMAGING identifier. I tried > removing the HID_QURIK_NOGET quirk, but it appears to be needed: without it, > I get: > > [ 1.472269] usb 6-1: New USB device found, idVendor=0408, idProduct=3001 > [ 1.472275] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 > [ 1.472279] usb 6-1: Product: Optical Touch Screen > [ 1.472284] usb 6-1: Manufacturer: QUANTA > <snip> > [ 15.884252] hid-multitouch 0003:0408:3001.0001: usb_submit_urb(ctrl) failed: -1 > [ 15.884337] hid-multitouch 0003:0408:3001.0001: timeout initializing reports > [ 15.884584] input: QUANTA Optical Touch Screen as /devices/pci0000:00/0000:00:1d.1/usb6/6-1/6-1:1.0/input/input10 > [ 15.884783] hid-multitouch 0003:0408:3001.0001: input,hidraw0: USB HID v1.10 Device [QUANTA Optical Touch Screen] on usb-0000:00:1d.1-1/input0 > > If I leave the quirk in place, I don't get the 14 second delay, suggesting > that the quirk is needed on this hardware. It makes sense, the same applies to 0x3008. Thanks for checking. Henrik -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index 60ea284..8bf8a64 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c @@ -1624,7 +1624,6 @@ static const struct hid_device_id hid_have_special_driver[] = { { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) }, { HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) }, { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) }, - { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN) }, { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONE) }, { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_ARVO) }, { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_ISKU) },
This QUANTA device is driven by the generic hid-multitouch.ko driver, and therefore shouldn't be in the special drivers list. I've gone over the entire special drivers list in hid-core.c; this is the only device I spotted that's listed as needing a special driver, but doesn't have an entry in a struct hid_driver's id_table. Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk> --- Applying just this patch is enough to fix the problem I described in my mail "QUANTA touchscreen controller integrated in HP2310ti no longer recognised (regression in 3.5 and later as compared to 3.3)". This looks like an oversight in commit 4fa3a58; that commit removes most multitouch screens from this list, but missed this one. Henrik should be able to confirm, though, so I'd appreciate his sign-off. drivers/hid/hid-core.c | 1 - 1 file changed, 1 deletion(-)