Я установил Xubuntu 20.04.1 LTS на старый Medion Akoya P4001 D (вероятно, датируемый 2010 годом). Все работает нормально, кроме тачскрина; система не реагирует на то, что я кладу палец на экран. Я уверен, что проблем с оборудованием нет; Я видел, как сенсорный экран отлично работает в исходной ОС (специальный дистрибутив Linux, который мне пришлось отказаться), а также на более старой версии Ubuntu, которую я валял (16.04 или 18.04, я не помню).
Я попробовал несколько команд терминала, чтобы выкопать некоторую информацию.
$ lsusb | grep -i touch
Bus 003 Device 002: ID 22b9:0008 eTurboTouch Technology, Inc. eTurboTouch
Я искал поддержку драйверов на сайте производителя .
Кажется полностью устаревшим (Ubuntu 9.04, ядро 2.6); не хочу обжечься на этом.
http://www.eturbotouch.com/english/s_download_center.asp
Ничего страшного, я видел, как это работает на более старом дистрибутиве Ubuntu, из коробка. Оно должно работать без проприетарных драйверов.
$ sudo lsinput | grep -i touch -A4 -B5
/dev/input/event5
bustype : BUS_USB
vendor : 0x22b9
product : 0x8
version : 257
name : "eTurboTouch eTurboTouch"
phys : "usb-0000:00:04.0.6/input0"
uniq : ""
bits ev : (null) (null) (null) (null)
Теперь, когда мы знаем устройство, давайте его опросим.
$ sudo cat /dev/input/event5
Каждый раз, когда я нажимаю на экран, я вижу, как двоичные данные заполняют экран. Так что это работает.
(ОК, выход из текущего кота
с помощью Ctrl-C ...)
$ sudo xinput list
Я вижу короткий список, содержащий другие устройства указателя и клавиатуры, но без сенсорного экрана!
$ lsmod | grep -i 'hid\|touch\|dwav'
mac_hid 16384 0
hid_generic 16384 0
usbhid 57344 0
hid 131072 2 usbhid,hid_generic
Я прочитал в количество мест, в которых вам понадобится модуль hid-multitouch
.
Модуль установлен ( modinfo hid_multitouch
дает информацию),
но очевидно udev
не чувствовал необходимости загружать его.
Я был достаточно отчаянным, чтобы загрузить модуль принудительно.
Я добавил строку hid-мультитач
внизу файла / etc / modules
.
Я создал новый файл /etc/rc.local
(его еще не было), сделал его исполняемым,
и введите эти строки (как предлагается
здесь и
здесь ):
#!/bin/sh -e
echo 3 22b9 0008 1 > /sys/module/hid_multitouch/drivers/hid\:hid-multitouch/new_id
MT_CLASS
(1 в строке выше) был дикой догадкой.
Я также попробовал 3 (поскольку это, похоже, соответствовало упомянутому «классу» здесь ),
и 259 (из-за комментария «eGalax Touchkit включает eTurboTouch CT-410/510/700» я прочитал
здесь ).
После перезагрузки модуль hid-multitouch
действительно был загружен, но тачскрин все еще работал мертвым.
Я проверил вывод dmesg
] и journalctl -b
, но не смог найти там ничего подозрительного и касающегося сенсорного экрана.
Что мне делать, чтобы мой сенсорный экран работал как указатель на Xubuntu Focal Fossa?
Стараясь быть добропорядочным гражданином, я провел исследование и, как часто бывает, в процессе решил свою проблему. Я все равно опубликовал свой вопрос (и этот ответ), надеясь, что это может помочь какой-нибудь отчаявшейся душе (возможно, мне) в будущем.
Важная подсказка та же, что и в этой команде:
$ sudo libinput list-devices | head -n1
event5 - eTurboTouch eTurboTouch: libinput bug: missing tablet capabilities: btn-stylus resolution. Ignoring this device.
Я погуглил сообщение об ошибке и обнаружил, что это не единственный сенсорный экран, имеющий эту проблему:
https://bugs.launchpad.net/ubuntu/+ source/libinput/+bug/1772083
Из описания ошибки:
*** Creating the following udev rules file, fixes the touchscreen for me ***
/etc/udev/rules.d/91-libinput-egalax-local.rules
ACTION=="add|change", KERNEL=="event[0-9]*", ENV{ID_VENDOR_ID}=="0eef", \
ENV{ID_MODEL_ID}=="0001", ENV{ID_INPUT_TABLET}="", ENV{ID_INPUT_TOUCHSCREEN}="1"
Я немного изменил его, чтобы он соответствовал моей ситуации.
Я создал новый файл /etc/udev/rules.d/91-libinput-eturbotouch-local.rules
и введите следующие строки:
ACTION=="add|change", KERNEL=="event[0-9]*", ENV{ID_VENDOR_ID}=="22b9", \
ENV{ID_MODEL_ID}=="0008", ENV{ID_INPUT_TABLET}="", ENV{ID_INPUT_TOUCHSCREEN}="1"
После перезагрузки сенсорный экран работал нормально.
Примечания.
22b9
и 0008
соответственно) основаны на выводе lsusb
, как показано на вопрос. hid-multitouch
. Модуль еще не загружен udev
, но судя по всему, моему тачскрину он и не нужен.