Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Aug 2007 16:07:46 +0000
From:      Mario Lobo <mario.lobo@ipad.com.br>
To:        freebsd-hackers@freebsd.org
Cc:        freebsd-questions@freebsd.org, John Baldwin <jhb@freebsd.org>
Subject:   Re: IDE ultraDMA problem (hackers WAS via IDE controller problem) - SOLVED !!
Message-ID:  <200708151607.48696.mario.lobo@ipad.com.br>
In-Reply-To: <200708141533.01594.jhb@freebsd.org>
References:  <200708111611.22644.mario.lobo@ipad.com.br> <200708141533.01594.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 14 August 2007 19:33, John Baldwin wrote:
> On Saturday 11 August 2007 12:11:21 pm Mario Lobo wrote:
> > 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=3D0x016a10de  (jmicron SATA300)
> > chip=3D0x05711106 <- thats it !!
> >
> > Then I went iinto   /usr/src/sys/dev/ata/ata-pci.h  and changed the line
> >
> > from
> > #define ATA_VIA8237A            0x05911106
> > to
> > #define ATA_VIA8237A            0x05711106
> >
> > recompiled, install and BANG!
>
> 6.x already has support for this ID as:
>
> #define ATA_VIA82C571           0x05711106
>
> so you shouldn't have needed to change the code at all.

sounds right but it isn't.

Look at e the code from /usr/src/sys/dev/ata/ata-chpset.c

=2D-------------------------------------------------------------------------
    if (pci_get_devid(dev) =3D=3D ATA_VIA82C571) {
	if (!(idx =3D ata_find_chip(dev, ids, -99)))=20
	    return ENXIO;
    }
    else {
	if (!(idx =3D ata_match_chip(dev, new_ids)))=20
	    return ENXIO;
    }
=2D-------------------------------------------------------------------------

new_ids doesn't have an id for ATA_VIA8237A (ata-pci.h defines ATA_VIA8237A=
 as=20
0x0591, which is not what my mobo gives out !) .

Besides, the VIA8237A SATA150 controllers ids itself as 0x5337, which is no=
t=20
even in the data base at http://pci-ids.ucw.cz/iii/?i=3D1106

So I added a new id to ata-pci.h:
#define ATA_VIA8237AS  0x53371106

and added this line to ata-chipset.c:
{ ATA_VIA8237AS,  0x00, 7,      0x00,    ATA_SA150, "8237A" },

now, all my controllers get properly identified and work !.

my mobo is an ASUS P5VD2-X.

DEFINETLY ( at least for the mobo I have at home), the ids ARE:

5337 is for VT8237A SATA150
0571 is for VT8237A Bus Master IDE
016a is for=A0jmicron SATA300

And these ids are confirmed by the XP drivers downloade from ASUS!

Either ASUS played around with ids in this mobo or the database is screwed =
up.

=2D-=20
**********************************************************
   //| //|         Mario Lobo
  // |// |         http://www.ipad.com.br
 //  //  |||||||  FreeBSD since 2.2.8 - 100% Rwindows-free
**********************************************************





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200708151607.48696.mario.lobo>