FC2ブログ

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ひかり電話でネームディスプレイが使える!?Asterisk用似非ネームディスプレイの素。

 NTTの加入電話やISDNではネームディスプレイという発信者情報の通知サービスがあり、このサービスに対応した電話機であれば発信者名(104に登録済みの法人等に限られます)の通知を受けることができます。加入電話利用(ADSL)の頃はこれに加入していて結構便利だったのですが、残念ながらひかり電話ではこのサービスが提供されていません。

 ところがhttp://104.com/というサービスで、電話番号から104の登録情報を検索できることをたまたま知ってしまい、この情報をAsteriskから検索できないかと思って簡単なスクリプトを組んで見ました。

 number2name.sh(wgetとnkfが必要です。)

 実行するとこんな感じです。このスクリプトをAGIなどから呼んで結果をCALLERID(name)に代入してあげるとあら不思議、似非ネームディスプレイの出来上がりです。
number2name使用例
 IP電話機によって異なりますが、CALLERID(name)はUTF8で値を設定すると漢字表示も可能です。調べた限りではF1100・Snom220(日本語ファーム)・X-liteはUTF8で表示ができました。RT57iでネームディスプレイ対応の電話機をアナログポートにぶら下げた場合はSJISで表示できました。(上記のスクリプトはUTF8で出力するように作っています)

F1100-display-name
F1100での着信画面

snom220-display-name
Snom220での着信画面。画面が結構狭いOTZ

 発信者番号の取得ができる回線であれば、ひかり電話に限らず050IP電話やchan_bluetooth経由の着信でも発信者名の取得ができます。

 104.comの利用規約に抵触するかどうかがわからないので、AGIファイルまでは掲載しません(二次利用の禁止に引っかかる恐れあり)。104.comはネームディスプレイと同一のデータベース(TDIS)を利用しているようなので、データはある程度信用できるはずです。自己の責任においてご利用ください。

tag : Asterisk ひかり電話 ナンバーディスプレイ 050IP電話 F1100


ハードウェアVPNアクセラレータ(暗号化アクセラレータ)の魔力 ~Buffalo+OpenWrt編 その2

 Cryptdevを有効にしたOpenSSLのパッケージが出来上がったので、速度を測定してみます。


root@OpenWrt:~# openssl speed -evp aes-128-cbc -elapsed -engine cryptodev
engine "cryptodev" set.
You have chosen to measure elapsed time instead of user CPU time.
To get the most accurate results, try to run this
program when this computer is idle.
Doing aes-128-cbc for 3s on 16 size blocks: 21172 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 64 size blocks: 20754 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 256 size blocks: 19900 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 1024 size blocks: 17245 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 2048 size blocks: 14738 aes-128-cbc's in 3.00s
OpenSSL 0.9.8i 15 Sep 2008
built on: Thu Sep 24 13:35:49 JST 2009
options:bn(64,32) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) blowfish(ptr)
compiler: mipsel-linux-uclibc-gcc -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DDSO_DLFCN -DHAVE_DLFCN_H -DHAVE_CRYPTODEV -I/home/kazner/kamikaze_8.09.1/staging_dir/mipsel/usr/include -I/home/kazner/kamikaze_8.09.1/staging_dir/mipsel/include -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_ERR -DOPENSSL_NO_HW -DTERMIO -Os -pipe -mips32 -mtune=mips32 -funit-at-a-time -fhonour-copts -fpic -fomit-frame-pointer -Wall
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: ftime
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 2048 bytes
aes-128-cbc 112.88k 442.75k 1698.13k 5886.29k 10061.14k

やはりブロックサイズが小さいとあまりよい結果が出ていません。ソフトウェア処理の結果が

aes-128-cbc 2572.87k 2837.16k 2912.43k 2927.62k 2930.01k

だったので、1024Byte以上で効果が出ています。Geode LXの場合は256Byte以上で効果が出ていました。やはりチップによる特性のようなものがあるようです。


