2010年11月15日月曜日

ThinkPad 535X のサウンド (Puppy の場合)

Puppy Linux 4.3.1 std の場合においても ThinkPad 535X のサウンドチップの認識は自動的に行われませんでした。そこで手動で行うこととしました。

すでに Debian Sarge にてサウンドの設定方法の実績があるため、これに基づいて行うこととしました。

手始めに modprobe で認識させてみます。

 # modprobe snd-sb8 port=0x220 irq=5 dma8=1

これで snd-sb8 のモジュールが読み込まれました。確認のために以下のコマンドで関連したモジュールも読み込まれていることを確認します。

 # lsmod | grep snd

これで alsamixer を起動させてみます。無事起動できれば設定は完了しています。さらに念のために Puppy Linux に標準インストールされている aqualung で音を聴いてみます。さすがに Pentitum mmx 200 の CPU では処理速度が追いつかないようで音がブツブツと途切れてしまいます。この辺は Debian Sarge の xmms で音楽再生の方がスムーズなようです。一応鑑賞に耐えるものでしたから。

さて問題はこの snd-sb8 のモジュールを起動時にどのように読み込ませるかが問題です。linux kernel 2.6 系以降では /etc/modprobe.conf に記述するのが礼儀となっているようです。

そこでこの /etc/modpeobe.conf の最後尾へ次の定義文を追加して試してみることとしました。

 alias snd-card-0 snd-sb8
 options snd-sb8 port=0x220 irq=5 dma8=1

リブートさせて様子を観察してみました。デスクトップ画面の右下にスピーカーのアイコンが表示されることを期待しましたが表示されません。lsmod でモジュールを確認しても読み込まれていません。どうも /etc/modprobe.conf への記述では上手くゆかないようです。

ここで一歩後退をして一般的なサウンド設定となる alsaconf を試してみました。すると自動検索で cs4232 を発見したと表示されました。このまま OK をクリックしてあの /etc/modprobe.conf へ自動追記させました。これでリブートさせてちゃんと音がでれば問題はないのですが。

リブートの結果は残念ながら設定されていませんでした。lsmod で調べてもモジュールが読み込まれていないのです。それではと思って手動で snd-cs4232 を modprobe したところ Segmentation fault という結果になってしまいました。どうも snd-cs4232 では適応できないようです。

それならばということで力づくで modprobe を実行させることとしました。/etc/rc.d/rc.local へ手動で行った時と同じオプションをつけて modprobe を追記しました。

これでリブートさせるとやはりデスクトップ画面の右下にスピーカーのアイコンは表示されませんでしたが、lsmod で確認するとちゃんとモジュールが読み込まれていました。さらに alsamixer で音量調整も可能で aqualung で音楽を聴くこともできました。

音量調整のアイコンがなくても音楽を聴くことが出来る状況にようやくなったと思っていましたが、さらなる問題が発生していました。

なんとパソコンを起動させるごとに alsamixer のすべての設定がゼロに戻ってしまうのです。そのため前回までの設定は無効となってしまい、毎回音量設定をしなければならない状況となっていました。

もうブチブチと切れる音楽なのでサウンド関連の設定は放棄してもよいのではないかと思っているところです。今後更なる結果が判りましたら報告したいと思います。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。