Ubuntu Weekly Recipe

第57回 VAIO Type Pを使う(2):各種ドライバの設定

この記事を読むのに必要な時間:およそ 4 分

ヘッドフォンジャックの適正化

これも前回触れた通り,Ubuntu 8.04をインストールした直後のサウンド機能は,⁠本体のスピーカーから鳴るものの,ヘッドフォンを装着しても本体スピーカが自動ミュートされずに音が出てしまう」という状態です。言い換えると,ヘッドフォンを挿しても本体・ヘッドフォンの両方から音が出てしまう状態です。これではヘッドフォンを用いる意味がほとんどありません。

これはALSAの設定を変更することで解決することができます。解決には[アプリケーション⁠⁠→⁠アクセサリ⁠⁠→⁠端末]で次のコマンドを用いてください。

$ sudo /bin/sh -c "echo '#Fix Sony VAIO Headphones issue.\noptions snd-hda-intel model=sony-assamd'>> /etc/modprobe.d/alsa-base"

これにより,/etc/modprobe.d/alsa-baseの末尾に以下の行が追加されるはずです。

#Fix Sony VAIO Headphones issue.
options snd-hda-intel model=sony-assamd

設定を終えたら,システムを再起動してください。以降はヘッドフォンを装着すると本体スピーカが自動的にミュートされるようになるはずです注2⁠。なお残念ながら,ノイズキャンセリング機能を利用する方法はまだ確立できていません。

注2)
ただし,第56回でも触れた通り,筆者の手元にあるVAIO Type Pはノイズキャンセリング機能を搭載したものですので,非搭載モデルでは動作が異なる可能性があります。

Type P以外での解決方法

VAIO Type P以外でも「そもそも音が出ない」⁠ヘッドフォン端子にヘッドフォンを装着しても,本体のスピーカー出力がミュートされない」といった現象に遭遇された場合は,以下のように調べていくことで解決できるかもしれません(もっとも,ALC262であるケースが極端に多いため,機種が異なっていてもsony-assamdを追加すると偶然動作してしまうこともありえそうです……⁠⁠。ノートPCだけでなく,デスクトップPCなどでも多くの場合同様です。

基本的に,このようなサウンド周りの問題が発生する場合は,dmesgや/var/log/messagesなどに,一定のメッセージが出力されているはずです。これは古くはAC97や現在のAzaliaベースのサウンド機能の問題で,チップセット内蔵のサウンド機能を利用する場合,コーデックチップを正しく認識できないと「サウンド機能は認識されるものの,ジャック周りの割り付けが正しく動作しない」という結果につながるためです。

たとえばVAIO Type Pの場合,筆者の手元ではdmesgと/var/log/messagesに以下のようなメッセージが出力されていました。

hda_codec: Unknown model for ALC262, trying auto-probe from BIOS

このようなメッセージは,以下のようにすると容易に見つけることができるでしょう。

$ dmesg | grep codec

このメッセージ出力をヒントに,/etc/modprobe.d/alsa-baseに追加する「snd-hda-intel model=****」のコーデック指定部である****に当てはまるものを調べます。

以下のように操作することで,利用可能なオプションの一覧を閲覧できます。これはUbuntuのバージョンごとに微妙に異なるはずです(基本的に,新しいバージョンのUbuntuであればよりリストが増えているはずです。ただし,希に複数のエントリが統合されて新しいエントリになっていることもあります⁠⁠。

$ gunzip -c /usr/share/doc/alsa-base/driver/ALSA-Configuration.txt.gz | less

先ほどのコーデックの情報を検索します。上記のgunzip……コマンドで開いたファイルで検索を行う場合,⁠/]に続けて検索キーワードを入力してください。Type Pの場合,⁠Unknown model for ALC262」と出力されているので,検索キーとして「ALC262」を用います(これは本来であれば自動的に認識されるのが理想なのですが,機種データベースの問題やPCのバリエーションの膨大さから,うまく自動認識される状態に達していません⁠⁠。

現在の8.04環境では以下のような機種に対応しています。以下のように表示されるうち,左側がオプション,右側がそのオプションに対応する機種です。Type Pの場合は以下の中からもっとも「それらしい」ものとして,⁠sony-assamd」を追加しています。

ALC262
          fujitsu       Fujitsu Laptop
          hp-bpc        HP xw4400/6400/8400/9400 laptops
          hp-bpc-d7000  HP BPC D7000
          hp-tc-t5735   HP Thin Client T5735
          hp-rp5700     HP RP5700
          benq          Benq ED8
          benq-t31      Benq T31
          hippo         Hippo (ATI) with jack detection, Sony UX-90s
          hippo_1       Hippo (Benq) with jack detection
          sony-assamd   Sony ASSAMD
          ultra         Samsung Q1 Ultra Vista model
          basic         fixed pin assignment w/o SPDIF
          auto          auto-config reading BIOS (default)

もし他の機種をお使いで同様の問題に遭遇した場合は,このような手順でトラブルシューティングを行ってみてください。

トラックポイントによるスクロール

VAIO Type PにはLenovo Thinkpadなどと同じく注3⁠,トラックポイントに相当するポインティングデバイスが搭載されています。当然中央ボタンを押しながらスクロールできることを期待するのですが,そのままではやはり動作しません。

第12回で紹介したものと同様の手法が利用できます。/etc/X11/xorg.confの「Section "InputDevice"」「Identifier "Configured Mouse"」に,以下のように2行を追加してください。Xの再起動後(再ログイン後)からは中央ボタンを押しながらポインタを操作することで,マウスホイールによるスクロールと同等の動作が可能になるはずです。

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "EmulateWheel"  "true"         ←この行を足す
        Option          "EmulateWheelButton"    "2"  ←この行を足す
EndSection
注3)
実際にはType PのトラックポイントはALPS社のもので,厳密にはThinkpadなどと同じものではありません。

著者プロフィール

吉田史(よしだふみひと)

Ubuntu Japanese Team Member株式会社創夢所属。システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。