テーマ : Linux
ジャンル : コンピュータ

tag : OpenWrt OpenVPN


OpenWrt(brcm47xx、主にBuffalo)用のハードウェア暗号化アクセラレータ用OpenSSLライブラリ

OpenWrt8.09.1をBuffaloの無線ルータ(brcm4704搭載機種)で稼動させるのに利用できるハードウェア暗号化アクセラレータ対応のlibopensslです。

libopensslのipkgファイルをダウンロードし、拡張子をtxtからzipに変更してください。zipを解凍するとipkgファイルがあるので、これをopkgコマンドでインストールしてください。

その他にkmod-crypto-ocf・kmod-ocf-ubsec-ssb・kmod-crypto-misc・kmod-crypto-coreが必要です。

# openvpn --show-engines

# openssl engines
を実行してcryptodevが出力されればとりあえずOKです。

BHR-4RV上のOpenWrt8.09.1上で簡単なテストは行っています。

続きを読む

tag : OpenVPN OpenWrt


cryptodevを有効にしたOpenSSLのコンパイル

俺メモです。

http://kamikaze.openwrt.org/8.09.1/kamikaze_8.09.1_source.tar.bz2
からソースをダウンロード、展開

make menuconfig
でTargetSystemをBroadcom BCM947xx/953xx [2.6]に変更
Utilityでopenssl-utilをチェックしてExit。

vi package/openssl/Makefile

70 ifeq ($(BOARD),ixp4xx)
71 OPENSSL_OPTIONS:= shared no-ec no-err no-fips no-hw no-threads zlib-dynamic \
72 no-sse2 no-perlasm --with-cryptodev
73 else
74 OPENSSL_OPTIONS:= shared no-ec no-err no-fips no-hw no-threads zlib-dynamic \
75 no-engines no-sse2 no-perlasm --with-cryptodev
76 endif
Makefileを見る限りでは、ixp4xxのみcryptodevを有効にしているようだ。なので、とりあえず全部のアーキテクチャでcryptodevを有効にするよう無理やり変更。そしてmake、待つこと約1時間。

OpenWrtを一度リブートしておく。リブートしておかないとopkgにパッケージのハッシュ値が違うと怒られる。
出来上がったbin/packages/mipsel/libopenssl_0.9.8i-3.1_mipsel.ipkをOpenWrtの/tmpにでもコピー。
root@OpenWrt:/tmp# opkg install -force-overwrite -force-reinstall libopenssl_0.9.8i-3.1_mipsel.ipk
フラッシュ4MBのモデルだと容量不足で怒られる。クリーンインストールが必要。zlibに依存しているのでzlibのipkgもあわせてローカルに落としておいて同時にopkg installする。


tag : OpenVPN OpenWrt


ハードウェアVPNアクセラレータ(暗号化アクセラレータ)の魔力 ~Buffalo+OpenWrt編 その1

 BuffaloのWZR-G54世代のBBルータにはBroadcom4704というチップが搭載されていて、こちらもハードウェア暗号化アクセラレータが入っているようです。OpenWrt8.09.1でこのアクセラレータが使えるかどうか試してみました。

フラッシュメモリ8MBのおすすめモデル




まずはデフォルトの状態で。

root@OpenWrt:~# openssl speed -evp aes-128-cbc
Doing aes-128-cbc for 3s on 16 size blocks: 482414 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 64 size blocks: 132992 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 256 size blocks: 34130 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 1024 size blocks: 8577 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 2048 size blocks: 4292 aes-128-cbc's in 3.00s
OpenSSL 0.9.8i 15 Sep 2008
built on: Sun May 17 04:00:48 UTC 2009
options:bn(64,32) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) blowfish(ptr)
compiler: mipsel-linux-uclibc-gcc -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DDSO_DLFCN -DHAVE_DLFCN_H -I/home/andy/openwrt/brcm47xx/staging_dir/mipsel/usr/include -I/home/andy/openwrt/brcm47xx/staging_dir/mipsel/include -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_ERR -DOPENSSL_NO_HW -DTERMIO -Os -pipe -mips32 -mtune=mips32 -funit-at-a-time -fhonour-copts -fpic -fomit-frame-pointer -Wall
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 2048 bytes
aes-128-cbc 2572.87k 2837.16k 2912.43k 2927.62k 2930.01k
root@OpenWrt:~#
※openssl-utilパッケージをあらかじめインストールしています

やっぱり遅いですね。Alixのアクセラレータ無効の状態の半分ぐらい、ってところでしょうか。

次にopkgコマンドでkmod-crypto-ocf、kmod-ocf-ubsec-ssb、kmod-crypto-misc、kmod-crypto-core、openvpnの4つのパッケージをインストールしてみます。dmesg|tailすると

ubsec_ssb: DES 3DES AES128 AES192 AES256 MD5_HMAC SHA1_HMAC

なメッセージが見えます。期待できそうです。

ところが、openvpn --show-enginesをしても
root@OpenWrt:~# openvpn --show-engines
OpenSSL Crypto Engines

Dynamic engine loading support [dynamic]
おや、何も出てこない・・・。まいいや、とりあえずやっちまえ、ってことで
root@OpenWrt:~# openssl speed -evp aes-128-cbc
Doing aes-128-cbc for 3s on 16 size blocks: 485102 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 64 size blocks: 133204 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 256 size blocks: 34150 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 1024 size blocks: 8581 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 2048 size blocks: 4293 aes-128-cbc's in 3.00s
OpenSSL 0.9.8i 15 Sep 2008
built on: Sun May 17 04:00:48 UTC 2009
options:bn(64,32) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) blowfish(ptr)
compiler: mipsel-linux-uclibc-gcc -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DDSO_DLFCN -DHAVE_DLFCN_H -I/home/andy/openwrt/brcm47xx/staging_dir/mipsel/usr/include -I/home/andy/openwrt/brcm47xx/staging_dir/mipsel/include -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_ERR -DOPENSSL_NO_HW -DTERMIO -Os -pipe -mips32 -mtune=mips32 -funit-at-a-time -fhonour-copts -fpic -fomit-frame-pointer -Wall
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 2048 bytes
aes-128-cbc 2587.21k 2841.69k 2914.13k 2928.98k 2930.69k
ん?やっぱり変わらない。と思ってググって見ると、どうやらOCFを有効にしたアプリケーションでなければならない、すなわちOpenSSLでcryptodevを有効にしなければならず、しかもドライバもまだ実験的な実装の模様。OpenSSLの再コンパイルが必要なんだろうか?確かにコンパイルオプションに「-DOPENSSL_NO_HW 」という怪しげなオプションがあるなぁ・・・。OpenSSLを直接触ったことはあまりないが、調べてみねば。

Alixであまりにもうまく行ったので調子に乗ってみたが、残念。

 OpenWrtにもOpenSSL用のパッチが提供されていたようですが、フットプリントが大きくなるなどの理由で採用は見送られているようです。パッチを採用する・しないで結構白熱した議論が行われていました。OpenWrtではocfはkmod-crypto-ocfで実装されているようですが、上記のとおりOpenSSLへの実装は難しいようです。

 OpenWrtの議論とは外れますが、どうもLinuxの暗号化関連のAPIは宗教論争的な要素があるようです。Alix+pfsenseであっさりハードウェアアクセラレータが有効になったのは、FreeBSDでcryptodevがあっさり使えるからみたいですね。このあたりはFreeBSDの強みかもしれません。


参考URL
http://doc.pfsense.org/index.php/Are_cryptographic_accelerators_supported
http://nuwiki.openwrt.org/oldwiki/HardwareAcceleratedCrypto
https://forum.openwrt.org/viewtopic.php?id=5032&p=2
http://oldwiki.openwrt.org/HardwareAcceleratedCrypto.html
http://www.danm.de/files/src/bcm5365p/


その2につづく。

