LINUX.ORG.RU

A4Tech B314 и дополнительные клавиши

 , , , ,


0

1

Долго выбирал клаву уже 500мм с допклавишами и механическим WASD. Взял в итоге сабж и выяснил что допклавиши не определяются.

Молчат все и xev, и acpi_listen, и showkey. В dmesg тоже ничего нет. Сдавать и искать другую? Продукты bloody в принципе не работоспособны? (до этого в течении пары часов был обладателем мыши под этой торговой маркой)

UPD:Клаву сдал нафиг и взял другую - дешевле, симпатичнее, и без допкнопок. Поставил перед монитором беспроводную hama uzzano 2.0, допкнопки которой и использую. Может конечно можно было дожать драйвер, но долбаться с ним за мои же деньги только потому что инженеры A4tech хотят установить закрытый драйвер клавиатуры на машины невинных жертв прогресса, как-то не сильно охота. Получил еще одно доказательство что если у вас не Windows или вы дорожите своими явками и паролями, то продукты под маркой Bloody не для вас.

Продукты bloody в принципе не работоспособны?

В принципе нормальные, это уже с линуксом проблемы, в general

IMAM ()
Ответ на: комментарий от steemandlinux

Причем тут lirc? Это же что-то с инфракрасными ДУ связанное. Нет?

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Это демон, понимающий 16 битные кейкоды. А инфракрасное устройство или нет, ему срать, главное что HID.

steemandlinux ★★★★★ ()
Ответ на: комментарий от steemandlinux

мммм.... хоть примерно как его прикрутить к клавиатуре?

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Это тоже не работает: https://github.com/tolga9009/sidewinderd в отлчии от предыдущего это даже устройство в /dev/input/ не добавляет, хотя может и не должно, но тогда совсем не ясно как это использовать. Возможно я не разобрался (((

Suntechnic ★★★★★ ()
Ответ на: комментарий от anonymous

Можно подробнее про изменения в коде? Просто установка этой фигни ничего не дала.

В /etc/modprobe.d/usbhid.conf id вендора и продукта на свои менял. Перегружался.

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Опишу свой случай с вкомпиленым в ядро USB hid driver.

Для начала нужно установить заголовки, исходники ядра, dkms.

Fedora

sudo dnf install kernel-devel dkms

GRUB_CMDLINE_LINUX (GRUB_CMDLINE_LINUX_DEFAULT) добавить «usbhid.quirks={var1}:{var2}:{var3}», где var1, var2 это твои данные из вывода lsusb -> ID, например: Bus 001 Device 002: ID 0x1c4f:0x0059 .... var3 тут посложнее, надо указать либо 0x0004, либо 0x0007, так у меня в Debian 0x0004, а в Fedora 0x0007.

У меня GRUB_CMDLINE_LINUX=«бла-бла-бла и в конце usbhid.quirks=0x1c4f:0x0059:0x0007»

Далее в Fedora в

sudo vi /etc/dracut.cond.d/{your_name_conf}.conf
добавляем drivers+=«{name_module}» где name_module берем из исходника модуля ядра (aziokbd.c -> структура usb_driver usb_kbd_driver -> name)

Для Debian

sudo nano /etc/initramfs-tools/modules
добавляем одну строчку с именем модуля.

Далее

sudo dkms add -m {name_module} -v {version} --all

Fedora

ls /lib/modules | xargs -I {} sudo dkms install -m {name_module} -v {version} -k
sudo dracut -f -v --regenerate-all 
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg  

Debian

ls /var/lib/initramfs-tools | \
   xargs -n1 /usr/lib/dkms/dkms_autoinstaller start
sudo upgrade-grub
С помощью lsinitrd нужно убедиться в наличии соответствующего модуля клавиатуры.

За маппинг клавишь отвечает массив az_kbd_keycode и usb_kbd_irq.

Для работы модуля надо отключить Secure Boot. Статья автора модуля, в которой он поэтапно расписывает его создание. Создание модуля

anonymous ()
Ответ на: комментарий от anonymous

