Saturday, October 13, 2007

Laptop Sound II

=====Laptop Sound II=====
Well, as Fedora 7 has progressed I've gone from no sound to getting sound working for only one kernel. Now I'm back at stage one. No sound again. I firmly believe that the issue is sound '''volume''' and not whether sound works or doesn't. I can play an MP3 and it works fine. None of the audio players complain about anything so that part is all good. I just can't hear anything. I've kept notes on what I've done to try to fix this problem and thought that I'd dump those notes here. Here they are:

Kernel version:
[glenn@toshiba modprobe.d]$ uname -ra
Linux toshiba 2.6.22.9-91.fc7 #1 SMP Thu Sep 27 23:10:59 EDT 2007 i686 i686 i386 GNU/Linux
To set up sound I've done the following:
[glenn@toshiba ~]$ sudo lspci | grep Audio
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)

[glenn@toshiba ~]$ lsmod | grep snd
snd_hda_intel 243545 1
snd_seq_dummy 7877 0
snd_seq_oss 33473 0
snd_seq_midi_event 11073 1 snd_seq_oss
snd_seq 50609 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device 11981 3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss 43457 0
snd_mixer_oss 19521 1 snd_pcm_oss
snd_pcm 74949 2 snd_hda_intel,snd_pcm_oss
snd_timer 24901 2 snd_seq,snd_pcm
snd 53317 10 snd_hda_intel,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore 11681 1 snd
snd_page_alloc 14281 2 snd_hda_intel,snd_pcm

Installed gstreamer plugins
sudo yum install gstreamer-plugins-ugly
Rebooted.

Music plays but there is no sound. Like it's muted. Followed instructions for installing newest alsa drivers. During that process modprobe snd-hda-intel failed.

Rebooted.


Now, the sound volume icon is muted. If I click it it will probably tell me that there is no audio device detected. Here's the output of '''dmesg | grep hda'''
[glenn@toshiba ~]$ dmesg | grep hda
ALSA /usr/src/alsa/alsa-driver/pci/hda/hda_codec.c:2132: hda_codec: model '3stack' is selected
ALSA /usr/src/alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_si3054.c:238: si3054: cannot initialize. EXT MID = 0000
ALSA /usr/src/alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_si3054.c:250: Link Frame Detect(FDT) is not ready (line status: 0000)

I'm going to try changing the '''3stack''' option to '''auto''' and '''toshiba''' to see what happens and if the '''dmesg''' output is different.
Changed option to '''auto''' and rebooted and here's the output of '''dmesg | grep snd'''
[glenn@toshiba ~]$ dmesg | grep hda
ALSA /usr/src/alsa/alsa-driver/pci/hda/hda_codec.c:2132: hda_codec: model '3stack' is selected
ALSA /usr/src/alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/hda_intel.c:576: hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x006f0d00
ALSA /usr/src/alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_si3054.c:238: si3054: cannot initialize. EXT MID = 0000
ALSA /usr/src/alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_si3054.c:250: Link Frame Detect(FDT) is not ready (line status: 0000)

Tried '''modprobe snd-hda-intel''' again and this time the system accepted the command. Does this mean that sound will worK? I doubt it. But let's move forward, shall we?
At least with '''system-config-soundcard''' I'm able to select '''ALC268 Digital''' now. That option wasn't available previously. Only options
available were '''ALC268 Analog''' and '''Si3054''' Modem. This must be a giant step forward.

Rebooted.

Music will once again play but there is no volume, again as if it's muted.

Rebooting again.

Here's '''dmesg''' this time. Volume is not muted.
[glenn@toshiba ~]$ dmesg | grep hda
ALSA /usr/src/alsa/alsa-driver/pci/hda/hda_codec.c:2132: hda_codec: model '3stack' is selected
ALSA /usr/src/alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_si3054.c:238: si3054: cannot initialize. EXT MID = 0000
ALSA /usr/src/alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_si3054.c:250: Link Frame Detect(FDT) is not ready (line status: 0000)
ALSA /usr/src/alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/hda_intel.c:576: hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x10a90000
Music still plays but there is still no volume. Edited '''/etc/modprobe.conf'''. Originally there was a line that read '''options snd-hda-intel index=0'''. Changed that to read
'''options snd-hda-intel index=0 model=3stack'''.

Rebooted.

Edited '''/etc/rc.local''' to add these 2 lines to the bottom of the file:
modprobe -r snd_hda_intel
modprobe snd_hda_intel
Rebooted.

Dinna do nuthin'.

After a multi hour break from fighting with sound here's the current relevant output from '''dmesg'''.
[root@toshiba ~]# dmesg | grep alsa
ALSA /usr/src/alsa/alsa-driver/pci/hda/hda_codec.c:2132: hda_codec: model '3stack' is selected
ALSA /usr/src/alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_si3054.c:238: si3054: cannot initialize. EXT MID = 0000
ALSA /usr/src/alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_si3054.c:250: Link Frame Detect(FDT) is not ready (line status: 0000)
ALSA /usr/src/alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/hda_intel.c:576: hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x015b8000
Still using '''3stack'''. '''3stack''' is part of /'''etc/modprobe.conf''' so I'm going to play around with that file for a bit.

Changed /etc/modprobe.conf - line reads:
options snd-hda-intel index=0 model=3stack
Changed to
options snd-hda-intel index=0 model=toshiba
and if that doesn't work will try
options snd-hda-intel index= model=auto
Rebooting between each change.

OK, back from reboot using '''toshiba'''. Here's relevant output from '''dmesg''', which now says '''toshiba'''.

[root@toshiba ~]# dmesg | grep alsa
ALSA /usr/src/alsa/alsa-driver/pci/hda/hda_codec.c:2132: hda_codec: model 'toshiba' is selected
ALSA /usr/src/alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_si3054.c:238: si3054: cannot initialize. EXT MID = 0000
ALSA /usr/src/alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_si3054.c:250: Link Frame Detect(FDT) is not ready (line status: 0000)
ALSA /usr/src/alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/hda_intel.c:576: hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x002b8000
Sound now works. I'm listening to an MP3 file now using Rhythmbox and am able to listen to streaming audio. I guess the last change is the one that made the difference for me, but I can't be sure.

For future reference this is the contents of /etc/modprobe.conf:
alias eth0 sky2
alias scsi_hostadapter ata_piix
alias wlan0 iwl3945
alias snd-card-0 snd-hda-intel
options snd-card-0 index=0
#options snd-hda-intel index=0
#options snd-hda-intel index=0 model=3stack
options snd-hda-intel index=0 model=toshiba
#options snd -hda-intel index= model=auto

No comments: