# Driver for SoundMAX AD1980 Audio Chipset

## Mikey

Have searched everywhere for a Linux driver, but no joy. This is the on-board audio for the ASUS P4PE motherboard. If anybody knows of a driver that will work please let me know.  Until then I'll have a quiet Gentoo Linux.

----------

## oniq

Have you tried the VIA 82C686 soundcard support in the kernel?

----------

## Mikey

Selecting that option created via82cxxx_audio.o and ac97_codec.o. Modprobe via82cxxx_audio.o results in a "no such device" error. Modprobe ac97_codec.o returns no errors so I assume it is loading. I don't know how to test it.

I have no /dev/dsp device. I have no /dev/audio. There is nothing in /dev/sound. Aren't I supposed to have some kind of low level link to the hardware? I ran MAKEDEV, but nothing appeared to happen. Help Please.

----------

## oniq

Do you have a drivers CD that came with your motherboard, I've read a little about the P4PE and some people say they have Linux sound drivers on the CD.  I think others have had luck with i810 audio.

----------

## Mikey

Yeah, I looked at the CD. I'm using the supplied Linux driver for the Broadcom networking chipset. Without that I'd be dead in the water. Did not find any Linux drivers for the SoundMAX chipset on the CD, ASUS web site, or SoundMAX web site. Searched using Google, also, but found nothing.

As I said before, the one file seemed to load with modprobe. I just need to know what to do about stuff in /dev.

My needs are simple. Stereo speakers only. Don't care about 6-channel sound.

----------

## oniq

When you modprobe ac97_codec.o, does anything appear in your dmesg?

----------

## Mikey

Okay, I did the modprobe ac97_codec and then the dmesg and this is what I got.

```

gentoo root # modprobe ac97_codec

gentoo root # dmesg

Linux version 2.4.19-gentoo-r10 (root@gentoo) (gcc version 3.2.1) #6 SMP Fri Jan 3 05:53:27 EST 2003

BIOS-provided physical RAM map:

 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)

 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)

 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)

 BIOS-e820: 0000000000100000 - 000000003ffec000 (usable)

 BIOS-e820: 000000003ffec000 - 000000003ffef000 (ACPI data)

 BIOS-e820: 000000003ffef000 - 000000003ffff000 (reserved)

 BIOS-e820: 000000003ffff000 - 0000000040000000 (ACPI NVS)

 BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)

 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)

 BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)

Warning only 896MB will be used.

Use a HIGHMEM enabled kernel.

896MB LOWMEM available.

Advanced speculative caching feature not present

On node 0 totalpages: 229376

zone(0): 4096 pages.

zone(1): 225280 pages.

zone(2): 0 pages.

Kernel command line: root=/dev/hdb6

Found and enabled local APIC!

Initializing CPU#0

Detected 2405.514 MHz processor.

Console: colour VGA+ 80x25

Calibrating delay loop... 4797.23 BogoMIPS

Memory: 900044k/917504k available (1693k kernel code, 14896k reserved, 704k data, 116k init, 0k highmem)

Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)

Inode cache hash table entries: 65536 (order: 7, 524288 bytes)

Mount-cache hash table entries: 16384 (order: 5, 131072 bytes)

Buffer-cache hash table entries: 65536 (order: 6, 262144 bytes)

Page-cache hash table entries: 262144 (order: 8, 1048576 bytes)

CPU: Before vendor init, caps: bfebfbff 00000000 00000000, vendor = 0

CPU: L1 I cache: 12K, L1 D cache: 8K

CPU: L2 cache: 512K

CPU: Hyper-Threading is disabled

CPU: After vendor init, caps: bfebfbff 00000000 00000000 00000000

Intel machine check architecture supported.

Intel machine check reporting enabled on CPU#0.

CPU:     After generic, caps: bfebfbff 00000000 00000000 00000000

CPU:             Common caps: bfebfbff 00000000 00000000 00000000

Enabling fast FPU save and restore... done.

Enabling unmasked SIMD FPU exception support... done.

Checking 'hlt' instruction... OK.

POSIX conformance testing by UNIFIX

mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)

mtrr: detected mtrr type: Intel

CPU: Before vendor init, caps: bfebfbff 00000000 00000000, vendor = 0

CPU: L1 I cache: 12K, L1 D cache: 8K

CPU: L2 cache: 512K

CPU: Hyper-Threading is disabled

CPU: After vendor init, caps: bfebfbff 00000000 00000000 00000000

Intel machine check reporting enabled on CPU#0.

CPU:     After generic, caps: bfebfbff 00000000 00000000 00000000

CPU:             Common caps: bfebfbff 00000000 00000000 00000000

CPU0: Intel(R) Pentium(R) 4 CPU 2.40GHz stepping 07

per-CPU timeslice cutoff: 1463.08 usecs.

task migration cache decay timeout: 10 msecs.

SMP motherboard not detected.

enabled ExtINT on CPU#0

ESR value before enabling vector: 00000000

ESR value after enabling vector: 00000000

Using local APIC timer interrupts.

calibrating APIC timer ...

..... CPU clock speed is 2405.4965 MHz.

..... host bus clock speed is 133.6385 MHz.

cpu: 0, clocks: 1336385, slice: 668192

CPU0<T0:1336384,T1:668192,D:0,S:668192,C:1336385>

migration_task 0 on cpu=0

PCI: PCI BIOS revision 2.10 entry at 0xf1e40, last bus=2

PCI: Using configuration type 1

PCI: Probing PCI hardware

Unknown bridge resource 0: assuming transparent

Unknown bridge resource 2: assuming transparent

PCI: Using IRQ router PIIX [8086/24c0] at 00:1f.0

isapnp: Scanning for PnP cards...

isapnp: No Plug & Play device found

Linux NET4.0 for Linux 2.4

Based upon Swansea University Computer Society NET3.039

Initializing RT netlink socket

Starting kswapd

Journalled Block Device driver loaded

devfs: v1.12a (20020514) Richard Gooch (rgooch@atnf.csiro.au)

devfs: boot_options: 0x0

Installing knfsd (copyright (C) 1996 okir@monad.swb.de).

NTFS driver 2.1.0a [Flags: R/O].

pty: 256 Unix98 ptys configured

Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI ISAPNP enabled

ttyS00 at 0x03f8 (irq = 4) is a 16550A

ttyS01 at 0x02f8 (irq = 3) is a 16550A

Uniform Multi-Platform E-IDE driver Revision: 6.31

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx

ICH4: IDE controller on PCI bus 00 dev f9

PCI: Device 00:1f.1 not available because of resource collisions

ICH4: (ide_setup_pci_device:) Could not enable device.

hda: WDC WD1200JB-00DUA0, ATA DISK drive

hdb: WDC WD1200JB-00DUA0, ATA DISK drive

hdc: LTN526S, ATAPI CD/DVD-ROM drive

hdd: TOSHIBA DVD-ROM SD-R5002, ATAPI CD/DVD-ROM drive

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14

ide1 at 0x170-0x177,0x376 on irq 15

hda: 234441648 sectors (120034 MB) w/8192KiB Cache, CHS=14593/255/63

hdb: 234441648 sectors (120034 MB) w/8192KiB Cache, CHS=14593/255/63

hdc: ATAPI 52X CD-ROM drive, 120kB Cache

Uniform CD-ROM driver Revision: 3.12

hdd: ATAPI 40X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache

Partition check:

 /dev/ide/host0/bus0/target0/lun0: p1

 /dev/ide/host0/bus0/target1/lun0: p1 p2 p3 p4 < p5 p6 >

Floppy drive(s): fd0 is 1.44M

FDC 0 is a post-1991 82077

Linux agpgart interface v0.99 (c) Jeff Hartmann

agpgart: Maximum main memory to use for agp memory: 816M

agpgart: Detected Intel i845G chipset

agpgart: AGP aperture is 128M @ 0xf0000000

[drm] Initialized tdfx 1.0.0 20010216 on minor 0

[drm] AGP 0.99 on Unknown @ 0xf0000000 128MB

[drm] Initialized radeon 1.1.1 20010405 on minor 1

SCSI subsystem driver Revision: 1.00

kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2

Linux Kernel Card Services 3.1.22

  options:  [pci] [cardbus] [pm]

usb.c: registered new driver hub

uhci.c: USB Universal Host Controller Interface driver v1.1

PCI: Found IRQ 10 for device 00:1d.0

PCI: Sharing IRQ 10 with 01:00.0

PCI: Setting latency timer of device 00:1d.0 to 64

uhci.c: USB UHCI at I/O 0xd800, IRQ 10

usb.c: new USB bus registered, assigned bus number 1

hub.c: USB hub found

hub.c: 2 ports detected

PCI: Found IRQ 9 for device 00:1d.1

PCI: Setting latency timer of device 00:1d.1 to 64

uhci.c: USB UHCI at I/O 0xd400, IRQ 9

usb.c: new USB bus registered, assigned bus number 2

hub.c: USB hub found

hub.c: 2 ports detected

PCI: Found IRQ 9 for device 00:1d.2

PCI: Sharing IRQ 9 with 00:1f.1

PCI: Setting latency timer of device 00:1d.2 to 64

uhci.c: USB UHCI at I/O 0xd000, IRQ 9

usb.c: new USB bus registered, assigned bus number 3

hub.c: USB hub found

hub.c: 2 ports detected

Initializing USB Mass Storage driver...

usb.c: registered new driver usb-storage

USB Mass Storage support registered.

NET4: Linux TCP/IP 1.0 for NET4.0

IP Protocols: ICMP, UDP, TCP, IGMP

IP: routing cache hash table of 8192 buckets, 64Kbytes

TCP: Hash tables configured (established 262144 bind 65536)

NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.

ds: no socket drivers loaded!

FAT: bogus logical sector size 0

FAT: bogus logical sector size 0

kmod: failed to exec /sbin/modprobe -s -k nls_iso8859-1, errno = 2

reiserfs: checking transaction log (device 03:46) ...

Using r5 hash to sort names

ReiserFS version 3.6.25

VFS: Mounted root (reiserfs filesystem) readonly.

Freeing unused kernel memory: 116k freed

Broadcom 4401 Ethernet Driver bcm4400 ver. 1.0.1 (08/26/02)

PCI: Enabling device 02:05.0 (0004 -> 0006)

PCI: Assigned IRQ 5 for device 02:05.0

eth0: Broadcom BCM4401 100Base-T found at mem e4800000, IRQ 5, node addr 00e018b46603

bcm4400: eth0 NIC Link is Up, 100 Mbps full duplex

NETDEV WATCHDOG: eth0: transmit timed out

nvidia: loading NVIDIA Linux x86 NVdriver Kernel Module  1.0-3123  Tue Aug 27 15:56:48 PDT 2002

NVRM: AGPGART: unknown chipset

NVRM: AGPGART: aperture: 128M @ 0xf0000000

NVRM: AGPGART: aperture mapped from 0xf0000000 to 0xf9a08000

NVRM: AGPGART: mode 4x

NVRM: AGPGART: allocated 16 pages

gentoo root #

```

Doesn't look good there at the end. Not the right driver?

----------

## oniq

Doesn't look like it did anything, must be the wrong driver.  Have you tried the Intel ICH support?  Give that a try.. I'm trying the best I can without experience with this motherboard.  :Smile: 

----------

## heijs

There is a thread on the Linux-Kernel archive about this:

http://www.uwsg.iu.edu/hypermail/linux/kernel/0212.0/0357.html

This guy uses the ALSA 0.9.6pre6 drivers and says they are working quite nice   :Very Happy: 

Hope to have helped you out.

----------

## Mikey

 *heijs wrote:*   

> 
> 
> This guy uses the ALSA 0.9.6pre6 drivers and says they are working quite nice  
> 
> 

 

Sounds like what I need, but I don't know anything about ALSA. I rooted around the ASUS web site and couldn't find any audio drivers for Linux at all. I'm going to send them a message tonight when I get home. Any other ideas?

Do I just emerge alsa from the portage tree? Are there instructions on how to install a driver assuming I can get one from ASUS?

----------

## heijs

Euhm... 0.9.6pre6 should be 0.9.0pre6 by the way  :Smile: 

I think most information is in the alsa-driver ebuild...

After reading that and http://www.alsa-project.org/

you should emerge alsa-tools and play around with the settings   :Wink: 

----------

## Mikey

The ALSA guide still states to pick your module for your sound hardware. Since the hardware matrix does not list my chipset, I have no idea which module to pick.

You state that I should emerge alsa-tools and play. That assumes I can find something on how to use them.

At this point I'm inclined to wait until something becomes more widely available for this hardware.

----------

## heijs

Perhaps this might be interesting?

http://www.alsa-project.org/alsa-doc/doc-php/template.php3?company=Analog+Devices&card=AD1886&chip=AD1886&module=intel8x0

----------

## Mikey

Looks like a nice step-by-step procedure assuming these steps for the AD1886 chipset will also work for the AD1980. I guess it won't hurt to try. I give it a shot tonight when I get home from work.

Assuming I still have a working desktop.  :Laughing:   I emerged KDE 3.1r6 last night. This morning it was still compiling.

----------

## Mikey

Performed the Gentoo ALSA setup using the snd-intel8x0 driver. Everything seemed to go okay, didn't notice any errors. But I have no noise. Ran alsamixer and pegged everything at 100%. Still nothing. (Didn't try the headphone option.)

alsamixer is identifying the chip correctly as AD1980. Still no sound. UNCLE!!!!

Only line I can find in the dmesg output is the very last line:

```

intel8x0: clocking to 48000

```

I took a look at KMix, but all I got was an empty window. Can't figure out what to do with it.

----------

## heijs

Did you use aplay to play a wav file?

More documentation on alsa:

http://www.gentoo.org/doc/en/alsa-guide.xml

----------

## Mikey

Yeah, just like the guide shows. Tried several of them. Rebooted, too, although I didn't think that would work. Old Windows habit don't you know. Listened for startup sounds that KDE makes and heard nothing.

Sound works just fine under Windows XP so I know it's not a hardware problem.

I remember when I first put Gentoo 1.2 on my old computer (SB Live! card) I had to turn up the volume on something after I got the driver loaded. I think I used KMix. I'm still bothered that all KMix will give me now is an empty window. I don't see any controls at all. What's up with that?

----------

## joem

I have had the exact same problem. I have used alsa..tried using kernel modules..and compiled support directly into the kernel. If you find a soulution to this problem please post it..it would be very helpful.

----------

## Zugot

 *dst wrote:*   

> I have had the exact same problem. I have used alsa..tried using kernel modules..and compiled support directly into the kernel. If you find a soulution to this problem please post it..it would be very helpful.

 

Me Too !!!

----------

## kf0yn

I discovered that I got sound with the ALSA drivers and the AD1980 by cranking up the "Surround" mixer control.

----------

