# [solved] No Sound i8x0 + ALSA

## swingkyd

So, 

I still get no no sound from my computer after trying everything I can think of.

NOTE: I have the same sound card as this guy:

https://forums.gentoo.org/viewtopic.php?t=274157

and tried everything that he has too... but still no sound!

Here's the background:

I've got the i8x0 chipset (Intel 855GM graphics (yuk)) on my emachines M6410 laptop. I've spent the last week or so trying to get ALSA to work. 

lspci:

```
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
```

I have the 2.9.10 kernel, ALSA compiled as modules, installed and configured according to the Gentoo ALSA Guide and the i8x0 ALSA guide. 

After much trouble I finally added "acpi=off" kernel parameter which got rid of the really bad error messages (i think it was IRQ problems since the ACPI had the same IRQ as the sound). 

I've unmuted the "Master" and "PCM" channels and set them both to 90%.

# aplay somefile.wav

finishes without any error, but still no sound

#mpg123 -v somefile.mp3

shows that it's decoding and time is counting up, but no sound...

any ideas? any more info needed? I really really would like some sound!

How can I unconflict the system when there are two IRQs assigned to the same spot? Is this possible and how?

A million thanks in advance!Last edited by swingkyd on Sun Jan 16, 2005 7:15 pm; edited 1 time in total

----------

## Duck-Billed Platypus

IRQ can probably be fixed from the bios. there should be an option that lets you choose IRQs manually.

----------

## Cintra

I have the same audio controller (rev 02) and it works fine, but there are clearly things which can block sound..

I wonder first what kind of speaker/cable setup you have? stereo, 2.1, 5.1, spdif or what?

Have you ever had sound from them, eg with windows?

Run alsamixer and a) check that iec958 is NOT muted and iec958p is at zero level and unmuted, b) set master and pcm at about 80

If you are running kde have a look in info center > sound and copy down what you have there. 

If you have kde go to control center > sound & multimedia > sound system >hardware, select advanced linux sound architecture, then back on general (where i trust you have 'enable the sound system' enabled!) hit test sound

mvh

----------

## Bob P

kde systems often have sound problems until you use the mixer program to unmute some of your sound devices:  control center > multimedia > sound mixer (kmix).

hth

----------

## swingkyd

Cintra,

 *Cintra wrote:*   

> I have the same audio controller (rev 02) and it works fine, but there are clearly things which can block sound..
> 
> I wonder first what kind of speaker/cable setup you have? stereo, 2.1, 5.1, spdif or what?
> 
> Have you ever had sound from them, eg with windows?
> ...

 

Thanks for your respons:

1) I have unmuted iec958 and iec958p is at zero.

2) Master is at 90, pcm is at 81.

3) sound works fine under windows

4) I don't have kde running (using window maker until things are set up)... i'll deal with mixing when I get any sound out of my machine!

I'm not too sure what you mean by speaker/cable setup? I have a laptop computer and I'm looking for sound on my speakers... any ideas?

----------

## Cintra

Hei

Forget the speaker/cable idea, I was thinking of external systems. Looks like you have a weird one!

Did you check your bios for the 'fixed irq' option?

If that doesn't fix it, I would have a go at building alsa into the kernel like I have, rather than modules.

mvh

----------

## nenn

i have a the same card, if you didnt already in the kernel select the alsa options and for the i8x0 chipset you have to select the one right under it about modem or something, i dont know why but that fixed my sound problem so im over from oss  :Very Happy:  good luck

----------

## swingkyd

 *nenn wrote:*   

> i have a the same card, if you didnt already in the kernel select the alsa options and for the i8x0 chipset you have to select the one right under it about modem or something, i dont know why but that fixed my sound problem so im over from oss  good luck

 

I've tried the whole setup with the module loaded and unloaded:snd-intel8x0

(that's the module for the modem CONFIG_SND_INTEL8X0M).

I get the same error:

```
bash-2.05b# aplay sample.wav 

Playing WAVE 'sample.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono

ALSA lib pcm_hw.c:592:(snd_pcm_hw_drain) SNDRV_PCM_IOCTL_DRAIN failed: Input/output error

bash-2.05b# lsmod

Module                  Size  Used by

snd_intel8x0m          16324  0 

ndiswrapper           107684  0 

snd_pcm_oss            50212  0 

snd_mixer_oss          18944  1 snd_pcm_oss

snd_seq_oss            33408  0 

snd_seq_midi_event      7296  1 snd_seq_oss

snd_seq                51984  4 snd_seq_oss,snd_seq_midi_event

snd_seq_device          7948  2 snd_seq_oss,snd_seq

snd_intel8x0           29600  0 

snd_ac97_codec         74080  2 snd_intel8x0m,snd_intel8x0

snd_pcm                86788  4 snd_intel8x0m,snd_pcm_oss,snd_intel8x0,snd_ac97_codec

snd_timer              22532  2 snd_seq,snd_pcm

snd                    48612  10 snd_intel8x0m,snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,snd_seq_device,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer

snd_page_alloc          8580  3 snd_intel8x0m,snd_intel8x0,snd_pcm

```

----------

## swingkyd

 *Cintra wrote:*   

> Hei
> 
> Did you check your bios for the 'fixed irq' option?
> 
> If that doesn't fix it, I would have a go at building alsa into the kernel like I have, rather than modules.mvh

 

hmmm no I haven't... I shall do this and try.  But I have disabled apic so I don't get anymore irq conflicts... let me try again to see...

I've tried building everything into the kernel and tried all modular...both give the exact same results.

----------

## swingkyd

Okay,

thanks for the suggestions so far...but...

i have a retarded bios...no options for anything really. I've tried to contact emachines support but no answer yet.. I'm hoping for a bios upgrade but i highly doubt they will have one. 

So I've turned off APIC at startup so there seems to be no problem with IRQs...but that could be wrong..

if I don't have access to IRQ settings in the BIOS, can I somehow do this some other place? I'm getting this error under dmesg when I run a wav (no sound of course):

```
PCI: Setting latency timer of device 0000:00:1f.5 to 64

intel8x0_measure_ac97_clock: measured 49722 usecs

intel8x0: clocking to 48000

Losing some ticks... checking if CPU frequency changed.

Losing some ticks... checking if CPU frequency changed.

Losing some ticks... checking if CPU frequency changed.

Losing some ticks... checking if CPU frequency changed.

Losing some ticks... checking if CPU frequency changed.

Losing some ticks... checking if CPU frequency changed.

Losing some ticks... checking if CPU frequency changed.

.....  (lots more of these messages)
```

Any new ideas?

now lspci is here:

```

bash-2.05b# lspci

0000:00:00.0 Host bridge: Intel Corp. 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)

0000:00:00.1 System peripheral: Intel Corp. 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)

0000:00:00.3 System peripheral: Intel Corp. 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)

0000:00:02.0 VGA compatible controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)

0000:00:02.1 Display controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)

0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)

0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)

0000:00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)

0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)

0000:00:1e.0 PCI bridge: Intel Corp. 82801 Mobile PCI Bridge (rev 83)

0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)

0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4-M) IDE Controller (rev 03)

0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)

0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)

0000:01:05.0 CardBus bridge: Texas Instruments PCI1510 PC card Cardbus Controller

0000:01:06.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)

0000:01:09.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)

```

Note: this might  be of some use:

```
bash-2.05b# cat /proc/asound/cards 

0 [I82801DBICH4   ]: ICH4 - Intel 82801DB-ICH4

   Intel 82801DB-ICH4 with unknown codec at 0xe02ff800, irq 17

```

Now shouldn't it be an AC'97 codec? 

Also, my lsmod seems to show some thing interesting:

```
bash-2.05b# lsmod

Module                  Size  Used by

snd_pcm_oss            50212  0 

snd_mixer_oss          18944  1 snd_pcm_oss

snd_seq_oss            33408  0 

snd_seq_midi_event      7296  1 snd_seq_oss

snd_seq                51984  4 snd_seq_oss,snd_seq_midi_event

snd_seq_device          7948  2 snd_seq_oss,snd_seq

snd_intel8x0           29600  0 

snd_ac97_codec         74080  1 snd_intel8x0

snd_pcm                86788  3 snd_pcm_oss,snd_intel8x0,snd_ac97_codec

snd_timer              22532  2 snd_seq,snd_pcm

snd                    48612  9 snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,snd_seq_device,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer

snd_page_alloc          8580  2 snd_intel8x0,snd_pcm

ndiswrapper           107684  0 

```

but i can't make head's nor tails out of this to get it to work  :Sad: ...

any help would be appreciated!

----------

## swingkyd

one last thing...is it bad to have three (maybe even four) things all using IRQ 17?

```
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)

        Subsystem: Rioworks: Unknown device 202f

        Flags: bus master, medium devsel, latency 0, IRQ 17

        I/O ports at e400

        I/O ports at ee80 [size=64]

        Memory at e02ff800 (32-bit, non-prefetchable) [size=512]

        Memory at e02ff400 (32-bit, non-prefetchable) [size=256]

        Capabilities: [50] Power Management version 2

0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03) (prog-if 00 [Generic])

        Subsystem: Rioworks: Unknown device 202f

        Flags: medium devsel, IRQ 17

        I/O ports at e800

        I/O ports at ec00 [size=128]

        Capabilities: [50] Power Management version 2

0000:01:05.0 CardBus bridge: Texas Instruments PCI1510 PC card Cardbus Controller

        Subsystem: Rioworks: Unknown device 202f

        Flags: bus master, medium devsel, latency 0, IRQ 17

        Memory at 1e001000 (32-bit, non-prefetchable)

        Bus: primary=01, secondary=02, subordinate=05, sec-latency=176

        I/O window 0: 00000000-00000003

        I/O window 1: 00000000-00000003

        16-bit legacy interface ports at 0001

```

can this be resolved...again, my bios cannot change irq's for some strange reason  :Sad: 

----------

## Cintra

You are not overclocking are you?

----------

## swingkyd

OKay, after much messing about I got sound working decently. I think I'll write a howto on my particular laptop since there is nobody else in the world that seems to have doneso already.

Anyhoo, here's the quick an dirty solution:

1) Compile all i8x0 sound support as modules.

