IDE ultraDMA problem (hackers WAS via IDE controller problem) - SOLVED !!

Mario Lobo mario.lobo at
Sat Aug 11 09:11:28 PDT 2007

*** Re-cap of problem:

FreeBSD 6.2-STABLE was not recognizing the VT8237A south bridge ultraDMA ata 
controller on a  P5VD2-X ASUS mobo.


FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0: Changing APIC ID to 4
ioapic0 <Version 0.3> irqs 0-23 on motherboard
ioapic1 <Version 0.3> irqs 24-47 on motherboard
kbd1 at kbdmux0
ath_hal: (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
acpi0: <AWARD ASUSACPI> on motherboard
acpi_hpet0: <High Precision Event Timer> iomem 0xfe800000-0xfe8003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 2000
acpi0: Power Button (fixed)
acpi0: reservation of fe800000, 100 (3) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pcib2: <ACPI PCI-PCI bridge> irq 27 at device 2.0 on pci0
pci2: <ACPI PCI bus> on pcib2
nvidia0: <GeForce 7100 GS> mem 
0xdc000000-0xdcffffff,0xc0000000-0xcfffffff,0xdd000000-0xddffffff irq 24 at 
device 0.0 on pci2
nvidia0: [GIANT-LOCKED]
atapci0: <GENERIC ATA controller> port 
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 15.0 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0


*** end of recap

pciconf -lv gave me this clue:

atapci0 at pci0:15:0: class=0x01018a card=0x81cf1043 chip=0x53371106 rev=0x07 
    vendor     = 'VIA Technologies Inc'
    class      = mass storage
    subclass   = ATA

after a long,long search, I found that chip id 0x53371106 belongs to SATA150 
controller, not PATA !! Then I enabled all mass storage controllers on the 
board ( although no SATA drives present ), then two more ids showed up:

chip=0x016a10de  (jmicron SATA300)
chip=0x05711106 <- thats it !! 

Then I went iinto   /usr/src/sys/dev/ata/ata-pci.h  and changed the line

#define ATA_VIA8237A            0x05911106
#define ATA_VIA8237A            0x05711106

recompiled, install and BANG!

nvidia0: <GeForce 7100 GS> mem 
0xdc000000-0xdcffffff,0xc0000000-0xcfffffff,0xdd000000-0xddffffff irq 24 at 
device 0.0 on pci2
nvidia0: [GIANT-LOCKED]
pcib3: <ACPI PCI-PCI bridge> irq 31 at device 3.0 on pci0
pci3: <ACPI PCI bus> on pcib3
atapci0: <JMicron JMB363 SATA300 controller> port 
0xcc00-0xcc07,0xc800-0xc803,0xc400-0xc407,0xc000-0xc003,0xbc00-0xbc0f mem 
0xdfefe000-0xdfefffff irq 28 at device 0.0 on pci3
atapci0: AHCI Version 01.00 controller with 2 ports detected
ata2: <ATA channel 0> on atapci0
ata3: <ATA channel 1> on atapci0
ata4: <ATA channel 2> on atapci0
atapci1: <VIA 8237A SATA150 controller> port 
irq 21 at device 15.0 on pci0
ata5: <ATA channel 0> on atapci1
ata6: <ATA channel 1> on atapci1
atapci2: <VIA 8237A UDMA133 controller> port 
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xe400-0xe40f at device 15.1 on pci0
ata0: <ATA channel 0> on atapci2
ata1: <ATA channel 1> on atapci2
ad0: 114498MB <SAMSUNG SP1203N TL100-23> at ata0-master UDMA100
ad1: 117246MB <Maxtor 6Y120L0 YAR41VW0> at ata0-slave UDMA133
ad2: 76351MB <SAMSUNG SP0802N TK100-23> at ata1-master UDMA133
acd0: DVDR <HL-DT-ST DVDRAM GSA-4160B/A304> at ata1-slave UDMA66

Normal life returned :-D

I dont know if this fix applies to ALL mobos that use VIA chipset (VT8237A) 
but it shure did to my ASUS mobo

Thanks Wojciech Puchar and Sten Daniel Soersdal for your kind attention.

   //| //|         Mario Lobo
  // |// |
 //  //  |||||||  FreeBSD since 2.2.8 - 100% Rwindows-free

More information about the freebsd-hackers mailing list