USBシリアルケーブル(大容量)がrpi-buildrootイメージのftdi_sioドライバと機能しません。

USBシリアルケーブル(大容量)がrpi-buildrootイメージのftdi_sioドライバと機能しません。

私は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を生成する必要があります。

関連情報