たいりょーくんのメモ

Twitterにツイートするノリで気軽にメモしていくためのブログです。詳しくは https://tiryoh.hateblo.jp/about をお読みください。

LogicoolのF710をJetson Nanoに接続したあとのログ

LogicoolのF710をJetson Nano(L4T R32.3.1)に接続してもDirectInput Modeで使用することはできません。XInput Modeでなら使用できるようです。

Image from Gyazo

[2020年4月19日2時10分追記]使用した環境と入力モード切替時のログも追記しました

Jetson NanoにF710のドングルを差したあとのログ

ゲームパッドとして認識され、DirectInput Modeでもxpad*1ドライバがロードされるようです。

$ uname -a
Linux JETBOT 4.9.140-tegra #1 SMP PREEMPT Mon Dec 9 22:47:42 PST 2019 aarch64 aarch64 aarch64 GNU/Linux

$ lsb_release  -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:    18.04
Codename:   bionic
$ modinfo xpad
modinfo: ERROR: Module xpad not found.
$ modinfo usbhid
modinfo: ERROR: Module usbhid not found.

DirectInput Mode

$ dmesg
[98470.427449] usb 1-2.3: new full-speed USB device number 10 using tegra-xusb
[98470.456811] usb 1-2.3: New USB device found, idVendor=046d, idProduct=c22f
[98470.456873] usb 1-2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[98470.456920] usb 1-2.3: Product: Logicool Cordless RumblePad 2
[98470.456961] usb 1-2.3: Manufacturer: Logicool
[98470.466874] hid-generic 0003:046D:C22F.0006: hidraw1: USB HID v1.11 Device [Logicool Logicool Cordless RumblePad 2] on usb-70090000.xusb-2.3/input0
[98470.468862] hid-generic 0003:046D:C22F.0007: hidraw2: USB HID v1.11 Device [Logicool Logicool Cordless RumblePad 2] on usb-70090000.xusb-2.3/input1
[98486.458716] usb 1-2.3: USB disconnect, device number 10
[98486.738529] usb 1-2.3: new full-speed USB device number 11 using tegra-xusb
[98486.765265] usb 1-2.3: New USB device found, idVendor=046d, idProduct=c21f
[98486.765290] usb 1-2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[98486.765308] usb 1-2.3: Product: Wireless Gamepad F710
[98486.765324] usb 1-2.3: Manufacturer: Logicool
[98486.765340] usb 1-2.3: SerialNumber: 62CC998F
[98486.768729] input: Logitech Gamepad F710 as /devices/70090000.xusb/usb1/1-2/1-2.3/1-2.3:1.0/input/input6
$ usb-devices
T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#= 11 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS= 8 #Cfgs=  1
P:  Vendor=046d ProdID=c21f Rev=03.06
S:  Manufacturer=Logicool
S:  Product=Wireless Gamepad F710
S:  SerialNumber=62CC998F
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=98mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=5d Prot=01 Driver=xpad

XInput Mode

$ dmesg
[98807.199160] usb 1-2.3: new full-speed USB device number 12 using tegra-xusb
[98807.228480] usb 1-2.3: New USB device found, idVendor=046d, idProduct=c22f
[98807.228533] usb 1-2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[98807.228576] usb 1-2.3: Product: Logicool Cordless RumblePad 2
[98807.228614] usb 1-2.3: Manufacturer: Logicool
[98807.242143] hid-generic 0003:046D:C22F.0008: hidraw1: USB HID v1.11 Device [Logicool Logicool Cordless RumblePad 2] on usb-70090000.xusb-2.3/input0
[98807.244247] hid-generic 0003:046D:C22F.0009: hidraw2: USB HID v1.11 Device [Logicool Logicool Cordless RumblePad 2] on usb-70090000.xusb-2.3/input1
[98807.483145] usb 1-2.3: USB disconnect, device number 12
[98807.747170] usb 1-2.3: new full-speed USB device number 13 using tegra-xusb
[98807.777205] usb 1-2.3: New USB device found, idVendor=046d, idProduct=c21f
[98807.777261] usb 1-2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[98807.777306] usb 1-2.3: Product: Wireless Gamepad F710
[98807.777346] usb 1-2.3: Manufacturer: Logicool
[98807.777385] usb 1-2.3: SerialNumber: 62CC998F
[98807.785888] input: Logitech Gamepad F710 as /devices/70090000.xusb/usb1/1-2/1-2.3/1-2.3:1.0/input/input7
$ usb-devices
T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#= 13 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS= 8 #Cfgs=  1
P:  Vendor=046d ProdID=c21f Rev=03.06
S:  Manufacturer=Logicool
S:  Product=Wireless Gamepad F710
S:  SerialNumber=62CC998F
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=98mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=5d Prot=01 Driver=xpad

x64のPCにF710のドングルを差したあとのログ

DirectInput ModeでもXInput Modeでも使用できました。

$ uname -a
Linux T480s 5.3.0-40-generic #32~18.04.1-Ubuntu SMP Mon Feb 3 14:05:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:    18.04
Codename:   bionic
$ modinfo xpad
filename:       /lib/modules/5.3.0-40-generic/kernel/drivers/input/joystick/xpad.ko
license:        GPL
description:    X-Box pad driver
author:         Marko Friedemann <mfr@bmx-chemnitz.de>
srcversion:     E938FD9068905801092B565
alias:          usb:v24C6p*d*dc*dsc*dp*icFFisc47ipD0in*
alias:          usb:v24C6p*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v24C6p*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v1BADp*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v1BADp*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v1689p*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v1689p*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v162Ep*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v162Ep*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v15E4p*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v15E4p*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v1532p*d*dc*dsc*dp*icFFisc47ipD0in*
alias:          usb:v1532p*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v1532p*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v146Bp*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v146Bp*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v1430p*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v1430p*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v12ABp*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v12ABp*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v11C9p*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v11C9p*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v1038p*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v1038p*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v0F0Dp*d*dc*dsc*dp*icFFisc47ipD0in*
alias:          usb:v0F0Dp*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v0F0Dp*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v0E6Fp*d*dc*dsc*dp*icFFisc47ipD0in*
alias:          usb:v0E6Fp*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v0E6Fp*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v07FFp*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v07FFp*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v0738p*d*dc*dsc*dp*icFFisc47ipD0in*
alias:          usb:v0738p4540d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0738p*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v0738p*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v06A3p*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v06A3p*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v056Ep*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v056Ep*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v046Dp*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v046Dp*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v045Ep*d*dc*dsc*dp*icFFisc47ipD0in*
alias:          usb:v045Ep*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v045Ep*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v044Fp*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v044Fp*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v0079p*d*dc*dsc*dp*icFFisc5Dip81in*
alias:          usb:v0079p*d*dc*dsc*dp*icFFisc5Dip01in*
alias:          usb:v*p*d*dc*dsc*dp*ic58isc42ip00in*
depends:        ff-memless
retpoline:      Y
intree:         Y
name:           xpad
vermagic:       5.3.0-40-generic SMP mod_unload 
signat:         PKCS#7
signer:         
sig_key:        
sig_hashalgo:   md4
parm:           dpad_to_buttons:Map D-PAD to buttons rather than axes for unknown pads (bool)
parm:           triggers_to_buttons:Map triggers to buttons rather than axes for unknown pads (bool)
parm:           sticks_to_null:Do not map sticks at all for unknown pads (bool)
parm:           auto_poweroff:Power off wireless controllers on suspend (bool)

