3月 012015
 

最近はほとんどの NotePC にカメラが付いていて Windows とかだと Skype しよう。 Mac だと FaceTime しよう。などと言っていますが、普段はほとんど使わない(と、僕は思う)んだけど、実際にはどうなんでしょうか?

そんな感じの標準装備のカメラですが OS に FreeBSD を利用していた場合にどのような目的でどう使う? ってか、その前に「ここに付いているカメラは FreeBSD で動くの?」などと思ってしまうのですが、今回は実際に NotePC に付いているカメラを FreeBSD で利用してみるとこにしましょう。

 
今回登場する NotePC は僕の持っている ThinkPad Edge e145 です。このブログには何回か登場しているのですが FreeBSD がバリバリ動作しています;-)。この ThinkPad Edge e145 も最近の NotePC のトレンドを追いかけているようで、ディスプレーの上にカメラが付いています。

今回はこのカメラを利用して色々やってみたいと思います。もしかしたら、ネタ的にはもう既に枯れているかも・・f(^^;;。

 
1). カメラを認識させる
最近の NotePC に付属のカメラはほとんどが USB に接続されているようですね。 pciconf -lv とか usbconfig list コマンドを叩き、デバイス的に、どこにカメラが接続されているか確認しましょう。

 # usbconfig list
    :
ugen4.2: <Integrated Camera Vimicro corp.> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (256mA)
    :

 
ThinkPad Edge e145 の場合は USB の ugen4.2 として認識されているようですね。と、いうことでこいつを正しいデバイスとして認識させてみましょう。

 
2). デバイスドライバのインストール
FreeBSD の純正デバイスドライバというのは存在してないのですが、 Linux 方面で開発されたキャラクタデバイスを読み込むドライバを FreeBSD に対応させた Cuse4BSD を利用します。 ports 的には multimedia/cuse4bsd-kmod になります。
まず、これをインストールし、続いてキャラクタデバイスをビデオデバイスとして認識させる webcamd をインストールします。 ports 的には multimedia/webcamd になります。まぁ、 webcamd を make install すると関連性で cuse4bsd-kmod もインストールされますが;-)。

そして multimedia/cuse4bsd-kmod を make install したときにインストールされた cuse4bsd.ko を kldload します。

# kldload /boot/modules/cuse4bsd.ko

 
カーネルモジュールをロードしたあとに wbecamd を起動し /dev/video0 として USB カメラを認識させます。オプションに USB 接続のカメラの USB のデバイス名を指定します。

# webcamd -d ugen4.2
Attached to ugen4.2[0]
Creating /dev/video0
^Z
中断
# bg
# ls -l /dev/video0
crw-rw---  1 webcamd  webcamd  0x82 Feb 28 26:14 /dev/video0
# chmod 666 /dev/video0

 
webcamd を起動すると正しく動作する USB カメラであれば /dev/video0 が生えてきます。
その後、一旦バックグラウンドにほーり投げてパーミッションを確認します。今回は一般ユーザでも利用したいので 666 に変更しています。デバイス生成時にバーミッションを変更したい場合には /etc/devd.conf におまじないを書いてください。ここでは割愛します;-)。

以上で準備は完了です。

 
3). まずはローカルでカメラを利用してみる
/dev/video0 が生えてきたので、実際にカメラに写るモノを表示させてみたいですね。そんな時は pwcview を利用します。 ports 的には multimedia/pwcview になります。
こいつを make install したあとに特にオプションも付けずに起動すると X11 上にウィンドが現れてカメラから映る景色が表示されると思います。

しかし、ローカルな FreeBSD の X11 の画面にカメラから映る景色が表示されても「だから何?」で終わってしまいますよねf(^^;;。
僕自身もまさしくそのとおりでして。ただ単に「あ。 cuse4bsd.ko と webcamd でデバイスを認識したのね。ふーん。すごいね。いじょ。」みたいな・・f(^^;;。

この写真はまさしくそんな感じで、 ThinkPad Edge e145 上の FreeBSD で KDE4 が動いていて、そこで pwcview を起動させた状態です。

IMG_0968_NotePC_Cam_1

ディスプレーの上にカメラがあるのですが、その横にある黄緑色の LED が光っております。カメラが Ready 状態ですねぇ;-)。

と、いうことで何か別の利用方法を考えてみることにしましょう。

あ。 chmod 666 /dev/video0 しましたが、これしないと一般ユーザで起動する pwcview では 画像が読み込めない状態になります。

 
4). リモートからカメラの映像を確認する
ローカルな FreeBSD の X11 に画面が出力されたので、リモートの FreeBSD から ssh -CY し、手元の X11 に pwcview を表示させればいんじゃね? えぇ。まさしくそのとおりですね。それだとリモートの X11 にカメラに映された映像が表示されます。それもひとつの案ですね;-)。

今回は http で画像を転送してみましょう。 ports から mjpg-streamer をインストールします。 ports 的には multimedia/mjpg-streamer になります。 make config は default の設定で良いです。まぁ、強いて言えば “Linux-UVC V4L2 plugin” を有効にしてインストールしましょう。

インストールしたものの中で重要なのはプラグインがインストールされた場所でしょうか。 /usr/local/lib/mjpg-streamer/ の中を覗くと .so なファイルが入っていますが mjpg-streamer を起動するときに利用するプラグインになります。

では実際に起動してみましょう。

$ mjpg_streamer -i 'input_uvc.so -d /dev/video0 -y' -o 'output_http.so -w /usr/local/www/mjpg-streamer'

 
/dev/video0 は chmod 666 しているので一般ユーザ権限で起動できます。