```
  x x                                <M> Advanced Linux Sound Architecture                                  x x  

  x x                                <M> Sequencer support                                                  x x  

  x x                                < >   Sequencer dummy client                                           x x  

  x x                                <M> OSS Mixer API                                                      x x  

  x x                                <M> OSS PCM (digital audio) API                                        x x  

  x x                                [*] OSS Sequencer API                                                  x x  

  x x                                [ ] Verbose printk                                                     x x  

  x x                                [ ] Debug                                                              x x  

  x x                                    Generic devices  --->                                              x x  

  x x                                    ISA devices  --->                                                  x x  

  x x                                    PCI devices  --->              
```

Under PCI devices:

```
 x x                     <M> Intel/SiS/nVidia/AMD/ALi AC97 Controller                                      x x  

  x x                     <M> Intel/SiS/nVidia/AMD MC97 Modem (EXPERIMENTAL)                                x x  
```

2a) Add a file called: "intel_alsa" under /etc/modules.d

```
# /etc/modules.d/intel_alsa

# ALSA portion

alias char-major-116 snd

alias snd-card-0 snd-intel8x0

# module options go here

#options snd-intel8x0 ac97_clock="0" ac97_quirk="1" buggy_irq="1"

options snd-intel8x0 ac97_clock="0" buggy_irq="1"

# OSS/Free portion

alias char-major-14 soundcore

alias sound-slot-0 snd-card-0

# card #1

alias sound-service-0-0 snd-mixer-oss

alias sound-service-0-1 snd-seq-oss

alias sound-service-0-3 snd-pcm-oss

alias sound-service-0-8 snd-seq-oss

alias sound-service-0-12 snd-pcm-oss

```

NOTE the OPTIONS... they are required to make this soundcard work (alternatively you can compile all into kernel and I suppose pass these values to the kernel directly in grub or whatever).

2b) run "update_modules"

3) Adjust the mixer levels...NOTE MUTE the "External Amplifier"...that is really important, otherwise you will never get sound out:

