モバイルLinux

@FreeD

実験的に@FreeD導入でモバイルLinuxしてみました。
実験機は「Panasonic CF-S22」、カードは「P-in Free 1P」。
OSは「VineLinux2.5」をモバイルノート標準でインストール。
接続に「ppxp」を使おうと考えていますが、「VineLinux2.5」では標準インストールされています。
今回の処理は全てコンソールでのコマンドで行っています。

rootでデバイスの確認と接続確認

1)
コマンド"dmesg"でデバイスの確認をします。
"ttyS2 at port 0x03e8 (irq = 5) is a TI16750"等の表示を探してください。
私の環境ではデバイスはttyS2でいいようです。
以下デバイスはttyS2で説明を通しますが、実際の自分の環境に置き換えてください。
ttyS02のように表示される場合もありますが、これもttyS2として構いません。

2)
ppxpの設定ファイルを作成します。
コマンド"ppxp"でppxpを起動するとプロンプトがppxp>に変わります。
コマンド"qdial"でqdialを起動します。
デバイス名を"/dev/ttyS2"にし、ダイアル形式は"Tone"。
契約内容に応じて電話番号、ユーザーID、パスワードを入力。
その他の設定はデフォルトでOKです。
設定に名前をつけて保存します。以後の説明のため仮に"atfreed"とします。
コマンド"quit"でppxpを抜けます。

3)
作成した設定ファイルで接続確認します。
"ppxp atfreed"でppxpを起動します。
コマンド"connect"で接続開始、プロンプトが大文字のPPXP>に変われば接続OKです。
ppxpコマンドはとりあえず次の3種の終了方法を覚えてください。
コマンド"quit"で接続を終了しppxpも終了します。
コマンド"disconnect"で接続のみ終了します。
コマンド"bye"で接続を持続したままppxpを抜けます。

rootで一般ユーザー接続準備

これでrootでの利用準備は出来ましたが一般ユーザーでの利用は制限されています。
"ppxpadduser"でユーザー登録が必要です。
仮にユーザー名を"USER1"とした時、
ppxpadduser USER1

これは下記の処理と同等ですのでどちらでもかまいません。
usermod -G uucp USER1
chmod 660 /dev/ttyS2
chgrp uucp /dev/ttyS2

一般ユーザで接続確認

一般ユーザーでログインしrootの時と同じにppxpの設定ファイルを作成、接続確認をします。

問題点

接続確認程度では問題ないのですが、本格的に通信を使おうとするとほぼ100%切断され使えません。
問題はデバイスを"TI16750"と認識しているところにあるらしく、"16550A"と認識させる必要があるようです。
ネットで検索したところ以下の解決策があるようです。

1)
カードが「P-in Free 1S」であれば問題ない(らしい)。
確認はしてませんが買い替えられる方は試してください。

2)
コマンドで認識を変える。
rootで"setserial /dev/ttyS2 uart 16550A"
一時的なものですのでLinuxを起動する都度行う必要があります。

3)
ドライバの設定を変える。
永続的な修正が可能ですが当然カーネルの再構築が必要です。
こちらのHPに少し詳しくありますので参照してください。