-i でカメラ側のオプションを指定します。 input_uvc.so プラグインを利用し、デバイスは /dev/video0 から入力します。
-o で出力側のオプションを指定します。 output_http.so プラグインを利用しコンテンツは /usr/local/www/mjpg-streamer にあることを指定します。
-o に output_file.so を指定するとカメラに写ったモノはファイルに出力してくれるのでしょうなぁ。僕は試していませんがf(^^;;。

ちなみに /usr/local/etc/rc.d/mjpg_streamer という起動スクリプトがインストールされるのですが、こいつは -i のオプションを指定する部分が無いんですよね。 rc.conf.local には以下のように書くと良いかな。

mjpg_streamer_enable="YES"
mjpg_streamer_flags="-i 'input_uvc.so -d /dev/video0 -y' -o 'output_http.so -w /usr/local/www/mjpg-streamer'"

 
さてさて。あとはウェブブラウザで http://localhost:8080 とかリモートのマシンからアクセスしてみるとそれらしいウェブサイトが表示されると思います。

ちなみにポート番号を変えたい場合には以下のように設定するが良いです。

mjpg_streamer_enable="YES"
mjpg_streamer_flags="-i 'input_uvc.so -d /dev/video0 -y' -o 'output_http.so -p 8081 -w /usr/local/www/mjpg-streamer'"

 
こんな感じで任意のポートに変更できたりします。

ただ、悲しいかな・・。 mjpg_streamer は IPv6 には対応していないようですねぇ。ソースコードの plugins/output_http/httpd.c の socket(PF_INET, …); の部分を書き換えると IPv6 対応になるかなぁ?暇なときにいじってみよう。

さてと。実際に表示される動画ですが、皆さんの目で確認してみてください;-)。
左のメニューから Static を選択すると写真が、 Stream を選択すると動画が流れ始めます。
僕の ThinkPad Edge e145 のカメラは pwcview ではまぁ、そこそこ綺麗に見えるのですが mjpg_streamer で見ると多少ちらつきますね。あと、ブラウザ側の PC の負荷が高くなるかな。

 
と、いう感じで NotePC に付いていたカメラが FreeBSD からでも利用できることが確認できました。しかもそのカメラがリモートからアクセスできて閲覧もできることが確認できたので、これで利用頻度がいっきにアップするのでは無いかと思われます。嬉しいことですね。

ただ、音を飛ばす時にはもっと別の技が必要になりそうな気がしますが、それはまた別の機会にでも:-|。

あと、カメラが付いてない FreeBSD がインストールされた PC には手元にある USB カメラを色々付けてみて cuse4bsd-kmod と webcamd で動作するか確認して見るのもよいかと思います。
もし動作する USB カメラだった場合、フツーの自作 PC にインストールした FreeBSD でも今回の組み合わせでカメラが利用できるようになるかと思われます。

ちなみに、僕は以下の二つの USB カメラを持っているのですが、こいつらをデスクトップの FreeBSD で利用してみました。

IMG_2228_NotePC_Cam_2

左側の白いのは FreeBSD というか webcamd で認識してくれませんでした。以下のようなメッセージが出力されます。

# webcamd -d ugen0.2
webcamd: Cannot find USB device

 
右側の黒いのは赤外線付きで暗いところでも良く見えるカメラなのですが、こいつは pwcview では動きましたが mjpg_streamer では動きませんでした(砂の嵐が表示されます)。
カメラによって動作が多少違うようですね。

 
と、いうことで、今回は NotePC に標準で付いているカメラで遊んでみました。 mjpg_streamer がちゃんと動いてくれると、利用価値は上がりそうですね。 また、 mjpg_streamer に変わる何か別のアプリを見つけてきて、それを試してみるのも良さそうですね。何か良い ports をご存じの方いましたら教えて下さい;-)。

また、最近流行の Raspberry Pi を FreeBSD/ARM で起動して USB カメラを接続し今回の組み合わせを利用すると、IoT な監視カメラができるかもしれません。

バッテリ運用で Raspberry Pi+USB Camera+FreeBSD+cuse4bsd-kmod+webcamd+mjpg_streamer+Wi-Fi な状態のヤツをラジコンカーに積んで走らせたら、録画ではなく、リアルタイムで動画が堪能できるような気がします。

面白そうだ・・;-)。

1月 302015
 

安い USB OTG ケーブルがあったので購入してみました。楽天で買ったのですが、送料込み 680yen でした。

このケーブル、充電しつつ USB 機器が一個接続できる。と、いうモノらしいです。が、考え方は色々あるようで、スマートフォンやタブレットには充電しないけど、接続器した USB 機器には給電しつつ利用できるので、スマートフォンやタブレットのバッテリの減りは遅くなるでしょ。と考えることもできるようですね。

そもそも OTG とはなんぞや? ということになるのですが USB “On The Go” の略だそうで PC が無くとも USB 機器単体で通信が行えるようにする規格らしいです。

するとこのケーブルのどこかには USB コントローラーチップが一個埋め込まれている。と、いうことになりそうですね。分解してないのでわからないんですけども。

で、 UBS オスを AC アダプタ(DG-D08IWB 32GB に付属の 2A のモノ)に接続し電力を仕入れたあと UBS メスにカートリーダーを接続をすると、そこに電気が供給されカートリーダーが使えるようになる。

IMG_0753_USBOTG_1

使い方としては USB のオスは AC アダプタなどに接続し電源供給できるようにします。
USB メスに USB キーボードや SD カードリーダーなどを接続し MicroUSB はスマートフォンやタブレットに接続する。って感じですね。

さてと。僕が持っている MicroUSB に対応したスマートフォンやタブレットはというと、以下になります。

  • DG-D08IWB 32GB
  • ZTE Blade Vec 4G
  • Nokia Lumia620
  • NEC Medias LTE N-04D

結論から言いますと Nokia Lumia620 だけが充電できました。他の機器は本体の充電はできずに 1 ポートの USB HUB として利用できるのみです(それはつまりは”変換ケーブル”ってことかい?)。
ただ、USB 機器には AC アダプタから給電されるようです。

DG-D08IWB 32GB のときは USB のオスを AC アダプタに接続し、MicroUSB は本体へ接続。 USB メスにはキーボードとかカードリーダーを接続し、動作する。って感じです。本体への充電はできませんでした。

ZTE Blade Vec 4G も DG-D08IWB 32GB とまるで同じ動作でした。

Nokia Lumia620 は唯一 MicroUSB から本体に対して充電ができました。おぉー。とわ言いつつ、 Windows Phone8.1 で動作する USB 機器が無いんですね・・。orz なので非常に本末転倒。意味が無い状態。

 
他に検証として、このケーブルの USB メスに USB – MicroUSB 変換ケーブルを接続し、MicroUSB 側にスマートフォンなどを接続すると無事に充電できました。つまりは USB オスから USB メスに対しては無事に給電していてくれている。と、いうことですね。
この時に余った MicroUSB に何かしらの USB 機器を接続するとどうなるのだ?と思ったのですが、 USB 変換プラグが無いので試せませんでした。

ただ、上記の通り USB メスに USB – MicroUSB 変換ケーブルを接続し、その変換ケーブルの MicroUSB 側にスマートフォンなどを接続して充電している最中に MicroUSB に Lumia620 を接続すると無事に充電できたので二台同時に充電は可能になりました;-)。

あと、色々接続テストをしていたらたまたま偶然 MicroUSB に接続していた DG-D08IWB 32GB に充電が出来ました。その時 USB メスには SD カードリーダーが付いていて Windows8.1 でも認識しました。ん? やったーっ!! とか思ったのもつかの間、その後、再度確認のために引っこ抜いて色々試したのですが、どう接続しても再現しなくなりました。あらら。

と、いうことでもしかしたらこのケーブルでも DG-D08IWB 32GB に対して USB 機器を使いながら充電できる可能性は残っている。と、いう感じはしました。もう少し色々試してみたいと思っているのですが・・。

 
まぁ、今回は送料込みで 680yen だったので人柱的要素が強いでしょうかねぇ。それはそれでしょーがない;-)。
ちなみに IBM の Windows タブレットでは本体に充電てきて USB 機器も使えるらしいので、色々試してみるのもそれはそれで楽しいのかもしれません。

 
2015/02/15 加筆
このケーブルを利用して DG-D08IWB 32GB が充電できるようになりました。わーい;-)。

接続している写真は以下になります。

IMG_0801_OTG_USB2_1

USB オスは AC 電源、USB メスに USB – MicroUSB 変換ケーブルを接続し DG-D08IWB 32GB に接続すると充電できます。
MicroUSB オスには USB メス – MicroUSB メス変換コネクタを接続し、そこに SD カードリーダーを接続しました。
すると、充電しつつ SD カードを認識したのであります。パチパチパチ。この状態で DG-D08IWB 32GB のバッテリ容量がどんどん増えていくことを確認しました。

アップの写真。

IMG_0805_OTG_USB2_2

USB メス – MicroUSB メス変換コネクタを接続したので利用時にはどちらも USB メスの状態になりました;-)。

ちなみに USB マウスを接続して使ってみたのですが DG-D08IWB 32GB の充電容量は中々増えないですね。 SD カードリーダーを利用した時には増えているんですが。それだけ USB マウスの消費電力が多い。と、いうことなのでしょうなぁ。となると AC アダプタは 2A のモノよりも 2.4A のものを利用したほうが良いのかもしれません。

あと、 ZTE Blade Vec 4G も試してみましたが、こちらは充電はできますが SD カードは認識しませんでした。と、いうことで今のところこのケーブルは DG-D08IWB 32GB で利用可能。と、いうことになりますね。

ちなみに変換ケーブルは 680yen、USB メス – MicroUSB メス変換コネクタは 280yen でした。両方足しても 1,000yen ですねぇ・・。

 
最後にですが、今回のような使い方をしても問題が無いのか、イマイチ良く解りません。ただ『使えました。』と、いうことです。この使い方をして本体や USB 機器などに問題が生じた場合、僕は責任を持てません。自己責任で試してみて下さい。

 

1月 072015
 

クリスマスイブの前日にドスパラの DG-D08IWB 32GB を入手し、正月休みに色々いじくってみました。とわ言ってもこのブログにありがちな「FreeBSD をインストールするぜぃ。」ってんではなく、純粋に Windows8.1 マシンとしての利用です;-)。

まず、 Bluetooth キーボードとマウスを手に入れました。今回購入したのは以下の二つ。

  • キーボード: ELECOM Bluetoothキーボード TK-FBP069BK
  • マウス: LOGICOOL Bluetoothマウス m557 グレー M557GR

キーボードのほうは正月休みに購入したら Amazon が 01/02 に持ってきてくれました。すげー;-)。
マウスのほうは休み前に、やはり Amazon で購入しました。

キーボードは「中々良いよ。」と IT 系ニュースサイトに書かれていて、Fn+ 数値キーで接続する機器が最大で九個まで登録できます。試しに Fn+1 を Android の ZTE Blade Vec 4G に、 Fn+2 を DG-D08IWB 32GB に接続できるようにしましたが、どちらも Bluetooth をオンにしたあとにサクっと接続してくれました。認証用の番号を入力する必要もありません。

今回購入したキーボードは 106 日本語キーボード(正確には 86 キーですが;-)なので日本語はかな入力が可能です。以前に ZTE Blade Vec 4G で Android の日本語かな文字入力を試した記事を書いたのですが、このキーボードでバッチリとかな入力ができました;-)。

IMG_0555_Wind81_Bt_1

で、DG-D08IWB 32GB で試した結果ですが、そもそも、キーボードの無い Windows8.1 タブレットはソフトキーボードでの入力になります。ソフトキーボードの使い勝手は以下の点においてどーもイマイチなので Bluetooth キーボードがあったほうが良いと思われます。

  • 日本語はローマ字入力しかできない。
  • ソフトキーボードを利用すると画面の半分が専有されランドスケープモードで利用するとウィンドがキーボードの下に隠れてしまう。
  • TAB キーが数値キーボード側にあり打つのが大変。
  • Ctrl+hoge キーが打てない。

