Date: Wed, 30 Jun 2010 12:07:54 -0400 From: Paul Mather <pmather@vt.edu> To: FreeBSD Stable <freebsd-stable@freebsd.org> Subject: Problems with ATA_CAM support in RELENG_8 Message-ID: <D77A24D9-8F38-42D4-996D-769352EE1C54@vt.edu>
next in thread | raw e-mail | index | archive | help
--Apple-Mail-7--1040836416 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii I am running FreeBSD/amd64 RELENG_8 on a Dell Optiplex 745. The hard = drive in the system is SATA and I have "Normal", not "Legacy" SATA = support enabled in the BIOS. (BIOS is V2.6.4.) I am assuming this will = enable native AHCI mode for the drive. I built a kernel with ATA_CAM support, but for some reason the SATA = drive is probing at slow, UDMA2, speeds: ada0 at ata2 bus 0 scbus0 target 0 lun 0 ada0: <ST3160812AS 3.ADJ> ATA-7 SATA 2.x device ada0: 33.300MB/s transfers (UDMA2, PIO 8192bytes) ada0: 152587MB (312500000 512 byte sectors: 16H 63S/T 16383C) When I run "camcontrol identify" on the drive, it states the drive is = capable of UDMA6 speeds: backup# camcontrol identify ada0 pass0: <ST3160812AS 3.ADJ> ATA-7 SATA 2.x device pass0: 33.300MB/s transfers (UDMA2, PIO 8192bytes) protocol ATA/ATAPI-7 SATA 2.x device model ST3160812AS firmware revision 3.ADJ serial number 5LS8PPDD cylinders 16383 heads 16 sectors/track 63 sector size logical 512, physical 512, offset 0 LBA supported 268435455 sectors LBA48 supported 312500000 sectors PIO supported PIO4 DMA supported WDMA2 UDMA6=20 Feature Support Enable Value Vendor read ahead yes yes write cache yes yes flush cache yes yes overlap no Tagged Command Queuing (TCQ) no no Native Command Queuing (NCQ) yes 32 tags SMART yes yes microcode download yes yes security yes no power management yes yes advanced power management no no 65278/0xFEFE automatic acoustic management yes yes 254/0xFE 208/0xD0 media status notification no no power-up in Standby no no write-read-verify no no 0/0x0 unload no no free-fall no no data set management (TRIM) no So, why the slower speed? Also, "camcontrol identify" states the drive = supports NCQ with up to 32 tags supported, yet "camcontrol tags ada0" = reports only 1 device opening, not 32 as I would expect: backup# camcontrol tags ada0 (pass0:ata2:0:0:0): device openings: 1 To enable ATA_CAM AHCI support, I included this in my kernel config = file: # ATA and ATAPI devices options ATA_CAM device ahci device atacore device atapci options ATA_STATIC_ID # Static device numbering Is this the correct way to enable ATA_CAM AHCI support? I tried = initially including just "options ATA_CAM" and "device ahci" but the = resultant kernel would not probe my disk drive as ada0. Does my problem lie with my kernel config or is the Dell Optiplex 745 = BIOS brain dead when it comes to AHCI native support? The only option = it appears to have in the BIOS is "Normal" and "Legacy" when it comes to = the SATA controller mode. I've attached my full kernel config and dmesg at the end of this e-mail. Cheers, Paul. Kernel config: # # GENERIC -- Generic kernel configuration file for FreeBSD/amd64 # # For more information on this file, please read the config(5) manual = page, # and/or the handbook section on Kernel Configuration Files: # # = http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-con= fig.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check = first # in NOTES. # # $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.531.2.13 2010/05/02 06:24:17 = imp Exp $ cpu HAMMER ident VPN # To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for = devices. # Use the following to compile in values accessible to the kernel # through getenv() (or kenv(1) in userland). The format of the file # is 'variable=3Dvalue', see kenv(1) # # env "GENERIC.env" #makeoptions DEBUG=3D-g # Build kernel with gdb(1) debug = symbols options SCHED_ULE # ULE scheduler options PREEMPTION # Enable kernel thread = preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options SCTP # Stream Control Transmission = Protocol options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates = support options UFS_ACL # Support for access control = lists options UFS_DIRHASH # Improve performance on big = directories options UFS_GJOURNAL # Enable gjournal-based UFS = journaling options MD_ROOT # MD is a potential root device #options NFSCLIENT # Network Filesystem Client #options NFSSERVER # Network Filesystem Server #options NFSLOCKD # Network Lock Manager #options NFS_ROOT # NFS usable as /, requires = NFSCLIENT #options MSDOSFS # MSDOS Filesystem #options CD9660 # ISO 9660 Filesystem options PROCFS # Process filesystem (requires = PSEUDOFS) options PSEUDOFS # Pseudo-filesystem framework options GEOM_PART_GPT # GUID Partition Tables. options GEOM_LABEL # Provides labelization options COMPAT_43TTY # BSD 4.3 TTY compat (sgtty) options COMPAT_FREEBSD32 # Compatible with i386 binaries #options COMPAT_FREEBSD4 # Compatible with FreeBSD4 #options COMPAT_FREEBSD5 # Compatible with FreeBSD5 #options COMPAT_FREEBSD6 # Compatible with FreeBSD6 #options COMPAT_FREEBSD7 # Compatible with FreeBSD7 options SCSI_DELAY=3D5000 # Delay (in ms) before = probing SCSI options KTRACE # ktrace(1) support options STACK # stack(9) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time = extensions options PRINTF_BUFR_SIZE=3D128 # Prevent printf output being = interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev options HWPMC_HOOKS # Necessary kernel hooks for = hwpmc(4) options AUDIT # Security event auditing options MAC # TrustedBSD MAC Framework options FLOWTABLE # per-cpu routing cache #options KDTRACE_FRAME # Ensure frames are compiled in #options KDTRACE_HOOKS # Kernel DTrace hooks options INCLUDE_CONFIG_FILE # Include this file in kernel # Make an SMP-capable kernel by default options SMP # Symmetric MultiProcessor = Kernel # CPU frequency control device cpufreq # Bus support. device acpi device pci # Floppy drives device fdc # ATA and ATAPI devices options ATA_CAM device ahci device atacore device atapci options ATA_STATIC_ID # Static device numbering # SCSI peripherals device scbus # SCSI bus (required for SCSI) device ch # SCSI media changers device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI = access) device ses # SCSI Environmental Services (and = SAF-TE) # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc # AT keyboard controller device atkbd # AT keyboard device psm # PS/2 mouse device kbdmux # keyboard multiplexer device vga # VGA video card driver device splash # Splash screen and screen saver support # syscons is the default console driver, resembling an SCO console device sc device agp # support several AGP chipsets # Serial (COM) ports device uart # Generic UART driver # Parallel port device ppc device ppbus # Parallel port bus (required) # PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use these = NICs! device miibus # MII bus support device bge # Broadcom BCM570xx Gigabit Ethernet # Pseudo devices. device loop # Network loopback device random # Entropy device device ether # Ethernet support device vlan # 802.1Q VLAN support device tun # Packet tunnel. device pty # BSD-style compatibility pseudo ttys device md # Memory "disks" device gif # IPv6 and IPv4 tunneling #device faith # IPv6-to-IPv4 relaying (translation) device firmware # firmware assist module # The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter # USB support options USB_DEBUG # enable debug msgs device uhci # UHCI PCI->USB interface device ehci # EHCI PCI->USB interface (USB 2.0) device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices device ukbd # Keyboard device umass # Disks/Mass storage - Requires scbus = and da device ums # Mouse # pf firewall with ALTQ support device pf device pflog device pfsync options ALTQ options ALTQ_CBQ # Class Bases Queuing (CBQ) options ALTQ_RED # Random Early Detection (RED) options ALTQ_RIO # RED In/Out options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC) options ALTQ_PRIQ # Priority Queuing (PRIQ) options ALTQ_NOPCC # Required for SMP build # In order to enable IPSEC you MUST also add device crypto to=20 # your kernel configuration options IPSEC # IP security (requires device crypto) options IPSEC_NAT_T # NAT-T support, UDP encap of ESP device crypto # core crypto support Dmesg: Copyright (c) 1992-2010 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 8.1-PRERELEASE #7: Mon Jun 28 13:02:30 EDT 2010 paul@backup.tower.lib.vt.edu:/usr/obj/usr/src/sys/VPN amd64 Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz (1862.01-MHz = K8-class CPU) Origin =3D "GenuineIntel" Id =3D 0x6f6 Family =3D 6 Model =3D f = Stepping =3D 6 = Features=3D0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE= ,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> = Features2=3D0xe3bd<SSE3,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM= > AMD Features=3D0x20000800<SYSCALL,LM> AMD Features2=3D0x1<LAHF> TSC: P-state invariant real memory =3D 536870912 (512 MB) avail memory =3D 504094720 (480 MB) ACPI APIC Table: <DELL B8K > FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs FreeBSD/SMP: 1 package(s) x 2 core(s) cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 ioapic0: Changing APIC ID to 8 ioapic0 <Version 2.0> irqs 0-23 on motherboard lapic0: Forcing LINT1 to edge trigger kbd1 at kbdmux0 cryptosoft0: <software crypto> on motherboard acpi0: <DELL B8K > on motherboard acpi0: [ITHREAD] acpi0: Power Button (fixed) acpi0: reservation of 0, a0000 (3) failed acpi0: reservation of 100000, f00000 (3) failed acpi0: reservation of 1000000, 1edffc00 (3) failed Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0 cpu0: <ACPI CPU> on acpi0 cpu1: <ACPI CPU> on acpi0 acpi_hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on = acpi0 Timecounter "HPET" frequency 14318180 Hz quality 900 acpi_button0: <Power Button> on acpi0 acpi_button0: enable wake failed pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 pcib1: <ACPI PCI-PCI bridge> irq 16 at device 1.0 on pci0 pci1: <ACPI PCI bus> on pcib1 vgapci0: <VGA-compatible display> mem = 0xfc000000-0xfcffffff,0xd0000000-0xdfffffff,0xfd000000-0xfdffffff irq 16 = at device 0.0 on pci1 uhci0: <Intel 82801H (ICH8) USB controller USB-D> port 0xff20-0xff3f irq = 16 at device 26.0 on pci0 uhci0: [ITHREAD] usbus0: <Intel 82801H (ICH8) USB controller USB-D> on uhci0 uhci1: <Intel 82801H (ICH8) USB controller USB-E> port 0xff00-0xff1f irq = 17 at device 26.1 on pci0 uhci1: [ITHREAD] usbus1: <Intel 82801H (ICH8) USB controller USB-E> on uhci1 ehci0: <Intel 82801H (ICH8) USB 2.0 controller USB2-B> mem = 0xfebfbc00-0xfebfbfff irq 22 at device 26.7 on pci0 ehci0: [ITHREAD] usbus2: EHCI version 1.0 usbus2: <Intel 82801H (ICH8) USB 2.0 controller USB2-B> on ehci0 hdac0: <Intel 82801H High Definition Audio Controller> mem = 0xfebfc000-0xfebfffff irq 16 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20100226_0142 hdac0: [ITHREAD] pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0 pci2: <ACPI PCI bus> on pcib2 pcib3: <ACPI PCI-PCI bridge> irq 16 at device 28.4 on pci0 pci3: <ACPI PCI bus> on pcib3 bge0: <Broadcom NetXtreme Gigabit Ethernet Controller, ASIC rev. = 0x00b002> mem 0xfbef0000-0xfbefffff irq 16 at device 0.0 on pci3 miibus0: <MII bus> on bge0 brgphy0: <BCM5787 10/100/1000baseTX PHY> PHY 1 on miibus0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, = 1000baseT-FDX, auto bge0: Ethernet address: 00:19:b9:17:ba:4f bge0: [FILTER] uhci2: <Intel 82801H (ICH8) USB controller USB-A> port 0xff80-0xff9f irq = 23 at device 29.0 on pci0 uhci2: [ITHREAD] usbus3: <Intel 82801H (ICH8) USB controller USB-A> on uhci2 uhci3: <Intel 82801H (ICH8) USB controller USB-B> port 0xff60-0xff7f irq = 17 at device 29.1 on pci0 uhci3: [ITHREAD] usbus4: <Intel 82801H (ICH8) USB controller USB-B> on uhci3 uhci4: <Intel 82801H (ICH8) USB controller USB-C> port 0xff40-0xff5f irq = 18 at device 29.2 on pci0 uhci4: [ITHREAD] usbus5: <Intel 82801H (ICH8) USB controller USB-C> on uhci4 ehci1: <Intel 82801H (ICH8) USB 2.0 controller USB2-A> mem = 0xff980800-0xff980bff irq 23 at device 29.7 on pci0 ehci1: [ITHREAD] usbus6: EHCI version 1.0 usbus6: <Intel 82801H (ICH8) USB 2.0 controller USB2-A> on ehci1 pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0 pci4: <ACPI PCI bus> on pcib4 isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel ATA controller> port = 0xfe00-0xfe07,0xfe10-0xfe13,0xfe20-0xfe27,0xfe30-0xfe33,0xfec0-0xfecf,0xec= c0-0xeccf irq 20 at device 31.2 on pci0 atapci0: [ITHREAD] ata2: <ATA channel 0> on atapci0 ata2: [ITHREAD] ata3: <ATA channel 1> on atapci0 ata3: [ITHREAD] ichsmb0: <Intel 82801H (ICH8) SMBus controller> port 0xece0-0xecff mem = 0xfebfbb00-0xfebfbbff irq 20 at device 31.3 on pci0 ichsmb0: [ITHREAD] smbus0: <System Management Bus> on ichsmb0 atapci1: <Intel ATA controller> port = 0xfe40-0xfe47,0xfe50-0xfe53,0xfe60-0xfe67,0xfe70-0xfe73,0xfed0-0xfedf,0xec= d0-0xecdf irq 20 at device 31.5 on pci0 atapci1: [ITHREAD] ata4: <ATA channel 0> on atapci1 ata4: [ITHREAD] ata5: <ATA channel 1> on atapci1 ata5: [ITHREAD] atrtc0: <AT realtime clock> port 0x70-0x7f irq 8 on acpi0 ppc0: <Parallel port> port 0x378-0x37f,0x778-0x77f irq 7 on acpi0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/8 bytes threshold ppc0: [ITHREAD] ppbus0: <Parallel port bus> on ppc0 uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 uart0: [FILTER] orm0: <ISA Option ROMs> at iomem = 0xc0000-0xce7ff,0xce800-0xd07ff,0xd0800-0xd3fff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=3D0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on = isa0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] atkbd0: [ITHREAD] est0: <Enhanced SpeedStep Frequency Control> on cpu0 p4tcc0: <CPU Frequency Thermal Control> on cpu0 est1: <Enhanced SpeedStep Frequency Control> on cpu1 p4tcc1: <CPU Frequency Thermal Control> on cpu1 Timecounters tick every 1.000 msec IPsec: Initialized Security Association Processing. hdac0: HDA Codec #0: Analog Devices AD1983 usbus0: 12Mbps Full Speed USB v1.0 usbus1: 12Mbps Full Speed USB v1.0 usbus2: 480Mbps High Speed USB v2.0 usbus3: 12Mbps Full Speed USB v1.0 usbus4: 12Mbps Full Speed USB v1.0 usbus5: 12Mbps Full Speed USB v1.0 usbus6: 480Mbps High Speed USB v2.0 pcm0: <HDA Analog Devices AD1983 PCM #0 Analog> at cad 0 nid 1 on hdac0 ugen0.1: <Intel> at usbus0 uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0 ugen1.1: <Intel> at usbus1 uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1 ugen2.1: <Intel> at usbus2 uhub2: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2 ugen3.1: <Intel> at usbus3 uhub3: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus3 ugen4.1: <Intel> at usbus4 uhub4: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus4 ugen5.1: <Intel> at usbus5 uhub5: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus5 ugen6.1: <Intel> at usbus6 uhub6: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus6 ata4: timeout waiting for read DRQ ata4: timeout waiting for read DRQ ada0 at ata2 bus 0 scbus0 target 0 lun 0 ada0: <ST3160812AS 3.ADJ> ATA-7 SATA 2.x device ada0: 33.300MB/s transfers (UDMA2, PIO 8192bytes) ada0: 152587MB (312500000 512 byte sectors: 16H 63S/T 16383C) lapic1: Forcing LINT1 to edge trigger SMP: AP CPU #1 Launched! cd0 at ata4 bus 0 scbus2 target 0 lun 0 cd0: <Optiarc DVD+-RW AD-7200S 102A> Removable CD-ROM SCSI-0 device=20 cd0: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 8192bytes) cd0: Attempt to query device size failed: NOT READY, Medium not present = - tray closed uhub0: 2 ports with 2 removable, self powered uhub1: 2 ports with 2 removable, self powered uhub3: 2 ports with 2 removable, self powered uhub4: 2 ports with 2 removable, self powered uhub5: 2 ports with 2 removable, self powered Root mount waiting for: usbus6 usbus2 Root mount waiting for: usbus6 usbus2 uhub2: 4 ports with 4 removable, self powered uhub6: 6 ports with 6 removable, self powered Root mount waiting for: usbus6 ugen6.2: <vendor 0x3538> at usbus6 umass0: <vendor 0x3538 product 0x0059, class 0/0, rev 2.00/1.00, addr 2> = on usbus6 umass0: SCSI over Bulk-Only; quirks =3D 0x0000 ugen1.2: <Dell> at usbus1 ukbd0: <EP1 Interrupt> on usbus1 kbd2 at ukbd0 Root mount waiting for: usbus6 Trying to mount root from ufs:/dev/ada0s1a ugen1.3: <Dell> at usbus1 ums0: <Dell Dell USB Optical Mouse, class 0/0, rev 2.00/43.01, addr 3> = on usbus1 ums0: 3 buttons and [XYZ] coordinates ID=3D0 bge0: link state changed to UP --Apple-Mail-7--1040836416--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D77A24D9-8F38-42D4-996D-769352EE1C54>