2016年3月18日金曜日

GL-MT300A 発売!

http://www.gl-inet.com/product/gl-mt300a/

すでにARM-A9系でchan_mobileが動くと確認できたので
今更買わなくても良い気がするけどぽちった。
これでGbEなら文句なしなのだが
微妙に外すのが中華っぽい。
トラベルルーターとしては高性能だけど
そもそも、トラベルルーターという商品が
日本ではほとんど役に立たない。

ルーターとしてはWHR-300HP2程度の性能しかなく
ラズパイ3が優秀過ぎなのとおっぱいが安すぎなので
おもちゃとしての魅力も乏しい。






CPUMTK 7620A @580Mhz
Memory/StorageDDR1 128MB/ FLASH 16MB
Interfaces1 WAN, 1 LAN, 1 USB2.0, 1 micro USB (power), 1 Reset button
Frequency2.4GHz
Transmission rate300Mbps
Max Tx Power20dBm
Protocol802.11 b/g/n
External Storage supportFAT32/EXFAT/EXT4/EXT3/EXT2/NTFS
Webcam supportMJPG, YUV
DIY featuresUART, TF Card interface, 3.3V & 5V power port
External antenna supportYes
PoE supportNo
Power input5V/1A
Power consumption<3W
Dimension, Weigh58*58*25mm, 39g

TFスロットというのがピンだけ出ていてあとは自分で
って言われると(たぶんいわれる)面倒というかダルイい。

どうやらSDのドーターボードは無料でつけてくれるが、はんだ付けは自分でしてね
らしい。それならまぁいいか。

ざっとソース覗いた感じ、300Nと大差ないのでasterisk11とchan_mobileはあっさり動きそうだ。

asterisk11で携帯電話を収容する という一点だけでコスト比較

名称価格
OrangePI-ONE$13.1(9.99)+SDCARD+BT
NANOPI M1$21(10)+SDCARD+BT
GL-MT300A$36(30)+SDCARD+BT
Raspberry Pi 36500円($35)+SDCARD
Xiaomi Mi WiFi Mini$29+SDCARD+BT+HUB

純正でケースがない点を除けばおっぱい1号が最強
でもorangepiのサポート体制ってないも同然だからね~
NANOPIM1のこれからに期待

GL-MT300Aは立ち位置がちょっと微妙



AR71xxで音が出ないのはENDIANの問題っぽいことはわかった。
問題はどこで起きているのか? で
BLUEZにそれっぽい問題があったので5.37まで上げてみるも変わらず。
PULSEAUDIOのほうかな?と思って手を入れてみたけどこちらも空振り。

すでに動かす必要が無いとはいえ、動かないと腹が立つ。

2016年3月14日月曜日

わりと完璧な asterisk routerを作る(機種選定)

色々な実験の結果以下のことがわかった
いいから(ry-> http://ppl.ug/QHRh4bvF0sc/

1.OpenWRT CC だとchan_mobileが動かせる

bluez5.30が disable audioでコンパイルされているので再コンパイルが必要(たぶん)
asterisk11がdisable bluetoothでコンパイルされているので再コンパイルが必要

すごく重要なことなのだが
Ar71xx だと音がまともに出ない

頭きたのでCCの最新をビルドしてみたけど結果は同じだった。
big endianだとだめってことなのか?

2.chan_dongleもちゃんと動く

たっ・・・たぶん・・・ただしパッチをあてるのは結構面倒な作業なので
動くドングルは限定される



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用)


2016年2月26日金曜日

携帯->ブラステル転送 最低限の設定

[globals]
BRNUMBER=かける側番号
TGNUMBER=受ける側番号

[gratina]
exten => s,1,NoOp("gratina")
same  =>         n,GotoIf($["${CALLERID(num)}" = "${BRNUMBER}"]?test)
same  =>         n,Ringing(1)
same  =>         n,answer()
;same  =>         n,WaitExten(1)
same  =>         n,Dial(SIP/${TGNUMBER}@brastel,60,r)
same  =>         n,Congestion
same  =>         n,Hangup()
same  =>         n(test),answer()
same  =>         n,wait(5)
same  =>         n,Playback(hello-world)
same  =>         n,Hangup()

[keep]
exten => s,1,NoOp("keep account")
same  =>         n,wait(1)
same  =>         n,answer()
same  =>         n,WaitExten(10)
same  =>         n,Playback(hello-world)
same  =>         n,Hangup()


outgoing.txt (所有権asterisk:asterisk)
Channel: SIP/ブラステルのトランク/携帯番号
MaxRetries: 1
RetryTime: 90
WaitTime: 90
Context: keep
Extension: s


cp -a outgoing.txt /var/spool/asterisk/outgoing/ を年2回ぐらいcronで実行する。

電話番号振られてたら消されないという話もあるけどね。

2016年2月19日金曜日

openwrtでipsetとfail2ban

ログを転送してそのログを元にbanするというならばありかもしれないが
2000円に満たないおっぱい1号とたばこ1箱にもならない
電気代ケチってリスクを増やす必要があるのだろうか?

なーんて考えたら負け。

1.タイムゾーンの設定

UTCなら問題ない。
ローカルタイム(JST)にLUCIで設定しただけだと
asteriskのログはUTCのままだったりする。
ついでにasteriskのログ表示も変えておく。

opkg install zoneinfo-asia
ln -sf /usr/share/zoneinfo/Japan /etc/localtime
cp -a /etc/asterisk/logger.conf  /etc/asterisk/logger.conf.org
sed -i -e "/^\[general\]$/a dateformat=%F %T" /etc/asterisk/logger.conf

ゾーンファイルにこだわりがあるぜ!って人は
Japanじゃなくてasia/Tokyoでもいいけど同じだぞ・・

そうそう、関係ないけどasterisk入れると大抵aelも入るので
[21]
type=friend
defaultuser=21
secret=passw0rd
canreinvite=no
host=dynamic
context=ael-default

とでもしておくと、とりあえず1000に電話するとおめでとうメッセージが聞こえる。
確認したらcontextを変えてmodule.confでaelをnoloadにすればあとくされがない。


2.一気に設定

pythonはlightでもそれなりの容量を喰うのでnand32MBとかの機種じゃ無理です。
で、USBに入れるかって話になるとドングル使うにはハブがいる。
ちょいまて、おしゃれなハブ買うと同じ値段でOPI-ONEかえるやん!

WNDR4300なら安心の100MB!
11na使えないんですけどね…



mkdir -p /etc/ssl/certs
export SSL_CERT_DIR=/etc/ssl/certs
source /etc/profile
opkg install ca-certificates wget python ipset gunzip tar ipset
wget https://github.com/fail2ban/fail2ban/archive/0.9.3.tar.gz
tar xvfz 0.9.3.tar.gz
cd fail2ban-0.9.3
python setup.py install

