• ベストアンサー

USB接続シリアル変換ケーブル

こんばんは。 症状に改善が見られないため、皆さんの助言を頂きたいと思い、ここで質問させて頂きます。 現在、LINUXOSでUSB接続シリアル変換ケーブルを使用した通信のチェックをしております。 チェック方法はwindowsの別PCと繋ぎ、jermやminicomを使用して通信をしています。 ですが、データの受信はできるのですが、送信が全然できません。 環境は OS:Redhat Linux8.0 カーネル:2.4.18-14 ケーブル:BHC-US01/GP(BUFFALO) です。 カーネルモジュールの設定で <M> USB Prolific 2303 Single Port Serial Driver を確認してます。 また、デュアルブートでWindowsを使用した場合は送受信共に可能なので、ハードには問題ないと思います。 他に何をチェックしたらいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.3

PL2303は僕も使っていますが、、 僕の場合は、同じように,同じUSBシリアルとWindowsにつなぐと正常だけどLinuxにつなぐと送信できないという症状になりました。調べてみると、接続した機器側がGND/RxD/TxDの3本しか線がつながってなくて他の制御線が全部オープンでした。対策として、USBシリアルアダプタ側でRTSをCTSにループバックしました。 LinuxのPL2303ドライバはハードウェアフローコントロールをOFFにしても、CTSはみます(というか、それが本来のRS232Cの動作。ハードウェアフローコントロールがCTSをフローコントロールに転用しているだけ)。

umisira
質問者

お礼

回答ありがとうございます。 ドライバのバージョンが古かったのが原因だったようで、PL2303を更新したところ送信も可能になりました。 初めに確認すべき点でした。。。 お手数をかけてしまい、申し訳ないです。 しかし、そのおかげで少し詳しくなれました。 とても分かりやすい説明をありがとうございます。 とてもためになりました。 今回は通信チェックだけだったのですが、GND、TxDの2本だけをボードに接続し、通信を行うのが最終的な目的です。 ケーブル作成用の資料もWindows用に作ってあるため、CSTはオープンにするよう書いてありました。 そのケーブル作成の際にRTSをCTSにループバックさせようと思います。 どうもありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.2

使っているクロスケーブルの問題ではないでしょうか。 LinuxはCTS信号をまじめにチェックしています。CTSがOFFだと送信しません。

umisira
質問者

お礼

回答ありがとうございます。 これはハードウェアフロー制御を行う、という意味でいいんでしょうか? Windows同士では、ハードウェアフロー制御で送受信可能なので、クロスケーブルに問題はなさそうです。 Linux-Windows間になると、ハードウェアフロー制御をすると、Windows側から送信する際にWindowsPCが数秒フリーズしてしまいました。 Linuxからの送信も、やはり出来ていないです。 jerm、miniicom共に同じ症状だったので、ドライバあたりの問題のような気がします。 とりあえずは、No.1のお礼に書いたようにコントローラの組み合わせをいじってみようと思います。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • alpha123
  • ベストアンサー率35% (1721/4875)
回答No.1

http://www.am.ics.keio.ac.jp/~iwaoka/wiki/index.php?Linux%2F%A5%B7%A5%EA%A5%A2%A5%EB%A5%B3%A5%F3%A5%BD%A1%BC%A5%EB これではだめですか? 組み合わせるUSBコントローラが一定でないのでこういうのは「やってみてわかる」状態ですけど。

umisira
質問者

お礼

回答ありがとうございます。 USB-SERIAL変換機の部分ですよね? 簡潔に書かれているので、きちんとなっているかは分かりませんが、カーネルモジュールの設定は参考のページの通りにしてみました。 ですが、いまだに送信はできない状態です。 >組み合わせるUSBコントローラが一定でない・・・ とは組み合わせるUSBコントローラを変えてみたら動くかもしれないということでしょうか? 今はデフォルトの状態で、ほとんどのコントローラが有効になってます。 試行錯誤しながら試してみたいと思います。

すると、全ての回答が全文表示されます。

関連するQ&A