Bug 96302

Summary: [ata] nVidia nForce CK804 SATA300 controller not recognizing SATA CD-ROM drive
Product: Base System Reporter: Paul Blair <toadlife>
Component: i386Assignee: freebsd-i386 (Nobody) <i386>
Status: Open ---    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description Paul Blair 2006-04-25 06:00:26 UTC
I have a ASUS A8N 32 SLI Deluxe Deluxe Motherboard. It's on-board SATA
controller is shown as "nVidia nForce CK804 SATA300" controller at bootup.
I have a Plextor PX-716SA SATA DVDRW drive connected to it, and it is not
detected by FreeBSD. The drive is detected by the BIOS, and is operational
in Windows. I tried moving the drive from SATA port 1 to port 4 on the
motherboard to no avail.

I also have an Areca 1210 PCI-E SATAII RAID controller, in which my hard
drives are connected. Unfortunately it doesn't do CD drives, so I can't
plug my Plextor into it.

Here is my full dmesg output..

FreeBSD athlonxp-bsd.toadlife.kicks-ass.net 6.1-RC FreeBSD 6.1-RC #5: Mon Apr 24 20:00:39 PDT 2006     paul@athlonxp-bsd.toadlife.kicks-ass.net:/usr/obj/usr/src/sys/mykernel  i386
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 6.1-RC #5: Mon Apr 24 20:00:39 PDT 2006
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ (2210.07-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x20f32  Stepping = 2
  AMD Features=0xe2500800<SYSCALL,NX,MMX+,<b25>,LM,3DNow+,3DNow>
real memory  = 2147155968 (2047 MB)
avail memory = 2091921408 (1995 MB)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0 <Version 1.1> irqs 0-23 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <A M I OEMXSDT> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x508-0x50b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
cpu1: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pci0: <memory, RAM> at device 0.0 (no driver attached)
pci0: <memory, RAM> at device 0.1 (no driver attached)
pci0: <memory, RAM> at device 0.2 (no driver attached)
pci0: <memory, RAM> at device 0.3 (no driver attached)
pci0: <memory, RAM> at device 0.4 (no driver attached)
pci0: <memory, RAM> at device 0.5 (no driver attached)
pci0: <memory, RAM> at device 0.6 (no driver attached)
pci0: <memory, RAM> at device 0.7 (no driver attached)
pcib1: <ACPI PCI-PCI bridge> at device 2.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pci1: <mass storage> at device 0.0 (no driver attached)
pcib2: <ACPI PCI-PCI bridge> at device 3.0 on pci0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> at device 4.0 on pci0
pci3: <ACPI PCI bus> on pcib3
nvidia0: <GeForce 7800 GT> port 0xbc00-0xbc7f mem 0xfd000000-0xfdffffff,0xc0000000-0xcfffffff,0xfc000000-0xfcffffff irq 17 at device 0.0 on pci3
nvidia0: [GIANT-LOCKED]
pci0: <memory> at device 9.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 10.0 on pci0
isa0: <ISA bus> on isab0
pci0: <serial bus, SMBus> at device 10.1 (no driver attached)
ohci0: <OHCI (generic) USB controller> mem 0xfebfe000-0xfebfefff irq 21 at device 11.0 on pci0
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 10 ports with 10 removable, self powered
ehci0: <NVIDIA nForce4 USB 2.0 controller> mem 0xfebffc00-0xfebffcff irq 22 at device 11.1 on pci0
usb1: waiting for BIOS to give up control
usb1: timed out waiting for BIOS
usb1: EHCI version 1.0
usb1: companion controller, 4 ports each: usb0
usb1: <NVIDIA nForce4 USB 2.0 controller> on ehci0
usb1: USB revision 2.0
uhub1: nVidia EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub1: 10 ports with 10 removable, self powered
uhub1: device problem (TIMEOUT), disabling port 9
atapci0: <nVidia nForce CK804 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 15.0 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
atapci1: <nVidia nForce CK804 SATA300 controller> port 0xe480-0xe487,0xe400-0xe403,0xe080-0xe087,0xe000-0xe003,0xdc00-0xdc0f mem 0xfebfd000-0xfebfdfff irq 23 at device 16.0 on pci0
ata2: <ATA channel 0> on atapci1
ata3: <ATA channel 1> on atapci1
atapci2: <nVidia nForce CK804 SATA300 controller> port 0xd880-0xd887,0xd800-0xd803,0xd480-0xd487,0xd400-0xd403,0xd080-0xd08f mem 0xfebfc000-0xfebfcfff irq 20 at device 17.0 on pci0
ata4: <ATA channel 0> on atapci2
ata5: <ATA channel 1> on atapci2
pcib4: <ACPI PCI-PCI bridge> at device 18.0 on pci0
pci4: <ACPI PCI bus> on pcib4
pci4: <multimedia, video> at device 7.0 (no driver attached)
pcm0: <Creative EMU10K1> port 0xc880-0xc89f irq 18 at device 8.0 on pci4
pcm0: <SigmaTel STAC9721/23 AC97 Codec>
nve0: <NVIDIA nForce MCP9 Networking Adapter> port 0xd000-0xd007 mem 0xfebfb000-0xfebfbfff irq 21 at device 19.0 on pci0
nve0: Ethernet address 00:15:f2:cc:a8:2c
miibus0: <MII bus> on nve0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
nve0: Ethernet address: 00:15:f2:cc:a8:2c
pcib5: <ACPI PCI-PCI bridge> at device 22.0 on pci0
pci5: <ACPI PCI bus> on pcib5
pcib6: <ACPI PCI-PCI bridge> at device 23.0 on pci0
pci6: <ACPI PCI bus> on pcib6
pcib7: <PCI-PCI bridge> at device 0.0 on pci6
pci8: <PCI bus> on pcib7
Driver Version> mem 0xfeaff000-0xfeafffff,0xdf800000-0xdfbfffff irq 19 at device 14.0 on pci8
arcmsr0: [GIANT-LOCKED]
pcib8: <PCI-PCI bridge> at device 0.2 on pci6
pci7: <PCI bus> on pcib8
acpi_button0: <Power Button> on acpi0
fdc0: <floppy drive controller (FDE)> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FAST]
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xc0000-0xcefff on isa0
ppc0: parallel port not found.
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 8250 or not responding
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ums0: Logitech USB-PS/2 Optical Mouse, rev 2.00/20.00, addr 2, iclass 3/1
ums0: 3 buttons and Z dir.
Timecounters tick every 1.000 msec
Waiting 5 seconds for SCSI devices to settle
da0 at arcmsr0 bus 0 target 0 lun 0
da0: <Areca ARC-1210-VOL#00 R001> Fixed Direct Access SCSI-3 device
da0: 166.666MB/s transfers (83.333MHz, offset 32, 16bit), Tagged Queueing Enabled
da0: 572204MB (1171874816 512 byte sectors: 255H 63S/T 72945C)
SMP: AP CPU #1 Launched!
Trying to mount root from ufs:/dev/da0s2a

How-To-Repeat: Plug Plextor PX-716SA into SATA port on ASUS A8N 32 SLI Deluxe Deluxe Motherboard.
Comment 1 Paul Blair 2006-04-26 09:25:12 UTC
I've found a workaround to this problem on my system. Running the 
following allows FreeBSD to detect the drive properly:
(My CD drive is attached to ata5)

# atacontrol detach ata5
# atacontrol attach ata5
Master: acd0 <PLEXTOR DVDR PX-716A/1.08> Serial ATA v1.0
Slave:       no device present

****Waiting at least one second between the detach and attach commands 
is necessary for it to work.****

Right now, I just wrote this little shell script and put it in 
/usr/local/etc/rc.d/ and the drive is detected on bootup.

echo Reinitializing SATA Controller...
atacontrol detach ata0
sleep 1
echo Attaching ata0...
atacontrol attach ata0
sleep 1
atacontrol detach ata1
sleep 1
echo Attaching ata1...
atacontrol attach ata1
sleep 1
atacontrol detach ata2
sleep 1
echo Attaching ata2...
atacontrol attach ata2
sleep 1
atacontrol detach ata3
sleep 1
echo Attaching ata3...
atacontrol attach ata3
sleep 1
atacontrol detach ata4
sleep 1
echo Attaching ata4...
atacontrol attach ata4
sleep 1
atacontrol detach ata5
sleep 1
echo Attaching ata5...
atacontrol attach ata5
sleep 1
echo Done!
Comment 2 agh 2006-11-29 08:13:58 UTC
Thought I'd add a me too, I've also the same MB and DVD drive. If I dual boot 
into AMD64 the problem exists there too.
Comment 3 Gavin Atkinson freebsd_committer freebsd_triage 2009-03-11 15:58:25 UTC
State Changed
From-To: open->feedback

To submitter: apologies for this PR sitting idle for so long.  Do you know 
if this problem was ever resolved?  If you still have this system and are 
still interested in the issue could you please retest with either 7.1-RELEASE 
or 6.4-RELEASE and see if they work for you without the workaround? 

Comment 4 Gavin Atkinson freebsd_committer freebsd_triage 2009-03-11 15:58:25 UTC
Responsible Changed
From-To: freebsd-i386->gavin

Comment 5 alex 2009-07-15 19:04:22 UTC

i have the same problem on a similar nvidia controller:
   atapci1: <nVidia nForce MCP67 SATA300 controller> port 
0xf80-0xf87,0xf00-0xf03,0xe80-0xe87,0xe00-0xe03,0xcc00-0xcc0f mem 
0xfea76000-0xfea77fff irq 23 at device 9.0 on pci0

I've tested it with 7.2-Release and with 8.0-BETA1 (which i have 
currently installed). But both are unable to detect the SATA-DVDRW.
Reinit or reattach the controller using atacontrol doesn't help me, the 
drive is still not found.

Any hints?
I could easily go back to 7.2-Release, if this helps you. (the only 
reason i installed 8.0-beta was my sata problem at all ;-) )

Comment 6 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 07:58:23 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped