IT pass HikiWiki - [ROUTER]cuの設定 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

cu を用いてシリアル通信を行う方法を解説する.

== 通信仕様

Yamaha RTX 3000のシリアル通信の仕様は, 取扱説明書 p.45に載っている.

転記すると,

   * データ転送速度 9600 bit/s
   * キャラクタビット長 8
   * パリティチェック 無し
   * ストップビット数 1
   * フロー制御 Xon/Xoff

である.

== 初期設定

FreeBSD 6.2-RELEASEの場合, com0ポートにつないだシリアルケーブルは, /dev/ttyd0として見える.  そこで, /etc/ttysのttyd0で始まる行を以下のようにする.

  ttyd0   "/usr/libexec/getty std.9600"   kterm   off secure

ktermと書いたところは, 適当に使用する端末において指定する環境変数TERMを設定する(ハズ). その次の項目は必ず offにすること(ログインプロンプトを出すかどうかの指定). std.9600という指定は, /etc/gettytabにstd.9600で始まる行で表される設定を意味する. 特に変えずにデフォルトで良い. 以上のように設定を書いた後,

  # kill -HUP 1

によって, init(8)にhang upシグナルを送り, /etc/ttysを読み直させる.

== 通常運用

端末を設定する. 以下ではrootで操作した場合を記す. sudoを使う場合は適宜読み変えること.

  # stty -f /dev/ttyd0.lock cs8 9600 -istrip ixon ixoff

これは起動後に1度やれば十分である. (どこかの設定ファイルに書いておけば起動時に実行してくれるはずだが, 未調査. )

通信を開始するには

  # cu -l /dev/ttyd0

と入力する. 「Connected」と表示されたら再度 Enter を入力し,
「Password:」が表示されたらパスワードを入力して Enter を入力する.

通信を強制終了するには,
~と^D (CTRL-Dのこと) を続けて入力すればよい.

なお, 同時にアクセスできるユーザは一人であり,
2 人目のユーザがアクセスすると「all ports busy」
とエラーが返る.