I think the issue is the module hid-multitouch isn't generating an alias for the dev/vendor ID. After recompiling, when I run depmod it doesn't create a unique entry for the Elan device. I see a generic entry in modules.alias: "alias acpi*:PNP0C50:* i2c_hid Shouldn't I see an entry for hid_multitouch, with the ELAN vendor/device ID in it? Thanks, MK On Sat, Apr 1, 2017 at 3:30 AM, M K <m.kolesinski@xxxxxxxxx> wrote: > Hi Johnny, > > That is already what I tried. I am able to get the kernel module > "drivers/hid" to build (make M=drivers/hid modules), and I then > gzipped the hid-multitouch.ko file, and copied it to > /usr/lib/modules/'uname -r'/kernel/drivers/hid/. > > The thing is, I tried putting printk() calls in, and nothing shows up > in dmesg or in journalctl. I tried removing the existing modules > (modprobe -r hid-multitouch) and re-probing with the updated module > (modprobe -v hid-multitouch), and the file on the path it points to > matches my compiled version. > > But, the touchscreen still doesn't work, nothing shows up in "xinput", > and I don't see printk() messages. Am I rebuilding/installing these > modules incorrectly? > > > Thanks, > > On Wed, Mar 29, 2017 at 3:02 AM, Johnny.Chuang <johnny.chuang@xxxxxxxxxx> wrote: >> Hi MK, >> >> 1. Please add the {.driver_data...} to a static in hid-multitouch.c >> static const struct hid_device_id mt_devices[] = { >> /* Elan i2c-hid TouchSystems panel */ >> { .driver_data = MT_CLS_DEFAULT, >> HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH, USB_VENDOR_ID_ELAN, >> USB_DEVICE_ID_ELAN_A) }, >> Please add in drivers/hid/hid-ids.h >> #define USB_VENDOR_ID_ELAN 0x04f3 >> #define USB_DEVICE_ID_ELAN_A 0x0732 >> >> 2. There are two separate modules (hid-multitouch.c and i2c-hid.c) you need to use. >> >> 3. using MT_CLS_DEFAULT : Yes >> >> 4. HID_DEVICE() : My fault, miss an argument " HID_GROUP_MULTITOUCH " as above. >> >> 5. PID: 0x2B28 : As I know our I2CHID touch screen PID is 0x0732. I'm not sure what 0x2B28 is. >> >> Please try it again, thanks. >> >> Many thanks, >> Johnny >> -----Original Message----- >> From: M K [mailto:m.kolesinski@xxxxxxxxx] >> Sent: Tuesday, March 28, 2017 4:16 PM >> To: Johnny.Chuang >> Cc: 廖崇榮; Dmitry Torokhov; linux-input@xxxxxxxxxxxxxxx; ELAN 劉嘉駿 >> Subject: Re: ELAN0732 I2C Touchscreen Driver >> >> And here's a screenshot of the device info in Windows: >> >> On Tue, Mar 28, 2017 at 3:13 AM, M K <m.kolesinski@xxxxxxxxx> wrote: >>> Hi Johnny, >>> >>> Did you mean to add the {.driver_data...} to a static in i2c-hid.c, or >>> in hid-multitouch.c? If so, where? After downloading the kernel >>> source and building these modules, it looks to me like >>> hid-multitouch.c is its own module (part of the Makefile for >>> "M=drivers/hid") separate from i2c-hid ("M=drivers/hid/i2c-hid") >>> >>> Also, the comments in hid-multitouch.c state that definitions for >>> items using MT_CLS_DEFAULT don't do anything. Finally, what device >>> type should I use? The code you provided won't compile, because the >>> HID_DEVICE() macro expects another argument. I presume this would be >>> "HID_GROUP_MULTITOUCH" ? >>> >>> After trying the above, I recompiled the two modules and re-installed >>> them in my kernel using modprobe. However, I could find no evidence >>> that the ELAN0732 device was actually detected as an input device (cat >>> /proc/bus/input/devices, and xinput both don't show anything new). I >>> also tried rebooting (however, neither of these modules is in the >>> standard initramfs for Arch Linux, so I don't think rebooting is >>> necessary). >>> >>> Any other ideas? >>> >>> Also, here's a snippet of the DxDiag report from Windows..for this >>> vendor ID, it lists 4 devices (0x2B28)...not sure if this is the same >>> piece of hardware or not: >>> "------------------- >>> DirectInput Devices >>> ------------------- >>> Device Name: Mouse >>> Attached: 1 >>> Controller ID: n/a >>> Vendor/Product ID: n/a >>> FF Driver: n/a >>> >>> Device Name: Keyboard >>> Attached: 1 >>> Controller ID: n/a >>> Vendor/Product ID: n/a >>> FF Driver: n/a >>> >>> Device Name: HIDI2C Device >>> Attached: 1 >>> Controller ID: 0x0 >>> Vendor/Product ID: 0x04F3, 0x2B28 >>> FF Driver: n/a >>> >>> Device Name: HIDI2C Device >>> Attached: 1 >>> Controller ID: 0x0 >>> Vendor/Product ID: 0x04F3, 0x2B28 >>> FF Driver: n/a >>> >>> Device Name: HIDI2C Device >>> Attached: 1 >>> Controller ID: 0x0 >>> Vendor/Product ID: 0x04F3, 0x2B28 >>> FF Driver: n/a >>> >>> Device Name: HIDI2C Device >>> Attached: 1 >>> Controller ID: 0x0 >>> Vendor/Product ID: 0x04F3, 0x2B28 >>> FF Driver: n/a >>> >>> Device Name: HP Wireless Button Driver >>> Attached: 1 >>> Controller ID: 0x0 >>> Vendor/Product ID: 0x0001, 0x0001 >>> FF Driver: n/a >>> >>> Device Name: ST_SENSOR_HUB >>> Attached: 1 >>> Controller ID: 0x0 >>> Vendor/Product ID: 0x0483, 0x91D1 >>> FF Driver: n/a >>> >>> Poll w/ Interrupt: No >>> >>> -----------" >>> >>> >>> >>> >>> Thanks, >>> >>> MK >>> >>> >>> On Mon, Mar 27, 2017 at 10:06 PM, Johnny.Chuang >>> <johnny.chuang@xxxxxxxxxx> wrote: >>>> Hi Dmitry, >>>> >>>> Sorry for late response. >>>> >>>> ELAN0732 is hid over i2c touch screen device. >>>> There is a compatible linux inbox driver which is drivers/hid/i2c-hid/i2c-hid.c. >>>> Please make i2c-hid.c as build-in driver or module. >>>> >>>> And please also add VID/PID at hid-ids.h and hid-multitouch.c >>>> drivers/hid/hid-ids.h >>>> #define USB_VENDOR_ID_ELAN 0x04f3 >>>> #define USB_DEVICE_ID_ELAN_A 0x0732 >>>> #define USB_DEVICE_ID_ELAN_B 0x000b >>>> drivers/hid/hid-multitouch.c >>>> /* Elan i2c-hid TouchSystems panel */ >>>> { .driver_data = MT_CLS_DEFAULT, >>>> HID_DEVICE(BUS_I2C, USB_VENDOR_ID_ELAN, >>>> USB_DEVICE_ID_ELAN_A) }, >>>> >>>> Many thanks, >>>> Johnny >>>> -----Original Message----- >>>> From: 廖崇榮 [mailto:kt.liao@xxxxxxxxxx] >>>> Sent: Tuesday, March 21, 2017 1:55 PM >>>> To: 'Dmitry Torokhov'; 'M K' >>>> Cc: linux-input@xxxxxxxxxxxxxxx; 'ELAN 劉嘉駿'; 'Johnny.Chuang' >>>> Subject: RE: ELAN0732 I2C Touchscreen Driver >>>> >>>> Add Johnny who handle ELAN touchscreen in loop. >>>> >>>> -----Original Message----- >>>> From: Dmitry Torokhov [mailto:dmitry.torokhov@xxxxxxxxx] >>>> Sent: Tuesday, March 21, 2017 12:45 PM >>>> To: M K; 廖崇榮 >>>> Cc: linux-input@xxxxxxxxxxxxxxx; ELAN 劉嘉駿 >>>> Subject: Re: ELAN0732 I2C Touchscreen Driver >>>> >>>> On Sun, Mar 19, 2017 at 11:26 PM, M K <m.kolesinski@xxxxxxxxx> wrote: >>>>> Is there a compatible driver for this device? I've tried loading >>>>> various modules with no success (elants_i2c, hid_multitouch, etc.). >>>>> >>>>> The device shows up under /sys/bus/i2c/devices/i2c-ELAN0732:00 >>>> >>>> You would need to add "ELAN0732" to elants_i2c_id table for elants_i2c to load and bind to the device. >>>> >>>>> >>>>> However, xinput does not list it at all. >>>>> >>>>> This is an HP m6-ar004dx laptop (Envy x360) with touchscreen >>>>> display, and AMD FX-9800P processor. >>>>> >>>>> Scott Liu suggested I try posting here. >>>> >>>> Hmm, I'd expect Scott to know if elants_i2c could theoretically drive this device. KT, do you know by chance? >>>> Hi Johnny, >>>> Could you help to check this TS issue Thanks. >>>> >>>> -- >>>> Dmitry >>>> >> -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html