Re: ELAN0732 I2C Touchscreen Driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I tried aliasing the device, still no luck.

I figured out what you meant by DSDT.  I extracted mine (attached),
but it would not decompile, iasl core dumps with an error.  Maybe
you'll have better luck with it.



On Sun, Apr 2, 2017 at 5:46 AM, M K <m.kolesinski@xxxxxxxxx> wrote:
> 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
>>>>>
>>>

Attachment: dsdt.dat
Description: Netscape Proxy Auto Config


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux