私はRaspberry Piを使用してProlific USBシリアルケーブル(067b 2303)を介してLEDマトリックスディスプレイを制御しています。デフォルトのraspianイメージを使用すると完全に機能しますが、カスタムビルドルートイメージ(rpi-buildrootを使用)を使用すると構成または使用できません。
これまでの私のステップは次のとおりです。
Linuxはデバイスを認識しますが、ドライバを自動的にロードしたり/dev/ttyUSBxに接続したりしないので、次のようにします。
modprobe ftdi_sio
出力:
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver ftdi_sio
usbserial: USB Serial support registered for FTDI USB Serial Device
/dev/ttyUSB* には何も表示されないため、製品とベンダー ID を使用して new_id をエコーします。
echo 067b 2303 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id
出力:
ftdi_sio 1-1.2:1.0: FTDI USB Serial Device converter detected
usb 1-1.2: Detected FIBU232AM
ftdi_sio ttyUSBO: Unable to read latency timer: -32
ftdi_sio ttyUSBO: Unable to write latency timer: -32
usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0
以下を使用して転送速度を変更しようとするとき:
stty -F /dev/ttyUSB0 115200
失敗の理由は次のとおりです。
ftdi_sio ttyUSBO: ftdi_set_termios FAILED to set databits/stopbits/parity
ftdi_sio ttyUSBO: ftdi_set_termios urb failed to set baudrate
ftdi_sio ttyUSBO: urb failed to clear flow control
ftdi_sio ttyUSBO: failed to get modem status: -32
ftdi_sio ttyUSBO: ftdi_set_termios urb failed to set baudrate
ftdi_sio ttyUSBO: urb failed to clear flow control
ftdi_sio ttyUSBO: failed to get modem status: -32
ftdi_sio ttyUSBO: error from flowcontrol urb
USBシリアルを構成する項目が見つかりませんでした。
答え1
ご存じのとおり、ftdi_sioが無効なドライバであるため、pl2303を使用する必要があります。以下はすべてを解決しました。
modprobe pl2303
デバイスが正しくインストールおよび設定されています。
答え2
ドライバーが正しくありません。 ftdiドライバはFuture Technology Devices用で、多くのチップ用ドライバはpl2303なので、カーネルに正しいモジュールを追加するにはinsmod pl2303またはmodprobe pl2303を使用する必要があります。また、それに基づいてサプライヤーと製品を確認する必要があります。 ID .cドライバファイルのテーブルは正しいですか?一部のデバイスでは、ICの「偽のコピー」はサポートされていません。パッチが必要な場合、またはベンダーと製品ID番号を追加してコンパイルすると、古いドライバが削除されます。 rmmod または modprobe -r pl2303 を使用する pl2303。ベンダーや製品でlsusbを使用するには、ttyUSBnデバイスが生成されない場合があるため、mknodeを生成してからchmod 666を生成する必要があります。