などなど。 TeraTerm で ssh して tcsh 使うとか emacs を利用する場合には苦痛でしょうがないX-(。まぁ、そんなことするのは UNIX 系 OS を利用する一部の人のみだとは思うのですけどねf(^^;;。
あと、 Bluetooth キーボードを利用した場合でも Windows ストアアプリ側ではローマ字入力ができないのが悲しいところか。

 
続いてマウスについて。

今回購入した Bluetooth マウスは電池の持ちが約一年という、非常に省電力なマウスらしいです。一個くらい Bluetooth マウスを持っていても良いかなぁ。などと思い購入しました。

マウスがあるとデスクトップ側では非常に楽ちんですね。 Windows ストアアプリ側では別にマウスが無くても良いかなぁ。などと思えてきます。が、あればそれに越したことはありません。

今回購入したマウスには Windows キーが付いているのでスタートボタンを物理的に押す必要とか、マウスで左下に行く必要が無いのが嬉しいですね。

と、いうことで DG-D08IWB 32GB と一緒に持ち歩く機材が随分と増えたような気がしますが、まぁ、それはそれで仕方の無いことか・・。

 
さてさて。Windows8.1 タブレットと Bluetooth のキーボード・マウスが揃ったので、では、これを一体何に使うのか?と、いう点についてですが・・。

実は僕は普段から MacBook を利用しています。 NotePC ですが、そこに FULL HD のディスプレーと USB のキーボードと Apple Magic Trackpad を利用しています。
それが机の上にデーンっと居座っていて右側には ThinkPad Edge e145 がいて FreeBSD が動いています。

するとテーブルのスペースは左側が空いているのでそこに DG-D08IWB 32GB を設置しました。これで完璧。全てのデバイスで今必要な OS が全部動いている状態になりました。しかし、本当にそれで良いのか? orz

と、いうような感じです。

 
Windows8.1 の Windows ストアアプリ側でもっと普段から常用できるアプリが欲しいものです。

今一番欲しいのは CalDAV に対応したアプリですが、そもそも Windows 上でまともに動作する CalDAV アプリというのは Thunderbird の Lightinig しか無いようですね。 悲しいことです。
マップアプリももう少し色々揃って欲しいとは思いますが・・。

考えてみると、僕は Windows Phone8.1 も持っているのですが、 Windows ストアアプリ側はそれと似たような状態ですかね。もう少し今後の発展に期待でしょうかね。

ちなみに Windows10 が出るとタブレットはどう変化していくんだろう?

 
と、いうことで、現状ではこんな感じでしょうか。

DG-D08IWB 32GB を外に持ち出すときには ZTE Blade Vec 4G と一緒で、こいつの Bluetooth を利用することにしました。 ZTE Blade Vec 4G にはぷらら LTE SIM が入っているのですが、最近は一日に利用できるデータ量が 50MB から 70MB にアップしました。これも嬉しいことです。

なんか、話の終わり方がビミョーですが、 DG-D08IWB 32GB を使える環境が整いました。あとは何に使うか。になるのかなぁ・・。

あれれ?特に目的が無くて買ったということかな? f(^^;;。

一点。確実な使い方が解りました。 iCloud をインストールして、 iPhone で撮った写真を大画面で見る。ってことが可能です。 DG-D08IWB のカメラは結構へぼいので写真は撮らないような気がしますf(^^;;。

 

12月 242014
 

最近は 8 インチのちっこい Windows8.1 のタブレットが 20,000yen を切る価格で発売されているので、どうすんべかいのぉ。などと悩んでいました。ドスパラで発売された DG-D08IWB なんかは国内向けで技適は通っているし、一年の保証期間があるので中々良いと感じていたんですね。

ちょっとディスク容量が少ないなぁ。と悩んでいたらなんと 32GB 版が追加で発売されたので、これはこれは。と、いうことで 12/23 に実際にアキバのドスパラ本店に行ってきました。

ウェブで見ると納期最短七日。となっていたので、店舗にも無いかなぁ・・。などと思いましたが一応店員さんに聞いてみました。

僕: 納期一週間になっていますが、年内に受け取れそうですか?
店員さん: そーですよねぇ。正月休みに色々遊びたいですよねぇ。
僕: 32GB 版が新しく出たんですよねぇ? 容量的にはそっちが良いのですけどねぇ。
店員さん: ちょっと倉庫見てきますね。
僕: ん?

僕は待っている最中。店員さんはテクテクと僕のところにきて「ちょっとこちらへ。」と、人気のない方に僕を誘導します。
そして、静かな声で

店員さん: 在庫で一台だけありました。
僕: おぉ。

その後、レジカウンターで購入手続きを行い無事に DG-D08IWB 32G をゲットできました;-)。
ストレージが 32GB ある DG-D08IWB 32G は 16GB 版よりも 5,000yen 高いんですよね。けど、僕が利用している Windows8.1 の環境を精査してみたところやはり 16GB では少ないので今回は 32GB 版にしました。

以上が 12/23 の出来事なので、このエントリを読んだあとに「僕も私もドスパラ本店に直接行ってみよう。」と、思ってももう遅いかもしれません;-)。

 
と、いうことで家に帰ってきて早速タフをあけました。

IMG_0473_Windows8_Tab_1

こんな状態です。

僕は Windows8.1 はデスクトップとか ThinkPad Edge e145 でしか使ったことがないのでタッチ動作は初めてです。今後、今年の年末年始に使い込んでいきたいと思っています。が、ファーストインプレッション。気がついた点をちょっと箇条書きにしてみたいと思います。

  • 同梱品は AC – USB 変換アダプタと MicroUSB ケーブルのみ。
  • 同梱品の AC – USB 変換アダプタは 5V 2.0A 相当です。
  • MicroHDMI – HDMI 変換ケーブル付いてません。
  • MicroUSB – USB メス変換ケーブル付いてません。
  • サイズは手頃です。スタートメニュー側で遊ぶには中々良い感じ。
  • デスクトップ側は表示される文字が小さい。老眼鏡が必要で、タッチもつらい。
  • デスクトップを利用する場合には Bluetooth キーボード・マウスがあったほうが良い。
  • 僕は Bluetooth マウスは持ってないので USB マウスを接続して利用したのですが、バッテリーの減りが早いかな。
  • Bluetooth キーボード・マウスが無いと USB で充電できないのが辛い。
  • この間買った cheero Power Plus 3 バッテリでは 2.4A のほうを利用するとなんとか充電できる感じです。
  • Office2013 をインストールしたら残りは 13GB です。まぁ、Office2013 は必要最小限のものにしていますが。

まぁ、取り合えずはこんな感じで。
デスクトップを表示する画面がずいぶんと小さいですねぇ。

あと、 Wi-Fi しか利用できないので、ぷららモバイル LTE が入った ZTE Blade Vec 4G はテザリングができるのでこのマシン用の Wi-Fi ルータとなることでしょう;-)。

 
今回の年末年始の休みにはこれで色々遊んでみよう。

 
2014/12/30 加筆
ウェブ上の DG-D08IWB のレビュー記事読むと『MicroHDMI – HDMI 変換ケーブルは付属』ってのを見ていたので『あぁあぁ。僕のはハズレだったかぁ。』(泣き寝入り予定だった;-)などと思っていたら 12/25 に携帯電話にドスパラのサポートから留守電が入っていて「MicroHDMI – HDMI 変換ケーブルが入荷しましたのでご連絡差し上げました。」だって。(o_@)

で、12/29 にドスパラ本店に取りに行って無事にゲットできました。

それにしても箱の中にケーブル一本入ってない情報をちゃんと管理していて、入荷したらこうして電話がかかってくるお店ってどんなだぁ?『ケーブル一本箱の中に入ってない。』って情報を管理している。ってことでしょー。

ドスパラのサポート力にただただ感動というか、驚いてしまったのであります;-)。

 
あ。実際に MicroHDMI – HDMI 変換ケーブル を利用してみました。レグザに FULL HD で無事に出力できました。
Bt キーボードとマウスがあるともう、バッチリですね;-)。

