読者です 読者をやめる 読者になる 読者になる

なんとな~くしあわせ?の日記

ClojureとかAWSの設定とかをメモする技術ブログ

Debianでシリアルポート接続



シリアルポート増設

Debian + AMD AシリーズCPU + ASUS M/Bで構成した自作PCについては以前書いた
メインPCをDebianに移行した - なんとな~くしあわせ?の日記

このマザーボード、シリアルポート用のインターフェースはあるけど、外から接続するためのモジュールがない(説明書には別途購入してくださいと書いてある)。
なので、ちょっと増設した。


こいつをPCIeにつけてやって、9ピンのCOMポートを外に出す。
本当はM/B備え付きのCOMポートから線を伸ばして、COMポートを出せばよかったんだけど…
店に行ってもなかったので、拡張用のボードをつけた。まあ買い物するのも楽しからずやです。

※単にCOMポートを出すだけなら下みたいなRS-232Cの延長ケーブルを買えばいい。

RS-232C延長ケーブル フラット式(ストレート結線) 30cm

RS-232C延長ケーブル フラット式(ストレート結線) 30cm

ドライバのインストール

このシリアルポート拡張ボードを使うにはドライバのインストールが必要です。
Linuxの場合ちょっとコマンドを打つ必要がある。

 // CDまで移動
 # cd /media/cdrom0/Moschip/MCS9900/
 // 作業用ディレクトリまで移動
 # cp -rp Linux/ /usr/local/src
 # cd /usr/local/src
 # cd Linux
 # make
 # insmod 99xx.ko
 # make install

 // シリアルポート接続用ツールのインストール
 # apt-get install cu setserial

シリアルポートへの接続

上記の手順を済ませると、/dev 以下に /ttyS* というデバイスが現れるが、そのままでは接続できない。

# ls /dev/ttyS*
/dev/ttyS0  /dev/ttyS1  /dev/ttyS2  /dev/ttyS3
# cu  -l  /dev/ttyS0
cu:  open  (/dev/ttyS0):  Permission denied
cu:  /dev/ttyS0:  Line in use

Debianではシリアルポートの管理グループはdialoutというグループで扱っており、そのグループに属していないとRead,Writeできないのだ。(…RHだとUUCPってグループでそれをやってた気がする。)

とりあえず、使用するユーザーをvigrを使ってdialoutに入れてやる。そのあとログアウト、ログインしてcuが使用できれば完了。

 # vigr
 - dialout:x:20:
 + dialout:x:20:root,hiroyuki // ← たぶんこんなふうに

 // ログアウトしてログイン

 // 成功!
 # cu -l /dev/ttyS1
Connected.

謎のエラー

あまり上記とは関係ないが、最近ずっとDBUSのエラーが出てて怖い。こんなやつ。
特に問題があるわけではないが気になる。

エラー: GDBus.Error:org.freedesktop.DBus.Error.Spawn.PermissionsInvalid: The permission of the setuid helper is not correct