続きを読む

テーマ : Linux
ジャンル : コンピュータ

tag : OpenVPN OpenWrt


ハードウェアVPNアクセラレータ(暗号化アクセラレータ)の魔力 ~Alix+pfsense編

 Alixに搭載されているGeode LXにはハードウェア暗号化アクセラレータが搭載されていて、pfsenseのベースになっているFreeBSD7.1ではこのアクセラレータがサポートされています。dmesg出力にこんな一行が。特に何も設定せずに利用できます。

glxsb0: AMD Geode LX Security Block (AES-128-CBC, RNG) mem 0xefff4000-0xefff7fff irq 9 at device 1.2 on pci0

サポートされるアルゴリズムは残念ながらAES-128-CBCに限られているようです。

で、このアクセラレータがどのくらい強力なのかを調べてみました。まずは利用できる暗号化エンジンを確認します。

alix:~# openssl engine
(cryptodev) BSD cryptodev engine
(padlock) VIA PadLock (no-RNG, no-ACE)
(dynamic) Dynamic engine loading support


利用できるエンジンが3つあるのがわかったので、それぞれの速度を計ってみます。まずはデフォルトから。

alix:~# openssl speed -evp aes-128-cbc -elapsed
You have chosen to measure elapsed time instead of user CPU time.
To get the most accurate results, try to run this
program when this computer is idle.
Doing aes-128-cbc for 3s on 16 size blocks: 980167 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 64 size blocks: 274183 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 256 size blocks: 70796 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 1024 size blocks: 16265 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 8192 size blocks: 2150 aes-128-cbc's in 3.01s
OpenSSL 0.9.8e 23 Feb 2007
built on: Sat Mar 21 18:34:23 EDT 2009
options:bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) aes(partial) blowfish(idx)
compiler: cc
available timing options: USE_TOD HZ=128 [sysconf value]
timing function used: gettimeofday
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-cbc 5210.17k 5832.18k 6022.66k 5534.54k 5850.85k


次に padlock。
alix:~# openssl speed -evp aes-128-cbc -elapsed -engine padlock
engine "padlock" set.
You have chosen to measure elapsed time instead of user CPU time.
To get the most accurate results, try to run this
program when this computer is idle.
Doing aes-128-cbc for 3s on 16 size blocks: 983385 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 64 size blocks: 275156 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 256 size blocks: 71015 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 1024 size blocks: 17952 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 8192 size blocks: 2244 aes-128-cbc's in 3.01s
OpenSSL 0.9.8e 23 Feb 2007
built on: Sat Mar 21 18:34:23 EDT 2009
options:bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) aes(partial) blowfish(idx)
compiler: cc
available timing options: USE_TOD HZ=128 [sysconf value]
timing function used: gettimeofday
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-cbc 5230.65k 5851.03k 6042.24k 6108.46k 6106.27k


次に dynamic。
alix:~# openssl speed -evp aes-128-cbc -elapsed -engine dynamic
engine "dynamic" set.
You have chosen to measure elapsed time instead of user CPU time.
To get the most accurate results, try to run this
program when this computer is idle.
Doing aes-128-cbc for 3s on 16 size blocks: 983453 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 64 size blocks: 275052 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 256 size blocks: 71023 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 1024 size blocks: 17962 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 8192 size blocks: 2244 aes-128-cbc's in 3.01s
OpenSSL 0.9.8e 23 Feb 2007
built on: Sat Mar 21 18:34:23 EDT 2009
options:bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) aes(partial) blowfish(idx)
compiler: cc
available timing options: USE_TOD HZ=128 [sysconf value]
timing function used: gettimeofday
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-cbc 5236.64k 5850.76k 6041.93k 6111.84k 6106.54k

多少の誤差はありますが、デフォルト=Dybamic=padlockのようです。

では最後にcryptodev。

alix:~# openssl speed -evp aes-128-cbc -elapsed -engine cryptodev
engine "cryptodev" set.
You have chosen to measure elapsed time instead of user CPU time.
To get the most accurate results, try to run this
program when this computer is idle.
Doing aes-128-cbc for 3s on 16 size blocks: 109396 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 64 size blocks: 105442 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 256 size blocks: 91040 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 1024 size blocks: 58412 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 8192 size blocks: 11489 aes-128-cbc's in 3.01s
OpenSSL 0.9.8e 23 Feb 2007
built on: Sat Mar 21 18:34:23 EDT 2009
options:bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) aes(partial) blowfish(idx)
compiler: cc
available timing options: USE_TOD HZ=128 [sysconf value]
timing function used: gettimeofday
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-cbc 581.69k 2242.57k 7744.97k 19876.99k 31275.24k

ブロックサイズが小さいと呼び出しのオーバーヘッドが大きいのか、速度は低下しています。256Byte以上で効果が出ていて、8192Byteでは約5倍になっています。

ocf-linuxのベンチマーク結果を見てもハードウェアアクセラレータの場合はブロックサイズが小さいと結果が小さくなる傾向があるようで、Geode LXが例外というわけではなさそうです。ソフトウェア処理の場合はブロックサイズではあまり差が開かないようです。

-elapsedオプションについては日経Linuxの反省文が参考になります。最初僕も同じミスをやらかしてました。

OpenVPNでこのハードウェアVPNアクセラレータの恩恵にあずかるには、設定ファイルに
engine cryptodev
を追加すればよいようです。OpenVPNのログにはこんな感じで出力されます。

openvpn[427]: Initializing OpenSSL support for engine 'cryptodev'
ただ、対向側もそれなりに速くないと意味がないと思います・・・。

参考にしたのはpfsenseのドキュメントです。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : Alix pfsense OpenVPN


Alixへpfsenseをインストールする その1 ~~CFの準備

PC engineのAlixというx86のボードでpfsenseというファイヤーウォールを動かしてみます。

材料
・Alix(今回は2D13を利用)、Alix用ケース、ACアダプタ
9ピンシリアルクロスケーブル
・シリアルポートがないPCで作業する場合、USBシリアル変換ケーブル
・128MB以上のコンパクトフラッシュ。イメージファイルは125MBほどなので、128MB以上あれば大丈夫です。今回は余っていた256MBを使用します。
DDforWindowsのようなDDツール
・CFカードリーダー
・pfsenseのイメージファイル。pfsenseのダウンロードサイトからpfSense-1.2.3-RC1-Embedded.img.gzをダウンロードし、gzファイルを解凍しておきます。

CFの書込み
・PCにカードリーダーとCFをセットしておきます。
・DDforWinを立ち上げ、展開しておいたimgファイルをCFに書き込みます。
以上。簡単です。

Alixの初期設定
・書き込んだCFをAlixに挿しておきます。ケースに組み込むのは後回しにして、ダンボールの上など、絶縁できる場所の上においておいてください。
・シリアルクロスケーブルでAlixとPCを接続しておきます。
・TeraTermなどのターミナルを立ち上げておきます。シリアルポートの設定は38400 8N1です。
・Alixの電源を入れ、起動画面がターミナルに表示されることを確認します。
・メモリチェック中にSを押すとTinyBIOSの設定画面が出てきます。シリアルの速度を9600に変更しておいてください。pfsenseが起動した後には9600になるので、最初から9600にしておいた方が都合がよいです。
・ターミナルのシリアル設定を9600にしておき、再度Alixを立ち上げます。うまくけばFreeBSDの起動画面の後pfsenseの初期設定画面が出てくるはずです。
・起動確認ができたら一旦電源を切り、ケースに組み込みます。

tag : Alix pfsense


Alix 2D13をケースに組み込む

Alix 2D13を買ってしまいました。ヤマモト・ツール・ワークスで買ったのですが中一日で届きました。

梱包を解いたところです。CFは手持ちのものです。添付品はまったくありません。初心者厳禁な感じプンプンです。
Alix 2D13の梱包を解いたところ

