Linux Install Memo

サーバー管理者によるLinux関連ソフトのインストールメモ

Home » 旧:パケット編メモ

旧:パケット編メモ

■序章

何をいまさらパケット!?バカいってんじゃないョ、と言う声も聞こえて
来そうですが、先日「パケットをしたくて免許を取ったんですけど」と
いう人がひょっこり私たちのお茶会に来て感化されました。

ここでやらねばもうずっとやらない、と一念発起し、自宅のサーバーが
ぶっ飛んでからほったらかしていた無線側ポートを復活させる気になり
ましたので、最新の情報にしてみます。

単にCOMポートを使う場合だけでなく、Kernel2.4系でのサウンドモデム
のインストールなどもありますので、TNCが無いからパケットなんて、
と言う方も参考にされてください。

いずれにしてもすでに時代遅れの感もありますが、パケット関連のメモ
なんて多分これが最後か!?思いますので予めご了承ください。

2005.02.05 Amusement BiG-NET/F.W.Network T.Kabu(JS1FVG)

■パケット編目次
□XFBB復活編(旧:xfbbd(xfbb-7))
□VAIO + Vine3.1 + Soundmodem = RBBS!?

■諸条件

いわゆる普通のIBM-PC/AT互換機でCOMポートがあればよいです。さらに
TNCがあると楽勝なのですが、いまさらTNCなんて入手不可能だと思うの
で、音源をTNCとして動かす「soundmodem」(サウンドモデム)を利用
する方法も、カーネル版ドライバーならびにALSAという汎用ドライバの
両方を併記しておきます。

□XFBB復活編(旧:xfbbd(xfbb-7))

XFBBとはF6FBBさんが開発したFWD-NET用のRBBSソフトです。このソフトが
いい所は転送が無線でもネット経由でも出来るので、ブロードバンドかつ
常時接続が当たり前となった、さらにTNCが入手困難になっている現在では
FWD-NETを維持するには欠かせないものとなりました。

ただ厄介なのは、FBBとなるとLinuxが前提となりますが、LinuxでAX.25を
扱うには最近になればなるほどあまりにも手探りな状態になっていること
だと思います。

そうはいっても JF の情報もやっと充実してきました。

http://www.linux.or.jp/JF/JFdocs/AX25-HOWTO/

とりあえずTNCがあるないに関わらず、AX.25についてはここを参照しながら
設定した方がいいと思います。

・まずはKernelの再構築

さすがに一時期KernelのオプションからすらAX.25のメニューが消えましたが
最近また復活たそうです。いやはや、そこまで見限らんでも…ってしょうが
ないか。(^^;

カーネルソースがあるものとして話を続けますが、無い場合にはとってきて
ください。

cd /usr/src/linux
make menuconfig

として、メニューモードでカーネルの設定をすると

> :
> SCSI support —>
> Fusion MPT device support —>
> IEEE 1394 (FireWire) support (EXPERIMENTAL) —>
> I2O device support —>
> Network device support —>
> Amateur Radio support —>
> IrDA (infrared) support —>
> ISDN subsystem —>
> :

というように「Amateur Radio support」がありますので、これを選択して

> [*] Amateur Radio support
> — Packet Radio protocols
> <*> Amateur Radio AX.25 Level 2 protocol
> [*] AX.25 DAMA Slave support
> <*> Amateur Radio NET/ROM protocol
> <*> Amateur Radio X.25 PLP (Rose)
> AX.25 network device drivers —>

と言うように、とりあえず全部選択します。
さらに「AX.25 network device drivers」を選択して

> — AX.25 network device drivers
> <*> Serial port KISS driver
> < > Serial port 6PACK driver
> < > BPQ Ethernet driver
> < > High-speed (DMA) SCC driver for AX.25
> < > Z8530 SCC driver
> < > BAYCOM ser12 fullduplex driver for AX.25
> < > BAYCOM ser12 halfduplex driver for AX.25
> < > YAM driver for AX.25

上記のようにとりあえず「Serial port KISS driver」を選択します。
で、あとはいつものように

make dep;make clean;make bzlilo

して、起動時のdmesgで

> :
> ip_tables: (C) 2000-2002 Netfilter core team
> arp_tables: (C) 2002 David S. Miller
> NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
> G4KLX NET/ROM for Linux. Version 0.7 for AX25.037 Linux 2.4
> F6FBB/G4KLX ROSE for Linux. Version 0.64 for AX25.037 Linux 2.4
> NET4: G4KLX/GW4PTS AX.25 for Linux. Version 0.37 for Linux NET4.0
> kjournald starting. Commit interval 5 seconds
> EXT3-fs: mounted filesystem with ordered data mode.
> :

というように、AX.25関連のドライバーが組み込まれていればOK!
続いてAX.25関連のツールを入れましょう。

・AX.25関連ツールのインストール

> libax25-0.0.7.tar.gz
> ax25-apps-0.0.4.tar.gz
> ax25-tools-0.0.5.tar.gz
> node-0.3.0.tar.gz

cd /usr/src/package/
wget ftp://fwnet.jp/pub/f6fbb/libax25_0.0.10.orig.tar.gz
cd /usr/src/
tar xvzf package/libax25_0.0.10.orig.tar.gz
cd libax25-0.0.10/
make clean
./configure –exec_prefix=/usr –sysconfdir=/etc –localstatedir=/var
make
make install
make installconf

すでにバイナリが出来てしまっているので作り直されない場合には
make clean をしてからとなる。

cd /usr/src/package/
wget ftp://fwnet.jp/pub/f6fbb/ax25-apps_0.0.6.orig.tar.gz
cd /usr/src/
tar xvzf package/ax25-apps_0.0.6.orig.tar.gz
cd ax25-apps-0.0.6/
./configure –prefix=/usr –sysconfdir=/etc –localstatedir=/var
make
make install

cd /usr/src/package/
wget ftp://fwnet.jp/pub/f6fbb/ax25-tools_0.0.8.orig.tar.gz
cd /usr/src/
tar xvzf package/ax25-tools_0.0.8.orig.tar.gz
cd ax25-tools-0.0.8/
./configure –prefix=/usr –sysconfdir=/etc –localstatedir=/var
make
make install
make installconf

cd /usr/src/package/
wget ftp://fwnet.jp/pub/f6fbb/node_0.3.0a.orig.tar.gz
cd /usr/src/
tar xvzf package/node_0.3.0a.orig.tar.gz
cd node-0.3.0a/
./configure

これ(node)だけは ./configure の段階で下記のように確認をされるので

> Include support for the AX.25 protocol ? [Y/n]: y
> Include support for the NetRom protocol ? [Y/n]: y
> Include support for the Rose protocol ? [Y/n]: n

と答えておく。Rose はよく判らないので外しておく。
ちなみに他のツールのインストール先を

> –prefix=/usr –sysconfdir=/etc –localstatedir=/var

以外にしている場合には、./configure 後に出来た Makefile.include の
中身を修正すること。

make
make install

して終わり。

※./configure に何もオプションをつけないと、それぞれのツールが

/etc/ax25/
/usr/local/etc/ax25/

のどちらかをみてごちゃごちゃになるので、上記のようにするのが正解。

・とりあえずモニター

ここまで来たらとりあえず動作確認をします。

「COM1(ttyS0)をax0として宣言して、9600bpsでKISSモードのTNCを接続」

という前提で説明します。

まずはデバイスにポート名(とIPアドレス)をつけます。
以前は axattach ですが、現在はkissattachになっています。

/usr/sbin/kissattach /dev/ttyS0 ax0 192.168.0.20

のようにして、COM1(ttyS0) を ax0 というポート名にして、このデバイス
のIPアドレスを 192.168.0.20 にする。
IPアドレスは他の機器とぶつからないアドレスにすること。

で、/etc/ax25/axports に下記のようにポート名とコール、そしてCOMポート
のボーレート、そして TNC としての PACLEN と MAXFRAME、後はメモを書く。

> #
> # The format of this file is:
> #
> # name callsign speed paclen window description
> #
> ax0 JM1YSB 9600 128 5 144.68 MHz (1200 bps)
> #ax1 JM1YSB 9600 128 5 431.20 MHz (1200 bps)
> #ax2 JM1YSB 1200 128 5 1296.10 MHz (1200 bps)
> #ax3 JM1YSB 1200 128 5 5680.00 MHz (1.5M bps)

で、TNC をもう接続しているなら

/usr/bin/listen -p ax0

としてモニターを開始。うまくピギャーと言う音が復調できれば

> ax0: fm JA1RBY to APU25N via WIDE ctl UIv pid=F0(Text) len 76
> 0000 }JA1YKX>APS224,TCPIP,JA1RBY*:<IGATE MSG_CNT=10254 LOC_CNT=1 FILL
> 0040 _CNT=120474.