cat << EOF > /etc/init.d/ipset-persistent
#!/bin/sh /etc/rc.common
# Copyright (C) 2014 OpenWrt.org
START=17
STOP=17
start() {
echo start
/usr/sbin/ipset -! restore < /etc/iptables/ipset 2> /dev/null
}
stop() {
echo stop
/usr/sbin/ipset save > /etc/iptables/ipset
}
EOF
cat << EOF > /etc/init.d/fail2ban
#!/bin/sh /etc/rc.common
# Copyright (C) 2014 OpenWrt.org
START=98
STOP=98
RUNDIR=/var/run/fail2ban
start() {
test -d \$RUNDIR || mkdir -p \$RUNDIR
test ! -e \$RUNDIR/fail2ban.sock || rm -f \$RUNDIR/fail2ban.sock
exec /usr/bin/fail2ban-client -f -x start
}
stop() {
exec /usr/bin/fail2ban-client stop
exec rm -f  \$RUNDIR/fail2ban.pid
}
EOF
chmod +x /etc/init.d/ipset-persistent
chmod +x /etc/init.d/fail2ban
/etc/init.d/ipset-persistent enable
/etc/init.d/fail2ban enable
cat << EOF > ./jp_list.sh
#!/bin/sh
if [ -s cidr.txt ]; then
mv cidr.txt cidr.txt.old
fi
wget http://nami.jp/ipv4bycc/cidr.txt.gz
gunzip cidr.txt.gz
ipsz=\`wc -c < cidr.txt\`
if [ \$ipsz -lt 1500000 ]; then
rm -f cidr.txt
else
ipset swap JPLIST JPLIST
if [ \$? -ne 0 ] ;then
ipset create -! JPLIST hash:net
fi
ipset create -! JPLIST2 hash:net
sed -n 's/^JP\\t//p' cidr.txt | while read ADDRESS; do
ipset add JPLIST2 \$ADDRESS
done
ipset swap JPLIST JPLIST2
ipset destroy JPLIST2
fi
EOF
chmod +x ./jp_list.sh
./jp_list.sh

超てきとう。
openwrtやDD-WRTはinitスクリプトが超シンプルでよいね。

ラズパイやらでipsetの読み込みをする場合スクリプトがいる
http://ppl.ug/ae9qsuHnMwI/

systemctl enable ipset-presistent

で/etc/rcS.d にリンクが生えてるはず

2016年2月15日月曜日

orangepi ONE用 script.bin


http://www.cnx-software.com/2016/02/13/received-your-orange-pi-one-youll-need-to-tweak-your-fex-file-script-bin/

http://linux-sunxi.org/Orange_Pi_One#Compatibility
早速賢い人が解決してくれたようだ。

しかし問題は残っていて、コストダウンの結果電圧が
1.1vと1.3vの2ステージだけになった模様

5ドル下げるために色々どりょくしているんだね~


http://linux-sunxi.org/Orange_Pi_PC#CPU_clock_speed_limit

電圧に関してはこちらでは1.1vで816MHz以下
1.3vでちょっと電圧不足だけど1200MHzとなってる。
原典はH3のSDKのようで、loborisさんのfexの元ネタにも同じ記述があった。
648MHzが公式のminclock 816MHzまで1.1vというのが正しいのではなかろうか。

ちなみにヒートシンクなしでは816MHz@1.1vでもフルにロード掛けると平気で80度に達する。
1200MHz駆動はすっぱりあきらめて816/480@1.1vで使うことにした。

一応そのまま作ったscript.bin 1200@1.3v 648@1.1v
http://ppl.ug/YPyFQawrn9Q/


----
ケースがあって(出来が良いとは言っていない)
電圧が細かく調整できて
メモリ512MB多くて
USBも2こ多い

PCでいいんじゃないかなぁ

2016年2月14日日曜日

【誰得シリーズ】 NETGEAR WNDR4300 用 openwrt 15.05 nand 最大拡張 イメージ & pptpd &asterisk11

大昔、 投げ売りだったWNDR4300を

大事にお使いのあなたに…


ddwrtでjffsがうまいことフォーマットできなかったりしたWNDR4300

なぜかopenwrtでも冷遇されていて
NANDが128MBもあるのに25MBしか使ってくれない。

仕方がないのでimagebuilderで無理やり拡張してみた
11naのチャンネルが使えないのは仕様っぽい。

http://ppl.ug/OOoSOTXoHuU/


動くか知らんがpptpdも作ってみた

http://ppl.ug/3lqV8VXq7XE/

asterisk11が落ちるので作ってみた
標準で必ず落ちるasteriskが上がってるってWNDR4300虐められすぎ。

こちらは山ほどあるので、たっぷり増えたWNDR4300の適当なhogehogeに展開
/etc/opkg.confに追加
src/gz chaos_calmer_telephony2 file://hogehoge/telephony

でおまじない
cd /hogehoge/telephony
usign -G -s mime.key -p mime.pub
opkg-key add mime.pub
usign -S -m Packages -s mime.key -x Packages.sig
opkg update

ぱっとみ動いているっぽい。
chan_dongleは使える。使えるものはかなり限定されるけど
受けられるか知らないがFAXも音がする
BTは最初から動かない。かなり敷居たかいなこれは