HP2133 に Ubuntu 9.04

去年 HP2133 Mini-Note PC を買った、というのは日記には書いてなかったけど(twitter にぼそぼそ書いちゃうと日記に書かないんだよね)、こいつには Ubuntu を入れてます。一応プリインストールの Windows Vista も残してありますが、Ubuntu メインで使ってます。8.04 からのアップグレードで 8.10 で使ってたのですが、9.04 にアップグレードしました。アップグレード自体はアップデート・マネージャに 9.04 にアップグレードするボタンが出てくるので、ほぼそれを押すだけ。でも色々問題が出たのでそのへんをメモ。

起動しない!

アップグレード後再起動するわけですが、起動できませんでした。具体的には起動中の「Loading manual drivers...」で止まってしまう。recovery mode で起動すると padlock の初期化に失敗してるようです。

HP2133 の CPU, VIA C7 には padlock という暗号計算用のハードウェアが入っていて、これを使うとAESとかSHAが劇速というのがあって、こいつのドライバをロードするように手動で設定していたのですが、Ubuntu 9.04 では padlock-sha ドライバがこわれているらしいです。

NOTE: Do not enable padlock-sha in /etc/modules yet - it will break your boot. You can "modprobe" it from a terminal, the terminal will hang, then enter ctrl-c - - it will be loaded and running then. (Bug report filed).
Ubuntu 9.04 beta on 1024x600 model By:mikez - HP 2133 Mini-Note Forums

というわけで /etc/modules に書いていた padlock-sha をコメントアウトして無事起動するようになりました。

kernel には既に fix が入ってるのでそのうち修正が入ると思います。

VIA のビデオドライバが使えない!

これは 8.04 から 8.10 に上げたときもそうだったのだけど、8.10 で使っていた VIA 純正のビデオドライバは 9.04 では使えません。最初の起動で X が落ちて警告が出てリカバリさせると vesa ドライバで起動します。何も設定しないと解像度が 1280x800 になってしまうので、1280x780になるように /etc/X11/xorg.conf を設定します。

Video Driver Fix - HP 2133 Mini-Note - Ubuntu Wikiにある「for FU339EA (XSVGA)」のやつを使えば OK.

一部アプリのフォントの表示が変!

VLC, SMPlayer のメニューなどの UI に表示される文字がぐちゃぐちゃになってましたが、「外観の設定」でフォントの描画方法を変更したらなおりました。フォントキャッシュが壊れてた?

CPUの周波数が変えられない!

これは linux-kernel-image がバージョンアップする度に毎度のことなんですが、GNOME アプレットの「CPU周波数の計測モニタ」で周波数が変更できません。これはDrivers and Fixes - HP 2133 Mini-Note - Ubuntu Wikiの Video and CPU Scaling Fixes の通り、/boot/grub/menu.lst を編集してカーネルの起動オプションに「acpi_osi="!Windows 2006"」を追加すれば OK.

動画が重い!

vesa ドライバだと XVideo extension とか使えないので動画の表示が重いです。DVD すらギリギリ。VLC はカクカク。SMPlayer でもちょっと負荷がかかるとカクカクしてきます。

これでは辛いので openchrome ドライバを使います。/etc/X11/xorg.conf の Device セクションの Driver "vesa" を Driver "openchrome" に変更し、Option "PanelSize" "1280x768" を追加します。

これで DVD もスムースに表示されるようになりました。が、これが思わぬトラブルに…

無線LANが突然死!

動画もまともに表示できるようになったのでメインマシンにある DVD ISO ファイルをコピーしたら、2GB ほどコピーしたところでコピーが止まってしまいました。中止ボタンを押しても中止しないし、ネットワークがまるまる使えなくなるしで、再起動を余儀なくされました。

無線LANドライバが悪いのかと思い、Broadcom STA ドライバを Broadcom B43 ドライバに変更してみましたがダメ。/var/log/messages とか見ると

b43-phy0: Radio hardware status changed to DISABLED
b43-phy0: Radio turned on by software
b43-phy0: The hardware RF-kill button still turns the radio physically off. Press the button to turn it on.

なんて出ているので、本体手前右の無線LANスイッチを押してみたけどダメ。

何度かトライしているうちに、ディスプレイが省電力モードに入って真っ暗になったのを復帰させたタイミングでこのメッセージが出ているのに気づいたので、省電力モードに入らない設定にしてみたけど、なぜかそれでもディスプレイが消灯してしまい、無線LANが死んでしまいました。なんで? まあ、どっちにしろバッテリー駆動時に省電力オフはありえないし。。。

そんなわけで諦めてふらふらしてたらUbuntu 9.04のNetbook RemixをEeePCで使ってみた (blog@browncat.org)という記事があったので読んでみると HP2133 は Tier3 (問題がある)に分類されてて、リンクをたどると上の現象と同じ現象が問題点として挙げられていました。

なんと openchrome ドライバのバグらしい。なんでビデオドライバのせいで無線LANが?

openchrome の #288 にはパッチが上がってますが、svn にある最新のソースには同じ趣旨の修正が入っているようなので、Installation - openChrome - Trac の Install from SVN の手順で openchrome ドライバを無理やり上書きインストールしてみましたが、ダメ。。。

よく見ると trunk の via_lvds.c には Ticket #288: openchrome_741_hp_2133.patch の二ヶ所の修正のうち一つが入っていない(ViaLVDSDFPPower(pScrn, on); をコメントアウトするところ)。そこでこの修正を追加して再び openchrome を上書きインストールしたところ、ディスプレイが消灯されても問題なく動くようになりました。