2016年3月9日水曜日

openwrt CC で chan_mobileを試す(暫定版)

Bluez5.30になってるしいけるんでねえの?

と、思い立って試してみた。
元々、日本でasteriskが流行らない上に
openwrtでasterisk11を動かす必要はないし
bluetoothでつなぐ必要なんてまるっきりないので
情報らしいものが全然ない(笑)

今のところ

(AR71xx)WNDR4300-> 音がぐちゃぐちゃで使いもんにならない
(RALINK)GL-MT300N+ハブ->なんか動いてる??
(BCM53xx)WZR-600DHP2->なんか動いてる??

能書きはいいからchan_mobile.soはよ! って人は
http://ppl.ug/Csl3k10giIY/ (MT7620用)





GL-MT300NというのはTP-LINKのぱちもの互換品を作ってるとこの製品

http://www.gl-inet.com/shop/

変に気が利いてるようで6416など本家の703を改造したもんより良かったりする。
上位版のGL-MT300Aもあるらしいが、いまのところ未発売
http://www.gl-inet.com/mt300a/

違いは メモリ倍増(128MB) SDカード用にGPIOが出てる 他ちょうちょい
mmcが使えればUSBハブ買わなくても容量増やせるわけでなんかお得。出たら買う

細かい説明は年度末とあとのごたごた片づけないと無理かな。手順的には

  • extrootで容量確保
  • bluez5-lib,utils,daemonを入れる audio.confを書くその他色々
  • pulseaudioを入れる
  • asterisk11を入れる
  • chan_mobile.soをコピー あとは同じ

とりあえず、いりそうなファイルは固めておいた。hciconfigはdbusでやるべきなんだろうけど
いまいちわかってない。うーん勉強不足

追記
/var は tmpfsになっているのでdbus より先に 
/var/lib/bluetoothをバインドマウントしてやる必要がある

じゃないといくらtrustしてもリブートしたら全部忘れる 

気がつかず1日ハマった・・・・

androidとのペアリングはsshを2つ立ち上げて1つはasterisk -vvvvr もう一つは

#bluetoothctl
[bluetooth]# agent on
[bluetooth]# default-agent on

ここでasterisk のモジュールを
module unload chan_mobile.so
module load chan_mobile.so

携帯にペアリング要請が出るので 0000
bluetoothctlにも出るので 0000

これでペアリング終了。
[bluetooth]# trust XX:XX:XX:XX:XX:XX

ar71xxでうまくいかない理由がちょっとわかってない。15.05リリース時のバグで
今のものなら直っているせいかな?と思ってここのビルド使ったけど駄目だった。

1000base対応のルーターでできりゃぁ割といけそうだけどイマイチメリットないね。
おっぱい買ったほうが早いし。






以下走り書き

openwrtのビルド環境はぐぐればすぐできるので割愛
15.05をgitで引っ張ってきてMakefileを触る

vi package/feeds/telephony/asterisk-11.x/Makefile

触るのは
 MENU:=1
  DEPENDS:=+bluez-libs +libopenssl +libncurses +libpopt +libpthread +libsqlite3 +librt +libuuid +zlib @!TARGET_avr32

confもコピー・・・・面倒なのでしなかった
define Package/asterisk11/conffiles
/etc/asterisk/asterisk.conf
/etc/asterisk/chan_mobile.conf

たぶん書いたほうがよかったんだろう

ST_EMB_MODULES:=\
        app_dial app_echo app_macro app_playback codec_ulaw format_pcm func_callerid \
        func_logic func_strings func_timeout chan_sip chan_local pbx_config \
        res_crypto res_http_websocket res_rtp_asterisk res_rtp_multicast chan_mobile

これで通るはず。

ついでにbluezも--disable-audioになっているなら、消してコンパイル

bluez5 pulseaudio asterisk11 を入れたらOK
ほんとはdbusでどうのとか色々あるのだけど、そこは試行錯誤中
ramips用のchan_mobile.soだけ
http://ppl.ug/Gls4C8yXE8Y/



とりあえず動かすだけなら
/etc/bluetooth/audio.conf

[General]
Enable=Source,Sink,Headset,Gateway,Control,Socket,Media
AutoConnect=true

 /etc/init.d/bluetoothd

起動オプションの後ろに -C をつける

/etc/init.d/asterisk
start(){
hciconfig -a hci0
hciconfig -a hci0 up
hciconfig hci0 class 0x200404
hciconfig -a hci0 piscan
hciconfig -a hci0 sspmode enable

でとりあえずごまかす すれば動く


WNDR4300で動かないのが痛恨


MT300NはGL.iNETがコンパイルしたCCしか、いまのところないようなので
他のRAMIPSで動くかどうかは知らない。

国内で手に入ってMT76XXでUSBがあって、OPENWRTが入る機種
って思い当たらないから試したい人はいないと思うけどね

0 件のコメント:

コメントを投稿