ケースに組み込んだところです。ケースの添付品はゴム足と基盤固定用のねじだけです。ケースの内側にはフィルムっぽいものが貼ってあり、絶縁対策は一応されているようです。CFの取替えは基盤をケースからはずさなければならないため結構不便です。CF挿入用の穴があればよいのですが。電源は秋月で買った12V1.5Aのものです。
Alix 2D13をケースに組み込んだところ

自宅のルータはBHR-4RVにOpenWrtを入れて使っていたのですが、いかんせんフラッシュの容量で限界を感じてきたので、リプレースを考えていました。LANポートが多めにあって、OSが選べそうな基盤を探していました。x86にこだわったわけではないのですが、国内で入手できるもので他に適当なものがありませんでした。国内で入手でき、ケースも適当なものがあるようならRouterBoardも興味はあったんですが、国内では入手が難しいようです。

写真のCFにはすでにpfsense-1.2.3RCが入っています。m0n0wallではOpenVPNが使えないようなのでpfsenseを利用することにしました。

tag : Alix


OpenWrt化するのはどのルータがいい?

 LaFonera(FON2100E)Buffaloのルータ数台をOpenWrt化して使っている。利用用途は主にVPN用。特にFON2100Eは小型で持ち運びやすいので、外出先のホテルのLANに接続したらそのまま無線LAN側が自宅とVPN接続できるようにしている。無線LAN側がVPNに接続されていると言うことは、F1100とセットで持ち歩けばF1100がそのまま自宅内線として使えるのだ。

 と、それはさておき、いままでの経験から、BuffaloとLaFoneraを比較してみた。スペックの比較についてはOpenWrtのハードウェアリストが参考になる。

Buffaloのメリット
・流通量が多く中古で入手しやすい
・CPUがそこそこ高スペック(264MHz)、DRAMも64MBと余裕がある。

Buffaloのデメリット
・フラッシュメモリが少ない。流通量が多いのは4MBのモデルが中心で、8MBのものはVPN対応の機種なので、流通量が限られる。


フラッシュメモリ8MBのおすすめモデル



LaFoneraのメリット
・入手性がよく、新品でも入手できる。とにかく安い。(\1,980~)
・フラッシュメモリが多い。初期型のFON2100Eでも16MBある。

LaFoneraのデメリット
・CPUが非力(180MHz)
・DRAMも少ない(16MB)
・発熱が多い



 Buffaloの無線LANルータについては、2004年~2005年に発売された機種が比較的高スペックで、その後の機種はDRAMの容量が削られていたりするようである(少ないDRAMで効率的に動かせるよう企業努力をしている、ということだが・・・)。

 OpenWrtのハードウェアリストを見る限りではフラッシュを16MB積んだ機種はほとんど見当たらないため、バッファローの8MBの機種でもOpenWrt的には低スペックではない。とはいうものの、8MBなんてすぐにいっぱいになるので、目的を決めてopkgしないとすぐに容量いっぱいになってしまう。



テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : OpenVPN OpenWrt


BuffaloルータのOpenWrt化

 OpenWrtというルータに突っ込むLinuxディストリビューションがあります。メーカーのファームウェアアップデートが提供されなくなったような古い機種でも、WPA2(今更ですが)に対応させたり、VPN対応をさせたりと、機能拡張でいろいろ遊べます。巷ではLaFoneraのOpenWrt化が多いようですが、捨て値で中古が流通しているバッファローのルータも使えます。ここでは、2004年ごろに多く発売された機種をOpenWrt化する方法を説明します。

材料
・LANポートのついたパソコン。ケーブル抜き差しの都合を考えるとノートがいいです。
・HUB。スイッチでなくても大丈夫です。
・OpenWrtのディスクイメージファイル。今回は8.09.1を使います。他のバージョンを利用する際はbrcm47xx用のopenwrt-brcm47xx-squashfs.trxを探してみてください。
・Buffaloの無線ルータ。

