I'm working with a BSP from Congatec which uses a Freescale Linux kernel 
(linux-2.6-imx). The touchscreen comes from Fortrend, but it reports itself 
as an Advanced Silicon CoolTouch (Vendor ID 0x2619, Device ID 0x5610).

What does work:

When you plug the touchscreen into a USB port, the usbhid driver is 
connecting it to the Linux event system. I can see the device listed in 
/proc/sys/input/devices and getevent shows me the events it supports and I 
can monitor live events from it.

However, the touchscreen has no effect on the Android interface at all (for 
example running the pointer location tool).

In my extensive google searching I've come across some solutions, none of 
which works. For example it is suggested that the device needs to be 
handled by the hid-multitouch driver.

What I did was to add this device to the hid_device_id list using 
MT_CLS_DEFAULT. I also modified the hid-multitouch driver so that it prints 
during driver init and probe functions. The probe function is never called.

I found more information suggesting that the usbhid driver needs to ignore 
that device for the hid-multitouch driver to see it. So I've built both 
drivers to be modules which lets me start the drivers like so:

insmod /system/lib/modules/usbhid.ko quirks=0x2619:0x5610:0x4
insmod /system/lib/modules/hid-multitouch.ko

The usbhid driver does now ignore the touchscreen when you plug it in, but 
again the hid-multitouch driver's probe function is not called.

I've quadruple-checked that the vendor ID and device ID are correct in my 
hid-multitouch driver changes.

// hid-ids.h#define USB_VENDOR_ID_ADVANCEDSILICONSA 0x2619#define 
USB_DEVICE_ID_ADVANCEDSILICONSA_5610 0x5610
// hid-multitouch.c/* Advanced Silicon panels */{ .driver_data = MT_CLS_DEFAULT,
    HID_USB_DEVICE(USB_VENDOR_ID_ADVANCEDSILICONSA,
    USB_DEVICE_ID_ADVANCEDSILICONSA_5610) },

Where do I go from here?

-- 
-- 
unsubscribe: android-kernel+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-kernel
--- 
You received this message because you are subscribed to the Google Groups 
"Android Linux Kernel Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-kernel+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to