Q. Plug & Play の内蔵モデムを使いたい。
A. まず、そのモデムが (いわゆる) WinModem で "ない" ことを確認してくだ
さい。WinModem の場合、一部モデルに関しては専用のデバイスドライバが
ports にあります。[管理番号 832] を参照してください。
内蔵モデムの一般的な使用法は [管理番号 574] を参照してください。ここ
では Plug & Play (以下 PnP) の内蔵モデムについての特記事項のみ示します。
実は FreeBSD FAQ にそのものズバリの説明が記載されていますので、まずは
こちらを参照してください。
http://www.jp.FreeBSD.org/www.FreeBSD.org/doc/ja_JP.eucJP/books/faq/hardware.html#AEN979
この URL の内容を簡潔にまとめると次の説明のように、カーネル再構築を最大
で2回行う必要があります。
1. カーネルの PnP サポートを有効にするため、カーネルコンフィギュレーショ
ンファイルに以下の行を加えてカーネルを再構築します。
controller pnp0
2. 再構築したカーネルをインストール、再起動すると PnP サポートが有効に
なるので、再起動時に PnP モデムが次の例のように認識されます (dmesg
コマンドで確認できます)。重要なのは、PnP ID (例では 0x0302aa1a) と
ベンダー ID (例では FUJ0203) です。
CSN 2 Vendor ID: FUJ0203 [0x0302aa1a] Serial 0x08001a17 Comp ID: @@@0000 [0x00000000]
sio1: type 16550A
3. /sys/i386/isa/sio.c の 2777 行目 (FreeBSD のバージョンにより異りま
す) 付近の siopnp_ids[] に、上記で調べた PnP ID とベンダー ID を書
き加えます (/*...*/ 部分はコメントですので書かなくても OK です)。
static pnpid_t siopnp_ids[] = {
{ 0x5015f435, "MOT1550"},
{ 0x8113b04e, "Supra1381"},
{ 0x9012b04e, "Supra1290"},
{ 0x7121b04e, "SupraExpress 56i Sp"},
{ 0x11007256, "USR0011"},
{ 0x30207256, "USR2030"},
{ 0x31307256, "USR3031"},
{ 0x90307256, "USR3090"},
{ 0x0100440e, "Cardinal MVP288IV"},
{ 0x0302aa1a, "FUJ0203"}, /* 追加部分 */
{ 0 }
};
4. ふたたびカーネル再構築、インストール、再起動して以下のような起動時
メッセージが出てくれば成功です。下記例ではモデムが sio0 に認識され
ています。
CSN 2 Vendor ID: FUJ0203 [0x0302aa1a] Serial 0x08001a17 Comp ID: @@@0000 [0x00000000]
sio1: type 16550A
sio1 (siopnp <FUJ0203> sn 0x08001a17) at 0x3e8-0x3ef irq 9 on isa
5. 可能ならばこれらの情報を、パッチを付けて send-pr(1) してください。
上手くすれば次の FreeBSD のリリースでは、何もしないで使えるようにな
るかもしれません。なお、send-pr については [管理番号 19] を参照して
ください。
グループ名: modem