```
bash-2.05b# amixer 

Simple mixer control 'Master',0

  Capabilities: pvolume pswitch pswitch-joined

  Playback channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 23 [74%] [on]

  Front Right: Playback 23 [74%] [on]

Simple mixer control 'Headphone',0

  Capabilities: pvolume pswitch pswitch-joined

  Playback channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 0 [0%] [off]

  Front Right: Playback 0 [0%] [off]

Simple mixer control 'PCM',0

  Capabilities: pvolume pswitch pswitch-joined

  Playback channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 22 [71%] [on]

  Front Right: Playback 22 [71%] [on]

Simple mixer control 'Line',0

  Capabilities: pvolume pswitch pswitch-joined cswitch cswitch-joined cswitch-ex

clusive

  Capture exclusive group: 0

  Playback channels: Front Left - Front Right

  Capture channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 0 [0%] [off] Capture [off]

  Front Right: Playback 0 [0%] [off] Capture [off]

Simple mixer control 'CD',0

  Capabilities: pvolume pswitch pswitch-joined cswitch cswitch-joined cswitch-ex

clusive

  Capture exclusive group: 0

  Playback channels: Front Left - Front Right

  Capture channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 0 [0%] [off] Capture [off]

  Front Right: Playback 0 [0%] [off] Capture [off]

Simple mixer control 'Mic',0

  Capabilities: pvolume pvolume-joined pswitch pswitch-joined cswitch cswitch-jo

ined cswitch-exclusive

  Capture exclusive group: 0

  Playback channels: Mono

  Capture channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Mono: Playback 0 [0%] [off]

  Front Left: Capture [on]

  Front Right: Capture [on]

Simple mixer control 'Mic Boost (+20dB)',0

  Capabilities: pswitch pswitch-joined

  Playback channels: Mono

  Mono: Playback [off]

Simple mixer control 'Video',0

  Capabilities: cswitch cswitch-joined cswitch-exclusive

  Capture exclusive group: 0

  Capture channels: Front Left - Front Right

  Front Left: Capture [off]

  Front Right: Capture [off]

Simple mixer control 'Phone',0

  Capabilities: cswitch cswitch-joined cswitch-exclusive

  Capture exclusive group: 0

  Capture channels: Front Left - Front Right

  Front Left: Capture [off]

  Front Right: Capture [off]

Simple mixer control 'IEC958',0

  Capabilities: pswitch pswitch-joined

  Playback channels: Mono

  Mono: Playback [off]

Simple mixer control 'IEC958 Playback AC97-SPSA',0

  Capabilities: volume volume-joined

  Playback channels: Mono

  Limits: 0 - 3

  Mono: 0 [0%]

Simple mixer control 'PC Speaker',0

  Capabilities: pvolume pvolume-joined pswitch pswitch-joined

  Playback channels: Mono

  Limits: Playback 0 - 15

  Mono: Playback 7 [47%] [on]

Simple mixer control 'Aux',0

  Capabilities: cswitch cswitch-joined cswitch-exclusive

  Capture exclusive group: 0

  Capture channels: Front Left - Front Right

  Front Left: Capture [off]

  Front Right: Capture [off]

Simple mixer control 'Capture',0

  Capabilities: cvolume cswitch cswitch-joined

  Capture channels: Front Left - Front Right

  Limits: Capture 0 - 15

  Front Left: Capture 0 [0%] [on]

  Front Right: Capture 0 [0%] [on]

Simple mixer control 'Mix',0

  Capabilities: cswitch cswitch-joined cswitch-exclusive

  Capture exclusive group: 0

  Capture channels: Front Left - Front Right

  Front Left: Capture [off]

  Front Right: Capture [off]

Simple mixer control 'Mix Mono',0

  Capabilities: cswitch cswitch-joined cswitch-exclusive

  Capture exclusive group: 0

  Capture channels: Front Left - Front Right

  Front Left: Capture [off]

  Front Right: Capture [off]

Simple mixer control 'External Amplifier',0

  Capabilities: pswitch pswitch-joined

  Playback channels: Mono

  Mono: Playback [off]
```

YOu can use alsamixer to do this too but it's easier to see this way.

4) store the present state:

```
# alsactl store
```

5) Edit your .asoundrc file to looke something like this:

```
# ~/.asoundrc file for ALSA try to do mixing here

        pcm.intel8x0 {

           type hw

           card 0

        }

        ctl.intel8x0 {

           type hw

           card 0

        }

pcm.amix {

    type dmix

    ipc_key 50557

    slave {

        pcm "hw:0,0"

        period_time 0

        period_size 1024

        buffer_size 8192

    }

    bindings {

        0 0

        1 1

    }

}

pcm.!default { # route ALSA software through pcm.amix

    type plug

    slave.pcm "amix"

}
```

I hope this helps...It seems so straight forward when it's laid out like this... remember to watch the mixer levels levels.[/list][/quote]

----------

## Bob P

glad to hear it was something as simple as configuring the ALSA mixer.    :Wink:   i'm just wondering -- i've never configured ALSA on a laptop so i have to ask -- is your laptop that different from a typical PC?  :Question: 

----------

## swingkyd

 *Bob P wrote:*   

> glad to hear it was something as simple as configuring the ALSA mixer.     i'm just wondering -- i've never configured ALSA on a laptop so i have to ask -- is your laptop that different from a typical PC? 

 

Well, if you were only considering "alsa" I'd say they aren't that different. It all depends which chipset the laptop manufacturer is using... In my case, the biggest trouble has been the display screen and alsa. 

ALSA only worked when I passed the parameters to it...which I came about by accident by modinfo snd_i8xo or something like that and noticing some module parameters that I could pass. I would never have found it if I hadn't changed from compiling in the kernel to modules. It would only work with the two that I selected along with the propper mixer settings (muting the mythical "external amplifier"... because if you unmute it, no sound!). 

I can't say I've successfully set up ALSA on anything other than my laptop and my computer running debian (connexant audio). And ALSA specifically wasn't terribly difficult it seemed. Howver, you'd never guess that from the amount of people having trouble with it in this forum! 

the display (855GM chipset) isn't any fun at all when you don't have a "standard" screen size... you end up messing with the vbios, applying patches that seem to break your console and a bunch of other stuff to get it work  :Sad: 

----------

