2007年6月30日土曜日

地デジのコピーワンスって…

現在私は、ビクターのデジタルハイビジョン液晶テレビ EXE LT-32LC85 と

パナソニックのアナログ放送対応HDD・DVDレコーダ DIGA DMR-E500H を使っています。

DIGAは地デジには未対応ですが、

EXEの地デジチューナーからの出力をDIGAの外部入力に入れることで録画が可能です。

ただし解像度がSDに落ちてしまいますので、再生してもそれほどきれいではありません。

とはいうものの、アナログ放送は電波状況で画質が大幅に劣化してしまうのに比べ、

デジタルはその影響が排除できる分きれいにはなります

私の自宅ではVHFのローチャンネルが実に厳しい受信環境ですので、

わざわざテレビのチューナーから録画するのにも意義はあります。

 

ところでここには大きな問題があります。

地上波に限らずデジタル放送はコピーワンスなのです。

自由にダビングできません。

DLNAクライアントからネットワーク越しにダウンロードやストリーミング再生することもできず、

HDDからDVDにムーブしてしまうとあとはどうにもなりません。

まあ、保存したくなる番組もたいしてありませんが。

でも、マッドエンジニアとしては制限されると何とかしたくなるんですよね。

 

2007年6月27日水曜日

家庭内PBX その11 - 留守番電話

前回留守番電話の話が出ましたので使ってみました。

前回同様 [freePBX]-[System Administration]-[Setup] にログインし、
[Extensions] から留守録したい内線番号をクリックします。
[Voicemail & Directory] を "Enabled" に変更し、
[voicemail password] に適当なパスワード、
[email address] にメールアドレス、
[pager email address] に携帯電話のメールアドレスを設定します。
もし、[email attachment] を "yes" にすると、
録音したファイル(WAVファイル)が
[email address] のメールアドレスに添付されて届きます。
設定が完了したら [Submit] をクリックし、
"You have made changes - when finished, click here to APPLY them"
をクリックします。

先に設定した内線番号にどこかから電話をかけ、
しばらくほおっておくと留守録になります。
適当にメッセージを入れると、
あらかじめ設定したメールアドレスにその旨が通知されます。
添付された音声ファイルを再生すれば用件が確認できますし、
ウェブブラウザから
http://<サーバのIPアドレス>/cgi-bin/vmail.cgi?action=login&mailbox=<内線番号>
にアクセスすることでも確認できます。

もちろん電話機単体でも "*98" に発呼して、
メッセージに従い内線番号とパスワードを入力することで
用件の再生が可能です。
メッセージはすべて英語ですが、操作はそれほど難しくはありません。
日本語のメッセージに変更する方法もあるようですので自力で探してみてください。

2007年6月26日火曜日

家庭内PBX その10 - 自動応答

Asteriskで自動応答といっても留守番電話のことではありません。
もちろん留守番電話にもなりますが。
外線着信した際に自動的に受話してメッセージを流し、
トーン入力でいろいろ分岐していくような機能を使ってみます。
銀行などに電話したとき、
この用件の場合はダイヤルキーの何番を押せなどといわれますが、
それをやってみようということです。

いろいろ組み合わせてかなり複雑なことが実現可能ですが、
とりあえず内線番号を押すことで直接各個人に電話ができるようにし、
内線番号がわからない場合は代表番号(グループ番号)に着信できるようにします。

前回同様 [freePBX]-[System Administration]-[Setup] にログインし、
[System Recordings] にいきます。
手元にある内線電話の内線番号を確認し、
それを [Step 1: Record or upload] の最初のテキストボックスに入力して
隣の [go] をクリックします。
その後、先の内線電話から "*77" に発呼し、発信音の後に
「内線番号を押してください。わからなければ1を押してください。」
としゃべります。
"*99" にかけなおし録音状態を確認できますが、
もし不満なら "*77" にかけてやり直せます。
満足できたら [Name this Recording:] を "first" (何でもいいです)とし、
[save] をクリックします。

次に、[Digital Receptionist] にいき
[Add IVR] をクリックします。
そこで、[Change Name] を "first" (何でもいいです)、
[Timeout] を "30" (何でもいいです)、
[Enable Direct Dial] をチェック、
[Announcement] を "first" (先の [Name this Recording] の設定とあわせる) とし、

下のほうの option の1つの項目で
テキストボックスに "1" 、[Ring Groups] の適切なグループ番号を入力して
[Save] をクリックします。

これで上記の動作が設定できているので動作試験してみてください。
なお、設定変更後には
"You have made changes - when finished, click here to APPLY them"
のクリックは忘れないようにしてください。

2007年6月25日月曜日

家庭内PBX その9 - グループ着信

