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>