CDC ACMはカスタムLinuxカーネルでは機能しません。

CDC ACMはカスタムLinuxカーネルでは機能しません。

私はカスタムLinuxカーネルでArch Linuxを実行するcubieboard2を持っています。 ArduinoなどのUSBシリアルデバイスを接続したcubieboard2では、デバイスはCDC ACMとして認識されました。私のLinuxカーネルでは、ここに示すように、設定でCDCオプションが有効になっています。ページところで、/dev/ttyACM0アプリケーションが利用できないか、minicomシリアルポートは利用できませんpyserial

Minicomは直ちにシリアルポートを開くことができないと述べた。 Pyserialはポートを開くことができますが、読み取ろうとすると結果は次のようになります。

SerialException: デバイスから読み取る準備ができていることを報告しましたが、データが返されませんでした(デバイスの接続が切断されたか、ポートに何度もアクセスしましたか?)

ただし、pyserialバイトを書き込もうとすると、結果は次のようになります。

SerialException:書き込みに失敗しました:[Errno 5]入力/出力エラー。

シリアルポートを閉じると、名前が変わる奇妙なことが起こります/dev/ttyACM0/dev/ttyACM1つまり、閉じると名前が。

私のラップトップで私のデバイスを試してみましたが、pyserialどちらもうまくいきますminicom

キュービボード2情報:

$ uname -a
Linux alarm 3.4.61-rt77-ARCH+ #10 SMP PREEMPT RT Thu Apr 17 13:58:20 BRT 2014 armv7l GNU/Linux

私のカーネル設定ファイル:http://pastebin.com/raw.php?i=6LfsRyek

私の考えでは、有効になっているカーネルオプションのいくつかが欠けているようですが、どのオプションなのかわかりません。

どんなアイデアがありますか?

ベストアンサー1

私が見ると、あなたのデバイスに問題があるようです。 OKを列挙できますが、追加の通信を実行すると予期しない動作が発生する可能性があります。 usbmonでWiresharkを試してみてください(またはXセッションがなければ、最終的にtsharkを使用します)。 ttyACM1 名は通常、通信エラーの後に再列挙されて発生します。

おすすめ記事