2009/10/28(水)さくらのフレッツ接続

さくらのフレッツ接続がサービス終了となるので、案内が来ていた乗り換え先に移行しました。


さくらのフレッツ接続は、サービス開始の2004年10月から利用していたのでちょうど5年になります。当時は光回線(Bフレッツ)で追加料金なしに固定IPアドレスを割り振ってくれるところはほとんどなくて、月980円で固定IPアドレス付き、というのはとても助かりました。2007年9月から新規受付中止になったので、そろそろやばいのかなと思っていましたが、よく2年もったと思います。

いきなりなくなると困るので、もう1セッション(Bフレッツは2つまで)をASAHIネットにして平行して使っていましたが、これも去年固定IPアドレスが別料金になってしまいました。2008年6月に、500円で固定IPアドレスというサービスが始まったので、そちらに移行して、回線を遊ばせておくのはもったいないので、nblogを始めました。


現在、nblogは月500円で運用されてます
(電気代もかかってます)


話が脱線しましたが、乗り換えたDIXも年払いだと10780円(月898円)なので、固定IPアドレス付きと考えれば結構お安いと思います。自分は気にしないのでよくわからないのですが、ネットの評判だと速度は遅いらしいです。i-revoも1日5GBの制限がありますので、ヘビーな使い方をする人は厳しいでしょう。低価格で誰もが満足できるプロバイダというのはなかなか難しいかもしれません。個人的には固定IPアドレス付きのメリットが大きいのでどちらのプロバイダもかなり満足しています。

というわけで(?)、さくらのフレッツ接続、5年間ありがとうございました。

2009/10/25(日)mbookでUbuntu9.10RC

10月22日にUbuntu9.10RCが出て、早速mbookに入れたのですが、blogに書くのが遅くなってしまい、あと4日もすれば9.10の正式版が出るので中身なしのエントリーです。



9.10ベータのときは半べそ状態でしたが、コツコツ設定をして、9.04とほぼ同じ環境ができあがえっていたりします。一応すでにできていることをまとめると、
  • 解像度は1024x600
  • タッチパネルOK
  • 無線LANはNetworkManagerで設定
  • 音は大音量
  • 内蔵HSDPAでWWAN通信

解像度は1024x600
PPAの方は、いくつかのファイルはkarmicの方に上がってきてるのですが、xserver-xorg-video-psb のStatusがまだFaildなので、これが上がればおそらく souece.list に追加するだけで使えるようになると思います。今はまだ9.04のドライバを使いまわしするのが主流みたいです。手順は何通りかあるのですがやってることはどれも一緒な状態です。

タッチパネルOK
Xのバージョンが特に大きく変わったわけではないので、解像度の設定ができればそのまま動作します。

無線LANはNetworkManagerで設定
無線のドライバをビルドしなおして、使えるようになります。ドライバを作り直さない限りはフリーズ問題がつきまといますので、これが一番敷居が高いかもしれません。

音は大音量
9.04と同じ設定で音が出ます。

内蔵HSDPAでWWAN通信
これも9.04と同じなんですが、なんか適当にいぢっていたら、NetworkManagerに内蔵モデムからの接続が表示されたので、現在はgnome-pppを使わないで、NetworkManagerからHSDPA接続をする設定を調べているところです。以前は nm-modem-probe を用いてNetoworkManagerがモデムの識別を行っていたのですが、9.10からこの辺りが大きく変わって、今回は modem-manager というのを使ってるっぽいのですが、まだ情報が少なくて追いかけてる最中です。


というわけで(おそらく)安心して9.10にアップグレードできそうです。

2009/10/16(金)UbuntuなmbookでNetworkManagerを使う

Ubuntu9.04なmbookで、無線をNetworkManagerで管理できるようになったのでそのメモです。


最初に
mbookはSDIO接続のsd8686という無線LANカードが入っています。これをUbuntuで使うためには以前書いた通りで、メーカーのサイトからファームウェアをダウンロードし、sd8686.bin、sd8686_helper.bin という名前にして /lib/firmware に置きます。

しかし、sd8686のドライバ本体であるlibertasの挙動がおかしいのかことあるごとにフリーズしてしまい、使い物になりません。iwconfigで手動設定すれば使えますし、最悪それでも構わないのですが、友人にmbookを自慢するときに無線の接続がコマンドだったりすると(少なくともnblogの中の人は)がっかりしてしまいます。

moblinで遊んでいるときに知った、Connection Managerのconnmanを使うことにより、無線もGUIで接続可能になりましたが、Ubuntu9.04のconnmanはバージョン0.4とまだ低いため、お世辞にも安定しているとは言えません。おまけに9.10ベータではそのconnmanですら使えなくなってしまいました。connmanの方は正式版でどうなるかまだわかりませんが、NetworkManagerはカーネル(に含まれているドライバ)依存っぽいのであいかわらずフリーズすると思われます。

ということで、自分では原因を突き止められないので、ひたすらgoogle先生にがんばってもらいなんとか解決できたのでまとめておきます。


ビルド環境の構築
結論から書くと、ドライバ(libertas)のSourceを変更して作り直す作業になります。ですので、まずはビルド環境を整えます。
$ sudo apt-get install build-essential kernel-package libncurses5-dev libqt3-mt-dev

$ sudo apt-get install linux-source-2.6.28
$ cd /usr/src
$ sudo tar xvjf linux-source-2.6.28.tar.bz2

$ cd linux-source-2.6.28
$ sudo cp /boot/config-2.6.28-15-generic .config
$ sudo make oldconfig
参考サイト
dogmap.jp - カーネル再構築のススメ

libertasを手直し
libertas-dev mailing listに流れていたsd8686 linux system hang when associating to access pointが解決方法なので一連の流れに目を通しておきます。そしてあとのほうで流れてきたpatchを当てます。差分はgitで当てるのですが、そんなに量があるわけではないので手作業でも大丈夫かと思います。
参考サイト
Design Recipe 別館 Blog - Git の使い方の基本の"き"

このままビルドするとエラーが出るので、それを直します。もっともnblogの中の人はプログラムも英語もよくわからないので適当に直しました。詳しい人が見て補完してくれると助かります。以下2ヶ所がpatchを当てた後に自分が直したところです。

1つ目:wext.cでlog構造体が定義されてないというエラーが出たのでコメントアウトします。
/usr/src/linux-source-2.6.28/drivers/net/wireless/libertas/wext.c

// priv->wstats.discard.code = le32_to_cpu(log.wepundecryptable);
// priv->wstats.discard.misc = le32_to_cpu(log.ackfailure);
2つ目:ヘッダーに依存するエラーが出るので頭の方に付け加えます。
/usr/src/linux-source-2.6.28/drivers/net/wireless/libertas/cmdresp.c

#include <asm/unaligned.h>

ビルドしてエラーがでなければ、/usr/src/linux-source-2.6.28/drivers/net/wireless/libertas 以下に各種koファイルが出来上がるので、それを組み込みます。
$ sudo make-kpkg clean
$ sudo make-kpkg --initrd --revision=test01 kernel_image kernel_headers
以前は./script以下をいじって、ドライバだけビルドした記憶があるのですが、構成が変わってしまったのかファイルが見当たりませんでした。今回はカーネルの設定も変更したので、カーネルごとビルドしましたが、ドライバが目的ならlibertas関連だけビルドすれば大丈夫だと思います。


ドライバの組み込み
無線がONになってる場合は、WLAN-BTボタンを押して、無線を切ってから組み込まれてるドライバをはずします。
$ sudo modprobe -r libertas_sdio libertas
/lib/modules/2.6.28-15-generic/kernel/drivers/net/wireless/libertas 以下にある現在のドライバをバックアップして、ビルドした libertas.ko と libertas_sdio.ko をコピーします。

WLAN-BTボタンを押して、dmesgやlsmodでドライバが組み込まれたか確認します。

NetworkManagerで無線の設定をして、固まらなければ成功です。Kernelイメージのバージョンアップがあるたびに libertas.ko と libertas_sdio.ko をコピーするのを忘れないようにします。



2.6.31なカーネルではまだ動作確認してないのですが、たぶん同じように修正できると思います。ここ1週間ほど、NetworkManagerで運用していますが、サスペンドからの復帰もこなしてくれるので、とても便利になりました。libertasを入れ替えているので、Wicdにしても固まることはありません。あと2週間ほどで9.10が出てしまいますが、とりあえず9.04での環境構築は終了といった感じです。

2009/10/14(水)Ubuntuなmbookで内蔵HSDPAを使う

