From owner-freebsd-stable@FreeBSD.ORG Sun Oct 15 22:00:26 2006 Return-Path: X-Original-To: stable@freebsd.org Delivered-To: freebsd-stable@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2182116A403 for ; Sun, 15 Oct 2006 22:00:25 +0000 (UTC) (envelope-from erikt@Update.UU.SE) Received: from Psilocybe.Update.UU.SE (Psilocybe.Update.UU.SE [130.238.19.25]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2FBF343D4C for ; Sun, 15 Oct 2006 22:00:24 +0000 (GMT) (envelope-from erikt@Update.UU.SE) Received: by Psilocybe.Update.UU.SE (Postfix, from userid 15766) id 3EAD744014; Mon, 16 Oct 2006 00:00:23 +0200 (CEST) Date: Mon, 16 Oct 2006 00:00:23 +0200 From: Erik Trulsson To: Dominic Bishop Message-ID: <20061015220023.GA10476@Update.UU.SE> Mail-Followup-To: Dominic Bishop , stable@freebsd.org References: <53971.86.20.169.129.1160693940.squirrel@webmail.bishnet.net> <20061013055141.GA99052@slackbox.xs4all.nl> <20061013083345.GA27943@owl.midgard.homeip.net> <64374.86.20.169.129.1160824556.squirrel@webmail.bishnet.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <64374.86.20.169.129.1160824556.squirrel@webmail.bishnet.net> User-Agent: Mutt/1.5.13 (2006-08-11) Cc: stable@freebsd.org Subject: Re: VIA IDE controller not detected on RELENG_6 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Oct 2006 22:00:26 -0000 [Second attempt to send this, since my ISP's mailserver seems to have eaten the first attempt. Apologies if it appears twice.] Alright, that gives useful information. The output from pciconf and dmesg indicates strongly that what you have is an Asus motherboard with an VIA vt8251 southbridge. There are only a handful of such models and based on what other devices you have on the motherboard and the specifications on the motherboards in question I am almost certain that the motherboard in question is an Asus A8V-VM. That motherboard (as well as all other amd64-capable motherboards I am aware of) does have a SATA-controller, but since it does not appear in the output of either pciconf or dmesg it must have been disabled in the BIOS. (Not all motherboards allow you to disable the SATA-controller in the BIOS, but the A8V-VM does according to its manual.) As I said before the pci-id for the PATA-controller (0x05711106) is used by several VIA chipsets for their PATA-controller. In order to find out which particular chipset it is the ata(4) driver has to look at the other pci-ids in the system to find one which is unique to that chip. To identify a chip as an vt8251 ata(4) looks for the pci-id of the vt8251 SATA-controller -- the one which seems to have been disabled in BIOS on your system. If you (or somebody else) were to enable the built-in SATA-controller on your system then the PATA controller should be recognized correctly. Since you don't seem to have physical access to the machine which means it might be difficult for you to change BIOS settings, you might try the following patch which makes ata(4) look for a different pci-id that you do have in your system. (Note that since I do not have any motherboard with the VIA vt8251 chip, I have not been able to actually test this patch - so be careful if you do decide to try it.) Index: sys/dev/ata/ata-chipset.c =================================================================== RCS file: /ncvs/src/sys/dev/ata/ata-chipset.c,v retrieving revision 1.126.2.15 diff -u -r1.126.2.15 ata-chipset.c --- sys/dev/ata/ata-chipset.c 9 Oct 2006 16:01:35 -0000 1.126.2.15 +++ sys/dev/ata/ata-chipset.c 14 Oct 2006 13:02:29 -0000 @@ -4762,7 +4762,7 @@ { ATA_VIA8235, 0x00, VIA133, 0x00, ATA_UDMA6, "8235" }, { ATA_VIA8237, 0x00, VIA133, 0x00, ATA_UDMA6, "8237" }, { ATA_VIA8237A, 0x00, VIA133, 0x00, ATA_UDMA6, "8237A" }, - { ATA_VIA8251, 0x00, VIA133, 0x00, ATA_UDMA6, "8251" }, + { 0x32871106, 0x00, VIA133, 0x00, ATA_UDMA6, "8251" }, { 0, 0, 0, 0, 0, 0 }}; static struct ata_chip_id new_ids[] = {{ ATA_VIA6410, 0x00, 0, 0x00, ATA_UDMA6, "6410" }, On Sat, Oct 14, 2006 at 12:15:56PM +0100, Dominic Bishop wrote: > > On Fri, Oct 13, 2006 at 07:51:41AM +0200, Roland Smith wrote: > >> On Thu, Oct 12, 2006 at 11:59:00PM +0100, Dominic Bishop wrote: > >> > I am running a RELENG_6 from yesterday on amd64 and the VIA PATA > >> > controller is being detected as GENERIC ATA, from dmesg: > >> > > >> > atapci0: port > >> > 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 15.0 on > >> pci0 > >> > > >> > uname -a: > >> > FreeBSD 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #0: Wed Oct 11 22:10:03 > >> UTC > >> > 2006 :/usr/obj/usr/src/sys/PPV1 amd64 > >> > > >> > The kernel config is simply a generic kernel with SMP, device polling > >> and > >> > geli/crypto added to it. > >> > > >> > The device in question from pciconf -lv: > >> > > >> > atapci0@pci0:15:0: class=0x01018a card=0x81b51043 chip=0x05711106 > >> > rev=0x07 hdr=0x00 > >> > vendor = 'VIA Technologies Inc' > >> > device = 'VT82xxxx EIDE Controller (All VIA Chipsets)' > >> > class = mass storage > >> > subclass = ATA > >> > > >> > Unfortunately I cannot say what motherboard is in the machine as it is > >> a > >> > leased dedicated server. > >> > >> My system shows the same PATA controller; > >> > >> atapci1@pci0:15:1: class=0x01018a card=0x80ed1043 chip=0x05711106 > >> rev=0x06 > >> hdr=0x00 > >> vendor = 'VIA Technologies Inc' > >> device = 'VT82xxxx EIDE Controller (All VIA Chipsets)' > >> class = mass storage > >> subclass = ATA > >> > >> The only difference is that your chipset has a higher revision number. > >> > >> But it is recognized without problems: > >> > >> atapci1: port > >> 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 15.1 on pci0 > >> > >> This is on STABLE: > >> > >> FreeBSD slackbox.xs4all.nl 6.1-STABLE FreeBSD 6.1-STABLE #0: Sat Sep 9 > >> 14:46:57 CEST 2006 > >> rsmith@slackbox.xs4all.nl:/usr/obj/usr/src/sys/RFS amd64 > >> > > > > > > That pci-id is used by several different VIA chips for the PATA > > controller. > > The FreeBSD ata(4) driver searches among the other PCI-ids in the box to > > find out which chips it actually is. > > > > It may be that the first one is some recent chip that is not yet > > recognized > > by ata(4). The complete output out of 'pciconf -l' might be useful. (And > > possibly that of 'dmesg' as well.) > > It is also possible that the driver is looking for some device that has > > been > > disabled in the BIOS and therefore is not found. > > > > > > As for which motherboard it is the 'card=' part of the pciconf outputs > > indicates that both of you have motherboards from ASUS. > > > > > > > > -- > > > > Erik Trulsson > > ertr1013@student.uu.se > > > > > As suggested here is the complete pciconf -l output: > > hostb0@pci0:0:0: class=0x060000 card=0x00000000 chip=0x03361106 rev=0x00 > hdr=0x00 > hostb1@pci0:0:1: class=0x060000 card=0x00000000 chip=0x13361106 rev=0x00 > hdr=0x00 > hostb2@pci0:0:2: class=0x060000 card=0x00000000 chip=0x23361106 rev=0x00 > hdr=0x00 > hostb3@pci0:0:3: class=0x060000 card=0x00000000 chip=0x33361106 rev=0x00 > hdr=0x00 > hostb4@pci0:0:4: class=0x060000 card=0x00000000 chip=0x43361106 rev=0x00 > hdr=0x00 > none0@pci0:0:5: class=0x080020 card=0x00000000 chip=0x53361106 rev=0x00 > hdr=0x00 > hostb5@pci0:0:6: class=0x060000 card=0x00000008 chip=0x62901106 rev=0x00 > hdr=0x00 > hostb6@pci0:0:7: class=0x060000 card=0x00000000 chip=0x73361106 rev=0x00 > hdr=0x00 > pcib1@pci0:1:0: class=0x060400 card=0x00000070 chip=0xb1881106 rev=0x00 > hdr=0x01 > atapci0@pci0:15:0: class=0x01018a card=0x81b51043 chip=0x05711106 rev=0x07 > hdr=0x00 > uhci0@pci0:16:0: class=0x0c0300 card=0x81b51043 chip=0x30381106 rev=0x90 > hdr=0x00 > uhci1@pci0:16:1: class=0x0c0300 card=0x81b51043 chip=0x30381106 rev=0x90 > hdr=0x00 > uhci2@pci0:16:2: class=0x0c0300 card=0x81b51043 chip=0x30381106 rev=0x90 > hdr=0x00 > uhci3@pci0:16:3: class=0x0c0300 card=0x81b51043 chip=0x30381106 rev=0x90 > hdr=0x00 > ehci0@pci0:16:4: class=0x0c0320 card=0x81b51043 chip=0x31041106 rev=0x90 > hdr=0x00 > isab0@pci0:17:0: class=0x060100 card=0x81b51043 chip=0x32871106 rev=0x00 > hdr=0x00 > hostb7@pci0:17:7: class=0x060000 card=0x287e1106 chip=0x287e1106 rev=0x00 > hdr=0x00 > pcib2@pci0:19:0: class=0x060400 card=0x00000000 chip=0x287b1106 rev=0x00 > hdr=0x01 > pcib3@pci0:19:1: class=0x060401 card=0x00000000 chip=0x287a1106 rev=0x00 > hdr=0x01 > hostb8@pci0:24:0: class=0x060000 card=0x00000000 chip=0x11001022 rev=0x00 > hdr=0x00 > hostb9@pci0:24:1: class=0x060000 card=0x00000000 chip=0x11011022 rev=0x00 > hdr=0x00 > hostb10@pci0:24:2: class=0x060000 card=0x00000000 chip=0x11021022 rev=0x00 > hdr=0x00 > hostb11@pci0:24:3: class=0x060000 card=0x00000000 chip=0x11031022 rev=0x00 > hdr=0x00 > none1@pci1:0:0: class=0x030000 card=0x81b51043 chip=0x32301106 rev=0x01 > hdr=0x00 > none2@pci4:1:0: class=0x040300 card=0x81b51043 chip=0x32881106 rev=0x00 > hdr=0x00 > fxp0@pci5:8:0: class=0x020000 card=0x000c8086 chip=0x12298086 rev=0x08 > hdr=0x00 > > And here is a complete dmesg from the machine: > > Copyright (c) 1992-2006 The FreeBSD Project. > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > The Regents of the University of California. All rights reserved. > FreeBSD is a registered trademark of The FreeBSD Foundation. > FreeBSD 6.2-PRERELEASE #0: Wed Oct 11 22:10:03 UTC 2006 > anh@fast.box.net:/usr/obj/usr/src/sys/PPV1 > Timecounter "i8254" frequency 1193182 Hz quality 0 > CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ (2000.09-MHz K8-class > CPU) > Origin = "AuthenticAMD" Id = 0x20fb1 Stepping = 1 > Features=0x178bfbff > Features2=0x1 > AMD Features=0xe2500800 > AMD Features2=0x3 > Cores per package: 2 > real memory = 1006305280 (959 MB) > avail memory = 962621440 (918 MB) > ACPI APIC Table: > FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs > cpu0 (BSP): APIC ID: 0 > cpu1 (AP): APIC ID: 1 > ioapic0 irqs 0-23 on motherboard > ioapic1 irqs 24-47 on motherboard > kbd0 at kbdmux0 > acpi0: on motherboard > acpi0: Power Button (fixed) > Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 > acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0 > cpu0: on acpi0 > acpi_throttle0: on cpu0 > cpu1: on acpi0 > pcib0: port 0xcf8-0xcff on acpi0 > pci0: on pcib0 > pci0: at device 0.5 (no driver > attached) > pcib1: at device 1.0 on pci0 > pci1: on pcib1 > pci1: at device 0.0 (no driver attached) > atapci0: port > 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 15.0 on pci0 > ata0: on atapci0 > ata1: on atapci0 > uhci0: port 0xd800-0xd81f irq 20 at device > 16.0 on pci0 > uhci0: [GIANT-LOCKED] > usb0: on uhci0 > usb0: USB revision 1.0 > uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 > uhub0: 2 ports with 2 removable, self powered > uhci1: port 0xd400-0xd41f irq 22 at device > 16.1 on pci0 > uhci1: [GIANT-LOCKED] > usb1: on uhci1 > usb1: USB revision 1.0 > uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 > uhub1: 2 ports with 2 removable, self powered > uhci2: port 0xd000-0xd01f irq 21 at device > 16.2 on pci0 > uhci2: [GIANT-LOCKED] > usb2: on uhci2 > usb2: USB revision 1.0 > uhub2: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 > uhub2: 2 ports with 2 removable, self powered > uhci3: port 0xc800-0xc81f irq 23 at device > 16.3 on pci0 > uhci3: [GIANT-LOCKED] > usb3: on uhci3 > usb3: USB revision 1.0 > uhub3: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 > uhub3: 2 ports with 2 removable, self powered > ehci0: mem 0xf9fffc00-0xf9fffcff irq 22 at > device 16.4 on pci0 > ehci0: [GIANT-LOCKED] > usb4: EHCI version 1.0 > usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 > usb4: on ehci0 > usb4: USB revision 2.0 > uhub4: VIA EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 > uhub4: 8 ports with 8 removable, self powered > isab0: at device 17.0 on pci0 > isa0: on isab0 > pcib2: at device 19.0 on pci0 > pci4: on pcib2 > pci4: at device 1.0 (no driver attached) > pcib3: at device 19.1 on pci0 > pci5: on pcib3 > fxp0: port 0xe800-0xe83f mem > 0xfbfff000-0xfbffffff,0xfbe00000-0xfbefffff irq 16 at device 8.0 on pci5 > miibus0: on fxp0 > inphy0: on miibus0 > inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto > fxp0: Ethernet address: 00:02:b3:09:4f:d8 > acpi_button0: on acpi0 > acpi_button1: on acpi0 > ppc0: port 0x378-0x37f,0x778-0x77b irq 7 drq 3 > on acpi0 > ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode > ppc0: FIFO with 16/16/9 bytes threshold > ppbus0: on ppc0 > lpt0: on ppbus0 > lpt0: Interrupt-driven port > ppi0: on ppbus0 > sio0: configured irq 3 not in bitmap of probed irqs 0 > sio0: port may not be enabled > sio0: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 flags 0x10 on acpi0 > sio0: type 16550A > orm0: at iomem 0xc8800-0xc97ff on isa0 > atkbdc0: at port 0x60,0x64 on isa0 > sc0: at flags 0x100 on isa0 > sc0: VGA <16 virtual consoles, flags=0x300> > vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 > Timecounters tick every 1.000 msec > ad0: 286188MB at ata0-master UDMA33 > ad1: 286168MB at ata0-slave UDMA33 > ad2: 286188MB at ata1-master UDMA33 > ad3: 715404MB at ata1-slave UDMA33 > SMP: AP CPU #1 Launched! > Trying to mount root from ufs:/dev/ad0s1a > > As I mentioned in my original mail I don't think it is the specific ATA > chip causing the issue as another machine with this exact same chip works > fine (but a different motherboard I believe) > > From this other machine: > > atapci1@pci0:15:1: class=0x01018a card=0x81b51043 chip=0x05711106 > rev=0x07 hdr=0x00 > atapci1: port > 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 15.1 on pci0 > > The difference with that machine is it has a SATA controller at atapci0 , > which is what leads me to believe it is a different motherboard. Unless > the other one has SATA disabled in BIOS, as I don't have physical access > to the machines it is hard to say. > -- Erik Trulsson ertr1013@student.uu.se