2009/12/22(火)VAIO PでUbuntu9.10

VAIO PにUbuntu9.10をインストールしたのでそのメモです。

はじめに

自分のVAIO PはZ550(2GHz)、SSD128GB、WWAN(GPS)、webカメラ搭載モデルになります。とりあえずは初期OSであるWindows7は残しておく方針(デュアルブート)でいきます。ですので、まずは別PCで作成したUbuntu9.10日本語Remixが入ったUSBメモリからブートして、Gpartedで半分ほどUbuntu用に容量を確保します。

以下はUbuntuインストール後のGPartedの画像ですが、64GBほどUbuntuに割り振りました。
gparted.png


インストール

Live版で起動して、GPartedでパーティションを分けた後はそのままインストールに入りましたが、特に問題なく終了しました。標準ドライバながらディスプレイは1600×768で認識され、無線LAN、有線LANも利用可。webカメラも問題なし。WWANのみ認識していない状態です。

インストール後の作業としては、psb(ディスプレイ)ドライバの設定と、WWAN関連をどうするか、というところになりそうです。

psbドライバの設定

レポジトリを追加します。
$ sudo add-apt-repository ppa:kalon33/ppa
updateをした後、以下の4つ(+依存関係でいくつか)をインストールします。
  • psb-kernel-headers
  • psb-kernel-source
  • psb-modules
  • xserver-xorg-video-psb
【追記】
とても重要なことを書き忘れていました。grubにパラメータを追加します。
$ sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash mem=2000mb"
grubの変更を有効にします。
$ sudo update-grub

xorg.confを作成し、再起動するとpsbドライバが有効になります。
$ sudo vi /etc/X11/xorg.conf
Section "Device"
        Identifier      "GMA500"
        Option "AccelMethod" "EXA"
        Option "DRI" "on"
        Option "MigrationHeuristic" "greedy"
        Option "IgnoreACPI" "yes"
        Driver "psb"
EndSection

Section "DRI"
    Mode    0666
EndSection


compizを有効にする場合は、さらに以下の3つをインストールします。
  • poulsbo-driver-2d
  • poulsbo-driver-3d
  • psb-firmware
/usr/bin/compiz の WHITELIST を編集して、psbを追加します。
$ sudo vi /usr/bin/compiz
# Driver whitelist
WHITELIST="nvidia intel ati radeon radeonhd i810 fglrx psb"
外観の設定で視覚効果を変更するとcompizを有効にできます。しかし、かなり重くなりますので注意が必要です。CPUがZ520なPC(mbook:1024×600)も持っているのですが、こちらではcompizを有効にしてもそれほど重くならないので、VAIO Pの高解像度(1600×768)が影響しているのではないかと思われます。

【追記】
サウンドにノイズがのっているような気がするので、mbookと同じことをします。
/etc/modprobe.d/alsa-base.conf に以下を追加します。
alias snd-card-0 index=0
options snd-hda-intel model=basic
再起動後、ターミナルで alsamixer を実行して、Monoのボリュームを最大にします。


【追記】
コメントにて無線LANの不具合と解決方法を教えてもらったので、linux-backports-modules をインストールします。
$ sudo apt-get install linux-backports-modules-wireless-karmic-generic


WWANを使わないのであれば、ここまでの作業でおしまいです。Ubuntu9.10なVAIO Pで遊べるようになります。

WWANの使い方

試行錯誤の結果、以下の2点が問題になることがわかりました。
  • Windows側でWWANを有効にしてから再起動しないと認識しない
  • hsoドライバだとカーネルがフリーズする

hsoを使わないようにする
Windows側でWWANを有効にして再起動すると、Ubuntuからも認識されるようになります。lsusbで確認すると、WWANが認識されている場合、Option(GlobeTrotter MO40x)というのが表示されるはずです。
Bus 001 Device 005: ID 0af0:7601 Option 
認識されるとhsoが自動で組み込まれて、/dev/ttyHS0~ttyHS6まで作られます。WWANモデムはttyHS6になりますので、それに合わせてgnome-pppの設定をします。nblogの中の人はwillcom core 3Gを使っていますので、こんな設定でDeviceの所を /dev/ttyHS6 に変更します。

しかしながらこの設定で通信すると、しばらくするとPCがフリーズしてしまいます。


kernelを変更するなどしてみたのですが、どうもスマートにいきそうにないので、hsoを使わないでusbserialを使う方法で対応することにします。まずはhsoドライバを組み込まないように blacklist.conf を変更します。
/etc/modprobe.d/blacklist.conf に以下を追加
blacklist hso
次にusbserialを組み込むように設定します。
/etc/udev/rules.d/50-local.rules を作成
SUBSYSTEM=="usb", SYSFSidProduct=="7601", SYSFSidVendor=="0af0", RUN+="/sbin/modprobe usbserial vendor=0x0af0 product=0x7601"
これで、/dev/ttyUSB0~ttyUSB9まで作成されます。ttyUSB9がWWANモデムになりますので、gnome-pppの設定を変更し、これでフリーズすることなく通信できるようになります。gnome-pppの権限に関しては以前の記事をペタっと貼っておきます。


再起動なしで認識させる
WWANを使うときは毎回Windowsを起動し、その後再起動(warm boot)をする必要があるのですが、それはあまりにもめんどくさいのでなんとかしてみることにします。

検索してみると、sony-laptop というモジュールで対応できるようなのですが、VAIO Pはまだ対応していないようでした。もともとはVAIO Z向けのモジュールっぽいので、なんとも言えないのですが少し追いかけてみます。

実際は、ここであーでもない、こーでもない、などとやっているのですが、そんなの書いても仕方ないので、解決手順をまとめていきます。

手順
Sony Vaio Z-series Laptopから辿ったmailing list archiveを眺めていくと、sony-laptop-zseries-0.9np5.tar.gzというのが今月になって出てるようなので、ダウンロードします。

展開してmakeすると、sony-laptop.ko というファイルが出来上がります。

出来上がった sony-laptop.ko を /lib/modules/2.6.31-16-generic/kernel/drivers/platform/x86/sony-laptop.ko と差し替えて、depmod -a をして終了です。カーネルアップデートがあった場合は手動で差し替える必要があるので忘れないようにします。

これで起動時からWWANが認識されるようになります。


長くなりましたが、VAIO PでUbuntu9.10が(自分的には)問題なく使用できるようになり、理想的なモバイルPCになりました。