nblogの中の人が所有しているmbookはHSDPA(USIMスロット)を内蔵しています。もしここにWILLCOM CORE 3GのSIMカードを入れて通信できたらいいなあ、という夢のお話です。


現状
WindowsからはUSB外付け状態、SIM内蔵状態ともに接続できる
UbuntuでもUSB外付け状態でgnome-pppまたはNetworkManagerで接続できる


ですから、UbuntuでSIM内蔵状態で通信できる夢を見たいわけです。


夢でやったこと
mbookに内蔵されているのは、買物隊によるとC-motech CHE-628Sというモデムです。lsusb で確認すると以下のように表示されます。
Bus 004 Device 002: ID 16d8:6007 CMOTECH Co., Ltd.
しかし、ttyUSBが存在しないことから、usbserialのドライバはまだ入っていないようです。
$ ls /dev/ttyUSB*
ls: /dev/ttyUSB*にアクセスできません: No such file or directory
ということで、まずはmodprobeでドライバを入れます。
$ sudo modprobe usbserial vendor=0x16d8 product=0x6007
もう1度、ttyUSBを確認します。また3つ出てきました。
$ ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2
毎回入力するのは面倒なので、udevに組み込みます。/etc/udev/rules.d/50-local.rules というファイルを作成して、以下のような中身にします。
SUBSYSTEM=="usb", SYSFS{idProduct}=="6007", SYSFS{idVendor}=="16d8", RUN+="/sbin/modprobe usbserial vendor=0x16d8 product=0x6007"

あとは gnome-ppp の設定です。前回のUbuntu9.04で~を見れば大丈夫だと思います。設定は例によってATコマンドがわからないので適当なのですが、モデムは /dev/ttyUSB1 を使用、Options の Check carrier line のチェックを外す、この2つは大事なのでメモっておきます。

gnome-ppp の起動は前回 sudoer を変更すると書きましたが、システム管理>ユーザーとグループ>ユーザーのプロパティ>ユーザーの権限で、「モデムを使ってインターネットに接続できる」にチェックを入れるのがスマートかもしれません。

USB外付け状態ではNetworkManagerで接続できるところまでがんばりましたが、SIM内蔵では gnome-ppp で接続するところでお手上げです。hal情報に書いておけばNetworkManagerで認識すると思っていたのですが、そんなに甘くなかったようです。こちらのほうは9.10になったらまたチャレンジしたいと思います。

2009/10/11(日)mbookでUbuntu9.10ベータ

いくつか確認しておきたいことがあったので、mbookに入っているUbuntu9.04を9.10ベータにアップグレードしてみました。


1000個ほどファイルがアップデートされて300個(もっとあった気もする)ほど新規でインストールされました。毎度のことですが、/etc以下のファイルを変更しまくってると、設定ファイルの更新でいちいち聞かれて面倒なので、ある程度見切りをつけられるなら新規インストールがいいです。

まだベータなので仕方ないのですが、日本語化されていないところが多くて、英語と混ざっていて読みにくいです。アップグレード直後は9.04をインストールしたときと同じで、mbookの機能がまったく使えない状態になってます。ちなみに起動と終了処理は今までと比較して早くなっています。

まったく関係ないですが、起動、終了、サスペンド(スリープ)はMac OS Xが、なんでこんなに速いんだ?的な速度なので、一度体感することをおすすめです。


カーネルは2.6.31でしたが、予想通り*1無線LANはまったくだめ。ファームウェアを /lib/firmware に置くことでデバイスは認識されていますが、NetworkManager、Wicdともにあいかわらず接続と同時にフリーズします。頼みの綱のconnmanはバージョンが0.4から0.5に上がっていましたが、無線デバイスを認識してくれませんでした。

ディスプレイドライバは以下を参考にしました。
Ubuntu wiki - HardwareSupportComponentsVideoCardsPoulsbo

無線LANがダメだった時点でかなりがっかりで、タッチパネル等はチェックしませんでした。今から9.10の設定しまくって、リリース直後には使えるようにしようとこっそり思っていたのですが、ディスプレイドライバはしばらくすればPPAでKarmicに対応するだろうし、とにかく無線がiwconfigでしか使えないのはどうにもならないので、フリーズする問題を片付けることにしました。

原因はだいたいつかんでいるので、たぶん近日中に上がるはずです。

*1 : 無線に関してはUbuntu9.04にPPA kernelで2.6.31まで入れて確認を取っていました