Asus A8N-VM CSM

Yes it runs under Linux :

Already working :

  • Bios
  • Graphic
  • SATA
  • Sensors
  • USB
  • Lan - Onboard Network
  • Sound

Special Workaround :

  • none

Not working yet :

  • ...

TODO :

  • ACPI
  • Firewire
  • ...

Bios :

The latest BIOS is 0702 1001. You can download it on asus' website

Fixes 1001 :

  • A8N-VM CSM Release BIOS 1001
  • Patch S3 resume issue for Windows XP (64-bit Edition).
  • Improve TV-Out signal compatibility.

Fixes 702 :

  • A8N-VM CSM Release BIOS 0702
  • Update nVidia RAID ROM
  • Fix after resume from S1 would got black screen.
  • If PCIEX1 LAN Card installed on PCIEX16 slot,the system can not power on.
  • Single/Dual Channel DRAM mode and Unbuffered/ECC DIMM(s) information should be post under DRAM clocking.
  • Patch Matrox PHE128APV PCIE CARD

Fixes 506:

  • A8N-VM CSM Release BIOS 0506
  • Fixed can not use HD security after resume from S3 mode.
  • Improve Cool'N'Quiet function.
  • Patch some ATI card cannot display
  • Please do not update this BIOS via EZFlash. Must update it via AFUDOS or ASUSLive Update.

Initial Bios :

  • A8N-VM CSM Release BIOS 0303
  • First release.

My motherboard was bundled with the bios 506 IIRC.

Read the bios version from Linux

You need dmidecode. Juste use

dmidecode

or

dmidecode | grep Version | head -n 1

if you want just the bios version.

--(root@elonia)(09:58:28)
--(~)-> dmidecode  | grep Version | head -n 1
        Version: 0702

Graphic

Works with Debian and Nvidia's driver (v8174, v8762).

But 'dunno why, I had to apply a patch to make it compile sucessfully. Read this post on nvnews for more informations. The patch is in the first post. I suppose that this patch will be integrated in the next release of the driver.

lspci :

0000:00:05.0 VGA compatible controller: nVidia Corporation C51 PCI Express Bridge (rev a2)

Sound

See update 4 of this section ;).

It's a bit tricky to make the sound working with the latest kernel (2.6.16 at the moment) with Alsa. The chip ADI AD1986A is not yet officially recognized. I had to apply a patch found in nvnews' forum. You can find it here too. Without the patch, I only had sound, but with with a horrible whistle. And if i change the sound level, the sound goes off. I need to /etc/init.d/alsa reload

In http://www.alsa-project.org/changes/v1-0-8--v1-0-9.txt :

   - Add AD1986A support

And in http://www.alsa-project.org/changes/v1-0-9b--v1-0-10rc1.txt

   - Fix the PCM mixer switch for AD1986A

  + HDA Codec driver
   - Summary: Fix the PCM mixer switch for AD1986A
     Fix the PCM mixer switch for AD1986a (it was a typo).

Applying the patch :

# cd /usr/src/linux/sound/pci/hda
# patch -p0 < /root/dev/alsa.patch.txt 
 can't find file to patch at input line 3
 Perhaps you used the wrong -p or --strip option?
 The text leading up to this was:
 --
 |*** alsa-driver-1.0.10/alsa-kernel/pci/hda/hda_codec.c.orig    Mon Dec 12 09:07:41 2005
 |--- alsa-driver-1.0.10/alsa-kernel/pci/hda/hda_codec.c Fri Dec  9 15:08:04 2005
 --
 File to patch: hda_codec.c
 patching file hda_codec.c
 Hunk #1 succeeded at 1888 (offset 118 lines).
 Hunk #2 succeeded at 1910 (offset 118 lines).

If patch ask you for a file, write hda_codec.c

In the kernel, you need to check in the kernel :

 Sound  ---> 
  <M> Sound card support
  <M> Advanced Linux Sound Architecture
  <M>   OSS Mixer API
  <M>   OSS PCM (digital audio) API
  <M>   RTC Timer support
  [ ]   Support old ALSA API      (NB: not really usefull, you can disable it)
        PCI devices  --->
        <M> Intel HD Audio

Then

apt-get alsa-base alsa-utils alsamixer alsamixergui

Alsaconf found me instantly my soundcard and proposed me the module snd-hda-intel :)

lspci :

0000:00:10.1 0403: nVidia Corporation MCP51 High Definition Audio (rev a2)

As far as I don't have a 5.1 kit, I only tested stereo modes. If anyone has one, and succesfully configured out it, send me your config :)

Update :

It seems that the kernel 2.6.17-rc1 contains this patch already :) Needs testing ;) Here is the link to the kernel announce/commit :) I'll move this part to "Already working" when the kernel 2.6.17 will be out.

Update 2 :

I added a link to my patch. It work the the latest kernel (2.6.16.19 included) without error.

Update 3 :

Kernel 2.6.17(.1) is now out, but due to some incompatibility with the nforce driver, I didn't test it yet.

Update 4 :

With the kernel 2.6.17.7 it works WITHOUT patching the kernel \o/ Hoora. Just select Intel Digital Audio and it'll works fine :)


SATA

Sata works well, even with grub.

In the kernel you need to check :

Device Drivers  --->
  SCSI device support  --->
    <*> SCSI device support
    <*>   SCSI disk support
    <M>   SCSI generic support
    SCSI low-level drivers  --->
      <*> Serial ATA (SATA) support
      <*>   AHCI SATA support
      <*>   NVIDIA SATA support

SCSI device support MUST NOT be set as a module. Otherwise the serial ata driver will only be selected as a module, and you won't be able to use the disk during the boot, and you'll get a kernel panic :p. With this configuration, I don't need to use any initrd.

If anyone configured out SATA and raid, tell me ;)

lspci :

0000:00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)
0000:00:0f.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)

Sensors

In the kernel you need to enable :

Device Drivers  --->
  I2C support  --->
    <M> I2C support
    <M>   I2C device interface
  Hardware Monitoring support  --->
    <M> Winbond W83627EHF

Then modprobe w83627ehf. To be able to read these sensors you need ls-sensors :

aptitude install lm-sensors libsensors3

and with sensors you'll get something like :

# sensors   
w83627ehf-isa-0290
Adapter: ISA adapter
Case Fan:    0 RPM  (min = 1205 RPM, div = 16)
CPU Fan:     0 RPM  (min = 1721 RPM, div = 16)
fan3:     3409 RPM  (min = 3026 RPM, div = 2)
fan4:        0 RPM  (min = 10546 RPM, div = 128)
Sys Temp:    +31 C  (high =   +45 C, hyst =   +40 C)  
CPU Temp:  +40.0 C  (high = +45.0 C, hyst = +40.0 C)  
temp3:     +40.0 C  (high = +80.0 C, hyst = +75.0 C)

USB

Usb seems to run in both OHCI and EHCI mode. In the kernel :

Device Drivers  --->
  USB support  --->
    <M> Support for Host-side USB
      <M>   EHCI HCD (USB 2.0) support
      <M>   OHCI HCD support

lspci :

0000:00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a2)
0000:00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a2)

Network

Attention : nVidia no longer support nforce driver after ther kernel 2.6.16 (see comment #3).

Network works with the module forcedeth. But only in 10/100Mb. I switched to nVida's nForce driver. I wish I'll be able to test the 1000Mb ;)

Install the driver during the Debian installation

After the choice for the keyboard disposition, hit alt+f2, and you'll get a term. Type modprobe forcedeth. If nothing is displayed, it's that the module loads successfully. You can verify by typing lsmod | grep deth and or tail /var/log/syslog or tail /var/log/messages. The hit again alt+F1 and you'll be back to the installer. You can now continue the installation with the network setup.

lspci :

0000:00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a1)

Update 1 :

The kernel 2.6.17(.1) is now out, but nforce 310 doesn't compile with this kernel ... wait and see

Update 2:

It seems that nVidia will no longer provide a driver for this network card. So use the forcedeth driver. It works without patching the kernel (with the 2.6.17.7)


Firewire

TODO

lspci :

0000:04:05.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)

ACPI

TODO


Full ouput for lspci :

lspci
0000:00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
0000:00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2)
0000:00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2)
0000:00:00.3 RAM memory: nVidia Corporation C51 Memory Controller 5 (rev a2)
0000:00:00.4 RAM memory: nVidia Corporation C51 Memory Controller 4 (rev a2)
0000:00:00.5 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
0000:00:00.6 RAM memory: nVidia Corporation C51 Memory Controller 3 (rev a2)
0000:00:00.7 RAM memory: nVidia Corporation C51 Memory Controller 2 (rev a2)
0000:00:02.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
0000:00:03.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
0000:00:04.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
0000:00:05.0 VGA compatible controller: nVidia Corporation C51 PCI Express Bridge (rev a2)
0000:00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)
0000:00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a2)
0000:00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a2)
0000:00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a2)
0000:00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a2)
0000:00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev a1)
0000:00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)
0000:00:0f.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)
0000:00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2)
0000:00:10.1 0403: nVidia Corporation MCP51 High Definition Audio (rev a2)
0000:00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a1)
0000:00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
0000:00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
0000:00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
0000:00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
0000:04:05.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)

Full output of lspci -v

lspci -v
0000:00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81cd
        Flags: bus master, 66MHz, fast devsel, latency 0
        Capabilities: [44] #08 [01e0]
        Capabilities: [e0] #08 [a800]

0000:00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2)
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81cd
        Flags: 66MHz, fast devsel

0000:00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2)
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81cd
        Flags: 66MHz, fast devsel

0000:00:00.3 RAM memory: nVidia Corporation C51 Memory Controller 5 (rev a2)
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81cd
        Flags: 66MHz, fast devsel

0000:00:00.4 RAM memory: nVidia Corporation C51 Memory Controller 4 (rev a2)
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81cd
        Flags: bus master, 66MHz, fast devsel, latency 0

0000:00:00.5 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81cd
        Flags: bus master, 66MHz, fast devsel, latency 0
        Capabilities: [44] #00 [00fe]
        Capabilities: [fc] #00 [0000]

0000:00:00.6 RAM memory: nVidia Corporation C51 Memory Controller 3 (rev a2)
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81cd
        Flags: 66MHz, fast devsel

0000:00:00.7 RAM memory: nVidia Corporation C51 Memory Controller 2 (rev a2)
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81cd
        Flags: 66MHz, fast devsel

0000:00:02.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        Capabilities: [40] #0d [0000]
        Capabilities: [48] Power Management version 2
        Capabilities: [50] Message Signalled Interrupts: 64bit+ Queue=0/1 Enable-
        Capabilities: [60] #08 [a800]
        Capabilities: [80] #10 [0141]

0000:00:03.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
        Capabilities: [40] #0d [0000]
        Capabilities: [48] Power Management version 2
        Capabilities: [50] Message Signalled Interrupts: 64bit+ Queue=0/1 Enable-
        Capabilities: [60] #08 [a800]
        Capabilities: [80] #10 [0141]

0000:00:04.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
        Capabilities: [40_] #0d [0000]
        Capabilities: [48] Power Management version 2
        Capabilities: [50] Message Signalled Interrupts: 64bit+ Queue=0/1 Enable-
        Capabilities: [60] #08 [a800]
        Capabilities: [80] #10 [0141]

0000:00:05.0 VGA compatible controller: nVidia Corporation C51 PCI Express Bridge (rev a2) (prog-if 00 [VGA])
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81cd
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 21
        Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
        Memory at d0000000 (64-bit, prefetchable) [size=256M]
        Memory at fc000000 (64-bit, non-prefetchable) [size=16M]
        Expansion ROM at febe0000 [disabled] [size=128K]
        Capabilities: [48] Power Management version 2
        Capabilities: [50] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-

0000:00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81bc
        Flags: bus master, 66MHz, fast devsel, latency 0
        Capabilities: [44] #08 [01e9]
        Capabilities: [e0] #08 [a801]

0000:00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a2)
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81bc
        Flags: bus master, 66MHz, fast devsel, latency 0

