7月 302009
 

iPhone3G でテザリングするためのプロファイルが落ちているらしいのでそのプロファイルを持っている人からメールで送ってもらってインストールしてみた。

テザリングした状態の iPhone3G はこんな感じ。それにしてもパケット代がどうなるのか解らないので怖くて通信できないよ状態なのでありました(^^;;。

キャプチャするために試した。とも言うんだけど(^^;;。

iPhone3G_tethering.JPG

さて。今回試したのは WindowsXP の PC なんだけど、このときの状態はどうなっているのか?と言えば、

Ethernet adapter ローカル エリア接続:
Media State . . . . . . . . . . . : Media disconnected
Description . . . . . . . . . . . : Apple Mobile Device Ethernet
Physical Address. . . . . . . . . : 00-25-4B-56-17-A9
Tunnel adapter Teredo Tunneling Pseudo-Interface: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface Physical Address. . . . . . . . . : FF-FF-FF-FF-FF-FF-FF-FF Dhcp Enabled. . . . . . . . . . . : No IP Address. . . . . . . . . . . . : fe80::ffff:ffff:fffd%6 Default Gateway . . . . . . . . . : NetBIOS over Tcpip. . . . . . . . : Disabled

 
こんな感じなのですが、iPhone3G を機内モードにしている状態の ipconfig の結果です。

と、言うか、今回 iPhone3G のテザリングを試したのは、携帯電話での通信ではなく、無線 LAN を利用してテザリングできないのかな?とか思った次第で確認したのでありました。

iPhoneOS3.0 は「機器モード」にしても無線 LAN は利用できるので、「電話回線でパケットを飛ばなくして無線 LAN のみを利用する。」ことができるので、その状態にしたときにテザリングしたら、パケットは無線 LAN 側に飛んで行くんかい?とか思ったのですが・・。

ダメでした。orz

機内モードにして携帯の電波を遮断したとき、テザリングの画面では上が青くならないので通信はできない状態なのでありました・・。orz。

それにしても、そんなことして何が嬉しいの?と、誰もが思うことでしょう・・。最近の NotePC などは無線 LAN カードがほとんど標準装備です。なので iPhone3G で無線 LAN を利用しても意味ないじゃん。みたいな。しかし、無線 LAN カードを持っていない PC で iPhone3G を無線 LAN アダプタ代わりに利用できたら楽しいじゃん。みたいな。そんな感じで試したのでありました。が、世の中そんなに甘くはないですね。

ちなみに FreeBSD に iPhone3G を USB 経由で接続すると ugen0 に落ちるのでこのテのことはできないですねー。Bluetooth で接続したらちゃんと認識するんかな? Bluetooth を搭載している PC においては FreeBSD のドライバはロードしているけど、GUI が無いので全く使う気にはならないのだけどねぇ・・。GUI アプリが出たら試してみたい所ではあります;-)。

7月 232009
 

まさか三回目を書くとは思いもしませんでした・・。apache ベースで作成したキャッシュ用 Proxy サーバですが、設定に問題があり無事に動作していたのは約一ヶ月半ほど・・。あまりにも情けないので、ちょっと書いておくことにします。

今回は第一回目のネタを参照する 必要があります。第二回目の掲載はこちら

さて、二回目にまとめたことで apache の Proxy サーバは mod_cache を利用してディスク上にキャッシュして行くことができたのだけど、運用してしばらくしたら error.log に以下のメッセージが出力されるようになってきた。しかも大量に・・。orz (長いので改行しています)

[warn] (2)No such file or directory: disk_cache:
rename tempfile to hdrsfile failed:
/data/httpd/cache/aptmp6ac9NS -> /data/httpd/cache/ASm@m/8xF@v/7XxKH/X8yCPfQ.header

 
よくよく調べてみると、サブディレクトリがもう作れない状態になっているらしい。なので、これ以上はディクス上にデータをキャッシュをできない状態になっている。と言うメッセージが延々と error.log に出力されている状態。

/data/httpd/cache の下にディレクトリが 32,000 個できている。と言う状態なんですねー。Linux では一つのディレクトリの下には 32,000 個しかディレクトリが作れないそうです。 /usr/include/linux/ext3_fs.h の以下の行がまさしくそれ。

#define EXT3_LINK_MAX           32000

 
でもって 32,000 個のサブディレクトリのあるディレクトリで mkdir すると Too many links. mkdir: cannot create directorys と言われて怒られる。うひー。

と、言うことで、僕はこの上限 32,000 と言う値を知らなかったのでありました。

愕然としつつ httpd.conf の設定を見直します。第一回目に書いた設定では以下のように記述していました。抜粋です。

<IfModule mod_disk_cache.c>
:
    CacheDirLevels      3
    CacheDirLength      5
</IfModule>

 
ディレクトリの深さは三階層、ディレクトリの文字列は五文字。この「五文字」と言うのは簡単に 32,000 を超えてしまうのですね。

ディレクトリにランダムに利用される文字は A-Z,a-z,0-9 と一部の特殊文字で約 80 個位と想定した場合、五文字と言うのは 80^5 通りあるので、こらー簡単に 32,000 個を超えてしまいます。 32,000 個以内に抑えるのは CacheDirLength は 2 を指定しなければならない。3 を指定したとしても 80*80*80=512,000 個のディレクトリが作成されることになります。あれー・・。

/data/httpd/cache の下には 80*80=6,400 個にしてその下の階層を深くしたほうが良いと言うことなんですねぇ・・。

ディレクトリを自動生成してくれるアプリケーションの場合、ディレクトリ長は二文字にしないと簡単に 32,000 個があふれてしまう。今後はこれを頭の片隅に入れておきたいと思います。

7月 122009
 

秋葉原を俳諧していたら、ジャンク屋ちっくなお店でとあるモノを見つけた。Apple 純正の iPhone に付属している USB コンセントプラグ。

KC3N0043_iphone_1.JPG

ジャンク扱いで 1,800yen。まぁ、Apple 純正なんだしそれ位の値段するかなー。って感じなのだけど、ちょっと待ってください。これって Apple が、感電の恐れがあるとして回収したシロモノじゃないですかーっ!!

Apple 超コンパクト USB 電源アダプタ交換プログラム
KC3N0044_iphone_2.JPG

当該の商品を手にとってよく見てみるとプラグ部分は四角くて、緑のシールが貼ってない。僕が買った iPhone3G の USB コンセントプラグはちゃんと新しいものが同梱されていました。

かごにたくさん入って売っている風景。それにしてもアキバだなぁ。とちょっと感動しました。 Apple が回収したのを廃棄業者がきっとアキバに流通させたのでしょうねぇ。でもってお店の人はそれを知っているのか知らないで売っているか・・。お店の人に一声かけようかと思ったのですが、僕にはそんな勇気は無かったのでありました(^^;;。

とまぁ、これだけではなんなんで。もう一個、ネタ的に書いておきましょうかねぇ。

アキバを俳諧していたらジャンク扱いでオーディオテクニカの ATH-CK31 が 780yen で売っていました。まぁ、サブのヘッドホンとして一個買っておくか。とか思い購入したのですが、なんと、アキバのヨドバシの Mac コーナーにも同じ値段で売っていました。orz。

ATH-CK31

僕は普段使っているヘッドホンは同じくオーディオテクニカの ATH-CK7 と言うヤツを使っています。

ATH-CK7

こっちは値段が高い(9,800yen で購入した)だけあって音がえらい良いのでずいぶんと感動していますが、780yen で買った ATH-CK31 も値段の割りには良い音がするので驚きました。音が籠もることが無く、高音部の音がちゃんと出ます。ただ、低音部がちょっと弱いかなー。と言う感じはしますが、780yen であれば全然 OK。って感じです。予備のために後 2,3 個買っておくかなぁ。と言う感じ;-)。

IMG_5236_iphone_3.JPG

後は、AT335i リモコンですねー。

AT335i

iPod で聞いていて、次の曲に飛ばしたい時とか便利です。電話が掛かってきた時はヘッドホンをそのままにiPhone3Gの下のほうに向かってしゃべるのであります。マイクは本体のを使うんだけど、一応電話もできるのです;-)。

とまぁ、アキバを俳諧して、PC パーツだけでなく iPhone 関連を探すのもまた楽しいひとときなのであります;-)。

7月 062009
 

普段常用している PC のグラフィックカードを交換してみました。

今までは NVIDIA の GeForce 7300 LE で 512MB のやつを付けていた。新しく購入したヤツもメモリ自体は 512MB で一緒。そして Xorg の radiohhd ドライバでサクッと動くべ。とか思ったのでありました。秋葉原の T-ZONE で 2,980yen。 ずいぶん安いよねぇ。って感じで、ちょっと幸せな気分です;-)。

まずは PC にセットアップして WindowsXP でブート。ドライバをインストールして認識させた後、FFXIBench3 で動作確認。

僕は PC と言うのは「OS を走らせるもの。」と言う認識でいるので、ゲームには全く興味は無いのだけど、自分の買ったパーツの性能は知りたいのでベンチマークしてみました。

GeForce 7300 LE
    Low   6926
    Hight 4005
Radeon HD 4350
    Low   7345
    Hight 4545

と、言うことで本当にちょっとだけ Radeon HD 4350 のほうが速いと言う結果が出ました。

さてと。以上が Windows での結果。ここからは FreeBSD で Xorg を利用したときのことを書いてみたいと思います;-)。まず始めに言っておきますが、depth 32bpp は出ませんでした・・。x11-drivers/xf86-video-radeonhd や x11-drivers/xf86-video-radeonhd-devel のどちらを使っても 32bpp な色はサポートしていないみたいです。あ。ちなみに xorg.conf は必要無いよねぇー。Xorg -configure でできたものでじゅーぶんに動作します;-)。

最近、ブログの写真の色などを気にしていたのだけど、32bpp がでないのはちょっと悲しいですねぇ。しかし、GeForce 7300 LE よりは発色は良いかなぁ。と言う気はします。まぁ、基本的に MacOSX と比べてはいけない。と言うのは解っているのですけどねぇ・・。

今回の検証において、僕は Xorg のドライバは x11-drivers/xf86-video-radeonhd-devel を利用しました。

購入したグラフィックカードは D-sub 15pin・DVI-D・HDMI のコネクタが付いていて、もう S 端子なんてのは無いんですねぇ。

グラフィックカードを接続して FreeBSD をブートして驚いたのが、サウンドカード(ドライバ)として HDMI が認識されたこと。

% cat /dev/sndstat
pcm0:  at cad 0 nid 1 on hdac0 kld snd_hda [MPSAFE] (1p:1v/0r:0v channels)
pcm1:  at cad 0 nid 1 on hdac1 kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex default)
pcm2:  at cad 0 nid 1 on hdac1 kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex)
pcm3:  at cad 0 nid 1 on hdac1 kld snd_hda [MPSAFE] (1p:1v/0r:0v channels)

 
pcm0 で グラフィックカード上の HDMI のサウンドカードが認識されたおかげで、Realtek のサウンドカードからスピーカに接続していたのに音が出なくなってしまった。ある意味すばらしーーー。って感じがします。FreeBSD のサウンドドライバの進歩に驚くのでありました。

けど、音が出ないのでまずは KDE4 の設定を見るわけです。すると、システムセッティングのマルチメディアを開くと優先できるデバイスの設定があるみたいです。クリックすると大きくなります。



しかし、これをやってもダメ、つまり音は出ないのでありました。しくしく。そんなこんなで色々調べるのですが、FreeBSD 側でちゃんと対応していのには驚きました(@_o)。sysctl に hw.snd.default_unit と言うmib があって、これが優先するサウンドデバイスを指定できるらしいのですね。pcmX の “X” の数値を hw.snd.default_unit mib に指定してあげるとそのデバイスを優先的に使う。と言うものです。

ちなみに、pcm の認識の順序は PCI バスに準じています。たくさんの NIC を刺した時に認識される順番が決定するのと同じ原理。

僕の環境ではグラフィックカードがサウンドカード(チップ)より先に認識したので HDMI が pcm0 だったので /etc/sysctl.conf に hw.snd.default_unit=1 と書いたら音が出るようになりました。おーー。すんばらしーー。

僕の使っているディスプレーは H223HQbmid なんだけど、こいつには背面にチャチぃスピーカーがついていて HDMI で接続するとそこから音が出るらしいのね。けど、僕は PC には BOSE のスピーカーを付けているのでそこから音が出て欲しいので、サウンドデバイスの順序は非常に重要なのであります。

今後はどんどんこうなるのかなぁ。グラフィックカードを変えたら Xorg のドライバーも重要だけど、音も重要だねぇ。みたいな。

今回はなかなか良い勉強をさせてもらったのでありました。2,980yen で「グラフィックカード」を買ったつもりだったんだけど、メインはサウンドドライバになってしまったかな?(^^;;。

7月 032009
 

FreeBSD の ports に emulators/virtualbox と言うがあるのを発見。すかさず make してインストールしてみた感想を。

最近 SUN から 3.0 がリリースされた のだけど ports でインストールされるのは virtualbox-2.2.51.r20457_3 と言うバージョン。

VirtualBox は X11 ツールキットに QT4 を使っているので、KDE4 を使っている僕にとっては非常に嬉しい。起動後の見栄えが KDE4 と一緒なので、それはもうまるて KDE-4.2.4 のアプリケーションの一部ではないのか? みたいな雰囲気になります;-)。

デスクトップのキャプチャはこんな感じです。クリックすると大きくなります。



KDE4 がインストールされている環境では ports から VirtualBox をインストールする分にはそんなに時間がかかりません。firefox を makeしてインストールするのと同じ位な感じかなぁ;-)。

インストールが終わったら /boot/modules/ にインストールされた vboxdrv.ko を kldload するだけ。KDE4 を利用している人は「K メニュー」から「アプリケーション」を表示させて「システム」を選択するとその中に存在しているのでクリックすれば起動します。

コンソールから起動する場合は /usr/local/lib/virtualbox/VirtualBox を起動します。珍しく /bin/ の下にないんだよねぇー。

起動後は他のバーチャル PC と特に変わりません。メモリや HDD を選択するなどしてバーチャル PC を作成して、起動(START)ボタンを押すだけ。非常に簡単です。

手元に WindowsXP の CD-ROM があったのでメディアを DVD ドライブに突っ込んで CD ブートしようとしたけど、なぜか VirtualBox は /dev/acd0 を見つけてくれなかった。ln -s /dev/acd0 /dev/cdrom としてもダメだったので FreeBSD の CD デバイスはダメなのかもしれない。

しょーがないので dd で iso イメージを作成して、それを VirtualBox に認識させたら無事に起動は完了。後は OS のインストールを待つのみとなったのでありました。

デバイス的に問題かもしれないのは CD-ROM デバイスだけで、後は特に問題もなく、NIC(bge0) も使えているし、Windows の起動音も出る(hdac0.pcm0) ので全然問題なく使える。と言う感じでしょうか。中々グーです。

まぁ、欲を言えば VMware Fusion(MacOSX 版だけど) みたいに、デスクトップ上に Windows のアプリが起動できるようになってくれたらなぁ。などと思うのですが、それはつまり X11 上に Windows アプリを表示する。と言うことになるのでちょっと無理かなぁ。と言う気はしないでもないです;-)。

しかし、それにしても FreeBSD の中で Windows が起動すると言うのもまたヘンな感じです。WindowsXP の VMware Workstation で FreeBSD は動かしたとこはあるんだけど、それよりも違和感があります。

なんだろなー。アンチエイリアスの利いたデスクトップ上でアンチエイリアスが利いていないアプリケーションを動かしているからかなぁ。

と、言うことであまりにサクサク動作しているのでちょつと驚いている状態なのであります;-)。