web-dev-qa-db-ja.com

/ devにエントリなしでUSBシリアルポートにアクセスするにはどうすればよいですか?

SiLabs CP2101チップセットをベースにしたUSB-シリアルアダプターがあります。私はそれをDebian 5.0 Lenny(armelアーキテクチャ)で使用しようとしています。

適切なカーネルモジュールを取得してアダプターを認識できるようですが、_/dev/ttyUSB0_は作成されません。

_modprobe usbserial_および_modprobe cp2101_を実行してからデバイスを接続すると、dmesgから次の出力が得られました。

_usb 2-1: new full speed USB device using mv5182_ehci and address 8
usb 2-1: configuration #1 chosen from 1 choice
cp2101 2-1:1.0: cp2101 converter detected
usb 2-1: reset full speed USB device using mv5182_ehci and address 8
usb 2-1: cp2101 converter now attached to ttyUSB0
_

ただし、_/dev/ttyUSB0_は存在しません。 _/dev_に新しいファイルはありません。

_find / -type f -name ttyUSB0_は結果を返しません。

デバイスのプラグイン後に表示された_ttyUSB0_という名前のdirectoriesの束を見つけました。

_/sys/class/tty/ttyUSB0
/sys/bus/usb-serial/drivers/cp2101/ttyUSB0
/sys/bus/usb-serial/devices/ttyUSB0
/sys/devices/platform/mv5182_ehci.1/usb2/2-1/2-1:1.0/ttyUSB0
 ...
_

_/sys/bus/usb-serial/devices/ttyUSB0/ttyUSB0/dev_でファイルを見つけましたが、シリアルポートではないようです。 screenまたはPythonのシリアルモジュールで開くことができません。

比較のために、Debian 6.0開発マシン(cp_101モジュールの新しいバージョンが現在_cp210x_と呼ばれています)を試し、「dmesg、_/dev/ttyUSB0_が表示されます。

_cp2101_モジュールを取得して_/dev/ttyUSB0_を作成するにはどうすればよいですか?できない場合、シリアルポートにアクセスするためにどのファイルを開く必要がありますか?

5

デバイスノードを手動で作成してみることができます。私のシステムでは/dev/ttyUSB0major 188およびminor 0。そして、うまくいけば、私の想定は、それがタイプcを意味するキャラクターデバイスであるということは正しいです(uが機能しない場合は、バッファリングされていないキャラクターデバイスのcを試してください)。

mknod /dev/ttyUSB0 c 188 0

これが機能し、デバイスファイルが以前に自動的に表示されていた場合、udevの何かがめちゃくちゃになっています。 USBサブシステムの設定またはドライバーに問題がある可能性もあります。

6
LawrenceC