Bufalloの無線ルータについて
おすすめはフラッシュメモリが8MBのモデルです。BHR-4RVは唯一新品で購入が可能ですが無線がついていません。11aは使えないようなので、11g対応のモデルを選ぶようにしてください。

フラッシュメモリが8MBのモデル
BHR-4RV
WZR-RS-G54
WHR2-G54V(多分)
VPN対応の機種が8MBのようです
フラッシュメモリが4MBのモデル
WZR-G54
WHR3-AG54
WHR2-A54G54
WHR2-G54
などなど。




上記の機種は基盤・CPU・DRAMはどれも同じで、フラッシュメモリの容量やMiniPCIソケットの有無・MiniPCIに刺さっている無線LANカードが異なるようです。WER型番やWYR型番はAtherosチップのようです。試したことはないのでOpenWrtが動くかどうかはわかりません。

作業方法
・パソコンにtrxファイルをダウンロードしておきます。
・下の図のようにLANを配線します。
OpenWrt化のLAN配線
※間にHUBをかますのは、ルータのLANポートにパソコンを直結させるとルータ再起動時にリンクアップまで時間がかかることがあり、tftpを行うタイミングでtftpできないことがあるからです。
・パソコンのIPアドレスを192.168.1.100/24にしておきます。
・ルータの電源を抜いておきます。HUBは電源を入れておきます。
・コマンドプロンプトをひとつ立ち上げ、「ping -t 192.168.1.1」を実行しておきます。
・コマンドプロンプトをもうひとつ立ち上げ、「tftp -i 192.168.1.1 put openwrt-brcm47xx-squashfs.trx」と入力し、Enterを押さずに待っておきます。openwrt-brcm47xx-squashfs.trxはフルパスで入力しておいてください。
・ルータの電源を挿します。
・10秒ぐらい待つとPingの応答が帰ってくることがあります。応答が合ったら即、tftpのコマンドラインをEnterしてtftpを実行してください。
※Pingが帰ってこないケースもあります。1~2分待っても応答がない場合、ルータの電源を抜いてもう一度やり直してください。
・tftpが成功すると「Transfer successful: 2232320 bytes in 4 seconds, 558080 bytes/s」みたいなメッセージが出ます。しばらく放っておくとまたPingの応答がなくなり、さらに放置すると応答しっぱなしの状態になります。応答しっぱなしになったらほぼOKと思ってください。
・Telnetで192.168.1.1に接続すると

BusyBox v1.11.2 (2009-05-28 22:22:10 UTC) built-in shell (ash)
Enter 'help' for a list of built-in commands.

_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
KAMIKAZE (8.09.1, r16278) ----------------------------
* 10 oz Vodka Shake well with ice and strain
* 10 oz Triple sec mixture into 10 shot glasses.
* 10 oz lime juice Salute!
---------------------------------------------------
root@OpenWrt:~#

こんな画面が出てきます。(フォントの関係で崩れてますが)
・passwdコマンドでrootのパスワードを設定します。
・rootのパスワードが設定できたらsshでつなぐことができます。
・ブラウザから192.168.1.1につなげば最低限の設定はできます。標準以外のパッケージはコマンドラインから設定するのがよいでしょう。

参考
機種によってはデフォルトのIPが192.168.1.1ではなく、192.168.11.1や192.168.12.1の機種があるようです。上記の接続状態でWiresharkでパケットキャプチャしながらルータの電源を入れると、一回だけルータからブロードキャストを投げるので、そのソースIPがルータのIPアドレスになるはずです。IPアドレスを読み替えて試してみてください。

cpuinfo
WZR-G54をOpenWrt化したときのcpuinfoです。メインメモリは64MBでした。

system type : Broadcom BCM47XX
processor : 0
cpu model : Broadcom BCM3302 V0.6
BogoMIPS : 263.16
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : no
ASEs implemented :
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available

続きを読む

テーマ : Linux
ジャンル : コンピュータ

tag : OpenWrt


コールセンターの恋人

 ふと聞き覚えのある着信音がテレビから聞こえてきた。テレビの方をみるとコールセンターの映像が。「コールセンターの恋人」というドラマらしい。電話機の形はよくわからなかったが、ググって見るとなんとAVAYAの電話機ではないか。

 あいからずAVAYAはコールセンター市場ではシェアが高いが値段も高いらしいので、ドラマのためによくこんな高価な機材をそろえたものだなと思う。その分、リアリティ(特にオペレータをはじめとするコールセンターがらみの方々に)はあるんだろうな。

 十年以上前に少しだけだがDEFINITYを触っていた時期があった。当時はAT&Tからルーセントテクノロジーに分離した後だったが、導入時期がそれより少し前だったため筐体やパッケージにはまだAT&Tのロゴが入っていた。当時のPBXとしてはめずらしくLANポートを持つパッケージ(CTIのインターフェース用)が刺さっていて、リモートからログインするとUNIXwareだったような気がする(記憶違いかも)。そのせいで、てっきりDEFINITYはUNIXで動いてるのか、さすがAT&Tとおバカな早とちりをした覚えがある(実際にはDEFINITYは独自OS、CTIのパッケージがUNIXだったらしい)。コールフローなんかもDEFINTY本体のコンソールからプログラミングでき、当時日本製のPBXしか知らなかった僕にはカルチャーショックだった。

DEFINITYの電話機


 ルーセントからAVAYAがスピンオフしてからもずいぶん経つけど、グラハム・ベル大先生の発明した電話機の由緒ある直系の子孫はやっぱりAVAYAの電話機なんだろうか?

tag : 電話機


無線従事者免許証・電気通信主任技術者資格者証・工事担任者資格者証のカード化

無線従事者規則の一部を改正する省令案についての電波監理審議会からの答申及び意見募集の結果 (無線従事者免許証のカード化)
電気通信主任技術者規則の一部を改正する省令案等に関する意見募集

 無線従事者免許証・電気通信主任技術者資格者証・工事担任者資格者証のカード化がほぼ確定の模様。無線従事者免許証のパブコメの意見にあるように、運転免許のように複数の資格が記載されているとあると確かに便利だと思う。が、パブコメに対しては「意見として承りました」と無視状態。「複数免許を一枚のカードに」というパブコメはかなり多い。にもかかわらず無視するのならはじめっからパブコメなんか募集すんなっての。

 しょぼいのが現行の工事担任者の資格証。インクジェットプリンタの出力にただのラミネート、簡単に偽造されそうな感じ。平成8年ごろの工事担任者の資格者証はラミネートに郵政省の英語表記やエンボスっぽいデザインがプリントされていて、まだまともだったので、現行で改悪されたと言っていい。なので、カード化は大賛成。資格者証がカッコよければ、受験に対するモチベーションも高まるかも。

 現行の陸上無線技術士の資格者証はずいぶん無骨

 既存の資格者証を持っている人に対して改めて発行してくれるわけではなさそうなので、カード化されたものが欲しければ目いっぱい痛め付けて「汚損」で再発行してもらうしかないんだろうな。

 でも、一番ひどいのは電気工事士の免状(埼玉県)。厚紙にレーザープリンタで印刷しただけ。ラミネートされてないのでトナーが添付のケースに引っ付いて汚い汚い。こんなもの現場に持ち歩いたら汗と汚れでぼろぼろになるんだろうな。きっと。

無線従事者
無線従事者

電気通信主任技術者
電気通信主任技術者

工事担任者
工事担任者

無線従事者規則の一部を改正する省令案についての電波監理審議会への諮問及び意見募集電気通信主任技術者規則の一部を改正する省令案等に関する意見募集から転載。




テーマ : 資格取得
ジャンル : 学校・教育

tag : 資格試験(通信) 無線 電気通信主任技術者 工事担任者



カテゴリ


最新記事

月別アーカイブ

最新コメント

最新トラックバック









上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。