#レッツノートの内蔵スピーカーから音が出ない
一年ぐらい前に中古でCF-NX1を3万円程度で購入し、SSD化 + 16GBメモリまで増設。つい先日、レッツノートのバッテリー交換プログラムもあり、バッテリも新品に。
OSは、Linux Mint 17.1 をインストールし、かなり快適に過ごしていましたが非常に快適に過ごしているのですが、唯一もやもやすることがありました。
それが、内蔵スピーカーから音が出ないことでした。
サウンドデバイスはきちんと認識されており、youtubeなどを再生すると、音量メーターが動きます。
イヤホンを挿せば問題なく聞こえますし、HDMIで音を出すのも問題なし。
本当に、内蔵スピーカーからだけ音が出ないのです。
#壊れているのか?
中古PCでしたが、Windows7はインストールされていました。Windowsの時に音が出ていたのか? と、言われると、確か起動時にWindowsの音が鳴っていた気がするという、曖昧な記憶のままSSD化してしまったため、確証が持てませんでした。
改めて、元のHDDに付け直して起動したところ、Windowsからは音が出る! 全く問題なし。ということで、やはりLinux側での問題ということに落ち着きました。
その後、いろいろと調べましたが、Let's noteはWindows側でミュートの状態を記憶するのでまずはWindows側でミュートを解除するとか、speech-dispacherを入れなおすなど、様々な情報がありましたが、試した限りでは、どれも効果はありませんでした。
#月日は流れ
そもそも、音が必要か? と言われると私は音楽を聞く習慣もなく、動画などであればタブレットで見るので、特に不都合は感じませんでした。それよりも、何かの拍子に突然音が出てしまう心配が全く無いので、安心してどこでもPCを使えていたので、メリットでもあり、音が出ないことについては、いつしか気にならなくなり、一年ぐらい放置していました。その間、Linux Mint18にアップグレードしたものの状況は変わりませんでした。
#Linux Mintが悪い?
ただ、ふとした時に好奇心が湧き、そもそもLinux Mintが悪いのかを調べてみたくなり、他のUbuntuはどうなのかを確認してみました。
USB に Kubuntu 18.04をLiveで起動させてみましたが、やはり、状況は変わりませんでした。
Fedora27を入れても変わらず、どうもLinux全般的にうまく動作しないということが分かりました。
#結論としては
以下のコマンドを実行することで直りました。実際にはよく分かっていないのですが、alsamixerコマンドで音量を確認せよという記事が多数ある中で、alsactl init コマンドで直ったという人がいました。
(※2018/4/30こちらについて、最下部に追記)
[SOLVED] Sounds issues - Realtek HDA - 14.2
https://www.linuxquestions.org/questions/slackware-14/sounds-issues-realtek-hda-14-2-a-4175596546/
実際にやってみると・・・
% sudo alsactl init
Found hardware: "HDA-Intel" "Realtek ALC269VC" "HDA:10ec0269,10f70200,00100202 HDA:80862805,80860101,00100000" "0x10f7" "0x8338"
Hardware is initialized using a generic method
なんだかデバイスが再検出されて音が出ました!!
音が出なくてもいいやと思っていましたが、いざ音が出ると快適ですね。無駄にyoutubeとか見たくなります。
再起動する度に実行しなくてはならないので、起動時に実行されるように設定されるとよいと思います。私はミュートになっているか常に気になってしまうので、本当に音を出したい時だけ実行することにします。
もしかしたら、Let's Noteの CF-SX1, CF-NX2, CF-SX2なども該当するかもしれません。
Fedora27のLive CD上でも音が出るようになりましたので、Linuxで音が出ない方がいたら、ぜひ試してみてください。
#2018/4/30 追記(alsamixerにてheadphoneの音量を上げるだけで改善可能)
音が出るようになってからいろいろな方のサイトを改めて見直し、alsamixerあたりのキーワードで探すと、alasmixerで改善したという報告が多いことに気づきました。
改めて、alasmixerを確認したところ、音が出ていない時は、<Speaker>\の音量は100のものの、<Headphone>の音量は0。alsactl initを実行したところ、<Speaker>の音量は100、<Headphone>の音量も100に。つまり、内部的にHeadphoneとSpeakerの音量表記が入れ替わっていて、更にデフォルトのHeadphoneの音量が0という非常にわかりにくい状態になっていたのでした。
つまり、alsactl initを実行するとたまたまHeadphone(実際にスピーカー)の音量が100で初期化されるというだけでした。
いろいろな方が説明をされていたのに、斜め読みをしていて見逃していた模様です。
http://iranoan.my.coocan.jp/essay/pc/201609061.htm