10月 062013
 

色々なシーンにおいて利用していた ThinkPad X100e が起動しなくなってしまいました。購入したのが 2010/09/26 なのでちょうど三年で壊れてしまった。と、いうことになります。早いなぁ。

僕が購入した NotePC は ThinkPad535E が一番最初でそのあと MacBook も含めると九台の NotePC を購入しているのですが、「遅いっ!!」と感じて買い換えるまで壊れたことは一度も無かったので、そー考えると現役で壊れてしまった NotePC はこれが初めてです。

ThinkPad って堅牢なイメージがあるのだけど、やっぱり安物ではなく、ちゃんとしたのを買え。ってことなのでしょうなぁ。

 
この NotePC は FreeBSD で利用する分には suspend/resume をちゃんとしてくれていたので悲しいモノがあります。
あと、CPU は AMD だしグラフィックスは RADEON だったしねえ。

FreeBSD の 9.2-RELEASE が出る少し前に DRI 系の Mesa で 9.1.6 が利用できるようになったのでそれらの ports を make して RADEON でバリバリ使うぜーっ!! とか思って、 portmaster -D -a が完走してリブートしたら、その後、起動しなくなりました。

CPU 負荷かけすぎたのかなぁ?とか思い、一応分解してみました。

IMG_5893_RhinkPadX100e_Crash_2

症状は以下のような状況です。

・電源は生きているようです。バッテリにも充電されます。
・CPU ファンはゴワンゴワンと回ります。
・CPU 周りも熱くなっているので CPU 自体は多分動作しているんでしょう。
・しかし、ディスプレーには何も映らない。
・D-sub 15pin で外部出力も試したけど何も写らない。
・SSD・メモリその他のパーツも取り外したけど、やはり何も動かない。

と、いう感じで完全にマザーボードがいかれたっぽい。ってのが僕の結論です。

AMD の E-450 を利用しているので以前から熱暴走する感じはあった(FreeBSD の ACPI で熱暴走前に ACPI shutdown が走るけど)。 まあ、そのあおりを受けて他のパーツに影響が及んだのであろう。と、いうのが感想です。

IMG_5895_RhinkPadX100e_Crash_1

さて。新しい NotePC が必要なのですが、もう一回 AMD の CPU の NotePC にしてみようかと思っています;-)。すると多分 Acer のヤツになるだろうとは思うのですが。

 
壊れた ThinkPadX100e ですが、パーツ取りをとりあえず行う予定。

・CPU AMD E-450 (マザーボードからひっぺがす;-)
・メモリ DDR2 2GB x1 / 1GB x1
・Wi-Fi チップ Centrino Advanced-N+WiMAX 6250
・Bluetooth モジュール
・キーボード
・Intel 240MB SSD

このくらいかなぁ。どれか欲しい人います? ;-)。

9月 212013
 

自宅の無線 LAN 機器で 802.11n の 5GHz 帯を利用する機器が増えて来たので、 BB ルータ兼無線 AP ポイントを買い換えました。今まで利用していたのは Aterm WR8500N でした。こいつは有線 LAN が GbE で無線 LAN は 802.11n に対応しているんだけど 2.4GHz と 5GHz が同時に利用できないので、今回は同時利用可能なものを購入した。と、いう感じなのであります。

今回購入した Aterm PAWG600HP は一応新製品ですね。でもって 有線 LAN は RJ45 の GbE で無線側は 802.11n で 2.4GHz と 5GHz の同時利用可能。僕は今回同時利用可能な製品を初めて購入したのですが、 同一の SSID で 2.4GHz 帯と 5GHz 帯を利用できるのかと思っていたのですが、そんなことはなく、それぞれ SSID が変わるのですね。これを同時利用というのか? f(^^;;。

IMG_5660_WG600HP_1

後ろ側が今まで利用していた WR8500N で、手前が今回新しく購入した PAWG600HP です。

NEC 製品を連発で購入していますが、 Aterm には設定画面において「ポートマッピング設定」で TCP のプロトコル番号も転送できるのでそれが嬉しい点ですね。まぁ、今時 TCP のプロトコル番号 41 を転送する人も少ないと思いますが;-)。

あと、最近は NTT の ONU にも Aterm OS (と、言って良いのか?)が利用されている機種もありますね。スゲーメジャーになった。と、いうことで安心して Aterm は利用できそうです。

 
さてさて。自宅の無線 LAN が 5GHz 帯を利用できるようになったので早速 iPhone5+iOS7 で通信テストをしてみました。

RBB のスピードテスト App を利用してみました。

IMG_5731_WG600HP_2

いやー。驚きの速さですね。 iPhone5 には隣の家の SSID も見えたりするので AP は多いと思うのですが、それにしても 5GHz 帯は利用する価値がありそうです。

・・・。

って、ちょっと待ってよ。 LAN 内の Gigabit Network で接続されている機器間の通信ならいざ知らず、大手町にあるサーバに対して 80Mbps も出るんかい? ボトルネックは NTT の B’Frets 回線網ではないんかい? などと思えて来ました。うちの B’Flets は 80Mbps も出るんかい? あやすぃー。みたいな;-)。

中々速い 5GHz 帯の AP が自宅にやって来た。と、いうお話なのであります。

それにしても余った WR8500N はどうしよう・・。

8月 042012
 

一台目の PRIMERGY MX130 S2 は自宅サーバになりました。二台目の PRIMERGY MX130 S2 はデスクトップで利用しているんですが、 FreeBSD/amd64 9.1-BETA と Windows7 のマルチブートです。今回は珍しく Windows7 でのベンチマークの結果などを書いてみたいと思います。

おっと、その前にメモリを増設したのでそのことについて書いておきます。購入当初、一台目の余っていた ECC DDR3-1333 メモリと二台目の ECC DDR3-1333 メモリを足して計 4GB で運用していたのですが、Non ECC DDR3-1333 メモリ 4GBx2 を追加して合計 12GB で動作しています。

で、メモリの装着方法ですが、メモリバンクの 1,3 番に ECC DDR3-1333 メモリ、2,4 番に Non ECC DDR3-1333 メモリを接続するとブートしてくれないですね。で、順番を入れ替えて 1,3 番に Non ECC DDR3-1333 メモリ(計 8BG) と 2,4 番バンクに ECC DDR3-1333 メモリ (計 4GB) を接続したらブートするようになりました。 ECC、Non ECC メモリ混在の場合はこのように接続するとブートすると思います。

で、本題。まずは Windows Experience の結果から。

PRIMERGY_MX130_S2_Experiens.PNG

グラフィックスカードは nVidia の GeForce210 を乗せているので default のよりは速いかもしれません。メモリは ECC メモリのみの場合と ECC、Non ECC メモリ混在の場合では値に変化はありませんでした。メモリに関しては、混在の状態は初めての体験だったので「ふーん。」って感じですね;-)。

で、次のキャプチャは CPU-Z の結果。

PRIMERGY_MX130_S2_CPU-Z.PNG

ふむー。PRIMERGY MX130 S2 というか AMD FX-6100 のスペック調査っぽいんだけど、まぁそれはそれでヨシとして。

FX-6100 って考えてみたら Windows7 では Turbo CORE が有効になって最大 CPU クロックが 3.9GHz になるんですね。すっかり忘れていましたわ。 FreeBSD/amd64 を使用したときは Turbo CORE は有効にならないので最大 CPU クロックは 3.3GHz だったなぁ。

以下は FreeBSD の sysctl の dev.cpu.0.freq_levels の結果ですが、ふむ。最大は 3300 ですね。

dev.cpu.0.freq_levels: 3300/13635 3000/10925 2625/9559 2400/7417 2100/6489 1800/4620
1575/4042 1400/3195 1225/2795 1050/2396 875/1996 700/1597 525/1198 350/798 175/399

 
で、思い出した。 FX-6100 って CPU クロック可変なんだけど、公称では確か 1.4GHz から 3.3GHz までの範囲で可変。そして Turbo CORE 有効時には 3.9GHz で動作する。ってことでしたよね。 Windows7 で利用する場合には CPU-Z をみているかぎりでは確かにその通りに動作します。

けど、 FreeBSD/amd64 を動作させたときの上記の sysctl を見るとクロック可変の部分の幅がずいぶんあるのね。 Turbo CORE のコードはまだ書かれていないと思うので、まぁ、ひとまずおいておきますが・・。

それらしい sysctl MIB をあげてみました。

dev.cpu.0.freq: 700
dev.cpu.0.freq_levels: 3300/13635 3000/10925 2625/9559 2400/7417 2100/6489 1800/4620
1575/4042 1400/3195 1225/2795 1050/2396 875/1996 700/1597 525/1198 350/798 175/399 dev.hwpstate.0.freq_settings: 3300/13635 3000/10925 2400/7417 1800/4620 1400/3195

 
もしかしたら dev.cpu.0.freq と dev.cpu.0.freq_levels はあてにならないのかも・・。正しい値が dev.hwpstate.0.freq_settings だとしたら、実際に動作している CPU クロックは何になるのだろう・・。

ちょっと疑問に思った、今回のベンチマークの結果なのでありました。が、まぁ、どっちにしても Core が 6 個もあるので処理はじゅーぶんに速いです;-)。

7月 062012
 

前回のエントリは「PRIMERGY MX130 S2 を二台目購入」ってヤツでしたが、一台目を購入したのは今年の一月ですね。で、その時に購入した MX130 S2 は自宅のサーバとして今でも元気に稼働しております。

しかし、購入したのは冬で、当時は「ふむー。だいぶ静かだね。」などと思っていたのですが、最近暑くなってきて、ファンがブン回るようになりファンの音が非常に耳障りな状態になっていました。

どーしたもんかいのぉ・・。などと悩んでいて、いよいよ筐体を開けてみました。前面にあるけっこう大きめなファンがウナリを上げて回っているようですね。でもって、CPU ファンや電源ファンは特に壊れた様子は無い。あいや。

自宅のサーバは MRTG で CPU の動作クロックや温度、HDD の温度などを取得してグラフに表しているのですが、冬場は 25゜C 程度、夏の今の時期でも 35゜C だったのですげー温度が高い。と、いう感じはしません。けど、フロントファンが轟音を立てて回っております。orz

しょーがないので一個ファンを付けるかなぁ。とか思い、手持ちで余っている 5cm や10cm のファンを付けようと思ったのですが、あたたたた。さすが、自作では無いマシンですね。余計な電源コネクタというのが一個もない。なので追加でファンが付けられない・・。orz。

