Audio problem with Dell Latitude C510/C610

Problems and successes with specific brands/models of computer audio hardware
Post Reply
Message
Author
DavidEllis2
Posts: 15
Joined: Sun 09 Aug 2009, 20:09

Audio problem with Dell Latitude C510/C610

#1 Post by DavidEllis2 »

[Originally posted incorrectly to the http://www.murga-linux.com/puppy/viewtopic.php?t=45234 thread.]

Trying to set up an old Dell Latitude C510/C610 for a friend. Cleaned down the laptop almost to bare metal and did a full install of Puppy 4.2.1 to HDD using the live CD distribution 4.2.1-k2.6.25.16. Installed Grub as boot manager. Everything seems to work very cleanly except the audio. There is no sound. One response to my prior incorrect posting conveyed that "The Crystal CS4205 soundchip will work as an Intel 810-compatible AC97 soundcontroller, the ALSA-module for it is called snd-intel8x0. There are no noticeable differences between the drivers, they both work fine."

The ALSA Sound Wizard fails to detect the sound chip and offers to search for legacy ISA. The list of legacy ISA does not include anything like a CS4205 or an Intel 8x0. (It fails to locate anything that will work.) Poking around shows that directory /lib/modules/2.6.25.16/kernelsound/pci/ contains two files called snd-intel8x0.ko and snd-intel8x0m.ko so it looks like the intel8x0 is known about. At present, my modprobe.conf shows:

# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF version 1.0.16 ---
alias snd-card-0 snd-sb16
alias sound-slot-0 snd-sb16
options snd-sb16 isapnp=0
# --- END: Generated by ALSACONF, do not edit. ---

Is there a way to manually get ALSA to set up the intel8x0?

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#2 Post by tempestuous »

Your Intel 8x-compatible audio chip is supported by the snd-intel8x0 ALSA driver. This module is commonly known to conflict with the ALSA-modem driver, snd-intel8x0m. So a good preparatory step would be to blacklist the snd-intel8x0m module (if it's loaded). Go to
Menu > System > BootManager configure bootup > Click here to blacklist a module
Select "snd-intel8x0m" in the left pane, and press "Add".
If it's not listed, then there's no problem.
DavidEllis2 wrote:# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF version 1.0.16 ---
alias snd-card-0 snd-sb16
alias sound-slot-0 snd-sb16
options snd-sb16 isapnp=0
# --- END: Generated by ALSACONF, do not edit. ---
Delete all of this, and save. It's clearly an erroneous attempt to select the legacy ALSA snd-sb16 driver.

Now reboot, and run the ALSA Sound Wizard. If no success, manually add this to /etc/modprobe.conf

Code: Select all

alias snd-card-0 snd-intel8x0
alias sound-slot-0 snd-intel8x0
Reboot again.
Last edited by tempestuous on Wed 12 Aug 2009, 12:11, edited 1 time in total.

DavidEllis2
Posts: 15
Joined: Sun 09 Aug 2009, 20:09

#3 Post by DavidEllis2 »

Thanks for the rapid response. Basically still no luck.

BootManager did not show the snd-intel8x0m anywhere so I proceeded to the next step. Deleted the snd-sb16 ALSA stuff and rebooted. Ran the ALSA wizard and, as before, it failed to detect anything in the first part. When allowed to search legacy stuff it just came up with the snd-sb16 again, which I declined to let it install.

I manually edited /etc/modprobe.conf as you suggested to insert the two lines:

Code: Select all

alias snd-card-0 snd-intel8x0m
alias sound-slot-0 snd-intel8x0m
Reboot and still no luck. Noticed you might have inadvertently mis-stated "snd-intel8x0m" so changed the two lines to refer to "snd-intel8x0". Rebooted - still no luck.

Any other ideas I could try, or anything else I need to look for?

(I'm testing the audio using a regular audio CD in gxine.)

-----

In case its helpful to understanding my situation, I brought up PupScan Interface Information and those that seem pertinent to sound are:

Code: Select all

snd_mixer_oss
snd_intel8x0
snd_ac97_codec
ac97_bus
snd_pcm
snd_timer
snd
snd_page_alloc
soundcore
The snd_intel8x0 is showing the following details:

Code: Select all

filename:       /lib/modules/2.6.25.16/kernel/sound/pci/snd-intel8x0.ko
license:        GPL
description:    Intel 82801AA,82901AB,i810,i820,i830,i840,i845,MX440; SiS 7012; Ali 5455
author:         Jaroslav Kysela <perex@perex.cz>
alias:          pci:v000010B9d00005455sv*sd*bc*sc*i*
   <bunch of similar aliases deleted to save space>
alias:          pci:v00008086d00002415sv*sd*bc*sc*i*
depends:        snd-ac97-codec,snd-pcm,snd-page-alloc,snd
vermagic:       2.6.25.16 mod_unload 486 
parm:           index:Index value for Intel i8x0 soundcard. (int)
parm:           id:ID string for Intel i8x0 soundcard. (charp)
parm:           ac97_clock:AC'97 codec clock (0 = auto-detect). (int)
parm:           ac97_quirk:AC'97 workaround for strange hardware. (charp)
parm:           buggy_semaphore:Enable workaround for hardwares with problematic codec semaphores. (bool)
parm:           buggy_irq:Enable workaround for buggy interrupts on some motherboards. (bool)
parm:           xbox:Set to 1 for Xbox, if you have problems with the AC'97 codec detection. (bool)
parm:           spdif_aclink:S/PDIF over AC-link. (int)
parm:           enable:bool
parm:           joystick:int
I also took a look for any log files that might have relevant errors and can see no errors that looked significant.

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#4 Post by tempestuous »

Argh. I posted my response late at night, and made a big error:
the correct module to specify in /etc/modprobe.conf is snd-intel8x0, not snd-intel8x0m
So -

Code: Select all

alias snd-card-0 snd-intel8x0
alias sound-slot-0 snd-intel8x0
Reboot.

If still no success, you might have an IRQ conflict. Please post the results of this command

Code: Select all

cat /proc/interrupts

DavidEllis2
Posts: 15
Joined: Sun 09 Aug 2009, 20:09

#5 Post by DavidEllis2 »

I'm a little out of depth here but it looks to me like there's nothing set up for the audio. If so, it could be that it not only needs an IRQ but also some buffers to be established.

Code: Select all

           CPU0       
  0:    1044014    XT-PIC-XT        timer
  1:         91    XT-PIC-XT        i8042
  2:          0    XT-PIC-XT        cascade
  3:          4    XT-PIC-XT      
  4:          4    XT-PIC-XT      
  5:       4237    XT-PIC-XT        yenta, pcmcia2.0
  6:          3    XT-PIC-XT        floppy
  7:          2    XT-PIC-XT      
  8:          1    XT-PIC-XT        rtc
  9:          1    XT-PIC-XT        acpi
 10:          4    XT-PIC-XT      
 11:         57    XT-PIC-XT        uhci_hcd:usb1, yenta, yenta, eth0
 12:       3058    XT-PIC-XT        i8042
 14:       6164    XT-PIC-XT        ata_piix
 15:      21060    XT-PIC-XT        ata_piix
NMI:          0   Non-maskable interrupts
LOC:          0   Local timer interrupts
TRM:          0   Thermal event interrupts
SPU:          0   Spurious interrupts
ERR:          0
MIS:          0
[Typos happen - particularly if tired. I had noticed we have a substantial time zone shift. USA East myself, although I started out in the UK.]

----

I have double checked the BIOS. "Dell Latitude C510"; Phoenix Bios Version A07; Audio Controller Crystal 4205. There does not appear to be anything adjustable or settable to do with audio on any of the pages in the BIOS. Using HardInfo to generate a report I do notice that under Multimedia it shows "Audio Adapter (null)" suggesting that it is still not set up correctly. The loaded modules include the snd_intel8x0 and ac97 items that I would expect.

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#6 Post by tempestuous »

Your IRQ results tell the sad story.

First I suggest you reset your bios settings to factory defaults, then boot into Puppy and see if the IRQ allocation improves.

Second, I suggest you boot with "pci=biosirq" boot parameter.

DavidEllis2
Posts: 15
Joined: Sun 09 Aug 2009, 20:09

#7 Post by DavidEllis2 »

tempestuous wrote:Your IRQ results tell the sad story.
Indeed. I think its time I just said "thanks very much for all the help". You have been a huge help as I am not that familiar with Linux and have learned where to find some useful bits along the way. Thanks.

For information of later visitors to this thread.

I did try the suggestions made but nothing changed. First I added "pci=biosirq" to the grub boot line - no effect.

The BIOS on this system does not have a way to restore factory settings. Being a 2nd hand (maybe 4th or 5th hand) system it has no CDs or manuals. Online manuals suggest it might be possible to restore the original settings if you have a Dell Drivers and Utilities CD - I don't - but whether that will do anything with the BIOS or just restore bits of the the HDD is unclear. None the less, there did not seem to be any BIOS parameters that looked as though they would affect the IRQs, except for the docking station and I tried all available settings of that.

The audio is known to be working as, prior to Puppy, I had installed a Windows 2K Pro to check it out. Hence its a mystery why Puppy can't find it.

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#8 Post by Aitch »

David

You really need more thinking power to solve problems

windoze does most of your thinking for you

when using puppy, brains become useful - google is your friend, for a while.....

http://support.dell.com/support/edocs/s ... /index.htm


check 'resetting bios defaults', as suggested by tempestuous

we expect a little effort from users, for the use of ours - OK? :(

Aitch :)

DavidEllis2
Posts: 15
Joined: Sun 09 Aug 2009, 20:09

Already tried that...

#9 Post by DavidEllis2 »

I don't wish to seem ungrateful regarding the help but I had already downloaded and searched all those manuals for a BIOS reset method and found none. It does cover flashing a BIOS but I hesitate to download and flash a completely new BIOS, blowing away a known working one, on a system that is not mine. There were several threads I had found and read on Google but none seemed to actually explain how to reset the BIOS. (The problems they dealt with were resolved later in those threads without needing a reset so they never explained how to do the reset.)

I certainly do admit to being weak with respect to UNIX but I generally do do a lot of digging myself before asking for help. (My background is actually more VMS than Windows.) If you do know of some source that states how the BIOS may be reset, I would certainly be pleased to hear of it. The manual is indicating the need for the Dell Utilities CD which is not available.

David E.

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#10 Post by tempestuous »

I sympathise with you.
I read through those manuals that Aitch linked to, and it seems Dell provides no obvious way to reset the bios or change audio resources.

But regarding the "pci=biosirq" parameter, are you sure you tried this correctly?
It needs to be added to the end of the "kernel" line in /boot/grub/menu.lst

DavidEllis2
Posts: 15
Joined: Sun 09 Aug 2009, 20:09

Yes - did try the boot parameter

#11 Post by DavidEllis2 »

Unfortunately yes. I tried the boot parameter first enterring it on the kernel boot line as the Grub menu came up. After that didn't make a difference I editted the grub file to make the change 'permanent' and tried again. i.e got two or three tries at it so not much likelihood of mistyping.

I'll try opening the case and pulling the CMOS battery to see if that resets the BIOS but it will be several days as I have some non-computer comitments for the next few days and probably can't get to it.

DavidEllis2
Posts: 15
Joined: Sun 09 Aug 2009, 20:09

#12 Post by DavidEllis2 »

I pulled the CMOS battery (and also the main battery just be sure there was no power anywhere while working on it. The BIOS was definitely reset. I booted Puppy without even setting the time in the BIOS, using the boot parameter

Code: Select all

pci=biosirq
appended to the kernel boot string in Grub. No audio.

Code: Select all

cat /proc/interrupts
still shows the identical set of IRQ information as reported above in this thread.

Clearly the lack of IRQ settings is key to the problem but the BIOS in this laptop does not appear to be handling the Crystal 4205 Audio Controller in the way expected. As I said previously, thanks very much for the attention but unless someone has insight into this particular BIOS/Laptop I suspect we are not going to make much progress.

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#13 Post by tempestuous »

I'm revisiting this post because I remembered about some other boot options which can help IRQ allocation -

First run "dmesg" to look for any error messages. There's a chance you may see an error message about ACPI failing to initiallise. If so, add this boot option -

Code: Select all

acpi=force
and reboot.
See if the IRQ results look any better.

Also the combination of these two boot options has been known to solve resource allocation problems with some recent motherboards -

Code: Select all

irqpoll routeirq

DavidEllis2
Posts: 15
Joined: Sun 09 Aug 2009, 20:09

#14 Post by DavidEllis2 »

Thanks for the suggestion but no luck. The dmesg output is 323 lines long so I'll refrain from posting it all here ;-)

I tried both your suggestions for boot parameters anyway, neither caused a change. The dmesg output contained another suggestion - probably equivalent to yours - that I also tried:

Code: Select all

pci=routeirq
As far as suspicious or possibly pertinent dmesg output I picked out the following:

Code: Select all

PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
system 00:00: iomem range 0x0-0x9fbff could not be reserved
system 00:00: iomem range 0x9fc00-0x9ffff could not be reserved
system 00:00: iomem range 0xc0000-0xcffff could not be reserved
system 00:00: iomem range 0xe0000-0xfffff could not be reserved
system 00:00: iomem range 0x100000-0x7feffff could not be reserved
system 00:00: iomem range 0x7ff0000-0x7ffffff could not be reserved
system 00:00: iomem range 0xfeda0000-0xfedfffff could not be reserved
system 00:00: iomem range 0xfff80000-0xffffffff could not be reserved
Immediately after that it successfully reserved a series of ioports on 2, 3, 4 and 9 after which it reserved an iomem range on 10. It then continued in what looked like a well behaved manner. Considerably farther on I notice:

Code: Select all

brd: module loaded
loop: module loaded
Driver 'sd' needs updating - please use bus_type methods
Driver 'sr' needs updating - please use bus_type methods
ata_piix 0000:00:1f.1: version 2.12
PCI: Enabling device 0000:00:1f.1 (0005 -> 0007)
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
As the HD and CD seem to work fine I'm thinking that that update is not critical at this point. (Aside from that, I'm not too sure how to update them anyway.) The TSC is also being marked as unstable as it "halts in idle". As that's associated with the clock it also does not seem to be pertinent to this particular problem. Towards the end is something that might be related:

Code: Select all

orinoco 0.15 (David Gibson <hermes@gibson.dropbear.id.au>, Pavel Roskin <proski@gnu.org>, et al)
orinoco_cs 0.15 (David Gibson <hermes@gibson.dropbear.id.au>, Pavel Roskin <proski@gnu.org>, et al)
pcmcia: request for exclusive IRQ could not be fulfilled.
pcmcia: the driver needs updating to supported shared IRQ lines.
After that it just sets up the network card and wireless and finishes. (It excludes a couple of ranges of addresses in eth0 but that's all.)

David E.

Post Reply