Linux

I2C_HID 觸摸板晶片數據讀取

  • April 10, 2020

Recetly 我試圖通過韌體更新來修復我的觸摸板滯後,但它粉碎了我的整個觸摸板。現在移動是倒置的,右鍵點擊不起作用。

我的觸摸板是 ELAN1200 04F3:304E,是有史以來支持最差的觸摸板之一。

不過,我還是抱有希望的。

我知道觸摸板被辨識為 I2C-HID 設備,如果我可以用程序升級它的韌體,就可以讀取數據並將數據寫入觸摸板的晶片。

所以我正在嘗試查找已連接的 i2c 設備,但 i2cdetect -l 沒有運氣。我的 lsusb 也不顯示觸摸板:

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0b05:1869 ASUSTek Computer, Inc. 
Bus 001 Device 004: ID 13d3:5666 IMC Networks 
Bus 001 Device 003: ID 8087:0a2b Intel Corp. 
Bus 001 Device 002: ID 09da:7dc8 A4Tech Co., Ltd. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

雖然 xinput 辨識它:

$ xinput
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ COMPANY USB Device                        id=13   [slave  pointer  (2)]
⎜   ↳ COMPANY USB Device Consumer Control       id=16   [slave  pointer  (2)]
⎜   ↳ ITE Tech. Inc. ITE Device(8910) Consumer Control  id=19   [slave  pointer  (2)]
⎜   ↳ ELAN1200:00 04F3:304E Touchpad            id=22   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
   ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
   ↳ Power Button                              id=6    [slave  keyboard (3)]
   ↳ Asus Wireless Radio Control               id=7    [slave  keyboard (3)]
   ↳ Video Bus                                 id=8    [slave  keyboard (3)]
   ↳ Video Bus                                 id=9    [slave  keyboard (3)]
   ↳ Power Button                              id=10   [slave  keyboard (3)]
   ↳ Sleep Button                              id=11   [slave  keyboard (3)]
   ↳ COMPANY USB Device                        id=12   [slave  keyboard (3)]
   ↳ COMPANY USB Device Keyboard               id=14   [slave  keyboard (3)]
   ↳ COMPANY USB Device System Control         id=15   [slave  keyboard (3)]
   ↳ USB2.0 HD UVC WebCam: USB2.0 HD           id=17   [slave  keyboard (3)]
   ↳ ITE Tech. Inc. ITE Device(8910) Keyboard  id=18   [slave  keyboard (3)]
   ↳ ITE Tech. Inc. ITE Device(8910) Wireless Radio Control    id=20   [slave  keyboard (3)]
   ↳ ITE Tech. Inc. ITE Device(8910) System Control    id=21   [slave  keyboard (3)]
   ↳ Asus WMI hotkeys                          id=23   [slave  keyboard (3)]
   ↳ AT Translated Set 2 keyboard              id=24   [slave  keyboard (3)]
   ↳ COMPANY USB Device Consumer Control       id=25   [slave  keyboard (3)]
   ↳ ITE Tech. Inc. ITE Device(8910) Consumer Control  id=26   [slave  keyboard (3)]

我用來升級觸摸板韌體的程序在這裡https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1653456/comments/161

我有興趣從工作的觸摸板晶片複製數據並將其粘貼到我的。我該怎麼做?

對於所有尋求答案的人,我聯繫了 ELANTech,他們為我提供了韌體。如果有人需要它,請隨時給我寫信 vlad.dalechin@gmail.com

引用自:https://unix.stackexchange.com/questions/502502