TOSHIBA Satellite P1W 160C/4Wにubuntu8.04 RCをインストールして音を出す方法

Linux, Ubuntu No Comments »

先日ubuntu8.04 RCが登場しました。あと4日で正式版も登場です。

そこで、ノートPCのTOSHIBA Satellite P1W 160C/4Wにubuntu8.04 RCをインストールして音が出るかテストしました。

TOSHIBA Satellite P1W 160C/4Wのオーディオチップは、ATI SB450 HDA Audioです。

インストールし、アップデートしましたが音は出ませんでした。正式版でも最初音はでないのでしょう><

そこで先日書いた記事の「音が鳴るようになりました。でも、同じように再現はできず・・」を試してみました。

試したら、あっさり音が出ました。でも、alsa15バージョンではなく、16バージョンをインストールしました。15だとカーネルの問題でmakeできません。

では、手順

  1. alsa本家からalsa-driver-1.0.16.tar.bz2 alsa-lib-1.0.16.tar.bz2 alsa-utils-1.0.16.tar.bz2をダウロードします。
  2. $sudo mkdir /usr/src/alsa でフォルダを作ります。
  3. $sudo cp alsa-* /usr/src/alsa/ で先ほどダウンロードしたファイル3つをコピーします。
  4. 次に、移動して解凍します。
    $cd /usr/src/alsa
    $sudo tar xjf alsa-driver-1.0.16.tar.bz2
    $sudo tar xjf alsa-lib-1.0.16.tar.bz2
    $sudo tar xjf alsa-utils-1.0.16.tar.bz2
  5. alsa-driver-1.0.16の中のpatch_realtek.cに SND_PCI_QUIRK(0×1179, 0xff31, “ASUS F2/3″, ALC861_ASUS_LAPTOP), 追加します。
    $sudo gedit alsa-driver-1.0.16/alsa-kernel/pci/hda/patch_realtek.c
    —————————–
    s
    tatic struct snd_pci_quirk alc861_cfg_tbl[] = {
    SND_PCI_QUIRK(0×1043, 0×1205, “ASUS W7J”, ALC861_3ST),
    SND_PCI_QUIRK(0×1043, 0×1335, “ASUS F2/3″, ALC861_ASUS_LAPTOP),
    SND_PCI_QUIRK(0×1043, 0×1338, “ASUS F2/3″, ALC861_ASUS_LAPTOP),
    SND_PCI_QUIRK(0×1179, 0xff31, “ASUS F2/3″, ALC861_ASUS_LAPTOP),  <<ここに追加
    SND_PCI_QUIRK(0×1043, 0×1393, “ASUS”, ALC861_ASUS),
    SND_PCI_QUIRK(0×1043, 0×13d7, “ASUS A9rp”, ALC861_ASUS_LAPTOP),
    SND_PCI_QUIRK(0×1043, 0×81cb, “ASUS P1-AH2″, ALC861_3ST_DIG),
    SND_PCI_QUIRK(0×1179, 0xff00, “Toshiba”, ALC861_TOSHIBA),
    /* FIXME: the entry below breaks Toshiba A100 (model=auto works!)
    * Any other models that need this preset?
    */
    —————————–
  6. 次にインストールします。
    $cd ./alsa-driver-1.0.16
    $sudo
    $sudo ./configure –with-cards=hda-intel –with-kernel=/usr/src/linux-headers-$(uname -r)
    $sudo make
    $sudo make install
    $cd ../alsa-lib-1.0.16
    $sudo ./configure
    $sudo make
    $sudo make install
    $cd ../alsa-utils-1.0.16
    $sudo ./configure
    $sudo make
    $sudo make install
  7. 再起動します。
  8. alsa-baseに options snd-hda-intel model=asus-laptop を追加します。
    $sudo gedit /etc/modprobe.d/alsa-base
    —————————
    options snd-intel8×0m index=-2
    options snd-via82xx-modem index=-2
    options snd-usb-audio index=-2
    options snd-usb-usx2y index=-2
    options snd-usb-caiaq index=-2
    # Ubuntu #62691, enable MPU for snd-cmipci
    options snd-cmipci mpu_port=0×330 fm_port=0×388
    options snd-hda-intel model=asus-laptop <<ここに追加
    ————————–
  9. 再起動します。

これで音が出ました。

うれしかったですね〜 ヘッドフォンも使えました。マイクは未チェックです。

でも、$alsamixer すると、

alsamixer: function snd_mixer_load failed: No such file or directory

ってでますね。出ても、音は出るから問題なしですたぶん。

ATI SB*** HDA系だと、この方法でalsa-baseを修正追加すれば、音が出る可能性は高いですね。

あとは、ubuntu8.04でvmware playerが使えるかどうかです。これを今度チェックして使えれば、正式版出たらすぐに移行出来そうです。

音が鳴るようになりました。でも、同じように再現はできず・・

Linux, Ubuntu 1 Comment »
(やっと音が鳴るようになりました。 同じようには再現できませんでしたが><)

ノートPCのTOSHIBA Satellite P1W 160C/4Wは、元々メモリーが256Mだったのを1Gに変更してからUbunntu7.10日本語版をCDから起動してインストールしました。

今回は、音が鳴らない。デバイスは認識してるのに音が鳴らない状態でした。ミュート状態とかチェックしたし、3回ほどOSを再インストールもしました。それでも音は鳴りませんし、ビープ音も鳴りません。

ubuntu7.10に入っているalsa-driver-14は、対応してません。alsa本家からalsa-driver-15と16も対応してませんでした。調べるとわんさか『音が出ない』、『no sound toshina ****』と出てきました。

TOSHIBA Satellite P1W 160C/4WをGoogleで調べたら、日本のみ発売みたいです。海外では、違う名前で販売してました。その為、英語が分からない私は、苦労しました。

最初は、適当にやったら音が出たみたいでした。下記を参考にインストールしてみました。

0002821: ATI Technologies Inc SB450 HDA Audio (rev 01) No sound (mostly)

HdaIntelSoundHowto

ーーーー 1 ーーーーーーーーーーーーーーーーーーーー

alsa本家からalsa-driver-1.0.15.bz2 alsa-lib-1.0.15.tar.bz2 alsa-utils-1.0.15.tar.bz2をダウロードします。(16は、バグがあるみたいで16は、インストールを見合わせました。後で解説します)

まずtoolをインストールします。

sudo aptitude install build-essential libncurses-dev gettext linux-headers-`uname -r`

次は、ダウンロードしたファイルを/usr/src/alsaに移動させ、解凍させます。

sudo mkdir -p /usr/src/alsa

cd /usr/src/alsa

sudo cp ~/downloads/alsa* .

sudo tar xjf alsa-driver-1.0.15.bz2

sudo tar xjf alsa-lib-1.0.15.tar.bz2

sudo tar xjf alsa-utils-1.0.15.tar.bz2

次に、ファイルを修正します。alsa-driver-1.0.15/alsa-kernel/pci/hda/patch_realtek.c

sudo gedit alsa-driver-1.0.15/alsa-kernel/pci/hda/patch_realtek.c

SND_PCI_QUIRK(0×1179, 0xff31, “Toshiba”, ALC861_TOSHIBA),を追加します。

SND_PCI_QUIRK(0×1565, 0×820d, “Biostar NF61S SE”, ALC861VD_6ST_DIG),
SND_PCI_QUIRK(0×1849, 0×0862, “ASRock K8NF6G-VSTA”, ALC861VD_6ST_DIG),
SND_PCI_QUIRK(0×103c, 0×30bf, “HP TX1000″, ALC861VD_HP),
{}

に追加します。

SND_PCI_QUIRK(0×1565, 0×820d, “Biostar NF61S SE”, ALC861VD_6ST_DIG),
SND_PCI_QUIRK(0×1849, 0×0862, “ASRock K8NF6G-VSTA”, ALC861VD_6ST_DIG),
SND_PCI_QUIRK(0×103c, 0×30bf, “HP TX1000″, ALC861VD_HP),
SND_PCI_QUIRK(0×1179, 0xff31, “Toshiba”, ALC861_TOSHIBA),
{}

次に、インストールします。

cd alsa-driver-1.0.15

sudo ./configure –with-cards=hda-intel –with-kernel=/usr/src/linux-headers-$(uname -r)

sudo make

sudo make install

cd ../alsa-lib-1.0.15

sudo ./configure

sudo make

sudo make install

cd ../alsa-utils-1.0.15

sudo ./configure

sudo make

sudo make install

インストール終わったら、再起動します。

次に、dmesgします。

dmesg

もし、下記のメッセージが出てたら修正を加えます。出なければ、/etc/modprobe.d/alsa-baseに飛んでください。

[ 1058.932000] snd_hda_intel: disagrees about version of symbol snd_ctl_add
[ 1058.932000] snd_hda_intel: Unknown symbol snd_ctl_add
[ 1058.932000] snd_hda_intel: disagrees about version of symbol snd_pcm_new
[ 1058.932000] snd_hda_intel: Unknown symbol snd_pcm_new
[ 1058.932000] snd_hda_intel: disagrees about version of symbol snd_pcm_limit_hw_rates
[ 1058.932000] snd_hda_intel: Unknown symbol snd_pcm_limit_hw_rates
[ 1058.932000] snd_hda_intel: disagrees about version of symbol snd_card_register
[ 1058.932000] snd_hda_intel: Unknown symbol snd_card_register

メッセージが出た場合、/lib/modules/2.6.22-14-generic/kernel/sound/pci/hda/snd-hda-intel.ko を /lib/modules/2.6.22-14-generic/ubuntu/media/snd-hda-intel/snd-hda-intel.koにコピーします。

sudo cp /lib/modules/2.6.22-14-generic/kernel/sound/pci/hda/

/lib/modules/2.6.22-14-generic/kernel/sound/の中にある、snd-hda-intel.ko snd-hwdep.ko snd.ko snd-mixer-oss.ko snd-page-alloc.ko snd-pcm.ko snd-pcm-oss.ko snd-rtctimer.ko snd-seq-device.ko snd-seq.ko snd-seq-midi-event.ko snd-seq-oss.ko snd-timer.koを/lib/modules/2.6.22-14-generic/kernel/sound/にコピーします。

sudo cp /usr/src/alsa/alsa-driver-1.0.15/modules/snd* /lib/modules/2.6.22-14-generic/kernel/sound/

再起動します。

次に/etc/modprobe.d/alsa-base を開いて options snd-hda-intel model=toshiba を追加します。

sudo gedit /etc/modprobe.d/alsa-base

一番下に options snd-hda-intel model=toshiba を追加したら再起動します。

ーーーーー end ーーーーーーーーーーーーーーーーーー

再起動して音が出たらOKです。最初は、これでOKでしたが・・・

2ヶ月後、再び実験でubuntu7.10をインストールし、alsaをインストールしたら音はなりませんでした。次の事をしたら音が出ました。

さっきと同じようにしますが途中が違いますので気をつけてください。

ーーーー 2 ーーーーーーーーーーーーーーーーーーーー

alsa本家からalsa-driver-1.0.15.bz2 alsa-lib-1.0.15.tar.bz2 alsa-utils-1.0.15.tar.bz2をダウロードします。(16は、バグがあるみたいで16は、インストールを見合わせました。後で解説します)

まず Install the required tools and kernelheadersをインストールします。

sudo aptitude install build-essential libncurses-dev gettext linux-headers-`uname -r`

次は、ダウンロードしたファイルを/usr/src/alsaに移動させ、解凍させます。

sudo mkdir -p /usr/src/alsa

cd /usr/src/alsa

sudo cp ~/downloads/alsa* .

sudo tar xjf alsa-driver-1.0.15.bz2

sudo tar xjf alsa-lib-1.0.15.tar.bz2

sudo tar xjf alsa-utils-1.0.15.tar.bz2

次に、ファイルを修正します。alsa-driver-1.0.15/alsa-kernel/pci/hda/patch_realtek.c

sudo gedit alsa-driver-1.0.15/alsa-kernel/pci/hda/patch_realtek.c

SND_PCI_QUIRK(0×1179, 0xff31, “ASUS F2/3″, ALC861_ASUS_LAPTOP),を追加します。

    SND_PCI_QUIRK(0x1043, 0x1205, "ASUS W7J", ALC861_3ST),
SND_PCI_QUIRK(0x1043, 0x1335, "ASUS F2/3", ALC861_ASUS_LAPTOP),
SND_PCI_QUIRK(0x1043, 0x1338, "ASUS F2/3", ALC861_ASUS_LAPTOP),
SND_PCI_QUIRK(0x1043, 0x13d7, "ASUS A9rp", ALC861_ASUS_LAPTOP),
SND_PCI_QUIRK(0x1584, 0x9075, "Airis Praxis N1212", ALC861_ASUS_LAPTOP),
SND_PCI_QUIRK(0x1043, 0x1393, "ASUS", ALC861_ASUS),
SND_PCI_QUIRK(0x1043, 0x81cb, "ASUS P1-AH2", ALC861_3ST_DIG),
SND_PCI_QUIRK(0x1179, 0xff00, "Toshiba", ALC861_TOSHIBA),

に追加します。

    SND_PCI_QUIRK(0x1043, 0x1205, "ASUS W7J", ALC861_3ST),
SND_PCI_QUIRK(0x1043, 0x1335, "ASUS F2/3", ALC861_ASUS_LAPTOP),
SND_PCI_QUIRK(0x1043, 0x1338, "ASUS F2/3", ALC861_ASUS_LAPTOP),
SND_PCI_QUIRK(0x1179, 0xff31, "ASUS F2/3", ALC861_ASUS_LAPTOP),
SND_PCI_QUIRK(0x1043, 0x13d7, "ASUS A9rp", ALC861_ASUS_LAPTOP),
SND_PCI_QUIRK(0x1584, 0x9075, "Airis Praxis N1212", ALC861_ASUS_LAPTOP),
SND_PCI_QUIRK(0x1043, 0x1393, "ASUS", ALC861_ASUS),
SND_PCI_QUIRK(0x1043, 0x81cb, "ASUS P1-AH2", ALC861_3ST_DIG),
SND_PCI_QUIRK(0x1179, 0xff00, "Toshiba", ALC861_TOSHIBA),

次に、インストールします。

cd alsa-driver-1.0.15

sudo ./configure –with-cards=hda-intel –with-kernel=/usr/src/linux-headers-$(uname -r)

sudo make

sudo make install

cd ../alsa-lib-1.0.15

sudo ./configure

sudo make

sudo make install

cd ../alsa-utils-1.0.15

sudo ./configure

sudo make

sudo make install

インストール終わったら、再起動します。

次に、dmesgします。

dmesg

もし、下記のメッセージが出てたら修正を加えます。出なければ、/etc/modprobe.d/alsa-baseに飛んでください。

[ 1058.932000] snd_hda_intel: disagrees about version of symbol snd_ctl_add
[ 1058.932000] snd_hda_intel: Unknown symbol snd_ctl_add
[ 1058.932000] snd_hda_intel: disagrees about version of symbol snd_pcm_new
[ 1058.932000] snd_hda_intel: Unknown symbol snd_pcm_new
[ 1058.932000] snd_hda_intel: disagrees about version of symbol snd_pcm_limit_hw_rates
[ 1058.932000] snd_hda_intel: Unknown symbol snd_pcm_limit_hw_rates
[ 1058.932000] snd_hda_intel: disagrees about version of symbol snd_card_register
[ 1058.932000] snd_hda_intel: Unknown symbol snd_card_register

メッセージが出た場合、/lib/modules/2.6.22-14-generic/kernel/sound/pci/hda/snd-hda-intel.ko を /lib/modules/2.6.22-14-generic/ubuntu/media/snd-hda-intel/snd-hda-intel.koにコピーします。

sudo cp /lib/modules/2.6.22-14-generic/kernel/sound/pci/hda/snd-hda-intel.ko /lib/modules/2.6.22-14-generic/ubuntu/media/snd-hda-intel/snd-hda-intel.ko

/lib/modules/2.6.22-14-generic/kernel/sound/の中にある、snd-hda-intel.ko snd-hwdep.ko snd.ko snd-mixer-oss.ko snd-page-alloc.ko snd-pcm.ko snd-pcm-oss.ko snd-rtctimer.ko snd-seq-device.ko snd-seq.ko snd-seq-midi-event.ko snd-seq-oss.ko snd-timer.koを/lib/modules/2.6.22-14-generic/kernel/sound/にコピーします。

sudo cp /usr/src/alsa/alsa-driver-1.0.15/modules/snd* /lib/modules/2.6.22-14-generic/kernel/sound/

再起動します。

次に/etc/modprobe.d/alsa-base を開いて options snd-hda-intel model=asus-laptop を追加します。

sudo gedit /etc/modprobe.d/alsa-base

一番下に options snd-hda-intel asus-laptop を追加したら再起動します。

ーーーーーーーーー end ーーーーーーーーーーーーーーーーー

これで音が出ました。

options snd-hda-intel model=toshibaを追加した初回は、スピーカーのみ音がでました。マイク、ヘッドフォンは使えません。

options snd-hda-intel asus-laptopを追加した今回は、スピーカー、マイク、ヘッドフォンも使えます。しかし、マイクは、機械音のノイズが多く使い物になりませんでした。

他にも、チェックしたらいけそうなのが多かったのですが、ここ3-4日で再起動を100回しました。今度、気合があるとき・今使ってるubuntu7.10が壊れた時にでもチェックしてみます。

最初に書いた、alsa本家のalsa-driver-1.0.16をインストール、又はubuntu8.04ベータに入っているalsa-driver-1.0.16には、ubuntuがまだ対応してないのかカーネルの問題なのか分かりませんがバグあります。(他の機種では音は出てます。)

alsamixer

すると、

alsamixer: function snd_mixer_load failed: No such file or directory

とでて、alsaが認識しませんでした。ubuntuの公式サイトのフォーラムにも「認識しないよ」と書いてありました。

ubuntu7.10は、音が出るようになりました。でも、ubuntu8.04ベータは現在も音は鳴りません。あと15日で正式発表ですが、それまでに直れば良いのですが・・・

ubuntu8.04はcompizが楽だから直ってくれ><

追記:ubuntu7.10でalsa-driver-1.0.15を使って音が出た場合、alsa-driver-1.0.16をインストールするとalsaは使えませんが、ossを使っては音が出ましたが、ボリュームコントロールが壊れているのか調整できません。

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン