web-dev-qa-db-ja.com

UdevとXorgがHuionタブレットを適切なドライバーに接続する

Huion H610 Pro(8192)をArch Linuxに接続して、すべての機能を利用しようとしています。現在、lsusb(ID 256c:006e)によってのみ認識され、どのドライバーにも関連付けられていません。問題は、libinputがサポートされていると述べられているにもかかわらず、このタブレットを認識しないこと、および他の人が箱から出してそれで成功していることであるように思われます。

ボタンが押されたとき、ペンが範囲内にあるとき、または作業スペースに触れたときに、物理デバイスのLEDが点灯します。ペンを使用してタブレットに描画すると、Sudo usbhid-dump -es -m 256c:006eからも出力されますが、タブレットのボタンを押してもダンプに応答がありません。出力は DIGImendトラブルシューティングWebページ から期待どおりです。

Arch Linuxの公式リポジトリから次のドライバーをインストールしてみました:xf86-input-libinput、xf86-input-evdev、xf86-input-wacom、およびそれらに対応するライブラリ。

Arch非公式リポジトリ:digimend-kernel-drivers、wizardpenも試しました。

これらはどれも機能しません。インストールするだけでなく、優先順位を上げるなどの作業が必要になる場合もありますが、ソースは見つかりませんでした。お互いに邪魔にならないように見えますが、私もさまざまなインスタレーションの組み合わせを試しました。

AskUbuntuでのこの回答の手順 を実行しようとしましたが、hidrawへのシンボリックリンクを正常に設定できましたが、Xorgにこのシンボリックリンクされた入力イベントをInputDeviceおよび対応するドライバーに接続させることができません。


このデバイスをドライバー(できればlibinputまたはwacom)に適切に接続するためにudevルールとxorg confを設定する方法を知っている人はいますか?


詳細/トラブルシューティング

接続後のdmesg出力:

$ Sudo dmesg
[  162.687139] usb 1-10: new full-speed USB device number 5 using xhci_hcd
[  162.828474] usb 1-10: config 1 has an invalid interface number: 1 but max is 0
[  162.828478] usb 1-10: config 1 has no interface number 0
[  162.832150] input: NUVOTON WPM USB as /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.1/0003:0416:A316.0006/input/input20
[  162.887749] hid-generic 0003:0416:A316.0006: input,hidraw5: USB HID v1.10 Device [NUVOTON WPM USB] on usb-0000:00:14.0-10/input1
[  166.053899] usb 1-10: USB disconnect, device number 5
[  166.377593] usb 1-10: new full-speed USB device number 6 using xhci_hcd
[  166.576102] uclogic 0003:256C:006E.0007: device parameters not found
[  166.576105] uclogic 0003:256C:006E.0007: tablet enabling failed
[  166.576170] uclogic 0003:256C:006E.0008: No inputs registered, leaving
[  166.576221] uclogic 0003:256C:006E.0008: hidraw5: USB HID v1.11 Device [HID 256c:006e] on usb-0000:00:14.0-10/input1
[  166.588904] uclogic 0003:256C:006E.0007: device parameters not found
[  166.588907] uclogic 0003:256C:006E.0007: tablet enabling failed

Sysmlinkを作成するためにudevに追加された行 ここに記載されているように :(変更されたコピーは/usr/lib/share/udev/rules.d/wacom.rulesをオーバーライドします)

/etc/udev/rules.d/wacom.rules

### Add support for HUION tablet here:
ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", SYMLINK+="input/tablet-huion"
# Check and repossess the device if a module other than the wacom one
# is already bound to it.
ATTRS{idVendor}=="256c", ACTION=="add", RUN+="check_driver wacom $devpath $env{ID_BUS}"

/etc/X11/xorg.conf.d/99-huion.conf

Section "InputClass"
    Identifier "Huion_on_wacom_class"
    Driver "wacom"
    #MatchIsTablet "on" # disabled because I don't think this is recognized
    #MatchProduct "HUION" # same as IsTablet
    MatchDevicePath "/dev/input/tablet-huion" # using symlink from udev
    #MatchUSBID "256c:006e" # tried this too, to no avail
EndSection

$ devadm monitor --environment


DIGImendのgithubで問題を提出しました :トラブルシューティングの詳細については、こちらをご覧ください。

1
prijatelj

部分的な答え:

から判断

uclogic 0003:256C:006E.0007: device parameters not found
uclogic 0003:256C:006E.0007: tablet enabling failed
uclogic 0003:256C:006E.0008: No inputs registered, leaving
uclogic 0003:256C:006E.0008: hidraw5: USB HID v1.11 Device [HID 256c:006e] on usb-0000:00:14.0-10/input1
uclogic 0003:256C:006E.0007: device parameters not found
uclogic 0003:256C:006E.0007: tablet enabling failed

hid-uclogicドライバーがタブレットで機能していないようです。特に、カーネル入力デバイスを登録するのはnotであるため、HIDレイヤーを超えてイベントが表示されることはありません。

(念のため、イベントチェーンはUSB(カーネル)-> HID(カーネル)->入力(カーネル)-> xf86-input-evdev/xf86-input-libinput(Xドライバー)-> Xです)。

試すべきこと:

  • hid-uclogicカーネルモジュールをブラックリストに登録し、デフォルトのカーネルトランスレータによって少なくともいくつかの自動変換されたHIDイベントを取得するかどうかを確認します。どうやら特別なドライバーが必要なので、完璧ではないか、まったく機能しないかもしれませんが、mayは少なくとも部分的には使用できます。

  • カーネルを最新バージョンに更新します。

  • ツリー外 カーネルパッチ または カーネルドライバ を使用して、hid-uclogicを新しいバージョンに更新してみてください

その他のデバッグヘルプ:カーネル入力レイヤーデバイスを取得したらevtestを使用でき、Xイベントの場合はxevまたはxinputを使用できます。 evdevよりもlibinputを使用することをお勧めします。これは、より古く、より安定した方法だからです。

1
dirkt