DebianでFT232RLを使う

Debianマシンでは何もいじってない(=『It works!』が表示されるだけ)のApache2が入っていたりするので、試しにUbuntu(MiredoでIPv6化)でFreenet6で割り付けてもらったホスト名(FQDN)をGoogle chromeブラウザに入れてみたら、ちゃんと「It works!」と表示されました。

で、ふとIPv4マシンから同じくchromeブラウザでホスト名を入れてみたら・・・・なぜか表示されるじゃないですか。同様に、Android端末のPoketWifiSからも表示されます。結局、Freenet6は外のIPv4から(Freenet6の)IPv6へのGatewayの機能ももっているみたいです。

まとめて考えると、Freenet6でIPv6の固定IPアドレスを割り振ってもらって、おうちIPv6サーバを立てた場合、アクセスする側はIPv4でもよい、ということになります。

そうなると、このDebianにシリアル経由で外部に何かをつないで、Webに反映させるとか、いろいろ遊んでみたくなります。

以前FTDI社のサイトでは、FT232のLinuxドライバはカーネルの2.6.31(だったかな?)から標準で入っている、と読んだ記憶があって、なおかつ、Debian5.0(lenny)のカーネルのバージョンは2.6.26だったのでがっかりしていました。しかし、こちらのサイトを見ると、2.6.9以降であれば標準で入っている、と書いてあります。

早速試してみたくなったのですが、次に困るのが外部にアクセスするためのターミナルプログラムです。WindowsならTeraterm一発で決まりですし、Linuxでもマシンパワーが十分ならWINE上でTeratermを動かしてしまえ、というところなのですが、非力なマシンで動いているので、そうもいかず困っていました。しかし、仮想スクリーンコマンドとして懐かしいscreenコマンドがつかえるという記載がありました。

確認する目処がついたところで、やってみます。まず、秋月のFT232RLシリアル変換モジュールをつないでみます。

[38042.801287] usb 1-1.1: new full speed USB device using uhci_hcd and address 3
[38042.952410] usb 1-1.1: configuration #1 chosen from 1 choice
[38042.965715] usb 1-1.1: New USB device found, idVendor=0403, idProduct=6001
[38042.966072] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[38042.966155] usb 1-1.1: Product: FT232R USB UART
[38042.966428] usb 1-1.1: Manufacturer: FTDI
[38042.966681] usb 1-1.1: SerialNumber: A9009peL
[38043.412694] usbcore: registered new interface driver usbserial
[38043.412793] usbserial: USB Serial support registered for generic
[38043.412912] usbcore: registered new interface driver usbserial_generic
[38043.412955] usbserial: USB Serial Driver core
[38043.444457] usbserial: USB Serial support registered for FTDI USB Serial Device
[38043.444594] ftdi_sio 1-1.1:1.0: FTDI USB Serial Device converter detected
[38043.444726] ftdi_sio: Detected FT232RL
[38043.444871] usb 1-1.1: FTDI USB Serial Device converter now attached to ttyUSB0
[38043.444969] usbcore: registered new interface driver ftdi_sio
[38043.445011] ftdi_sio: v1.4.3:USB FTDI Serial Converters Driver

ということで、無事に認識されました。引き続き、実際にFT232RLの先の物を動かしてみます。

# stty 9600 cs8
# screen /dev/ttyUSB0

で実際に制御することができました。

主な操作方法は、

  • ^A \ : 終了
  • ^A ^D : 切り離し(裏で動いたまま。 screen -r で再接続できる)

といったところでしょうか。懐かしいシリアルコンソール時代に便利だったコマンドですね。特に^A^Dは長時間の処理の際にコンソールを空けることができる(端末を占有せずに処理を続行させることができる)ので便利でした。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)