$ modinfo usbhid
filename:       /lib/modules/5.3.0-45-generic/kernel/drivers/hid/usbhid/usbhid.ko
license:        GPL
description:    USB HID core driver
author:         Jiri Kosina
author:         Vojtech Pavlik
author:         Andreas Gal
srcversion:     EE75345883889B1E51B0D6A
alias:          usb:v*p*d*dc*dsc*dp*ic03isc*ip*in*
depends:        hid
retpoline:      Y
intree:         Y
name:           usbhid
vermagic:       5.3.0-45-generic SMP mod_unload 
signat:         PKCS#7
signer:         
sig_key:        
sig_hashalgo:   md4
parm:           mousepoll:Polling interval of mice (uint)
parm:           jspoll:Polling interval of joysticks (uint)
parm:           kbpoll:Polling interval of keyboards (uint)
parm:           ignoreled:Autosuspend with active leds (uint)
parm:           quirks:Add/modify USB HID quirks by specifying  quirks=vendorID:productID:quirks where vendorID, productID, and quirks are all in 0x-prefixed hex (array of charp)

DirectInput Mode

汎用のUSB HIDデバイスとして機能しているようです。

$ dmesg
[16025.084568] usb 1-1: new full-speed USB device number 7 using xhci_hcd
[16025.235368] usb 1-1: New USB device found, idVendor=046d, idProduct=c22f, bcdDevice= 3.06
[16025.235373] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[16025.235377] usb 1-1: Product: Logicool Cordless RumblePad 2
[16025.235380] usb 1-1: Manufacturer: Logicool
[16025.239083] hid-generic 0003:046D:C22F.0002: hiddev0,hidraw0: USB HID v1.11 Device [Logicool Logicool Cordless RumblePad 2] on usb-0000:00:14.0-1/input0
[16025.241236] hid-generic 0003:046D:C22F.0003: hiddev1,hidraw1: USB HID v1.11 Device [Logicool Logicool Cordless RumblePad 2] on usb-0000:00:14.0-1/input1
$ usb-devices
T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  6 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=046d ProdID=c219 Rev=03.06
S:  Manufacturer=Logicool
S:  Product=Logicool Cordless RumblePad 2
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=98mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid

XInput Mode

ゲームパッドとして認識され、xpadドライバがロードされるようです。

$ dmesg
[ 3249.361775] usb 1-1: new full-speed USB device number 7 using xhci_hcd
[ 3249.513109] usb 1-1: New USB device found, idVendor=046d, idProduct=c22f, bcdDevice= 3.06
[ 3249.513115] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3249.513119] usb 1-1: Product: Logicool Cordless RumblePad 2
[ 3249.513122] usb 1-1: Manufacturer: Logicool
[ 3249.585368] hidraw: raw HID events driver (C) Jiri Kosina
[ 3249.589501] usbcore: registered new interface driver usbhid
[ 3249.589502] usbhid: USB HID core driver
[ 3249.595095] hid-generic 0003:046D:C22F.0001: hiddev0,hidraw0: USB HID v1.11 Device [Logicool Logicool Cordless RumblePad 2] on usb-0000:00:14.0-1/input0
[ 3249.595282] hid-generic 0003:046D:C22F.0002: hiddev1,hidraw1: USB HID v1.11 Device [Logicool Logicool Cordless RumblePad 2] on usb-0000:00:14.0-1/input1
[ 3265.134956] usb 1-1: USB disconnect, device number 7
[ 3265.665816] usb 1-1: new full-speed USB device number 8 using xhci_hcd
[ 3265.820131] usb 1-1: New USB device found, idVendor=046d, idProduct=c21f, bcdDevice= 3.06
[ 3265.820133] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3265.820134] usb 1-1: Product: Wireless Gamepad F710
[ 3265.820135] usb 1-1: Manufacturer: Logicool
[ 3265.820135] usb 1-1: SerialNumber: 62CC998F
[ 3265.838656] input: Logitech Gamepad F710 as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/input/input19
[ 3265.838792] usbcore: registered new interface driver xpad
$ usb-devices
T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  8 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS= 8 #Cfgs=  1
P:  Vendor=046d ProdID=c21f Rev=03.06
S:  Manufacturer=Logicool
S:  Product=Wireless Gamepad F710
S:  SerialNumber=62CC998F
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=98mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=5d Prot=01 Driver=xpad