You are not logged in.

#1 2010-03-11 15:18:14

bzipitidoo
Member
Registered: 2010-01-29
Posts: 33

modprobe options ignored for es18xx audio

I have an old laptop with a 133MHz Pentium MMX (a Ricoh NP-50, a netbook from before the term "netbook" was coined!) with ES1879 audio.  Waste of time I suppose, but I have installed Arch Linux from http://archlinux-i586.org which is 2009.08 but not recently updated-- still on kernel 2.6.31,  (Was a battle getting this far.  Firefox 3.5 takes 30 plus seconds just to come up, and flash is agonizingly slow, but it works!  Except the sound of course.)

The system finds the sound card, and loads the modules, but when I try to play sound, all I hear is hiss and static.  After much trial and error with a 2.6.32.8 kernel I compiled on my own, I found that these options make the sound work, giving me music, no hiss, no static:

modprobe snd-es18xx port=0x220 mpu_port=0x330 irq=5 dma1=3 dma2=1 isapnp=0

In /proc/asound/cards, I see this:

0 [ES1879         ]: ES1879 - ESS AudioDrive ES1879
                      ESS AudioDrive ES1879 at 0x220, irq 5, dma1 3, dma2 1



But under the default 2.6.31-ARCH kernel those options are ignored.  With that kernel, this is what I get in /proc/asound/cards with the above modprobe command:

0 [ES1879         ]: ES1879 - ESS AudioDrive ES1879
                      ESS AudioDrive ES1879 at 0x220, irq 5, dma1 1, dma2 5

Doesn't matter if I remove the module and load it with the good settings, I get dma1 1, dma2 5 regardless, and all I hear is static and hiss when I try to play sound.  I also added the following line to /etc/modprobe.d/modprobe.conf, which is also ignored:

options snd-es18xx port=0x220 mpu_port=0x330 irq=5 dma1=3 dma2=1 isapnp=0


Curiously, Windows 98 works with (as far as I can tell from the properties dialog) the same settings that Arch with its default kernel picks and doesn't work with.  As for the kernel that I compiled, XWindows under the Arch system doesn't like it-- locks up the system.  Though that same kernel worked fine with XWindows in Zenwalk Linux 4.8.  (I tested the sound with a command line utility, mp3blaster.)  So, how to get the system with the default kernel to use the good settings?  Blacklist snd-es18xx in /etc/rc.conf?  Maybe there's some other place where module options go, perhaps in /boot/kernel26.img?  Maybe this is this a bug, and that modprobe command should have worked?

Offline

#2 2010-03-12 19:44:00

bzipitidoo
Member
Registered: 2010-01-29
Posts: 33

Re: modprobe options ignored for es18xx audio

Figured it out.  It's a Plug and Play issue.  If a thief stole that old laptop, they might be doing me a favor.

The BIOS setup is where IRQ 5, dma1=1, dma2=5 comes from.  Very limited choices there.

The kernel configuration (as of 2.6.33) for building your own forces PNP if ACPI is chosen.  The kernel I built has neither, the Arch kernel has both.   In /boot/grub/menu.lst, add "pnpacpi=off" to the kernel options for the Arch kernel.  The "noisapnp" kernel option did not help.  With pnpacpi off, I can set the sound card with modprobe options, and it now works, and the kernel is still able to use ACPI to turn off the laptop.  The kernel I built can't turn off the laptop.

I wouldn't be surprised if something else doesn't work-- didn't test all the peripherals, not even the microphone.  But sound playback works, and that's what I was after.

Offline

Board footer

Powered by FluxBB