で、悩んでいる時にチップセットのフィンを触ったら異様に熱いっ!! んーー? とか思って、フィンにアルミの洗濯ばさみを三つ付けてみましたよ。この技は以前、このブログで一回掲載しているんですけどもね。

果たしてっ!! PRIMERGY MX130 S2 にはこの技の効果絶大っ!! 洗濯ばさみを三つ付けたらたちまち十秒程度でフロントファンの回転が収まってきました。あー。なるほどね。 CPU の温度や HDD の温度が低いんだけど、ファンが高回転していたのはチップセットの温度が高かったからなのね。このサーバは、ハードウェア的にチップセットの温度も監視していて、それでファンの回転を高速に回していたのね。

結局こんな感じになりました;-)。六個の洗濯ばさみを付けてみました。

IMG_2675MX130S2_and_sntkbsm.jpg

チップセットのフィンにファンを付ければナンの問題も無いのだけど、そもそもファンを付ける電源コネクタが無いのでファンが付けられない。そんなときはアルミの洗濯ばさみです;-)。

 
と、いうことで、これだけ付けたらファンの回転が落ちてずいぶんと静かなサーバになりました。

PRIMERGY MX130 S2 をお持ちの方でフロントファンが轟音をたてて回っていてその音に辟易している方は是非一度試してみてはいかがでしょうか;-)。

7月 012012
 

今年の初め頃に自宅のサーバをリプレスしました。安い値段で PRIMERGY MX130 S2 が売っていたので。

でもって、今回、久しぶりに再度安くなっていたので今度はデスクトップ機を新調することにして、もう一台購入してしまいました。定価が 12,800yen クーポン券で 1,820yen 割引で送料無料。うひっ!!

で、前回と同様、早速アキバに行って追加のパーツを購入してきました。

IMG_3441_PRIMERGY_2_MX130S2.jpg

CPU は前回と同様、FX-6100 にしました。二週間前に Opteron 3280 が出たのでそれにしようか迷ったのですが、Facebook で FreeBSD がブートしない。と、教えていただいたので悩んだのであります。そのレポートは以下の URL になるんですけども。

http://www.freebsd.org/cgi/query-pr.cgi?pr=169455

以前購入したときは FX-6100 で無事に起動していたので Opteron 3280 はダメということなのか・・。 CPU によって起動できないのはちょっと考えられないのであれですが・・。

今回購入した FX-6100 は 10,980yen、Opteron 3280 は 21,580yen でした。だったら実績があって、安いのが良いかなぁ。と、いうことで FX-6100 にしてしまいました。弱いなぁ・・。多分 BIOS の設定を色々チューニングすると Opteron 3280 でも FreeBSD がブートするのではないかと思うのですが・・。 BTX loader Halted の場合、HDD とかパーティション周り(zfs とか)に問題があるような気がします。

あと、今回は自宅の自分用デスクトップなのでグラフィックスカードを購入しています。購入時には一応店員さんに聞きました。「250W の電源に FX-6100 載せるんですがこの GeForce 210 で PC ブートしますかねぇ?」と。店員さん曰く

「GeForce 210 は約 30W なので、 CPU の 95W と合わせても 250W の半分程度なので多分問題無く利用できるでしょう。」

とのことでした。家に帰って PC 組み立ててブートしてみたら無事に起動しました;-)。

そして、今回購入した最後のパーツは 1TByte の HDD を一個。メモリは購入しませんでした。と、いうのも PRIMERGY MX130 S2 は default で ECC 付きの 2GB のメモリが付いているのですが、一台目に購入した PRIMERGY MX130 S2 のメモリが余っていた(一台目は ECC ナシ 16GB の構成した)と今回購入した二台目のメモリ併せて 4GByte になるのでひとまずそれで行くことにしました。

FreeBSD のインストールは前回書いたエントリである「PRIMERGY MX130 S2 を FreeBSD で利用する。」でばっちりのはず。あ。一点だけ。 Windows7 とマルチブートすると GPT パーティションは無理っぽいですね。 /dev/ada0s3a になってしまいます。 HDD の全部を FreeBSD にすると /dev/ada0p1 になりますね。なので、マルチブート構成の人は GPT バーティションはあきらめることになるのかな。何か方法があったら教えてくださいー;-)。

あと、 PRIMERGY MX130 S2 は音声の output が無いので後はここに USB な外付けサウンドチップを接続すれれば、今回のデスクトップとしては完璧かなぁ。などと思っててます。で、USB のサウンドカードは以前の「USEN 放送を録音して iPhone で聞く。」のエントリで利用したものを接続します。 FreeBSD では uaudio で、windows7 の場合はドライバを個別にインストールする必要もなく、サクっと利用できます。
いやはや。以前に買って引き出しの中に眠り続けていたパーツが無事に再利用できて良かった;-)。

あ。思い出した。僕は玄人志向の GF210-LE1GHD/D3 というのを購入して付けました。ディスプレーとは HDMI で接続しているのですが、 FreeBSD 的には snd_hda.ko を kldload するとグラフィックスカードのサウンドデバイスを認識してくれます。ディスプレー側に音楽出力用端子とかスピーカーがあるヤツであれば、無理してサウンドカード付ける必要は無いです。グラフィックスカードの音声出力を利用するのも一つの手かもしれません。

ちゅーこって、本体が 10,000yen 強。追加のパーツが 20,000yen 強。計30,000yenちょっとで自宅のマシンをリプレスし、そこそこ速いマシンができました。嬉しいことです;-)。

5月 242012
 

最近というか、かなり前から秋葉原の色々なショップでジャンク扱いで販売している PLANEX の MZK-W300NH2 という BB ルータがあります。

今回はこれが 500yen で売っていたので買って来ました。実は一年くらい前に 1,000yen で一個購入しているので今回が二個目の購入。ということになります。

個人的には二個目のヤツに OpenWRT をインストールして、その上で OpenFLOW などを動かしてみようかなぁ。などと思った次第です。

