問題
usbipd-win version 4以降で発生するようになったと思う.
version3ではまったく問題なく使えていたのでカーネルのせいとかではないと思う.
分かんないけど.
一応現状5.15.146.1-microsoft-standard-WSL2
WSL2でUSBデバイス(USBシリアルデバイス)を利用するときusbipd-winを使う
powershell
usbipd list
usbipd bind --busid #BUSID
usbipd attach -w --busid #BUSID
とし,WLS側で
lsusb
とすれば,あらたなデバイスが接続したことが確認できる.
しかしここで,
ls /dev/ | grep ttyUSB
dmesg | grep tty
などすれば/dev/ttyUSB#
のようなのが見えるはずなのだが,何も表示されたない
dmesg
の関係ありそうな部分を表示すると
[ 49.258522] hv_balloon: Max. dynamic memory size: 16268 MB
[ 271.704439] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3)
[ 271.706436] vhci_hcd vhci_hcd.0: devid(262146) speed(3) speed_str(high-speed)
[ 271.708593] vhci_hcd vhci_hcd.0: Device attached
[ 272.056366] usb 1-1: new high-speed USB device number 2 using vhci_hcd
[ 272.206412] usb 1-1: SetAddress Request (2) to port 0
[ 272.239374] usb 1-1: New USB device found, idVendor=0403, idProduct=6014, bcdDevice= 9.00
[ 272.240235] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 272.240812] usb 1-1: Product: Single RS232-HS
[ 272.241255] usb 1-1: Manufacturer: FTDI
で止まっている.
本当はこの後に/dev/ttyUSB#
につなぎました~みたいなメッセージがあるはずだがない.
疑わしいのは
hv_balloon: Max. dynamic memory size: 16268 MB
これ今回は一番上に表示されてるけど(実際はシステムとかのがもっと上にあるけど,関連していそう打と思っている中での話),一番下で表示されることもある.
だからどうしたと言われると分からないけど,まあ記録として.
この問題はPC自体をリブートすれば私の環境では何度でも再現する.
解決方法(Twitterで見かけたbetter版)
上のリンクの人も全く同じ状況に陥っていたようだが,
彼曰く
sudo modprobe ftdi_sio
とすればよいらしく,試してみたらusbipd attach/detach
の必要なく確かに解決した.
解決方法 (古い版.)
usbipd-winのトラブルシュートやWikiやReadmeに書いてあるやつを試していくかの要素に分けて何回かをテストした結果,おそらく
sudo service udev restart
sudo udevadm control --reload
あたりが利いてそうな気がする.どっちかというとsudo service udev restart
のほうか?これをした後に再度powershell側でdetach
してattach
すると
[ 345.907985] vhci_hcd: connection closed
[ 345.908140] vhci_hcd: stop threads
[ 345.909405] vhci_hcd: release socket
[ 345.909815] vhci_hcd: disconnect device
[ 345.910282] usb 1-1: USB disconnect, device number 2
[ 353.779104] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3)
[ 353.780334] vhci_hcd vhci_hcd.0: devid(262146) speed(3) speed_str(high-speed)
[ 353.781408] vhci_hcd vhci_hcd.0: Device attached
[ 354.136483] usb 1-1: new high-speed USB device number 3 using vhci_hcd
[ 354.306396] usb 1-1: SetAddress Request (3) to port 0
[ 354.342949] usb 1-1: New USB device found, idVendor=0403, idProduct=6014, bcdDevice= 9.00
[ 354.344386] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 354.345911] usb 1-1: Product: Single RS232-HS
[ 354.347132] usb 1-1: Manufacturer: FTDI
[ 354.414913] usbcore: registered new interface driver ftdi_sio
[ 354.417238] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 354.418879] ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
[ 354.420398] usb 1-1: Detected FT232H
[ 354.432002] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
となり/dev/ttyUSB0
が表れてくれた.