とか

> ax0: fm JH1RQB to BEACON via JK1ZOW JH1RQB-10 JO1DZO ctl UI pid=F0(Text) len 69
> 0000 http://homepage2.nifty.com/rqb/index.htm.牀罧覡貴?Mail for: ALL
> 0040 :::,.

> ax0: fm JI1SUV to BEACON ctl UI pid=F0(Text) len 114
> 0000 DE JI1SUV MINATO-KU TOKYO MB/JI1SUV-10 DIGIPEAT&NODE/JI1SUV-1 WI
> 0040 RES/431.42MHz TSQ:77Hz 5142D.[D.[D.[D.[D.[D#5142D.

といったパケットデータがモニターできるはず。

出来ない場合にはシリアルの設定を確認しましょう。

起動時の記録(気が利いていれば /var/log/dmesg がある)に

> ttyS00 at 0x03f8 (irq = 4) is a 16550A
> ttyS01 at 0x02f8 (irq = 3) is a 16550A

というように、COMポートの認識がされていればOK。
されていないならCOMポートを認識するようにします。
/etc/rc.d/rc.serial が起動時にちゃんと読み込まれて処理されているか、
またそのときにエラーが出ていないかどうかを確認します。
同じ事を手動でやってもOK。

setserial -g /dev/ttyS0
setserial -g /dev/ttyS1

とかして、

> /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
> /dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3

というようになるなら、COMポートはちゃんと認識されてますので、再度
パケットのモニターをチャレンジしてください。

モニターが出来たら本番の設定をしましょう。前述したCOMポートの設定
以外にも、xfbb で使うポートすべてを設定します。

起動時に上記の処置を自動的に行いたいので、/etc/rc.d/rc.local に

> #
> if [ -x /etc/rc.d/rc.ax25 ]; then
> /etc/rc.d/rc.ax25
> fi

と書き足して、さらに /etc/rc.d/rc.ax25 というファイルを新規に
次のように作成しました。とりあえず ax0, ax1 の2ポート出します。

> #
> # kissattach & nrattach (ex. axattach & nrattach)
> #
> /usr/sbin/kissattach /dev/ttyS0 ax0 192.168.0.20
> /usr/sbin/kissattach /dev/ttyS1 ax1 192.168.0.21
> #/usr/sbin/kissattach /dev/ttyS2 ax2 192.168.0.22
> #/usr/sbin/kissattach /dev/ttyS3 ax3 192.168.0.23
> /usr/sbin/nrattach -i 192.168.0.11 netrom
> #
> # kiss port parameter set
> #
> /usr/sbin/kissparms -p ax0 -t 300 -s 128 -r 64
> /usr/sbin/kissparms -p ax1 -t 300 -s 128 -r 64
> #/usr/sbin/kissparms -p ax2 -t 300 -s 128 -r 64
> #/usr/sbin/kissparms -p ax3 -t 500 -s 128 -r 64
> #
> /usr/sbin/ax25d

ココに書いてある設定で説明していない

> /usr/sbin/kissparms -p ax0 -t 300 -s 128 -r 64

は、COMポートのTNC的なパラメータを設定します。

各パラメータの意味は

-p ax? … ポート ax? の指定
-t ??? … txd の設定
-s ??? … slottime の設定
-r ??? … persist の設定

です。

kissparam については他にもいろいろとありますので、
man kissparm として説明を参照してください。

また

> /usr/sbin/nrattach -i 192.168.0.11 netrom

は、NET/ROM の設定です。

> /usr/sbin/ax25d

は AX.25 のデーモンです。
/etc/ax25/ax25d.conf の設定を下記のようにします。

> # /etc/ax25/ax25d.conf
> #
> # ax25d Configuration File.
> #
> # AX.25 Ports begin with a ‘[‘.
> #
> [JM1YSB-0 VIA ax0]
> NOCALL * * * * * * L
> default * * * * * * – root /usr/sbin/ttylinkd ttylinkd
> #
> [JM1YSB-11 VIA ax0]
> NOCALL * * * * * * L
> default * * * * * * – root /usr/sbin/node node
> #
> [JM1YSB-1 VIA ax1]
> NOCALL * * * * * * L
> default * * * * * * – root /usr/sbin/ttylinkd ttylinkd
> #
> [JM1YSB-11 VIA ax1]
> NOCALL * * * * * * L
> default * * * * * * – root /usr/sbin/node node
> #
> #
> # NET/ROM Ports begin with a ‘<‘.
> #
> #
> <netrom>
> NOCALL * * * * * * L
> default * * * * * * – root /usr/sbin/node node
> #

ax0, ax1 どちらからも NET/ROM へのアクセスを許可させます。
また、NET/ROM 同士の通信も許可させます。

あとは /etc/ax25/node.conf 内のコールサインとかネットワークとかを
変更します。

:
> HostName netrom.js1fvg.mydns.jp
:
> NodeId SHIBUYA:JM1YSB-11
:
> LocalNet 192.168.0.0/24
:
> NodePrompt “SHIBUYA:JM1YSB-11 [%i] >\n”
:

などです。

あと、/etc/ax25/node.perms を変更しないと、無線側から TELNET などで
入れてしまうので気をつけましょう。

> * ax25 * * 7
> * netrom * * 7
> * local * * 7
> * ampr * * 7
> * inet * * 7
> * host * * 7

特定コールを外して、全般的にパーミッションをこのようにしておけばいい
でしょう。パーミッションについて詳しくはJFに書いてあります。

で、

/usr/sbin/ax25d

として AX.25 のデーモンを起動します。

ここまで来たら、今度は外部からコネクトできるかどうかを確認しましょう。
(もしくはしてもらいましょう)

> *** CONNECTED to JM1YSB
> *** DISCONNECTED

反応がありました。

で、NET/ROMも下記のようにばっちりOK!

> cmd:c jm1ysb-11
> cmd:*** CONNECTED to JM1YSB-11
> SHIBUYA:JM1YSB-11 Welcome to netrom.js1fvg.mydns.jp network node
>
> Type ? for a list of commands. help <commandname> gives a description
> of the named command.
>
> —
> SHIBUYA:JM1YSB-11 [20:28:21] >
> ?
> SHIBUYA:JM1YSB-11 Commands:
> ?, Bye, CAllbook, CLuster, Connect, CONVers, ECho, Escape, Finger, Help
> HOst, Info, Links, Mheard, NLinks, Nodes, PIng, PMS, Ports, Routes
> Status, TAlk, Telnet, TIme, Users, ZConnect, ZTelnet
> SHIBUYA:JM1YSB-11 [20:28:21] >
> b
> SHIBUYA:JM1YSB-11 Goodbye
> *** DISCONNECTED

さて、では本題の xfbb に行きましょう。

・xfbb のインストール

http://www.f6fbb.org/ に情報がありますが、最近ではWEBページも更新して
いないようで、FTPサイトのほうに入るとWEBページよりもさらに新しいバー
ジョンがあったりします。今回はとりあえず最新版を入れてみます。

FWNETサーバーではこのサイトのFTPディレクトリをミラーしていますので、
日本国内からならこちらからダウンロードしたほうが早いでしょう。

cd /usr/src/package/
wget ftp://fwnet.jp/pub/f6fbb/ftp.lip6.fr/pub/hamradio/f6fbb/distrib/linux/src/xd704j-src.tgz
cd /usr/src/
tar xvzf package/xd704j-src.tgz
cd fbbsrc.704j/src

で、まず Makefile の最後の方を下記のように修正(-lcurses にする)

:
> ifeq ($(USE_NCURSES),1)
> CFLAGS += -DUSE_NCURSES
> xfbbC : xfbbC.o md5c.o terminal.o
> $(CC) $(CFLAGS) -o xfbbC -lcurses xfbbC.o md5c.o terminal.o
> else
> xfbbC : xfbbC.o md5c.o
> @echo “***”
> @echo “*** ncurses is not installed. xfbbC client will use terminal mode”
> @echo “***”
> $(CC) $(CFLAGS) -o xfbbC xfbbC.o md5c.o
> endif

としたら、

make

とすると以下のバイナリが出来る。

xfbbd, fbbgetconf, epurmess, epurwp, reqdir, clr_user, maintinf, xfbbC

エラーが無ければそのまま

make install

すると、

> FBB installation tool
>
> Warning ! This will replace binaries. Configuration files will not be replaced.
> Go on anyway ? (Y/N)

ときかれて、「Y」とするとインストールされます。

これでモノは出来ましたので、あとは ax25 関連と xfbb の調整です。

・xfbb の設定

いきなりですが、

/usr/sbin/fbb

とすると、最初の起動の場合にはいろいろと聞かれます。

グリッドロケーターも計算しておきましょう。
住所から緯度経度を出すならここ。

http://www.mapfan.com/

で、マークしたところのURLに具体的な北緯と軽度が書いてありますので、
グリッドロケーターの算出はここで。

http://homepage3.nifty.com/jl1pmh/

で、下記のように入力します。

> Configuration files does not exist. Create them (Y/N) ?Y
>
> Callsign of the BBS without ssid (Ex: F6FBB) : JM1YSB
> SSID of the BBS (Ex : 1) : 10
> Hierarchical address (Ex : FMLR.FRA.EU) : 10.JNET1.JPN.AS
> QRA-Locator of the BBS (Ex : JN03QL) : PM95UP
> City of the BBS (Ex : Toulouse) : Shibuya
> Name of the SysOp (Ex : Jean-Paul) : T.Kabu
> Callsign of the SysOp without SSID (Ex : F6FBB) : JS1FVG
> Difference with GMT time (Ex : +1) : +9
>
> BBS : JM1YSB.10.JNET1.JPN.AS
> SSID : 10
> LOCATOR : PM95UP (Shibuya)
> SYSOP : JS1FVG (T.Kabu)
> TIME : GMT +9
>
> Correct (Y/N) ? Y

ここまでの設定は /etc/ax25/fbb.conf に出力されます。
そのまま進んでいくと、今度はCOMポートの設定を聞かれます。

> Name of the port #1 as named in axport (<CR> to end) : ax0
> Number of channels : 5
> Frequency : 144.68
>
> Name of the port #2 as named in axport (<CR> to end) : ax1
> Number of channels : 5
> Frequency : 1296.10
>
> Name of the port #3 as named in axport (<CR> to end) :
>
> Port 1 on axport ax0 (5 channels) Freq=144.68
> Port 2 on axport ax1 (5 channels) Freq=1296.10
>
> Correct (Y/N) ? Y

すると、下記のようにまだまだ聞かれるので

> Creating port.sys … Ok
> Creating beacon1.sys … Ok
> Creating beacon2.sys … Ok
> Checking fbb tree…. Ok
:
:
> Cannot open /var/ax25/fbb/sat/satel.dat
> Creating file /var/ax25/fbb/sat/satel.dat (Y/N) ? Y
> Creating file /var/ax25/fbb/sat/satel.dat
> Cannot open /var/ax25/fbb/statis.dat
> Creating file /var/ax25/fbb/statis.dat (Y/N) ? Y
> Creating file /var/ax25/fbb/statis.dat
> Cannot open TPSTAT.SYS
> Creating file TPSTAT.SYS (Y/N) ? Y
> Creating file TPSTAT.SYS
> RS232 ports set-up
> Ports set-up
> 10 channels ok
> TNC set-up
> TNC ports set-up
> rsconfig: port rose not active
> CAN_AX25
> End TNC set-up
> CAN_AX25
> End TNC set-up
> BID set-up
> Callsign set-up
> Callsigns set-up
> Cannot open /var/ax25/fbb/inf.sys
> Creating file /var/ax25/fbb/inf.sys (Y/N) ? Y
> Creating file /var/ax25/fbb/inf.sys
> Cannot open /var/ax25/fbb/dirmes.sys
> Creating file /var/ax25/fbb/dirmes.sys (Y/N) ? Y
> Creating file /var/ax25/fbb/dirmes.sys
> Message set-up
> Next message 101
> End – 0 forward(s)
> Files set-up complete
> FORWARD set-up
> BBS set-up
> Cannot open ETAT.SYS
> Creating file ETAT.SYS (Y/N) ? Y

と、ここまでやると

> Set-up complete
> GMT 08:21 – LOCAL 17:21
> Starting multitasking … ok
>
> FBB options : (none)
> Running XFBB in background mode ^C to abort
> Starting XFBB (pwd = /var/ax25/fbb)…

となって、コマンドプロンプトに戻ります。

で、プロセスを見てみると

> root 30166 0.0 0.2 2236 1100 pts/2 S 17:21 0:00 /bin/sh /usr/sbin/fbb
> root 30168 0.1 0.2 2520 1080 pts/2 S 17:21 0:00 /usr/sbin/xfbbd

ちゃんとこんな風に動いています。

・xfbb に無線側からログイン

無線側からコネクトしてログインしてもいいですし、LAN側からアクセス
してもいいんですけど、とりあえず無線から行きます。

FBB の設定は /etc/ax25/fbb にあります。この中でコネクトに特に必要
なのが、port.sys です。xfbb も 7.04 くらいになると説明が無くなって
しまっています。

> # FBB7.03
> #
> #Ports TNCs
> 1 2
> #
> #Com Interface Adress (Hex) Baud
> 1 9 0 9600
> #
> #TNC NbCh Com MultCh Pacln Maxfr NbFwd MxBloc M/P-Fwd Mode Freq
> 0 0 0 0 0 0 0 0 00/01 —- File-fwd.
> 1 5 1 ax0 128 5 3 10 00/15 XUWYL 144.68
> 2 5 2 ax1 128 5 3 10 00/15 XUWYL 1296.10
> #
> # End of file.
> #

なぜか 7.04 で作っていても 7.03 とコメントされていますが気にしないで
各設定を説明すると、

> #Ports TNCs
> 1 2

これはポートの設定。ポートといっても無線機とかCOMポートのことでなくて
xfbbから見たデバイスの種類です。Linuxのax25dは、ax25dでいくつポートを
管理していても、xfbbからみたらax25dは1つなのでPortsは1つです。で、TNC
の数はTNCsに書きます。TNCが2台だからといってPortsも2と言うわけではない
ので注意。またtelnetポートはそれもそれで1つです。なので、telnetを使わ
なければココはTNCsの数だけ書き換えればOKです。

> #Com Interface Adress (Hex) Baud
> 1 9 0 9600

同様にここもComというのがxfbbから見た同じです。ココは普通は変更する
必要は無いでしょう。telnetをするときには、

> 2 9 189C 9600

この行を追加してください。Adress は TCP のポート番号になります。

> #TNC NbCh Com MultCh Pacln Maxfr NbFwd MxBloc M/P-Fwd Mode Freq
> # 0 0 0 0 0 0 0 0 00/01 —- File-fwd.
> 1 5 1 ax0 128 5 3 10 00/15 XUWYL 144.68
> 2 5 2 ax1 128 5 3 10 00/15 XUWYL 1296.10

これはTNCごとの設定を1行に1個分づつ書きます。
必要な項目としては

TNC … TNC の番号
NbCh … ポートの最大接続数
Com … ポート番号
MultCh … ax25d でのデバイス名
NbFwd … そのポートでの最大転送局数

そして Mode は

> # Port mode, one of these:
> # B : BBS-mode.
> # G : “Guest”-mode.
> # U : Normal-mode.
> # Type host-mode, one of these:
> # H : SCS/PTC-II (extended/WA8DED emulation) pactor TNC.
> # D : WA8DED
> # K : KAM hostmode. Must use ESSKAM driver.
> # P : PK-232
> # Q : BPQ v 4.x
> # T : Ethernet/TCP-IP
> # X : AX25 domain socket (for Linux)
> # Addition: One or more of these letters can be used too:
> # L : Send unproto beacon after each arriving mail.
> # M : Telephone-modem.
> # Y : Yapp allowed on this QRG.
> # W : Gateway allowed TO this QRG.
> # R : Read-only mode (any port).
> # Freq. : Text to describe this port (max 9 characters, no space)

と言う意味です。

これだけ設定しておけばとりあえず繋がるので、先ほど /usr/sbin/fbb と
して xfbb を起動してしまっている場合には、

killall xfbbd
/usr/sbin/fbb

として、一度止めてから再起動します。ちなみに xfbb が正常に起動すると
必ずビーコンが出ます。ビーコンメッセージは /etc/ax25/fbb/beacon?.sys
にポート別に書くことが出来ます。

> % 15
> ! MAIL
> $d $Tz $O-$o FWD-NET in Shibuya. (@FWNET http://www.fwnet.jp/)

こんな風に書いておくと

> JM1YSB-10>MAIL <UI C>:
> 18-Jan 21:53z JM1YSB-10 FWD-NET in Shibuya. (@FWNET http://www.fwnet.jp/)

とビーコンが出ます。出ない場合には設定が間違えているか、接続が間違え
ている可能性があるので、TNCのランプを見ながら確認しましょう。

で、コネクトするとこんな風になります。

> cmd:*** CONNECTED to JM1YSB-10
> [FBB-7.04j-AB1FHMRX$]
>
> Welcome to The Toulouse Mailbox
>
> User : JS1FVG (???)
> Calling from :
> HomeBBS : JM1YSB.10.JNET1.JPN.AS
> Postal Area :
>
> Last log-in : 18:43 18-Jan-05
> Last Received : 100
> Last Listed : 80
> Active Msg’s : 0
>
> Current Users are:-
>
> Ch. 1 (144.68) : JS1FVG-0 – Tue 18/01/05 20:39
>
> Please enter your first name:- Example: “Jean-Paul<return>”
> T.Kabu
> Please enter your Town name:- Example: “London <return>”
> Shibuya
> Please enter your Postal area:- Example: “WV16 <return>”
> 150-0011
>
> Thank you…
>
> Mailbox Menu
> ————
> B: Bye C: Conference D: DOS Area F: Facilities
> K: Kill Mail L: List Mail O: Options R: Read Mail
> S: Send Mail TH: News-Groups !: System Info ?: Help
>
> >

なんか改行コードがいまいちなのか、入力したのに受け付けてもらえない
ことがあるようなのですが、とりあえずいけました。メニューなどの文章
は /etc/ax25/fbb/lang の中の言語ファイルを編集してください。
日本語のファイルについてはメールなどでご連絡頂ければコピーします。

> cmd:c jm1ysb-10
> cmd:*** CONNECTED to JM1YSB-10
> [FBB-7.04j-AB1FHMRX$]
>
> こんにちは T.Kabu さん..
> 総Msg数: 0, 最終番号: 100, 前回リスト: 80
> 使用中チャンネル:
> Ch. 1 (144.68) : JS1FVG-0 – Tue 18/01/05 22:56
>
> (1) JM1YSB BBS>

こんな感じです。

・xfbb にLANからログイン

では続いてTELNETでログインできるようにします。
まず /etc/ax25/fbb/port.sys に設定を追加します。

> # FBB7.03
> #
> #Ports TNCs
> 2 3
> #
> #Com Interface Adress (Hex) Baud
> 1 9 0 9600
> 2 9 189C 9600
> #
> #TNC NbCh Com MultCh Pacln Maxfr NbFwd MxBloc M/P-Fwd Mode Freq
> #0 0 0 0 0 0 0 0 00/01 —- File-fwd.
> 1 5 1 ax0 128 5 3 10 00/15 XUWYL 144.68
> 2 5 2 ax1 128 5 3 10 00/15 XUWYL 1296.10
> 3 5 2 0 250 5 3 10 00/60 TUWY Telnet
> #
> # End of file.
> #

Ports と TNCs は現状より+1、Address には HEX(16進) で 6300 番を指定
して、Telnet 用の設定を追加しておきます。

さらに、いろいろな設定をするために /etc/ax25/fbb/passwd.sys を編集
して、SYSOP用コールのパーミッションやパスワードを設定します。

まずは自分とYSBを設定して、

> #
> # Password for all non defined callsigns (one case dependant line)
> #
> #password
> #
> # Rights and password specific to callsigns (one or more lines)
> #
> JS1FVG 63 1023 ********
> #
> # End of passwd.sys file
> #

そしたら xfbb を再起動して、

killall xfbbd
/usr/sbin/fbb

コンソールからログインします。

/usr/sbin/xfbbC -c -h localhost -i JS1FVG -w ******** -r

で入れます。

> # telnet localhost 6300
> Trying 127.0.0.1…
> Connected to localhost.
> Escape character is ‘^]’.
>
> JS1FVG BBS. TELNET Access
>
> Callsign : js1fvg
> Password : ********
>
> Logon Ok. Type NP to change password.
>
> [FBB-7.00g-AB1FHMRX$]
> The Toulouse Mailbox
>
> F6FBB >

そしたら SYS コマンドで SYSOP モードになります。

> F6FBB >
> sys
> JM1YSB-10> 0 0 0 0 0 [1106058666]
> ********
> Ok
>
> F6FBB >

として、EU コマンドでパスワードなどを設定します。

> F6FBB >
> eu js1fvg
> Callsign LastConnect #Cnct RPBSXLFEMUI Name Password Private
> JS1FVG-0 050118/2326 10 .P….F..UI T.Kabu
> HomeBBS: JM1YSB.10.JNET1.JPN.AS Postcode: 100113
> Delete [JS1FVG] (Y/N) ?
> RPBSXLEMU, (N)ame, Pass(W)ord, Lan(G)uage #, Pri(V)-Dir, (Cr)=End >
> W ********

あとは B(BBS) などを適当に設定すれば終わり。

・本格的な運用に向けて

1.起動時に上記の処置を自動的に行いたいので、/etc/rc.d/rc.local に

> #
> if [ -x /etc/rc.d/rc.ax25 ]; then
> /etc/rc.d/rc.ax25
> fi
> #
> if [ -x /usr/sbin/fbb ]; then
> echo -n “Starting XFBB server ”
> /usr/sbin/epurmess
> /usr/sbin/fbb
> echo “.”
> fi

と書き足す。

2.init.srv 設定は fbb.conf に移動

xfbb を起動すると

> yapp : /var/ax25/fbb/fbbdos/yapp
> docs : /var/ax25/fbb/docs
> name : T.Kabu
> syso : JS1FVG
> sysm :
> impo : /var/ax25/fbb/mail/mail.in
> logs : OK
> test : NO
> fbbf : OK 160
> fbbc : OK 3
> aski : OK
> mask : 3616
> secu : 0 4 59
> warn : 255
> hous : 2
> time : 10 20
> maxd : 0 0
> loca : +9
> beac : 8
> scro : 1500 1500 1500
> fwdh : [$c] $$:$R
> maxb : 30000
> life : 30
> wpca :
> zipc : 000000
> unpr : 500 5 P
> upba :
> dwba :
> pg : /usr/lib/fbb/pg
> fdir : /usr/lib/fbb/filter
> sdir : /usr/lib/fbb/server
> tdir : /usr/lib/fbb/tool
> poph :

というメッセージが出てきますが、ここに昔 init.srv に書いていた設定が
表示されています。詳しくはプログラムそのものを見ないといけませんが、
/usr/src/fbbsrc.704j/src/init_srv.c の中に意味が書いてあります。

私の場合には同一コールで多段中継をしないといけないので、BID の書式を
変えたいために /etc/ax25/fbb.conf に、下記を参照して現状の数値に1024
を足した値を書かないといけません。

> case 18:
> fbb_fwd = (toupper (*ptr) == ‘O’);
> /*
> 1 : Espace obligatoire avant le @ dans l’adresse
> 2 : Ne teste pas la limite a 6 des champs de l’adresse
> 4 : Ne tronque pas le header a l’espace < 79 caracteres
> 8 : Header MBL/RLI
> 16 : Si pas de champ BBS envoie l’indicatif de ma BBS (->PMS)
> 32 : Supprime les messages data au SYSOP
> 64 : N’utilise pas le BID cree a partir des headers si pas de BID
> 128: N’accepte le forward que des BBS declarees.
> 256: Les messages WP ne sont pas HOLD
> 512: XWFD has priority on FBB
> 1024: Alternate BID generation
> 2048: XFWD with checksum
> 4096: Simple check for callsigns (3 to 6 chars, 1 digit, 1 alpha).
> */
> std_header = 0;
> sscanf (ptr, “%*s %d”, &std_header);
> break;

これをみると、BID の書式は 1024 を追加すると変更されるそうなので、
デフォルトで

> fbbf : OK 160

となっている値(ちなみに 10100000 ですので、32 と 128 が有効)に1024
を足した 1184 を /etc/ax25/fbb.conf の最後にでも

> #
> fbbfwd = OK 1184

と追加してあげます。すると、ブリテンを書いたときに

> このメッセージ(# 103)の配信先 : YEBISU Bid: 103-JM1YSB Size: 8 bytes

のように、NO_CALL から NO-CALL みたいになります。

BID のフォーマットは /usr/src/fbbsrc.704j/src/fwdovl1.c にあります
ので、程よくカスタマイズしてもいいかもしれません。

3.転送設定は forward.sys と fwd/ に分けましょう。

転送設定はメンテナンスの関係上、宛先とその詳細に分けたほうがいいです。

/etc/ax25/fbb/forward.sys のサンプル:
> ****************************
> * *
> * FICHIER DE FORWARD F6FBB *
> * *
> ****************************
> *
> < fwd/jm1ysb
> < fwd/ja1aaa
:

というようにして、実際の転送設定は fwd/ 以下のファイルに記述します。

/etc/ax25/fbb/fwd/jm1ysb のサンプル:
> #
> A JM1YSB
> #
> P C
> #
> !H JM1YSB.10.JNET1.*
> #
> H *.10.JNET1.*
> #
> F JM1YSB
> B JM1YSB
> #
> G *
> #
> U FWNET
> U WITH
> U KDN
> U SAGAMI
> #
> C C JM1YSB 192.168.100.56 6300
> V JS1FVG$Wxxxxxxxx$W
> S JM1YSB is BUSY!?
> #
> R
> #
> ———

これは TELNET での転送の場合なので、コールの後ろに相手側のIPアドレス
があったり、IDとパスワード(ここではxxxxxxxxにしている)があります。

というわけであとは相手次第、いるかどうかが問題ですが…。(^^;

□VAIO + Vine3.1 + Soundmodem = RBBS!?

参考URL:
http://www.linux.or.jp/JF/JFdocs/AX25-HOWTO/
http://www.linux.or.jp/JF/JFdocs/alsa-install.html
http://www.asahi-net.or.jp/~el4y-ikuc/010127a/install.html#vine3
http://www2h.biglobe.ne.jp/~hnakamur/technolab/linux/sound/alsa.htm

なぜかVAIOが転がり込んできたので、これにVineLinuxをインストールして
サウンド機能を使ったノンTNCパケット端末にしてみます。

・VineLinuxのインストール
・カーネルのリビルド(AX.25関連)
・AX.25 関連のツールのインストール

をした後で、カーネル非依存のサウンドモデムをインストールする。

1.VineLinuxのインストール

VineLinuxは何らかの方法でインストールします。VAIOはCDが無いので
FDを作ってネットワークインストールしました。
で、インストールできたらとりあえずパッケージ類を最新に。

apt-get update

一回目は失敗するのでもう一度

apt-get update

してから、

apt-get dist-upgrade

します。

2.カーネルのリビルド(AX.25関連)

無事にアップグレードできたら、次にカーネルソースを取ってきます。
カーネルのソースはフルインストールでも入っていないので

apt-get install kernel-source

として取ってくる。そうするとヘッダーが無くなって curses.h が
ないと怒られてしまうのでこれも同様に

apt-get install ncurses-devel

としてヘッダー付の開発用バージョンを取ってくる。

ちなみにカーネルのエクストラバージョン(EXTRAVERSION)が「-0vl7.3」
だとなぜかコンパイルに失敗するので、そんなときは
「カーネルソースのコンパイルでエラーとなった場合」
を参照すること

で、

cd /usr/src/linux
make mrproper
make menuconfig

してカーネルの設定で AX.25 関連を全部組み込むようにしてコンパイル。

make dep clean bzImage modules modules_install

として、問題なく出来たら

/sbin/mkinitrd -f /boot/initrd-2.4.27-0vl7.3.img 2.4.27-0vl7.3
/sbin/installkernel 0vl7.3 arch/i386/boot/bzImage System.map

としてシステムをインストール。

注意:エクストラバージョン(EXTRAVERSION)部分は適時書き換え。

あとは、/etc/lilo.conf に

> prompt
> timeout=50
> default=linux
> boot=/dev/hda
> map=/boot/map
> install=menu
> message=/boot/message
>
> image=/boot/vmlinuz-2.4.27-0vl7.2
> label=linux
> initrd=/boot/initrd-2.4.27-0vl7.2.img
> read-only
> root=/dev/hda2
> append=” resume2=swap:/dev/hda3″
>
> image=/boot/vmlinuz-2.4.27-0vl7
> label=linux.old
> initrd=/boot/initrd-2.4.27-0vl7.img
> read-only
> root=/dev/hda2
> append=” resume2=swap:/dev/hda3″

こんな感じで新しいイメージを設定して

/sbin/lilo

して再起動。

3.AX.25 関連のツールのインストール

そしたら続いてサウンドデバイスのインストール。

カーネルドライバーでもいいし、色んなドライバーがあるALSAを使っても
いいともいます。ちなみにVAIOはALSAドライバーで×だったのでカーネル
ドライバーでやりました。

ALSAドライバーでやる場合には、後述の「ALSAドライバーのインストール」
を見て欲しいのですが、うまく動かないので参考程度まで。

さて、カーネルのコンフィグで

> Sound —>

から入って

> <M> Sound card support

> <M> OSS sound modules
> <M> NM256AV/NM256ZX audio support (NEW) Z505JXの場合
> <M> Yamaha YMF7xx PCI audio (native mode) Z505V/BWの場合

としてカーネルを作り直すとモジュールが出来ているはずです。

ちなみにZ505JX(NM256AV)の場合、Documentation/sound/NM256 を見てみると
soundcore, sound and nm256 モジュールを insmod しろとかいてあるけど、
実際には名前が違ってて

/sbin/insmod soundcore
/sbin/insmod sound
/sbin/insmod ac97
/sbin/insmod nm256_audio

です。で、

/sbin/lsmod

して

> Module Size Used by Not tainted
> nm256_audio 72484 0 (unused)
> ac97 5152 0 [nm256_audio]
> sound 76384 0 [nm256_audio]
> soundcore 7044 5 [sound]
> e100 59028 1

などのようにちゃんと読み込まれています。

一応 dmesg で確認してみると

> NeoMagic 256AV/256ZX audio driver, version 1.1p
> PCI: Found IRQ 9 for device 00:08.1
> PCI: Sharing IRQ 9 with 00:0a.0
> NM256: Found card signature in video RAM: 0x27ec00
> NM256: Mapping port 1 from 0x266c00 – 0x27ec00
> Initialized NeoMagic 256AV audio in PCI native mode
> Initialized AC97 mixer

となっています。

うまくいったら起動時に insmod するようにしましょう。
(/etc/rc.d/rc.ax25 とかを作ってその中でするのがいいかな?)
最初から /etc/modules.conf に書いてあるかもしれないので、
無駄な読み込みはしないように。

続いてサウンドモデムのインストール

cd /usr/src/package/
wget http://www.baycom.org/~tom/ham/soundmodem/soundmodem-0.9-1.src.rpm
rpm –rebuild soundmodem-0.9-1.src.rpm

とすると



> checking for libasound headers version >= 1.0.0… not present.
> configure: error: Sufficiently new version of libasound not found.

というように、libasound が無いよーとなったり、サウンドドライバーを
インストールしてこのエラーが通過しても「程よく古い」Vine でなければ
GTK が 1.2.0 以上でないよーと言う

> checking for GTK – version >= 1.2.0… no
> *** The gtk-config script installed by GTK could not be found
> *** If GTK was installed in PREFIX, make sure PREFIX/bin is in
> *** your path, or set the GTK_CONFIG environment variable to the
> *** full path to gtk-config.
> configure: error: Cannot find GTK: Is gtk-config in path?
> エラー: /var/tmp/rpm-tmp.10556 の不正な終了ステータス (%build)

こんなエラーが出る場合があります。
インストールされているGTK+が新しすぎ(Ver.2.xx台)でもだめらしい。

なのでRPMでなくてソースとしてインストールする。(これが確実!)

まず

apt-get install XOrg-devel
apt-get install audiofile-devel
apt-get install libxml-devel

として、X11 の開発環境と、最新の audiofile ライブラリをインストール。
XOrg-devel を入れないと gtk+ がインストールできないし、audiofile-devel
と libxml-devel を入れないとサウンドモデムがインストールできない。

で、

http://www.gtk.org/

から Glib-1.2.xx と GTK+-1.2.xx を取ってきて、既存のライブラリに
迷惑がかからないように、/usr/local/gtk-1.2.10 にインストールする。

cd /usr/src/package
wget ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz
wget ftp://ftp.gtk.org/pub/gtk/v1.2/gtk+-1.2.10.tar.gz

cd /usr/src
tar xvzf package/glib-1.2.10.tar.gz
cd ./glib-1.2.10
./configure –prefix=/usr/local/gtk-1.2.10 –enable-shared
make
make install

として、/etc/ld.so.conf に /usr/local/gtk-1.2.10/lib を追加して

/sbin/ldconfig -v | grep glib

として

> libglib-1.2.so.0 -> libglib-1.2.so.0.0.10
> libglib-2.0.so.0 -> libglib-2.0.so.0.400.7
> libglib-1.2.so.0 -> libglib.so ←こっち

上記のように glib が入っていることを確認してから

cd /usr/src
tar xvzf package/gtk+-1.2.10.tar.gz
cd ./gtk+-1.2.10
./configure –with-threads=posix –prefix=/usr/local/gtk-1.2.10 \
–enable-shared –with-glib-prefix=/usr/local/gtk-1.2.10
make
make install

で、さらに

/sbin/ldconfig -v | grep gtk

として、

> /sbin/ldconfig: Path `/usr/lib’ given more than once
> libgtkhtml-2.so.0 -> libgtkhtml-2.so.0.0.0
> libgtkxmhtml.so.1 -> libgtkxmhtml.so.1.0.1
> libgnorbagtk.so.0 -> libgnorbagtk.so.0.0.0
> libgtksourceview-1.0.so.0 -> libgtksourceview-1.0.so.0.0.0
> libgtk-x11-2.0.so.0 -> libgtk-x11-2.0.so.0.400.13
> libgtk-1.2.so.0 -> libgtk-1.2.so.0.9.1
> /usr/local/gtk-1.2.10/lib:
> libgtk-1.2.so.0 -> libgtk.so ←こっち

上記のように glib が入っていることを確認。
ちゃんと入ってたら

cd /usr/src/package
wget http://www.baycom.org/~tom/ham/soundmodem/soundmodem-0.9.tar.gz
cd /usr/src
tar xvzf package/soundmodem-0.9.tar.gz
cd soundmodem-0.9/
./configure –prefix=/usr –enable-mmx –with-gtk-prefix=/usr/local/gtk-1.2.10
make
make install

さて、これでやっとサウンドモデムが入りましたので、後は設定です。

export LD_PRELOAD=/usr/X11R6/lib/libXi.so
mkdir /etc/ax25/

としておいて、X上のターミナルから

soundmodemconfig

を実行する。export で環境変数を設定しておかないと XListInputDevices が
何たらと言うエラーが出る。

で、チャンネルとか適当に設定すると /etc/ax25/soundmodem.conf ができます。

> <?xml version=”1.0″?>
> <modem>
> <configuration name=”z505jz”>
> <chaccess txdelay=”300″ slottime=”128″ ppersist=”64″ fulldup=”0″ txtail=”50″/>
> <channel name=”Channel 0″>
> <mod mode=”afsk” bps=”1200″ f0=”1200″ f1=”2200″ diffenc=”1″ filter=”df9ic/g3ruh” inlv=”8″ fec=”3″ tunelen=”32″ synclen=”32″/>
> <demod mode=”afsk” bps=”1200″ f0=”1200″ f1=”2200″ diffdec=”1″/>
> <pkt mode=”MKISS” ifname=”sm0″ hwaddr=”JS1FVG-5″ ip=”192.168.100.55″ netmask=”255.255.255.0″ broadcast=”192.168.100.255″ file=”/dev/soundmodem0″ unlink=”1″/>
> </channel>
> <audio type=”soundcard” device=”/dev/dsp” halfdup=”0″ file=”” repeat=”0″ simchan=”0 – Ideal channel” snr=”10″ snrmode=”0 – White Gaussian” srate=”0″ capturechannelmode=”Mono”/>
> <ptt file=”/dev/ttyS0″/>
> </configuration>
> </modem>

で、/usr/src/soundmodem-0.9/ の中にある ./soundmodem.initscript が
サウンドモデムの起動スクリプト。とりあえずは

/usr/src/soundmodem-0.9/soundmodem.initscript start

としてサウンドモデムを起動すると、/sbin/ifconfig してみると

> sm0 リンク方法:AMPR AX.25 ハードウェアアドレス JS1FVG-5
> inetアドレス:192.168.100.55 ブロードキャスト:192.168.100.255 マスク:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:256 Metric:1
> RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0
> TXパケット:19 エラー:0 損失:0 オーバラン:0 キャリア:0
> 衝突(Collisions):0 TXキュー長:10
> RX bytes:0 (0.0 b) TX bytes:342 (342.0 b)

と言うのが出来ています。

さて、ここまでで実は kissattach をやってしまっています。
なので、まだ AX.25 関連をインストールしていない人は、
「□XFBB復活編」を見てインストールしてください。

で kissattach と kissparm の部分は飛ばして、/etc/ax25/axports と
/etc/ax25/ax25d.conf を書いてから /usr/sbin/ax25d を起動します。

通常の kissattach と違ってサウンドモデムで注意しないといけないのは、
サウンドモデムで定義したポートのコールサインが /etc/ax25/axports で
宣言するコールサインと一致しないといけません。

で、/usr/sbin/ax25d を起動して

> 1227 ttyS0 S 0:00 /usr/sbin/soundmodem –daemonize
> 1229 ttyS0 S 0:00 /usr/sbin/soundmodem –daemonize
> 1230 ttyS0 R 0:00 /usr/sbin/soundmodem –daemonize
> 1264 ? S 0:00 /usr/sbin/ax25d

こんな風に常駐すれば準備完了です。nrports がどうとか rsports がどう
とかいわれる場合は、先にも書いたようにここでは kissattach までしか
やっていないので、nrattach とかしてちゃんとデバイスを作ってあげれば
いい(と思う)。

あとは

> # call sm0 ja1aaa
> GW4PTS AX.25 Connect v1.11
> Trying…

とやると、ピギャーと出ていまして、対抗Linuxマシンで listen で
モニターしても

> ax1: fm JS1FVG-5 to JA1AAA ctl SABM+

と、ちゃんとSABMになってくれました。(^-^)v

あとは普通にXFBBをやるならそれの設定してください。

★補足:カーネルソースのコンパイルでエラーとなった場合

インストールを検証のために何度も試しているときに、いつの日にからか
セキュリティパッチが当たってエクストラバージョン(EXTRAVERSION)が
「-0vl7.3」になっていて、これだとコンパイルが通らなくなった。

結局大元のカーネルソースを取ってきて同じことをした。
ちなみに肝心のエクストラバージョンは -org にしました。(^^;

cd /usr/src/package
wget ftp://fwnet.jp/pub/kernel/linux-2.4.27.tar.bz2
cd /usr/src
tar xvzf package/linux-2.4.27.tar.bz2
cd /usr/src/linux
emacs Makefile

として、最初の方にあるエクストラバージョンを

> EXTRAVERSION = -org

とします。

あとは同様にコンパイルしてから、エクストラバージョンだけ違うので

/sbin/mkinitrd -f /boot/initrd-2.4.27-org.img 2.4.27-org
/sbin/installkernel 2.4.27-org arch/i386/boot/bzImage System.map

こんな感じでインストール。

で、このときに /etc/lilo.conf をいじった後だと installkernel の時

> Fatal: open /boot/initrd-2.4.27-xxxxx: No such file or directory

見たいなエラーが出るけど無視。/etc/lilo.conf をちゃんと書いて

/sbin/lilo

して再起動すれば大丈夫。

★補足:ALSA(Advanced Linux Sound Architecture)ドライバーのインストール

http://alsa.linux.or.jp/
http://tksh.s2.xrea.com/hardware/alsa.html

最近のカーネルにはOSS互換で色々な音源チップが対応していますので
わざわざ ALSA にしなくてもいいとおもいます。事実、NM256AV(Z505JX)
の場合には ALSA ではうまく動かないのでカーネルドライバーにしました。

ここではもう一台のVAIO(Z505V/BW)、YAHAMA YMF744B搭載マシンにASLAを
入れてみようと思います。

本家では 1.0.8 になっているがalsa-utils の make でエラーとなるので
こっちにある 1.0.4 をいれてみる。

cd /usr/src/package
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.4.tar.bz2
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.4.tar.bz2
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.4.tar.bz2

cd /usr/src/
tar xvzf package/alsa-driver-1.0.4.tar.bz2
cd alsa-driver-1.0.4/

と、ここまで来たら

http://www.alsa-project.org/alsa-doc/

で、configure オプションを調べた方が速い。
でないと全てのカードのモジュールを作るので、かったるい。
ちなみに下記は VAIO-Z505V/BW(YAHAMA YMF744B) の場合です。。

./configure –with-cards=ymfpci –with-sequencer=yes
make
make install
./snddevices
chmod a+rw /dev/dsp /dev/mixer /dev/sequencer /dev/midi

cd /usr/src/
bunzip2 -c package/alsa-lib-1.0.4.tar.bz2 | tar xvpf – -C ./
cd alsa-lib-1.0.4/
./configure
make
make install

cd /usr/src/
bunzip2 -c package/alsa-utils-1.0.4.tar.bz2 | tar xvpf – -C ./
cd alsa-utils-1.0.4/
./configure
make
make install

…1.0.4 だとエラーにならないなぁ。

で、

/sbin/depmod -a

してから

/sbin/modprobe snd-ymfpci
/sbin/modprobe snd-pcm-oss
/sbin/modprobe snd-mixer-oss
/sbin/modprobe snd-seq-oss

というように、いちいち読み込んでみる。

/sbin/lsmod

でちゃんとモジュールが読み込まれているかどうかを確認すればOK。

> # /sbin/lsmod
> Module Size Used by Not tainted
> snd-seq-oss 32480 0 (unused)
> snd-seq-midi-event 6432 0 [snd-seq-oss]
> snd-seq 51280 2 [snd-seq-oss snd-seq-midi-event]
> snd-pcm-oss 44740 0 (unused)
> snd-mixer-oss 16088 0 [snd-pcm-oss]
> snd-ymfpci 49984 0 (unused)
> snd-pcm 88064 0 [snd-pcm-oss snd-ymfpci]
> snd-page-alloc 9172 0 [snd-ymfpci snd-pcm]
> snd-opl3-lib 9156 0 [snd-ymfpci]
> snd-timer 20644 0 [snd-seq snd-ymfpci snd-pcm snd-opl3-lib]
> snd-hwdep 6240 0 [snd-opl3-lib]
> snd-mpu401-uart 5616 0 [snd-ymfpci]
> snd-rawmidi 18944 0 [snd-mpu401-uart]
> snd-seq-device 6108 0 [snd-seq-oss snd-seq snd-opl3-lib snd-rawmidi]
> snd-ac97-codec 60060 0 [snd-ymfpci]
> snd 48132 0 [snd-seq-oss snd-seq-midi-event snd-seq snd-pcm-oss snd-mixer-oss
> snd-ymfpci snd-pcm snd-opl3-lib snd-timer snd-hwdep snd-mpu401-uart snd-rawmidi snd-seq-device snd-a
> c97-codec]
> soundcore 7044 6 [snd]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です