Armadilloフォーラム

USBシリアルデバイスと通信できない

morohashi-t

2024年3月14日 19時34分

G3のUSB(CON7)に下記のデバイスを接続し、シリアル通信を試みています。
抜き挿しすると、接続ログが表示され、
lsusbコマンドで、認識そのものは確認できます。
しかし、ls -lrt /dev/serial/by-id で見たときに、マウントされていないようです。

話がややこしくなるのですが、以前、デバイス2は、別のG3(半年前に別途購入)で利用した経験があり、
その時は、何故か問題なく通信できていました。(その時は、/dev/ttyACM0にマウント)

マニュアルに沿ってカーネルのmenuconfigも変更し、uImageとdtbを置き換えましたが、状況は変わりません。
<*> USB FTDI Single Port Serial Driver
<*> USB Prolific 2303 Single Port Serial Driver

【Linuxカーネル】
Linux4.9

【デバイス1】
エフケイシステム カスタマーディスプレイ LM760
https://www.fksystem.co.jp/product/lm760
接続時ログ:
root@armadillo:~# usb 1-1.3: new full-speed USB device number 5 using ci_hdrc

【デバイス2】
エフケイシステム QR対応 組込み式 薄型バーコードリーダー F820
https://www.fksystem.co.jp/product/f820
接続時ログ:
root@armadillo:~# usb 1-1.4: new full-speed USB device number 6 using ci_hdrc
input: BarcodeScanners Drives - H2750 H2750 Usb Devices as /devices/soc0/soc/30800000.aips-bus/30b10000.usb/ci_hdrc.0/usb1/1-1/1-1.4/1-1.4:1.0/0003:0483:5741.0002/input/input3
hid-generic 0003:0483:5741.0002: input: USB HID v1.10 Keyboard [BarcodeScanners Drives - H2750 H2750 Usb Devices] on usb-ci_hdrc.0-1.4/input0

【lsusb】
root@armadillo:~# lsusb
~~~
Bus 001 Device 006: ID 0483:5741 STMicroelectronics
Bus 001 Device 005: ID 067b:23a3 Prolific Technology, Inc.

解決策がありましたらご教示願います。
よろしくお願いします。

コメント

溝渕です。

driverがattachされているかを確認する為に、該当のUSBデバイスを接続した状態で実行した、以下のコマンドの出力をもらえますか?

[armadillo]# apt update
[armadillo]# apt install usbutils
[armadillo]# usb-devices

"Driver="の項目にドライバ名が表示されていれば、attachされています。

> driverがattachされているかを確認する為に、該当のUSBデバイスを接続した状態で実行した、以下のコマンドの出力をもらえますか?

抜き差ししたときの差分は下記で、認識されてますが、(none)となっております。
I:  If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

原因、分かりますでしょうか。
出力全ては、添付しています。

ファイル ファイルの説明
usb-devices.txt

溝渕です。

> Bus 001 Device 006: ID 0483:5741 STMicroelectronics
> Bus 001 Device 005: ID 067b:23a3 Prolific Technology, Inc.

添付のログ(usb-devices.txt)を確認したところ、前者(0483:5741)が接続されていないように見えますが、これは合っていますか?

また、後者(067b:23a3)についてはドライバがattachされていません。半年前に購入されたG3では動くとの事ですので、同様にusb-devicesコマンドを実行してドライバを調べ、Linuxカーネルコンフィギュレーションで有効化すると使えるようになると思います。

ご連絡ありがとうございました。

結論から申し上げますと、
/sys/bus/usb-serial/drivers/pl2303/new_idに、"067b 23a3"と記載することで解決しました。

やはり、ドライバーに原因がありそうということで、再度メーカページを確認したところ、
PLXXのドライバーが必要とわかりました。
カーネルでは、既に、PL2303のドライバはインストールしていたので、
もう少し調べたところ、どうようの事象が検索ヒットしました。
https://qiita.com/reo/items/3758b77fd4837b434260

こちら参考に上記変更を行ったところ無事、接続できました。
ありがとうございました。