さて前回、RasPi2でkernel compileする記事を書きましたが、理由はdahdiをインストールしたかったからです。
debianには、module-assistantというkernel moduleを自動作成してくれる便利なコマンドがあるのですが、raspi2のkernel-headers等々必要なdeb pkgが見当たらないので、仕方なくkernel compileを行いました。
asteriskとdahdiをapt-getでインストールします。
# apt-get update # apt-get upgrade # apt-get install asterisk dahdi パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の特別パッケージがインストールされます: asterisk-config asterisk-core-sounds-en asterisk-core-sounds-en-gsm asterisk-modules asterisk-moh-opsound-gsm asterisk-voicemail autopoint dahdi-linux debhelper freetds-common fxload gettext html2text intltool-debian libgettextpo0 libgmime-2.6-0 libgpgme11 libical0 libiksemel3 liblua5.1-0 libmail-sendmail-perl libneon27-gnutls libodbc1 libperl5.14 libpq5 libpth20 libradiusclient-ng2 libresample1 libsaclm3 libsaevt3 libsensors4 libsnmp-base libsnmp15 libsox-fmt-alsa libsox-fmt-base libsox2 libspeexdsp1 libsqlite0 libsybdb5 libsys-hostname-long-perl libtonezone2.0 libunistring0 libvpb0 module-assistant po-debconf sox vpb-driver-source 提案パッケージ: asterisk-doc asterisk-dev asterisk-ooh323 asterisk-dahdi dh-make gettext-doc gpgsm gnupg2 libmyodbc odbc-postgresql tdsodbc unixodbc-bin lm-sensors snmp-mibs-downloader libsox-fmt-all vpb-utils libmail-box-perl 以下のパッケージが新たにインストールされます: asterisk asterisk-config asterisk-core-sounds-en asterisk-core-sounds-en-gsm asterisk-modules asterisk-moh-opsound-gsm asterisk-voicemail autopoint dahdi dahdi-linux debhelper freetds-common fxload gettext html2text intltool-debian libgettextpo0 libgmime-2.6-0 libgpgme11 libical0 libiksemel3 liblua5.1-0 libmail-sendmail-perl libneon27-gnutls libodbc1 libperl5.14 libpq5 libpth20 libradiusclient-ng2 libresample1 libsaclm3 libsaevt3 libsensors4 libsnmp-base libsnmp15 libsox-fmt-alsa libsox-fmt-base libsox2 libspeexdsp1 libsqlite0 libsybdb5 libsys-hostname-long-perl libtonezone2.0 libunistring0 libvpb0 module-assistant po-debconf sox vpb-driver-source アップグレード: 0 個、新規インストール: 49 個、削除: 0 個、保留: 0 個。 21.2 MB のアーカイブを取得する必要があります。 この操作後に追加で 40.7 MB のディスク容量が消費されます。 続行しますか [Y/n]? Y ITU-T 電話コードは、「81」
大量のpkgがインストールされます。
その後、dahdi.ko等のkernel moduleを別途インストールします。
dahdiのmake
# cd /usr/src # wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
現在のバージョンは、2.10.1なのでmvしておく。
# mv dahdi-linux-complete-current.tar.gz dahdi-linux-complete-2.10.1.tar.gz # tar zxvf dahdi-linux-complete-2.10.1.tar.gz
今回は、dahdi_dummyのみ必要なため、Kbuidを修正する。
# cd dahdi-linux-complete-2.10.1+2.10.1 # vi vi linux/drivers/dahdi/Kbuild
Kbuildのdiff
# diff Kbuild Kbuild- 2c2 < obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DUMMY) += dahdi_dummy.o --- > #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DUMMY) += dahdi_dummy.o 10,15c10,15 < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_OCT612X) += oct612x/ < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCT4XXP) += wct4xxp/ < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTC4XXP) += wctc4xxp/ < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM24XXP) += wctdm24xxp/ < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE12XP) += wcte12xp/ < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE13XP) += wcte13xp.o --- > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_OCT612X) += oct612x/ > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCT4XXP) += wct4xxp/ > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTC4XXP) += wctc4xxp/ > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM24XXP) += wctdm24xxp/ > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE12XP) += wcte12xp/ > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE13XP) += wcte13xp.o 23c23 < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE43X) += wcte43x.o --- > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE43X) += wcte43x.o 31c31 < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCAXX) += wcaxx.o --- > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCAXX) += wcaxx.o 39,48c39,48 < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM) += wctdm.o < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_VOICEBUS) += voicebus/ < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCB4XXP) += wcb4xxp/ < < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCT1XXP) += wct1xxp.o < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE11XP) += wcte11xp.o < < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCFXO) += wcfxo.o < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_TOR2) += tor2.o < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_PCIRADIO) += pciradio.o --- > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM) += wctdm.o > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_VOICEBUS) += voicebus/ > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCB4XXP) += wcb4xxp/ > > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCT1XXP) += wct1xxp.o > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE11XP) += wcte11xp.o > > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCFXO) += wcfxo.o > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_TOR2) += tor2.o > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_PCIRADIO) += pciradio.o 51c51 < #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_XPP) += xpp/ --- > obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_XPP) += xpp/
make&installする
# make -j6 # make install
/etc/dahdi/system.confを書く
system.confに何も書かなければ、dahdi_dummyが読み込まれるそうだが、とりあえず明示しておく。
# less system.conf # Autogenerated by /usr/sbin/dahdi_genconf on Tue Apr 7 14:48:14 2015 # If you edit this file and execute /usr/sbin/dahdi_genconf again, # your manual changes will be LOST. # Dahdi Configuration File # # This file is parsed by the Dahdi Configurator, dahdi_cfg # # Global data loadzone = jp defaultzone = jp # DAHDI Dummy dahdi_dummy
確認のため、dahdi.koを読み込んでみる。
$ lsmod Module Size Used by dahdi 207627 0 crc_ccitt 1141 1 dahdi
これでasteriskを設定する準備が出来た。
次は、asterisk本体を設定していく。
はじめまして。
DAHDIインストールを貴ホームページを参考に試みています。
しかしながら,なかなかうまくいかずに困っています。
わたくしの現在の開発?環境は,raspnebrry pi 3,B Rasbian lite です。
raspi2,kernel-make の箇所は,自信は御座いませんが掲載記事を参考に進めました。
DAHDIの現在のバージョンは,-2.11.1+2.11.1 でしたので,ホームページ掲載の,
-2.10.1+2.10.1を -2.11.1+2.11.1に読み換えて進めています。
ご多忙のところ大変恐縮ですが,下記お教えください。
<>掲載記事に”今回は、dahdi_dummyのみ必要なため、Kbuidを修正する。”
とございますが,どこをどのように修正すればよいのか不明です。
ご多忙のところ申し訳御座いませんが,なにとぞ,宜しくお願い申し上げます。
ご返信お待ち申し上げます。
いやいや、ずいぶん前の記事でRasPiも稼働していない状況で確認が出来ないので申し訳ないのですが、
Kbuildのdiffがあるので、これを読んでみると、必要なモジュール以外をコメントアウトしたような・・・
こんなかんじですので、不要なカ所に「#」を追加していけば良いと思います。
元々、dahdi_dummy.oはbuildしないけれど、必要なので、「#」を外し、不要なmoduleは「#」を追加していくみたいな感じで。
役に立たず申し訳ありません。
ご返信ありがとうございます。
DAHDIの組込みができずに困っています。
引き続き色々と試してみます。
ありがとうございました。