ついでですのでAsteriskのそのほかの機能についてもご紹介しておきましょう。
グループ着信とは、ある特定の電話番号にかけると、
それに関連付けられた電話がすべて着信し、
どれか1つで通話できる機能です。
オフィスで言えば、各個人にそれぞれ電話番号を割り振り、
部署の代表番号を設定する機能となります。
やり方は以下のとおりです。

前回同様 [freePBX]-[System Administration]-[Setup] にログインし、
[Ring Groups] にいきます。
[Add Ring Group] をクリックして、
[group description] にそのグループの内線番号、
[extension list] にそのグループに所属する電話番号すべて、
[Destination if no answer] を適当に決め
[Submit Changes] をクリックします。
編集のためもう一度そのグループを開き、
[Destination if no answer] を
[Ring Groupes] のそのグループの内線番号(自分自身)に設定変更します。
これで、グループ着信ができます。

たとえば、外線着信をこのグループに振ることで、
誰でも手元の電話で受話できるようになります。
[Inbound Routes] の [Set Destination] を [Ring Groups] にして
受けたいグループ内線番号を指定することで実現できます。

最後に、しつこいようですが設定変更後には
"You have made changes - when finished, click here to APPLY them"
のクリックは忘れないようにしてください。

2007年6月22日金曜日

家庭内PBX その8 - パルスダイアルなアナログ回線での外線発信

X100Pからプッシュ契約していないアナログ回線で
外線発信する方法がわかりました。
Asterisk のソースを調べてわかったことですが、
追加するのは
pulsedial=yes
ではなく
pulsedial=true
のようです。
これを "/etc/asterisk/zapata-auto.conf" の
channel => 1
の行の直前に入れて再起動することで発信できるようになりました。

さて、ついでですのでダイヤルプランもきちんと入れておきます。
設定は、ごく一般的な0発信による外線接続とします。

前回同様 [freePBX]-[System Administration]-[Setup] にログインし、
[Trunks] の既存の [ZAP/g0] を編集します。
たとえば市外局番03の地域で
加入しているアナログ回線であれば、
[Dial Patterns] に
003|ZXXXXXXX
0|0.
0|1.
0|NXXXXXXX
を設定し、[Submit Changes] をクリックします。

ちなみに電話番号が"0abc-de-fghi"(市外局番0abc)の地域であれば、
[Dial Patterns] には
00acb|ZXXXXX
0|0.
0|1.
0|NXXXXX
にしておけば同様な設定となります。

また、[Outbound Routes] に行き、
すでに作られている "0" 番目のルーティング情報を開き、
[Dial Patterns] にたとえば
0.
を設定して [Submit Changes] をクリックします。
しつこいですが、くれぐれも
"You have made changes - when finished, click here to APPLY them"
のクリックは忘れないようにご注意ください。

これでどんなアナログ回線でも大丈夫そうです。

2007年6月21日木曜日

家庭内PBX その7 - 外線着信

あとは外線着信ができれば、とりあえず立派なPBXになります。
前回同様 [freePBX]-[System Administration]-[Setup] にログインし、
[Inbound Routes] を開きます。
[Zaptel Channel] を "0" とし、
[Set Destination] にSIPのハードフォンに割り当てた電話番号を選択します。
[Submit] をクリックして
"You have made changes - when finished, click here to APPLY them" をクリックすれば、
アナログ回線に電話がかかってくると、そのSIPハードフォンで着信と通話ができます。

なお、[Setup] の [General settings] にある
[Security Settings] の [Allow Anonymous Inbound SIP Calls?] を
"yes" にしておく必要があるかもしれません。

ここまでで、PBXの子本的な動作が可能になりました。
Asterisk には他にもさまざまな便利な機能が目白押しです。
ぜひいろいろと試してみてください。
私は外線発着信ができただけでおなかいっぱいですので…

2007年6月20日水曜日

家庭内PBX その6 - 外線発信

いよいよ外線発信の設定を行います。これでPBXらしくなります。
その4で説明した、[freePBX]-[System Administration]-[Setup] にログインします。

そこから [Trunks] に行き、すでに存在している [ZAP/g0] の編集を行います。
[Outbound Caller ID] に接続しているアナログ回線の電話番号を、
[Maximum Channels] に "1" を設定し、
[Submit Changes] をクリックします。
また、[Outbound Routes] に行き、
すでに作られている "0" 番目のルーティング情報を開き、
[Dial Patterns] にたとえば
117
177
0.
0NXXXXXXXX
0NXXXXXXXXX
などと電話をかける先の電話番号をパターンで登録しておきます。
[Dial Patterns] にマウスポインタを合わせると詳細が表示されますので、
お試しではなく本気で運用するすもりでしたら、しっかり設定してください。
[Submit Changes] クリック直後にるウェブページの一番上に現れる
"You have made changes - when finished, click here to APPLY them"
のクリックは忘れないようにご注意ください。

SIPのハードフォンからNTTの時報サービス(117)に電話をかけると、
見事つながりました。
ただし、NTTのひかり電話のルータと接続した場合はです。

生のPSTNの場合はつながりません。
どうもアナログ回線がプッシュ契約している場合にしかうまく動かないような気がします。
"/etc/asterisk/zapata.conf"に
pulsedial=yes
を追加するとプッシュ契約なしでもかけられそうなのですが、
今のところ成功していません。
できるようになったらまたレポートします。

2007年6月19日火曜日

家庭内PBX その5 - PSTNとの接続

前回からだいぶ時間があきましたが、うまく動かず悩んでおりました。
とりあえず半分解決しましたので記述しておきます。

もしまだなら、サーバのPCIバスに FXO アナログモデムカード X100P を差込み、
サーバを立ち上げ、ルートユーザでログインし以下を実行します。
# ztcfg -vv
そのときの結果(最後の1行)が
0 channels configured.
であると設定ができていないということなので、
# genzaptelconf
を実行します。これで
# ztcfg -vv
の実行結果が
1 channels configured.
になるはずです。
アナログ電話機に挿さっているモジュラージャックをX100PのLINE側に挿し替え、
X100PのPHONE側とアナログ電話とを別のケーブルで接続すれば、
外線発着呼の準備は完了です。

2007年6月18日月曜日

DSブラウザ パッチ

中身が Opera だけあって使えないこともない
NintendoDS のウェブブラウザ "DSブラウザ" ですが、
DSメモリー拡張カートリッジを挿さないと立ち上がらないところが非常にうざいです。

無線LANが使える環境で縛られるのでほとんど使用しないのは確かですが、
いざというとき(?)のために何とかならないものかと思っていましたが、
国内最大の某掲示板(のキャッシュ)にパッチを発見しました。
なんでもDSブラウザのROMイメージにこのパッチをあて R4 から起動すると、
M3 Perfect Lite を拡張カートリッジ代わりに利用することができるそうです。
内容は以下のとおりです。

アドレス 00004800 - 00004803
EE 30 05 EA

アドレス 00150BC0 - 00150C9F
B4 00 9F E5 1A 1B A0 E3 B0 10 C0 E1 68 00 8F E2
00 20 A0 E3 02 30 90 E7 B0 30 D3 E1 04 20 82 E2
3C 00 52 E3 FA FF FF 1A 88 00 9F E5 AA 1C A0 E3
55 10 81 E2 B0 10 C0 E1 80 10 9F E5 80 00 8F E2
00 20 A0 E3 02 30 90 E7 02 30 81 E7 04 20 82 E2
10 00 52 E3 FA FF FF 1A 74 10 9F E5 02 01 A0 E3
01 00 40 E2 00 00 81 E5 68 10 9F E5 01 00 A0 E3
00 00 81 E5 01 C3 A0 E3 F1 CE FA EA 00 00 00 08
02 00 E0 08 0E 00 00 08 FC 1F 80 08 4A 10 00 08
12 06 80 08 00 00 00 08 66 1B 80 08 0C 00 80 08
0E 08 00 08 00 00 00 08 E4 01 00 08 E4 01 00 08
88 01 00 08 88 01 00 08 FE EF FF 09 04 02 00 04
B0 00 00 08 FF FF 00 00 00 24 24 24 FF FF FF FF
FF FF FF 7F FC FF 01 08 00 00 24 08 00 00 00 00

これだけだとなんなのでちょっと中身を確認してみました。
NintendoDS のCPUはARM系なのですが、
ARMの場合、データの羅列を見ているだけで命令とデータの区別がある程度つきます。

DSブラウザのROMイメージを眺めていると、
0x480000 からプログラムが始まっているようで、
パッチでもここを変更しています。
つまり、0x480000 からどこかにジャンプして何らかの処理をした後、
もともと0x480000で行っていた処理を実行し、
ARM(32ビット)モードなので 0x480004 に戻してあげれば、
何事もなかったかのようにオリジナルの動作をすることとなります。
もちろん追加処理部分はオリジナルで未使用なメモリ領域に格納する必要があります。

さて、上記を逆アセンブルすると以下のような感じになります。

0x00004800:
    b 0x150bc0

0x00150bc0:
    ldr r0,0x00150c7c ; = #0x04000204
    mov r1,#0x6800
    strh r1,[r0,#0]
    add r0,pc,#0x68  ; #0x150c3c
    mov r2,#0
    ldr r3,[r0,r2]
    ldrh r3,[r3,#0]
    add r2,r2,#4
    cmp r2,#0x3c
    bne 0x150bd4
    ldr r0,0x00150c78 ; = #0x09ffeffe
    mov r1,#0xaa00
    add r1,r1,#0x55
    strh r1,[r0,#0]
    ldr r1,0x00150c80 ; = #0x080000b0
    add r0,pc,#0x80  ; #0x150c84
    mov r2,#0
    ldr r3,[r0,r2]
    str r3,[r1,r2]
    add r2,r2,#4
    cmp r2,#0x10
    bne 0x150c04
    ldr r1,0x00150c94 ; = #0x0801fffc
    mov r0,#0x80000000
    sub r0,r0,#1
    str r0,[r1,#0]
    ldr r1,0x00150c98 ; = #0x08240000
    mov r0,#1
    str r0,[r1,#0]
    mov r12,#0x04000000
    b 0x4804
0x00150c3c:
    0x08000000
    0x08e00002
    0x0800000e
    0x08801ffc
    0x0800104a
    0x08800612
    0x08000000
    0x08801b66
    0x0880000c
    0x0800080e
    0x08000000
    0x080001e4
    0x080001e4
    0x08000188
    0x08000188
    0x09ffeffe
    0x04000204
    0x080000b0
    0x0000ffff
    0x24242400
    0xffffffff
    0x7fffffff
    0x0801fffc
    0x08240000
    0x00000000
0x00150ca0:

追加処理部分をC言語風に書くと以下のようになります。

    (volatile unsigned short int*)0x04000204=0x6800;
    volatile unsigned short int* data1[]={
        0x08000000,0x08e00002,0x0800000e,0x08801ffc
        0x0800104a,0x08800612,0x08000000,0x08801b66
        0x0880000c,0x0800080e,0x08000000,0x080001e4
        0x080001e4,0x08000188,0x08000188};
    unsigned int data2[]={0x0000ffff,0x24242400,0xffffffff,0x7fffffff};
    int i;
    unsigned short int s;

    for(i=0;i<sizeof(data1)/sizeof(data1[0]);i++)
        s=*(data1[i]);
    (volatile unsigned short int*)0x09ffeffe=0xaa55;
    memcpy((volatile unsigned int*)0x080000b0,data2,sizeof(data2));
    (volatile unsigned int*)0x0801fffc=0x7fffffff;
    (volatile unsigned int*)0x08240000=0x00000001;
    return;

よくわかりませんが 0x04000204 はDSの内部レジスタ、
0x08000000台 は M3 Perfect Lite のレジスタなのでしょうか、
いろいろレジスタを操作しているようです。
で、実際パッチを当てると見事動作。
これで完璧です。

ちなみにG6を拡張カートリッジ代わりにする場合のパッチは以下だそうです。

アドレス 00004800 - 00004803:
EE 30 05 EA

アドレス 00150BC0 - 00150C9F
B4 00 9F E5 1A 1B A0 E3 B0 10 C0 E1 68 00 8F E2
00 20 A0 E3 02 30 90 E7 B0 30 D3 E1 04 20 82 E2
38 00 52 E3 FA FF FF 1A 88 00 9F E5 AA 1C A0 E3
55 10 81 E2 B0 10 C0 E1 80 10 9F E5 80 00 8F E2
00 20 A0 E3 02 30 90 E7 02 30 81 E7 04 20 82 E2
10 00 52 E3 FA FF FF 1A 74 10 9F E5 02 01 A0 E3
01 00 40 E2 00 00 81 E5 68 10 9F E5 01 00 A0 E3
00 00 81 E5 01 C3 A0 E3 F1 CE FA EA 00 00 00 09
E0 FF FF 09 EC FF FF 09 EC FF FF 09 EC FF FF 09
FC FF FF 09 FC FF FF 09 FC FF FF 09 4A FF FF 09
4A FF FF 09 4A FF FF 09 0C 00 20 09 F0 FF FF 09
E8 FF FF 09 88 01 00 08 FE EF FF 09 04 02 00 04
B0 00 00 08 FF FF 00 00 00 24 24 24 FF FF FF FF
FF FF FF 7F FC FF 01 08 00 00 24 08 00 00 00 00

2007年6月17日日曜日

Safari for Windows

今週初めから開催されている WWDC2007 で
Safari for Windows のベータ版について発表されました。
即ダウンロードして利用していましたが、
日本語の表示に問題があったので結局一度しか立ち上げていません。
英語版のしかもベータ版なので、
完成度についてはまったく期待していませんでしたし、
ここで何か書くことも考えていませんでした。
しかし、日本語関連の不具合やセキュリティーホールの指摘が
ネット上で結構見られます。

最近はOSでもベータ版が一般公開されたり、
気づいてみるとネット上のメジャーなサービスが
長期間にわたりベータ版のままで運用されていたりしていて、
ベータ版というとお試し版ぐらいに思っている方も多いのかなと思います。

正直 Safari のWindows版を作る前に、
横スクロール対応 Mighty Mouse ドライバのWindows版を出してほしいんですけど…

2007年6月14日木曜日

DSLinux - ネットワーク接続

前回までで DSLinux が起動できたのでネットワークにつないでみます。
コマンドプロンプトから wnc を実行すると、
GUIな接続設定ツールが使えます。
一般的には、まず[Scan]で周りの無線LANアクセスポイントを探し、
どれを利用するか選択します。
ネットワーク設定には[DHCP]を選択します。
これで、[Auto]から先に設定したアクセスポイントを選択すれば
めでたくネット接続完了です。

といいたいところですが、
私は思いっきり引っかかりました。
アクセスポイントは見つかるものの接続できません。
固定IPアドレス設定にしてもだめです。
いろいろ試していくと、
どうもすべてのアクセスポイントとつながるわけではないようです。
私の手元にあるうち接続できたのはLogitecLAN-PWG/APRだけでした。

まあ、つながってさえしまえばping が通るのはもちろんのこと、
テキストブラウザの retawq でネットサーフィンもできます。
日本語の表示に対応していませんし、いろいろな面で実用になるかは微妙ですが、
Linux は動くだけで意義がありますから。
日本語対応をふくめ、自分で作りこんで行ってもいいですが、
無線LANしか通信手段がないといまいち使えないんですよね。
町中に無線LANのネットワークが張り巡らされたあかつきには
jabberクライアントでも作ってみたいところですが、
いつになることやら。

2007年6月13日水曜日

DSLinux - 起動

もう大昔(?)になります。
かつて私が、NintendoDS と passme と Supercard(CF) しか持っていなかったころ、
DSLinux を試してみたことがありました。
起動はしましたがネットにつなぐことができず、
また、どうしても使いたい理由もなかったためほったらかしでした。
そして今。
所有する機材も知らぬ間に増えていき、
メインで使っているのは NintendoDS Lite と R4 と M3 Perfect Lite となってしまいました。
で、DSLinux にもう一度チャレンジしてみることにしました。
いや、単に思い出しただけなんですけど…

DSLinux ですが、しばらく見ない間にずいぶん変わっていますね。
とりあえず、R4 と M3 Perfect Lite 上で動かしてみることにします。
まず、DSLinux nightly builds から
dslinux-dldi.tgz をダウンロードします。
私の環境でダウンロードすると拡張子が".gz"になってしまうので、
".tgz"になおして解凍します。
すると、dslinux.nds ファイルと linux ディレクトリが現れます。
前者がカーネルイメージ、後者がルートファイルシステムというところでしょうか。

最初にカーネルイメージを何とかしましょう。
そのまま R4 などにおいても起動はできますが、
SDカードへのアクセスができないためルートファイルシステムの読み込みもできません。

ではどうするかというと、
DLDI - Dynamically Linked Device Interface for libfat
からストレージドライバをダウンロードし、静的にリンクすればいいのです。
DLDI Device patches の節の中から
R4 の場合は R4(DS) - Revolution for DS 用の r4tf.dldi を、
M3 Perfect Lite の場合は M3 Adapter (SD Card) 用の m3sd.dldi をダウンロードしてきます。
これらをリンクするのにツールが必要ですが、
Patching software(dlditool) の節でダウンロードできます。
私は、Win32 GUI の dlditool-win32-gui.zip を利用しました。
ダウンロード、解凍し、dlditool32.exe を実行します。
[DLDI File]の項の右端の[...]をクリックし、
先ほど落としたdldiファイルを置いているディレクトリを指定すると、
"M3 Adaptor [SD Card]" や "R4[DS] - Revolution for DS" が選択できるようになるので、
適当なDLDIファイルを設定します。
後は[Binaries]の項の[...]をクリックして、"dslinux.nds" を登録し、
[Patch]をクリックするだけです。
これで "dslinux.nds" が更新されます。
これをmicroSDカードのルートディレクトリにコピーし、
R4 などに読み込ませられるように準備します。

次にルートファイルシステムです。
先に現れたlinuxディレクトリを、先のmicroSDカードのルートディレクトリにコピーします。
そして、microSDカード内のlinuxディレクトリを好きに変更します。
無理に変更する必要はありませんが、
見慣れた linux のシステム構成になっていますので、
設定ファイルを都合がいいようにしたり、
アプリケーションを追加したりすればいいでしょう。

あとは、このmicroSDカードを R4 や M3 Perfect Lite に挿し、
NintendoDS Lite を起動して "dslinux.nds" を実行すれば、
見事Linuxにオートログインし、コマンドシェルが立ち上がります。

なお詳しいことは Main Page - DSLinux を見てください。

2007年6月12日火曜日

Dell Inspiron 700m 内蔵スピーカーケーブル断線

私がプライベートでメインに使っているのは、
Dell の Inspiron 700m というモバイルノートPCで、
もう2年以上使っています。
Celeron M + 512MB という十分とはいえない性能、
重量2kgで無線LANオン時のバッテリー駆動時間は2時間以内というモバイルには厳しい状況ながら、
約10万円で購入したのであと2年は持たせたいななどと思っております。

延命措置としてメモリの増設を考えているので中の様子を確認してみました。
700m にはメモリスロットが2つあると書いてあったのですが、
裏からは1つにしかアクセスできません。
もうひとつはキーボードをはずしてアクセスする必要があります。
最初にヒンジ部分のカバーをはずして、
ねじ2つをはずせばキーボードが取れ、
その下にもう1つのメモリスロットがあります。
それは問題ないのですが、
なんとヒンジを通って液晶側に伸びている4本の線が切れているのに気がつきました。

最近音がでないなあと思っていたらただの断線でした。
しょうがないので修理したのですが、
もともとの線材がとてもかたく、曲げ伸ばしの負荷で切れたのでしょう。
素人から見てもありえない設計に見えますし、
傾向不良としてDellも把握してるんじゃないかと思います。

でも、次PCを買うときもDellにすると思います。
だって、安いんですもの…

2007年6月11日月曜日

LaFonera でマルチクライアント無線LANコンバータ - 追記

DD-WRT 利用の LaFonera で clientbridgeモードについて調べてみました。
なんと、LaFonera の有線側につないでいる機器のMACアドレスは
LaFonera の無線側(親AP側)の機器からはすべて同じになっています。
LaFonera のMACアドレスに書き換わっています。

PC A(MACアドレス:a,IP:A) と LaFonera(MACアドレス:b,IP:B) を有線接続し、
親AP(MACアドレス:c,IP:C) と PC D(MACアドレス:d,IP:D)を有線接続して、
PC A から PC D にpingを打つと、
送信元・送信先のMACアドレス・IPアドレスは次のようになります。
request は PC A から [a->d,A->D] で発信され、PC D には [c->d,C->D] で届きます。

reply は PC D から [d->c,D->C] で発信され、PC A は [b->a,D->A] で届きます。

なんだかbridgeとNATをあわせたような奇妙な動作に見えます。
市販されているマルチクライアント対応無線LANコンバータが手元になく
実際どうような動作をするのかはわかりません。
しかし、ネット上で検索してると無線区間の通信に用いるMACアドレスは
シングルクライアントモードでは有線側につないだ機器のものを用い、
マルチクライアントモードではコンバータ自身のものを用いるようです。
これだとMACアドレスで接続機器を認証する機器やWOLが使えないことになりそうです。

というわけで、やっぱり WDS のほうが制限がなくてよさそうです。
いろいろ勉強になりましたが無駄足でしたね。

ちなみにDHCPでIPアドレスが取得できないといっていた件ですが、

やはりDHCPサーバのせいでした。

他のDHCPサーバを試しに使ってみるとちゃんと取れました。

 

2007年6月10日日曜日

LaFonera でマルチクライアント無線LANコンバータ

この前 LaFonera に DD-WRT を入れ WDS でAP間通信できるようにしましたが、
速度が出ないのがいまいち不満でした。
そこで、clientbridge モード(いわゆるマルチクライアント?)を試してみることにしました。
設定方法は以下のとおりです。
なお、私は http://www.dd-wrt.com/wiki/index.php/Wireless_Bridge を参考にして作業しました。

1.LaFoneraの電源をいれ、裏面の穴に隠れているボタンを細いもので押し続る。
2.LaFoneraの電源を入れなおす。
3.PCで無線LANのSSIDを"dd-wrt"として LaFonera と接続する。
4.PCのウェブブラウザから"192.168.1.1"を開く。
5.[Security]-[Firewall]メニューで[SPI Firewall]を"Disable"にする。
6.同ページで[Save Settings]をクリックする。
7.[Setup]-[Basic Setup]メニューで[Connection Type]を"Disable"にする。
8.同じく[STP]を"Disable"にする。
9.同じく[Local IP]を"192.168.1.101"にする(IPアドレス等を宅内LAN環境にあわせ手動設定)。
10.同じく[DHCP Server]を"Disable"にする。
11.同ページで[Save Settings]をクリックする。
12.PCで有線LANのIPアドレス等を宅内LAN環境にあわせ手動設定する。
13.PCの有線LANポートとLaFoneraの有線LANポートをストレートのLANケーブルで接続する。
14.PCのウェブブラウザから"192.168.1.101"を開く。
15.[Wireless]-[Basic Settings]メニューで[Wireless Mode]を"ClientBridge"にする。
16.同じく[Wireless Network Name (SSID)]を親APのSSIDと同じにする。
17.同じく[Wireless SSID Broadcast]を"Disable"にする。
18.同ページで[Save Settings]をクリックする。

これで LaFonera に有線接続したPCから、
宅内の他機器やインターネットへの接続が可能となりました。
通信速度も WDS より速いような気がします。

ところが、PCの有線LANをDHCP設定に戻すとトラブル発生です。
親AP側にあるDHCPサーバからIPアドレスを取得できません。
できるって書いてあるのに…
静的に設定しさえすれば問題はなさそうです。

まあ、このDHCPサーバとの接続に問題がある機器はこれが初めてではないので、
DHCPサーバの問題と思い込むことにします。

2007年6月8日金曜日

DIGAとDLNAと その4 - ストリーミング再生

やっとここまでたどり着きました。
それでは実際に DIGA DMR-E500H をDLNAサーバ、
PCで起動したRDLNAをDLNAクライアントとして動作させて、
動画のストリーミング再生へと参りましょう。

最初に確認です。
今まですっかり忘れていましたが、
DMR-E500H のネットワーク接続が有効になっている必要があります。
リモコンの[機能選択]キーから[初期設定]メニューを選択し、[ネットワーク]を開きます。

[ネットワーク機能]を有効にし、[TCP/IP設定]を設定します。
最近ではインターネット接続環境のある家庭なら一般的にブロードバンドルータが存在し、
そこでDHCPサーバが動作しているでしょうから、
[自動設定(DHCP)]にしておいて、とにかくつなげば何とかなるとは思います。
もしそうでないなら[手動設定]にして、IPアドレスやサブネットマスクを手動で設定しておきましょう。
もしDHCPサーバを使っていても、
後々のためIPアドレスは確認しておいたほうがいいでしょう。

もちろん、PCもネットワークにつながっていなければなりません。
そっちは自分で何とかしてください。
ちなみに、DMR-E500H と PC は同じサブネット上にあったほうがいいでしょう。
試したことはありませんが、そうでないと面倒なことになるでしょう。
とりあえずPCからpingを打ち、
DMR-E500H と論理的につながっていることを確認してください。

では、DMR-E500H の電源をオフになっているのを確認し、
PCでRDLNAを立ち上げましょう。
[検索]をクリックするとネットワーク上のDLNA対応機器を探して
先に確認した DMR-E500H のIPアドレスと
OSの種類("ITRON/4.0")がダイアログ表示されるので、これに接続します。
[接続]をクリックすればいいのですが、
DMR-E500H が起動するのに数十秒がかかるので、
[接続]と[切断]を交互にクリックしながら、
左のリストボックスに"HDD"と表示されるのを待ちます。
表示されたら"DVD_RTAV"ディレクトリまで下にたどり、
映像データのリストから1つを選んで[VLCで再生]をクリックします。
VLCが立ち上がりストリーミング再生開始です。
ファイル自身を[ダウンロード]して、それをローカル再生することもできます。

さて、私の実験したところでは、
LPモードで録画した映像を安定してストリーミング再生するのに
4Mbpsくらいのネットワーク帯域があったほうがいいようです。
100Base-TXの有線接続であればほとんど問題にはならないでしょうが、
PC と DMR-E500H がそれぞれ無線LAN区間を経由していると、
802.11g(54Mbps) を利用していてもスムーズに再生できない状況があるかもしれません。

このあたりは環境によってかなりの違いがあるでしょう。
基本的に運用でカバーするほかありません。

ついでですのでこれも書いておきましょう。
先ほど、DMR-E500H は電源がオフになっている必要があると書きましたが、
ネットワーク越しにオフにする方法があります。
ウェブブラウザから DMR-E500H のIPアドレスにアクセスし、
[レコーダ操作]から電源を切ることができます。
ただ、IPアドレスを知っている必要があります。
ということで、DMR-E500H のIPアドレスはDHCPではなく
静的に設定しておいたほうが何かと便利です。

最後になりますが、デジオンの DiXiM のほうが使いやすいですし、
ストリーミング再生時のバッファ処理が上手な気がしますので、
お金持ちの方はそちらを購入するのもいいでしょう。

2007年6月7日木曜日

DIGAとDLNAと その3 - DLNAクライアントの準備

ではPCにDLNAクライアントソフトを導入し、

ネットワーク越しに DIGA DMR-E500H に録り貯めた映像コンテンツを再生できるようにしましょう。

 

まずは、VideoLAN から VLC をダウンロードし、インストールします。

私の使っているのバージョンは 0.8.6b です。

 

次に RDLNA をダウンロードします。

RD-Wiki のサイトの ネットdeダビングページから RDLNA005a.zip をダウンロードし解凍します。

特にインストールは必要ありません。

適当なディレクトリに放り込んでおくだけでかまいません。

さて、とりあえず起動してみてください。

左下に "VLC:" と書かれていて、その少し右に [参照]ボタンがあるのでそれをクリックし、

先ほどインストールした VLC("vlc.exe") を指定しておきます。

いったん終了して立ち上げなおすと、

グレーアウトしていた [VLCで再生]ボタンが有効となっているはずです。

 

これで準備は完了です。

あとは実際に DMR-E500H にアクセスし、

コンテンツをダウンロードするなりストリーミング再生するなり好きにできます。

その方法はまた次回に。

 

2007年6月6日水曜日

DIGAとDLNAと その2 - DIGAの準備

DLNAクライアントから DIGA DMR-E500H にアクセスするには、

クライアントのMACアドレスをあらかじめ DMR-E500H に登録しておく必要があります。

 

今回クライアントには WindowsXP なPCを使いますが、

[スタート]メニューの [プログラム]-[アクセサリ] から [コマンド プロンプト] を起動し、

"ipconfig /all" を実行したときに "Physical Address" で表示されるのがMACアドレスです。

最近のノートPCには有線LANと無線LANが搭載されていたりするので、

どのネットワークインターフェイス経由でアクセスするかをはっきり決め、

そのMACアドレスを登録する必要があります。

 

さて、DMR-E500H を起動した後リモコンの [機能選択]キーを押し、

メニューから[初期設定]を選択します。

さらに[ネットワーク] -[クライアント機器登録]と進み、

リモコンの[リターン]キーで自動検索を止めます。

[手動追加]を選択し、先に控えたクライアント機器のMACアドレスを入力し、[追加]を選択します。

これで登録はできましたが、まだアクセスは許可されていません。

各機器のナンバーの左空欄に丸印がついていると許可されているということになります。

との許可と禁止の切り替えは、カーソルをその機器に合わせてリモコンの[決定]キーを押すだけです。

 

これで準備完了です。

次回はクライアントの準備をしましょう。

 

 

 

 

 

2007年6月5日火曜日

LaFonera で WDS 追記2 - バージョンアップ等

LaFonera のファームウェアをいったん DD-WRT に書き換えてしまえば、
以降はウェブブラウザからバージョンアップ(ダウン)できます。
http://www.dd-wrt.com/dd-wrtv2/downloads/beta/FONERA/
から適当な日付の fonera-firmware.bin をダウンロードし、
LaFonera にウェブブラウザからアクセスして、
[管理]-[ファームウェアアップグレード]-[ファームウェア管理]-[アップグレードするには、ファームウェアファイルを選択してください。] で先のbinファイルを指定して

[アップグレード]をクリックするだけです。

 

なぜこんな話をするかといいますと…

 

先日 LaFonera を追加で入手し、DD-WRTの2007年6月1日バージョンを書いたのですが、
どうしてもWDSできません。
しょうがないので2007年5月16日バージョンに戻したところ、正常に動作しました。
まあ、この手のソフトではよくあることです。
自分の都合に合うバージョンを探しましょう。

 

あと、少しはなしがずれますが、

[無線LAN]-[基盤設定]-[無線 LAN のインターフェース ath0]-[物理的インターフェース ath0]-[感度範囲 (ACK タイミング)] は

0にした方がいいような気がしています。

 

2007年6月2日土曜日

DIGAとDLNAと その1 - 序章

DLNA というと家庭内でデジタルデータを都合しあうという(?)規格ですが、

ついこの前、alpha Media Link の DLNA 体験 CD-ROM を入手しました。
knoppix ベースの Linux に動作開発のDLNAサーバとクライアントが入っています。
早速、手持ちの DIGA DMR-E500H と接続しましたがうまくいきませんでした。
で、DLNA について調べているとDegion社のDiXiMの体験版を見つけました。
昔は購入するしかなかったのに。

即行でダウンロード&インストールしたところ、
DMR-E500HをDLNAサーバ、DiXiMをDLNAクライアントにして、
録りためたMPEG2ファイルのストリーミング再生に成功しました。
うーん、便利。
以前このブログでDMR-E500HからMPEG2ファイルを抜き出す方法について書きましたが、
実はインデックスとファイル名には必ずしも関連がなく、
取り出したいタイトルのファイルを探すのが大変でした。
しかし、これなら希望のファイルが即座に扱えます。
で、オンライン販売の DiXiM がそこそこの値段なので購入しようか考えながらネットサーフィンしていると、
RDLNA + VLC でもほぼ同等のことができそうだということがわかりました。
実際試してみるとファイルのダウンロードもストーリーミング再生も思うがままにできます。
これはすごい。
まあ、実際に使うかというと微妙ですが、できることは多いほうがいいということで。
私の考えるもっとも実用的な使い方は、
DMR-E500H で録画したファイルを取り出してPC等に移動させておき、
いざ見たいときにPCでDLNAサーバを立ち上げてそのファイルを公開し、
DMR-E500H をDLNAクライアントとして利用して大きな画面で見る、
ということなのですが、
残念ながら、DMR-E500H をDLNAクライアントとして動作させることには成功していません。
あくまでも DMR-E500H 2台を連携させるためにある機能らしく、
一般のDLNAサーバは接続できないようです。
残念。
でもあきらめは悪いほうなので…