0000:00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a2)
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81bc
        Flags: 66MHz, fast devsel, IRQ 5
        I/O ports at 0600 [size=64]
        I/O ports at 0700 [size=64]
        Capabilities: [44] Power Management version 2

0000:00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a2) (prog-if 10 [OHCI])
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81bc
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 19
        Memory at febde000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [44] Power Management version 2

0000:00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a2) (prog-if 20 [EHCI])
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81bc
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 16
        Memory at febdfc00 (32-bit, non-prefetchable) [size=256]
        Capabilities: [44] #0a [2098]
        Capabilities: [80] Power Management version 2

0000:00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev a1) (prog-if 8a [Master SecP PriP])
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81bc
        Flags: bus master, 66MHz, fast devsel, latency 0
        I/O ports at ffa0 [size=16]
        Capabilities: [44] Power Management version 2

0000:00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1) (prog-if 85 [Master SecO PriO])
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81bc
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 16
        I/O ports at e800 [size=8]
        I/O ports at e480 [size=4]
        I/O ports at e400 [size=8]
        I/O ports at e080 [size=4]
        I/O ports at e000 [size=16]
        Memory at febdd000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [44] Power Management version 2
        Capabilities: [b0] Message Signalled Interrupts: 64bit+ Queue=0/2 Enable-
        Capabilities: [cc] #08 [a802]

0000:00:0f.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1) (prog-if 85 [Master SecO PriO])
        Subsystem: ASUSTeK Computer Inc.: Unknown device 81bc
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 17
        I/O ports at dc00 [size=8]
        I/O ports at d880 [size=4]
        I/O ports at d800 [size=8]
        I/O ports at d480 [size=4]
        I/O ports at d400 [size=16]
        Memory at febdc000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [44] Power Management version 2
        Capabilities: [b0] Message Signalled Interrupts: 64bit+ Queue=0/2 Enable-
        Capabilities: [cc] #08 [a802]

0000:00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2) (prog-if 01 [Subtractive decode])
        Flags: bus master, 66MHz, fast devsel, latency 0
        Bus: primary=00, secondary=04, subordinate=04, sec-latency=64
        I/O behind bridge: 0000c000-0000cfff
        Memory behind bridge: faa00000-faafffff
        Capabilities: [b8] #0d [0000]
        Capabilities: [8c] #08 [a800]

0000:00:10.1 0403: nVidia Corporation MCP51 High Definition Audio (rev a2)
        Subsystem: nVidia Corporation: Unknown device cb84
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 17
        Memory at febd8000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [44] Power Management version 2
        Capabilities: [50] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
        Capabilities: [6c] #08 [a802]

0000:00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a1)
        Subsystem: ASUSTeK Computer Inc.: Unknown device 8141
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 18
        Memory at febd7000 (32-bit, non-prefetchable) [size=4K]
        I/O ports at d080 [size=8]
        Capabilities: [44] Power Management version 2

0000:00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
        Flags: fast devsel
        Capabilities: [80] #08 [2101]

0000:00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
        Flags: fast devsel

0000:00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
        Flags: fast devsel

0000:00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
        Flags: fast devsel

0000:04:05.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80) (prog-if 10 [OHCI])
        Subsystem: ASUSTeK Computer Inc.: Unknown device 808a
        Flags: bus master, medium devsel, latency 64, IRQ 5
        Memory at faaff800 (32-bit, non-prefetchable) [size=2K]
        I/O ports at cc00 [size=128]
        Capabilities: [50] Power Management version 2

Changelog

2006-03-28: Initial release
2006-04-08: Some lines for the Network section, some typo fixes, a line for the bios.
2006-04-09: More lines for the network section (howto install forcedeth during debian sarge installation). Link for the kernel commit in the sound section.
2006-06-05: Updated the latest bios version (1001), added a link to my alsa patch, and changed the wiki language.
2006-06-22: Added how to read the bios version, added a note for the sound and kernel 2.6.17, added a not for the network (driver nforce 310) and the kernel 2.6.17.
2006-07-23: Updated asus' website.
2006-08-05: Updated the sound section (no longer need a patch to make it works), Updated the network section (use of forcedeth)