Linux では、どんなモデムでも使えるわけではありません。ウィンドウズで使っているモデムの多くは、モデムの部品を減らして、ソフトウェアでその部分をエミュレートしているのです。最近モデムの値段が安くなっているのは、そのためです。こういうモデムは Linux では使えません。私は、最初 Linux 用に外付けモデムを買いました。外付けモデムはたいてい手抜きのない純正のモデムなのです。シリアルポートにつなぐだけで、設定も簡単でした。その後、買った内蔵モデムは Actiontec 56K PCI Call Waiting Modem (Model # PCI56012-01CW)で、Lucent Technologies のチップを使ってあり、Linux 対応をうたっていました。詳しくはウェブサイトをごらんください。
/proc/pci を読むと、 Communication controller: という行があって、そこにモデムの情報が示されます。その情報によると、このモデムは /dev/ttyS4 につながっています。ですから、通信プログラムの設定で /dev/ttyS4 を指定すればいいわけです。ところが、私の Linux では/dev/ttyS0-3 までしかないのです。それで、/dev/ttyS4 をつくることからはじめなければなりませんでした。新しいデバイスは次のようにつくります。なお#は、 root で login した時のコマンドプロンプトです。コメントを表わす記号にもこれを使いますが、ここではその意味ではありません。
# cd /dev # ./MAKEDEV ttyS4これができたら、/dev/modem にシンボリックリンクを貼っておきます。こうすることによって、いちいち/dev/ttyS4 を指定しなくても/dev/modem の指定で足りますので、何かと便利です。
# ln -s /dev/ttyS4 /dev/modem # chmod 666 /dev/ttyS4 # chmod 666 /dev/modemchmod コマンドでファイルの属性を変えているのは、どこからでもアクセスできるようにするためです。そして、/proc/pci から得た情報を入れてシリアルポートの設定コマンドsetserial を使って次のように設定しました。
# setserial /dev/modem uart 16550A port 0xd400 irq 11これでモデムが使えるようになります。どの情報がどこに収まっているか、お分かりですね。念のため minicom を起動して、モデムと通信させます。画面に OK が出れば、モデムが働いていることが分かります。minicom の使い方は Ctrl+A を押してそれから Z を押すと、ヘルプ画面が出ますので、それを参照してください。終了コマンドは Q です。
しかし、これだけでは、電源を切ったらそれまでです。ブート時にこの設定を保つには、/etc/rc.d/rc.local に、エディタを使って上記の setserial /dev/modem uart 16550A port 0xd400 irq 11 を最後の行に書き込みました。
ダイアルアップの設定については、Linux とインターネットのページをご覧ください。