で、今回はその手順を見ていくことにしましょう。とは言いつつも一回では到底終わりそうにないので多分数回に分けて書いていくことになります;-)。

まず、 MZK-W300NH2 で OpenWRT が動作するか確認する必要があります。 OpenWRT のサポートしている機器の一覧を確認します。ふむ。 MZK-W300NH2 はリストアップされていませんね。と、いうことで MZK-W300NH2 の機器の情報を取得します。

・アーキテクチャは ramips
・CPU は RT3052
・FLASH は 4MB

これだけ解れば大丈夫か。似たような機器としては Allnet の ALL0239-3G などが掲載されているのでトライです。以下の URL からそれらしいファームを拾ってきます。

http://downloads.openwrt.org/snapshots/trunk/ramips/

で、ウェブインターフェースからファームウェアを更新しようとするんですが、チェックではじかれますね。アタタタタ。と、いうことでしゅーりょー。orz。

何か手段は無いものか? などと調べていたら MZK-W300NH2 にはマザーボード上にシリアルのコネクタというか、結線できるものはあるようですね。ウェブで調べてみると以下のようです。右から順に以下のようになっています。

・3.3V
・TXD
・GND
・RXD

では、ここに RS232C のチップと D-SUB 9pin オスを付けてしまいましょう。こんな感じになりました;-)。写真を 2,3 枚。

こっちがアップの図。

IMG_2318_mzk-w300nh2_1.jpg

でもって、こっちが D-SUB 9pin がニョキっと生えた図。

IMG_2304_mzk-w300nh2_2.jpg

今回利用したチップは ADM3202 です。ただし、僕が付けられるわけもなく、会社の同僚で仕事が電子工作という人に付けてもらいましたf(^^;;。ありがとうございました。

さてと。今回の話はようやっとここから;-)。シリアルコンソールが付くと、もう何でもできるような気分になります。まずは電源投入してプロンプトなどを表示してみます。

U-Boot 1.1.3 (Nov 25 2008 - 16:46:30)
Board: Ralink APSoC DRAM: 16 MB relocate_code Pointer at: 80fa8000
Please choose the operation: 0: Load ucos code to SDRAM via TFTP Client. 1: Load system code to SDRAM via TFTP. 2: Load system code then write to Flash via TFTP. 3: Boot system code via Flash (default). 4: Entr boot command line interface. 9: Load Boot Loader code then write to Flash via TFTP.

 
最初にメニューが出力され選択できるようになっています。メニュー画面の表示時間は一秒なので二秒後には 3: が動作し BB ルータとしての OS が起動してしまいます。なので、電源投入後はすかさず 4 を押します。

するとコマンドプロンプトが出てきます。

RT3052 # ?
?       - alias for 'help'
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootm   - boot application image from memory
bootp   - boot image via network using BootP/TFTP protocol
cp      - memory copy
echo    - echo args to console
erase   - erase FLASH memory
help    - print online help
loopback   - Ralink eth loopback test !!
md      - memory display
mdio   - Ralink PHY register R/W command !!
mm      - memory modify (auto-incrementing)
mw      - memory write (fill)
nm      - memory modify (constant address)
printenv- print environment variables
protect - enable or disable FLASH write protection
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv  - set environment variables
spicmd  - read/write data from/to eeprom or vtss
tftpboot- boot image via network using TFTP protocol
version - print monitor version

 
なるほど。こんなコマンドがサポートされているのね。で、プロンプトから操作するときのの情報を知るには printenv コマンドを実行します。

RT3052 # printenv
bootcmd=tftp
bootdelay=2
baudrate=57600
ethaddr="00:AA:BB:CC:DD:10"
ipaddr=10.10.10.123
serverip=10.10.10.3
preboot=echo;echo
ramargs=setenv bootargs root=/dev/ram rw
addip=setenv bootargs $(bootargs) ip=$(ipaddr):$(serverip):\
$(gatewayip):$(netmask):$(hostname):$(netdev):off
addmisc=setenv bootargs $(bootargs) console=ttyS0,$(baudrate)\
ethaddr=$(ethaddr) panic=1
flash_self=run ramargs addip addmisc;bootm $(kernel_addr)¥
$(ramdisk_addr)
kernel_addr=BFC40000
u-boot=u-boot.bin
load=tftp 8A100000 $(u-boot)
u_b=protect off 1:0-1;era 1:0-1;cp.b 8A100000 BC400000¥
$(filesize)
loadfs=tftp 8A100000 root.cramfs
u_fs=era bc540000 bc83ffff;cp.b 8A100000 BC540000 $(filesize)
test_tftp=tftp 8A100000 root.cramfs;run test_tftp
stdin=serial
stdout=serial
stderr=serial
ethact=Eth0 (10/100-M)
Environment size: 783/65532 bytes RT3052 #

 
なるほど。tftp の設定とか、FLASH の扱い方とか設定できますね。ウェブインターフェースでイリーガルなファームウェアを更新するとガードがかかってできませんが、 tftp サーバから持ってきてブートするともしかしたら OpenWRT がブートするかもしれないですね。

と、いうことで第一回目は終了です;-)。 MZK-W300NH2 にシリアルポート付けたぜーっ。ってのが第一回目だったりします。それにしても RS232C のチップ埋め込んでハンダ当てて色々やるのは随分と敷居が高いですよね。

で、こーいうのを見つけました。

UART(3.3V)-RS232C変換モジュール内蔵コネクタケーブル

D-SUB 9pin コネクタの中に RS232C チップが最初から埋め込まれていて、伸びたケーブルをマザーボードの ピンに何らかの手段で接続すれば良いだけ。と、いう非常に簡単なモノです。ただ、これをどうやってマザーボードに固定もしくは接触させるかを考える必要はあるかと思いますけどね。

それにしてもシリアルコンソールがあるといきなりワクワクしてしまいますね。後は tftp サーバからファームウェアをダウンロードしてブートできれは良いだけになりました。とは言いつつ、ファームウェアを作らなければならないわけでして。それについては上にも書きましたが次回以降で;-)。

次回 があるか分かりませんがf(^^;;。