記録のため、openSUSEでも同じ問題が発生し、回避策は同じです。この問題は、Fedora 18(私の知る限り:Live CDを起動したばかり)とopenSUSE 12.3で修正されました。
私のラップトップにFedora 17がインストールされており、ハブに接続されているキーボード(Logitech K120)とマウス(通常のUSBマウス)を使用しています。
その後、キーボードやマウスが機能しないことを発見しました。しかし:
- ハブに接続されているかどうかにかかわらず、Arch Linux、Windows、GRUB、およびコンソール(Xブート時にのみ消えます)で動作します。
- マウス/キーボードをUSBポートに直接接続すると正常に動作します。
これは、USBハブやキーボード/マウスが損傷していないことを示します。
関連デバイス(それぞれUSBハブ、キーボード、マウス)のlsusb:
Bus 002 Device 004: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 002 Device 006: ID 046d:c31c Logitech, Inc. Keyboard K120 for Business
Bus 002 Device 005: ID 093a:2521 Pixart Imaging, Inc.
どんな手がかりがありますか?
schのコメントに基づいて編集します。
- キーボードはコンソールで動作します。
xinput list
キーボード/マウスはUSBポートに直接接続されている場合にのみ表示されます。いいえハブに接続したとき。/proc/interrupts
マウスを動かすとカーソルが動かなくても変わります。マウス/キーボードを接続するときハブを通して、Xログには何も起こりません。直接挿入すると、標準ログメッセージが表示されます。
[ 407.686] (II) config/udev: Adding input device USB OPTICAL MOUSE (/dev/input/mouse1) [ 407.686] (II) No input driver specified, ignoring this device. [ 407.686] (II) This device may have been added with another device file. [ 407.686] (II) config/udev: Adding input device USB OPTICAL MOUSE (/dev/input/event8) [ 407.686] (**) USB OPTICAL MOUSE: Applying InputClass "evdev pointer catchall" [ 407.686] (II) Using input driver 'evdev' for 'USB OPTICAL MOUSE' [ 407.686] Option "XkbRules" "evdev" [ 407.686] Option "XkbModel" "evdev" [ 407.686] Option "XkbLayout" "us" [ 407.686] Option "_source" "server/udev" [ 407.686] Option "name" "USB OPTICAL MOUSE" [ 407.686] Option "path" "/dev/input/event8" [ 407.686] Option "device" "/dev/input/event8" [ 407.686] Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1c.3/0000:04:00.0/usb3/3-2/3-2:1.0/input/input30/event8" [ 407.686] Option "driver" "evdev" [ 407.686] (**) USB OPTICAL MOUSE: always reports core events [ 407.686] (**) evdev: USB OPTICAL MOUSE: Device: "/dev/input/event8" [ 407.686] (--) evdev: USB OPTICAL MOUSE: Vendor 0x93a Product 0x2521 [ 407.686] (--) evdev: USB OPTICAL MOUSE: Found 9 mouse buttons [ 407.686] (--) evdev: USB OPTICAL MOUSE: Found scroll wheel(s) [ 407.686] (--) evdev: USB OPTICAL MOUSE: Found relative axes [ 407.686] (--) evdev: USB OPTICAL MOUSE: Found x and y relative axes [ 407.686] (II) evdev: USB OPTICAL MOUSE: Configuring as mouse [ 407.686] (II) evdev: USB OPTICAL MOUSE: Adding scrollwheel support [ 407.686] (**) evdev: USB OPTICAL MOUSE: YAxisMapping: buttons 4 and 5 [ 407.686] (**) evdev: USB OPTICAL MOUSE: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200 [ 407.687] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1c.3/0000:04:00.0/usb3/3-2/3-2:1.0/input/input30/event8" [ 407.687] (II) XINPUT: Adding extended input device "USB OPTICAL MOUSE" (type: MOUSE, id 17) [ 407.687] (II) evdev: USB OPTICAL MOUSE: initialized for relative axes. [ 407.687] (**) USB OPTICAL MOUSE: (accel) keeping acceleration scheme 1 [ 407.687] (**) USB OPTICAL MOUSE: (accel) acceleration profile 0 [ 407.687] (**) USB OPTICAL MOUSE: (accel) acceleration factor: 2.000 [ 407.687] (**) USB OPTICAL MOUSE: (accel) acceleration threshold: 4
答え1
これは既知のバグです。Fedora 17では/lib/udev/rules.d/71-seat.rules
「シャオミ720「デバイス(独自のUSBハブ付きUSBモニター)は、同じチップセット(したがって同じUSB ID)を使用してこれを行います。
しかし、Mimo 720を使用していないため、誤って設定されています。
/lib/udev/rules.d/71-seat.rules
解決策は、その行を編集してコメントを追加することです。
SUBSYSTEM=="usb", ATTR{idVendor}=="058f", ATTR{idProduct}=="6254", ENV{ID_AUTOSEAT}="1"
これで完璧に動作します。実際にArch Linuxをチェックすると、異なる戦略を使用してデバイスを検出します。
# Mimo 720, with integrated USB hub, displaylink graphics, and e2i
# touchscreen. This device carries no proper VID/PID in the USB hub,
# but it does carry good ID data in the graphics component, hence we
# check it from the parent. There's a bit of a race here however,
# given that the child devices might not exist yet at the time this
# rule is executed. To work around this we'll trigger the parent from
# the child if we notice that the parent wasn't recognized yet.