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

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

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

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

を実行しmodprobe usbserialmodprobe 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デバイスを接続した後に表示された名前:

/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 開発マシン (現在は と呼ばれる cp2101 モジュールの新しいバージョンが搭載されているcp210x) を試したところ、 の「converter now attached to ttyUSB0」行を確認した後dmesg/dev/ttyUSB0が表示されます。

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

答え1

デバイス ノードを手動で作成してみることもできます。私のシステムで/dev/ttyUSB0major 188と ですminor 0。そして、うまくいけば、これは文字デバイスを意味するタイプであるという私の推測が正しいでしょう(動作しない場合は、バッファーなしの文字デバイスをc試してみてください)。uc

mknod /dev/ttyUSB0 c 188 0

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

関連情報