Теперь она вообще не работает (((

# dkms status
aziokbd, 1.0.0, 4.11.0-14-generic, x86_64: built
bbswitch, 0.8, 4.10.0-28-generic, x86_64: installed
bbswitch, 0.8, 4.10.0-29-generic, x86_64: installed
bbswitch, 0.8, 4.10.0-32-generic, x86_64: installed
bbswitch, 0.8, 4.11.0-14-generic, x86_64: installed
bbswitch, 0.8, 4.4.0-105-generic, x86_64: installed
bbswitch, 0.8, 4.4.0-108-generic, x86_64: installed
bbswitch, 0.8, 4.4.0-80-generic, x86_64: installed
bbswitch, 0.8, 4.4.0-81-generic, x86_64: installed
nvidia-384, 384.111, 4.11.0-14-generic, x86_64: installed
nvidia-384, 384.111, 4.4.0-108-generic, x86_64: installed

не понимаю почему после удаления она не исчез вообще, но я так понимаю что он не установлен.

# find /etc -type f | xargs grep "09da"
grep: /etc/NetworkManager/system-connections/VPN: Нет такого файла или каталога
grep: over: Нет такого файла или каталога
grep: MTS: Нет такого файла или каталога

Ни вендор, ни продукт нигде не упомянается в /etc, но после загрузки клава вообще не пашет никак. Даже ядерные сочетания не работают не то чтобы Ctrl+Alt+Fx

# dmesg | grep "09da"
[    2.205914] usb 5-1: New USB device found, idVendor=09da, idProduct=f6cc
[  783.851609] usb 5-1: New USB device found, idVendor=09da, idProduct=f6cc
[  783.665258] usb 5-1: new full-speed USB device number 4 using ohci-pci
[  783.851609] usb 5-1: New USB device found, idVendor=09da, idProduct=f6cc
[  783.851614] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  783.851617] usb 5-1: Product: USB Device
[  783.851619] usb 5-1: Manufacturer: COMPANY

В lsusb тоже есть и все норм. xev не видит вообще ничего естественно (((

Чо делать-то?

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

В grub прописали необходимые параметры? Что именно указали? modprobe, lsmod что говорят о aziokbd?

anonymous ()
Ответ на: комментарий от anonymous

В grub прописали необходимые параметры?

Нет, а зачем если эта хрень модулем стоит? Это же только при вкомпиливании в ядро надо. Не?

lsmod что говорят о aziokbd?

> lsmod | grep aziokbd                                                                                                                                                                
> sudo modprobe aziokbd
modprobe: ERROR: could not insert 'aziokbd': Exec format error

Вчера все решилось установкой нового ядра (4.13 поставил) и сейчас все работает. Ну в смысле клава работает. Доп кнопки не работают (((

Мне еще не понятно почему dkms пересобирает модуль для новых ядер:

root@alex-desktop:/home/alex# dkms status
aziokbd, 1.0.0, 4.13.0-26-generic, x86_64: installed
aziokbd, 1.0.0, 4.4.0-109-generic, x86_64: installed
...
если я его снес:
# dkms uninstall -m aziokbd -v 1.0.0
Или я как-то не правильно это сделал?

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Или я как-то не правильно это сделал?

Надо еще сделать dkms remove aziokbd/1.0.0 --all

Suntechnic ★★★★★ ()
Ответ на: комментарий от anonymous

Еще раз прошел по вашей инструкиции. В том числе добавил параметры в grub - модуль загружается (есть в lsmod) но клава стабильно не работает, как 0004, так и с 0007.

Завтра попробую поковырять код (хотя с для меня темный лес) и еще раз попробовать поставить. Надеюсь за выхи справиться. Спасибо что помогаете!

Suntechnic ★★★★★ ()
Ответ на: комментарий от anonymous

Вот короче если добавлять параметры в загрузку (в grub) тогда клава не пашет. А если этого не делать - работает. Модуль aziokbd загружен. Но допклавиши не пашут. Может дело в маппинге... но чего-то это слишком много возни. Попробуюка я ее сдать.

Suntechnic ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.