* Re: QUANTA touchscreen controller integrated in HP2310ti no longer recognised (regression in 3.5 and later as compared to 3.3) [not found] <1700293.Y8yBuPUG33@f17simon> @ 2012-08-21 19:06 ` Henrik Rydberg 2012-08-22 9:00 ` Simon Farnsworth 0 siblings, 1 reply; 4+ messages in thread From: Henrik Rydberg @ 2012-08-21 19:06 UTC (permalink / raw) To: Simon Farnsworth Cc: linux-input, Benjamin Tissoires, Benjamin Tissoires, Jiri Kosina Hi Simon, > We're going through our collection of touch screens, making sure that they all > work with current kernels, and we've found one that doesn't work with today's > Linus master. > > lsusb describes the screen as: > Bus 006 Device 002: ID 0408:3001 Quanta Computer, Inc. Optical Touch Screen What about 0408:3008, does that one work? > Any ideas on the best way to resolve this regression? What does 'cat /sys/bus/hid/devices/0003:0408:3001.0001/modalias' say? The patch below ought to be enough to make it work, although it is still unclear why it is needed. Thanks, Henrik --- diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index bd4bc3c..2b775c3 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -963,7 +963,7 @@ static const struct hid_device_id mt_devices[] = { MT_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH) }, { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID, - MT_USB_DEVICE(USB_VENDOR_ID_QUANTA, + HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001) }, { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID, MT_USB_DEVICE(USB_VENDOR_ID_QUANTA, ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: QUANTA touchscreen controller integrated in HP2310ti no longer recognised (regression in 3.5 and later as compared to 3.3) 2012-08-21 19:06 ` QUANTA touchscreen controller integrated in HP2310ti no longer recognised (regression in 3.5 and later as compared to 3.3) Henrik Rydberg @ 2012-08-22 9:00 ` Simon Farnsworth 2012-08-22 9:40 ` Simon Farnsworth 2012-08-22 17:04 ` Henrik Rydberg 0 siblings, 2 replies; 4+ messages in thread From: Simon Farnsworth @ 2012-08-22 9:00 UTC (permalink / raw) To: Henrik Rydberg Cc: linux-input, Benjamin Tissoires, Benjamin Tissoires, Jiri Kosina [-- Attachment #1: Type: text/plain, Size: 2156 bytes --] On Tuesday 21 August 2012 21:06:26 Henrik Rydberg wrote: > Hi Simon, > > > We're going through our collection of touch screens, making sure that they all > > work with current kernels, and we've found one that doesn't work with today's > > Linus master. > > > > lsusb describes the screen as: > > Bus 006 Device 002: ID 0408:3001 Quanta Computer, Inc. Optical Touch Screen > > What about 0408:3008, does that one work? > I don't have a sample of 0408:3008 to try. > > Any ideas on the best way to resolve this regression? > > What does 'cat /sys/bus/hid/devices/0003:0408:3001.0001/modalias' say? It's the same whether or not I revert the patch: # cat /sys/bus/hid/devices/0003:0408:3001.0001/modalias hid:b0003g0000v00000408p00003001 If I've understood hid-code.c correctly, this means that hdev->group == HID_GROUP_ANY, implying that neither hid_scan_usage nor hid_scan_report have run. > > The patch below ought to be enough to make it work, although it is > still unclear why it is needed. > I'd like to get to the bottom of why this patch is needed - the patch I reverted covered 71 touchscreen controllers, and the fact that hdev->group is set to HID_GROUP_ANY worries me - I'm concerned that there's something deeper wrong that's causing the USB HID core to not be able to get the report descriptor reliably. > Thanks, > Henrik > > --- > > diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c > index bd4bc3c..2b775c3 100644 > --- a/drivers/hid/hid-multitouch.c > +++ b/drivers/hid/hid-multitouch.c > @@ -963,7 +963,7 @@ static const struct hid_device_id mt_devices[] = { > MT_USB_DEVICE(USB_VENDOR_ID_QUANTA, > USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH) }, > { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID, > - MT_USB_DEVICE(USB_VENDOR_ID_QUANTA, > + HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, > USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001) }, > { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID, > MT_USB_DEVICE(USB_VENDOR_ID_QUANTA, -- Simon Farnsworth Software Engineer ONELAN Ltd http://www.onelan.com [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 490 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: QUANTA touchscreen controller integrated in HP2310ti no longer recognised (regression in 3.5 and later as compared to 3.3) 2012-08-22 9:00 ` Simon Farnsworth @ 2012-08-22 9:40 ` Simon Farnsworth 2012-08-22 17:04 ` Henrik Rydberg 1 sibling, 0 replies; 4+ messages in thread From: Simon Farnsworth @ 2012-08-22 9:40 UTC (permalink / raw) To: Henrik Rydberg Cc: linux-input, Benjamin Tissoires, Benjamin Tissoires, Jiri Kosina [-- Attachment #1: Type: text/plain, Size: 1531 bytes --] On Wednesday 22 August 2012 10:00:12 Simon Farnsworth wrote: > On Tuesday 21 August 2012 21:06:26 Henrik Rydberg wrote: > > Hi Simon, > > > > > We're going through our collection of touch screens, making sure that they all > > > work with current kernels, and we've found one that doesn't work with today's > > > Linus master. > > > > > > lsusb describes the screen as: > > > Bus 006 Device 002: ID 0408:3001 Quanta Computer, Inc. Optical Touch Screen > > > > What about 0408:3008, does that one work? > > > I don't have a sample of 0408:3008 to try. > > > > Any ideas on the best way to resolve this regression? > > > > What does 'cat /sys/bus/hid/devices/0003:0408:3001.0001/modalias' say? > > It's the same whether or not I revert the patch: > > # cat /sys/bus/hid/devices/0003:0408:3001.0001/modalias > hid:b0003g0000v00000408p00003001 > A look at the code said that the only way this could happen is if hid_have_special_driver is set for this device, and no special driver claimed it. I've confirmed this by setting hid.ignore_special_devices to 1; it then works unpatched. The entry in the table is: { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN) }, This matches the device I have, and causes the problem behaviour. It looks like the right thing to do is to audit the hid_have_special_driver table, and confirm that there is an in-kernel special driver for every device that has an entry. -- Simon Farnsworth Software Engineer ONELAN Ltd http://www.onelan.com [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 490 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: QUANTA touchscreen controller integrated in HP2310ti no longer recognised (regression in 3.5 and later as compared to 3.3) 2012-08-22 9:00 ` Simon Farnsworth 2012-08-22 9:40 ` Simon Farnsworth @ 2012-08-22 17:04 ` Henrik Rydberg 1 sibling, 0 replies; 4+ messages in thread From: Henrik Rydberg @ 2012-08-22 17:04 UTC (permalink / raw) To: Simon Farnsworth Cc: Henrik Rydberg, linux-input, Benjamin Tissoires, Benjamin Tissoires, Jiri Kosina > > What does 'cat /sys/bus/hid/devices/0003:0408:3001.0001/modalias' say? > > It's the same whether or not I revert the patch: > > # cat /sys/bus/hid/devices/0003:0408:3001.0001/modalias > hid:b0003g0000v00000408p00003001 > > If I've understood hid-code.c correctly, this means that > hdev->group == HID_GROUP_ANY, implying that neither hid_scan_usage nor > hid_scan_report have run. Correct, and your subsequent patch is spot on. Thanks, Henrik ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-08-22 16:59 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <1700293.Y8yBuPUG33@f17simon> 2012-08-21 19:06 ` QUANTA touchscreen controller integrated in HP2310ti no longer recognised (regression in 3.5 and later as compared to 3.3) Henrik Rydberg 2012-08-22 9:00 ` Simon Farnsworth 2012-08-22 9:40 ` Simon Farnsworth 2012-08-22 17:04 ` Henrik Rydberg
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.