Bug 26517

Summary: ATAPI DVD drive not recognized (solo master device)
Product: Base System Reporter: martijn <martijn>
Component: kernAssignee: Søren Schmidt <sos>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description martijn 2001-04-12 16:10:01 UTC
The DVD drive is not recognized by the kernel during system boot, error: "timeout waiting for intr".

Selected SMP kernel boot messages:
Apr  7 14:28:42 vito /kernel: atapci0: <VIA 82C686 ATA66 controller> port 0x9000-0x900f at device 7.1 on pci0
Apr  7 14:28:42 vito /kernel: ata0: at 0x1f0 irq 14 on atapci0
Apr  7 14:28:42 vito /kernel: atapci1: <Promise ATA100 controller> port 0xbc00-0xbc3f,0xb800-0xb803,0xb400-0xb407,0xb000-0xb003,0xac00-0xac07 mem 0xd8000000-0xd801ffff irq 9 at device 12.0 on pci0
Apr  7 14:28:42 vito /kernel: ata2: at 0xac00 on atapci1
Apr  7 14:28:42 vito /kernel: ata3: at 0xb400 on atapci1
Apr  7 17:54:18 vito /kernel: ata0-master: ata_command: timeout waiting for intr
Apr  7 17:54:18 vito /kernel: ata0-master: identify failed
Apr  7 14:28:42 vito /kernel: ad4: 29314MB <IBM-DTLA-307030> [59560/16/63] at ata2-master UDMA100
Apr  7 14:28:42 vito /kernel: ad6: 29314MB <IBM-DTLA-307030> [59560/16/63] at ata3-master UDMA100

Fix: 

No known workaround.
How-To-Repeat: Configure system hardware as mentioned above.
Comment 1 martijn 2001-04-13 14:15:04 UTC
After jumpering the DVD drive to be a slave device the drive is recognized
_if_ I put a CD in the drive.

-- 
Martijn Plak <martijn@plak.net>
Comment 2 Søren Schmidt freebsd_committer freebsd_triage 2001-05-29 14:21:58 UTC
State Changed
From-To: open->closed

This is belived to be fixed.
Comment 3 martijn 2001-07-16 10:18:13 UTC
[I don't know how to change the status of this bug back to 'open' as 
it has not been closed yet. Whoever has the priviliges to do so, 
please do.]


I'm afraid this bug has not been fixed by whatever change sos is 
refering too. I still need to put a cd in the drive during bootup in 
order for it to be recognized.

I've tested with a freebsd-stable cvsup checkout as per 13 July 2001.

kernel messages:

with the drive empty during booting:
  ata1-master: ata_command: timeout waiting for intr
  ata1-master: identify failed

with a cd in the drive during booting:
  acd0: DVD-ROM <AOpen 12xDVD-ROM DRIVE 10172000> at ata1-master using PIO4

ata controller and hard disk info:
  atapci0: <VIA 82C686 ATA66 controller> port 0x9000-0x900f at device 
7.1 on pci0
  ata0: at 0x1f0 irq 14 on atapci0
  ata1: at 0x170 irq 15 on atapci0
  atapci1: <Promise ATA100 controller> port 0xbc00-0xbc3f,0xb800-0xb803,
   0xb400-0xb407,0xb000-0xb003,0xac00-0xac07 mem 0xd8000000-0xd801ffff
   irq 5 at device 12.0 on pci0
  ata2: at 0xac00 on atapci1
  ata3: at 0xb400 on atapci1
  ad0: 19536MB <Maxtor 92049U3> [39693/16/63] at ata0-master UDMA66
  ad4: 29314MB <IBM-DTLA-307030> [59560/16/63] at ata2-master UDMA100

-- 
Martijn Plak <martijn@plak.net>
Comment 4 Peter Pentchev freebsd_committer freebsd_triage 2001-07-16 10:22:26 UTC
State Changed
From-To: closed->open

Submitter reports that the problem has not been solved yet. 


Comment 5 Peter Pentchev freebsd_committer freebsd_triage 2001-07-16 10:22:26 UTC
Responsible Changed
From-To: freebsd-bugs->sos

Over to the ATA maintainer.
Comment 6 salem 2001-08-29 16:30:32 UTC
A possible workaround:
It seems to me the present code in 4.x  makes the 2nd ATA controller
to timeout when probing only certain specific drives, e.g.,
the DVD-ROM <AOpen 12xDVD-ROM DRIVE 10172000>
or the CDROM <HITACHI CDR-8335> as shown below.
while it does not timeout with other drives (e.g. the CD-RW <CD-W54E>)
or when (some?) drives have a CD inserted.
I elaborate on this theory as follows.

Since I migrated to the 4.x-Stable I observe the same message as you at boot
time,
i.e., a problem with the 2nd ATA controller.
on my Vectra 6, Series 7 I have two HD on the 1st controller, and two CD drives
on the
second one. Booting 3.5-S had no problem in detecting the 4 drives:

------------ (trimmed) dmesg.boot when booting 3.5-S
Copyright (c) 1992-1999 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
     The Regents of the University of California. All rights reserved.
FreeBSD 3.5-STABLE #0: Tue Aug  7 20:25:22 CEST 2001
    root@mafalda2.mynet:/usr/src/sys/compile/MAFALDA2
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium II/Pentium II Xeon/Celeron (233.86-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x634  Stepping = 4

Features=0x80f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,MMX>
real memory  = 167772160 (163840K bytes)
.....[snip]
Probing for devices on PCI bus 1:
vga1: <Cirrus Logic model 00d6 VGA-compatible display device> rev 0x03 int a irq
9 on pci1.0.0
Probing for PnP devices:
CSN 1 Vendor ID: AZT1008 [0x08105407] Serial 0xffffffff Comp ID: @@@0000
[0x00000000]
CSN 2 Vendor ID: SLI4161 [0x6141894d] Serial 0xffffffff Comp ID: @@@0000
[0x00000000]
Probing for devices on the ISA bus:
.....[snip]
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: unit 0 (wd0): <QUANTUM FIREBALL ST3.2A>
wd0: 3079MB (6306048 sectors), 6256 cyls, 16 heads, 63 S/T, 512 B/S
wd1: cannot handle 80063424 total sectors; truncating to 66060288
wdc0: unit 1 (wd1): <FUJITSU MPG3409AT  E>
wd1: 32256MB (66060288 sectors), 65536 cyls, 16 heads, 63 S/T, 512 B/S
wdc1 at 0x170-0x177 irq 15 on isa
wdc1: unit 0 (atapi): <HITACHI CDR-8335/0008>, removable, accel, dma, iordy
acd0: drive speed 1779 - 4134KB/sec, 128KB cache
acd0: supported read types: CD-R, CD-RW, CD-DA, packet track
acd0: Audio: play, 255 volume levels
acd0: Mechanism: ejectable tray
acd0: Medium: no/blank disc inside, unlocked
wdc1: unit 1 (atapi): <CD-W54E/1.1B>, removable, accel, ovlap, dma, iordis
acd1: drive speed 5512KB/sec, 1280KB cache
acd1: supported read types: CD-R, CD-RW, CD-DA, packet track
acd1: supported write types: CD-R, CD-RW, test write
acd1: Audio: play, 256 volume levels
acd1: Mechanism: ejectable tray
acd1: Medium: no/blank disc inside, unlocked
.....[snip]
changing root device to wd0s3a
------------- end of dmesg.boot (console output is going to a tty)

While booting 4.3-S (4.4-RC to be precise, althouhg it has been like that since
4.1-R) :
------------ (trimmed) dmesg.boot when booting 4.3-S with HITACHI CD-R as master
& CD-RW as slave
Copyright (c) 1992-2001 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 4.4-RC #17: Sun Aug 26 13:16:52 CEST 2001
    root@mafalda2.mynet:/10G/usr4.x/obj/10G/usr4.x/src/sys/MAFALDA2
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium II/Pentium II Xeon/Celeron (233.87-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x634  Stepping = 4

Features=0x80f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,MMX>
real memory  = 167772160 (163840K bytes)
.....[snip]
atapci0: <Intel PIIX4 ATA33 controller> port 0xfcf0-0xfcff at device 4.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
.....[snip]
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
.....[snip]
ed0 at port 0x300-0x31f iomem 0xd8000 irq 3 drq 0 on isa0
ed0: address NN:NN:NN:NN:NN:NN, type NE2000 (16 bit)   <=== I masked my MAC
address here
unknown: <IDE CDROM DISABLED> can't assign resources <=== the CS 4321 (AZT1008
PnP SOUND DEVICE)
unknown: <PNP0000> can't assign resources
unknown: <PNP0303> can't assign resources
unknown: <PNP0501> can't assign resources
unknown: <PNP0401> can't assign resources
unknown: <PNP0700> can't assign resources
unknown: <PNP0f13> can't assign resources
ata1-master: ata_command: timeout waiting for intr                     <===
OOOOPS!
ata1-master: identify failed
ad0: 3079MB <QUANTUM FIREBALL ST3.2A> [6256/16/63] at ata0-master UDMA33
ad1: 39093MB <FUJITSU MPG3409AT E> [79428/16/63] at ata0-slave UDMA33
acd0: CD-RW <CD-W54E> at ata1-slave using PIO4
Mounting root from ufs:/dev/ad1s1a
------------- end of dmesg.boot


As you can verify, the HITACHI CD-R has not been detected.

Now, if I jumper the drives for the CD-RW to be the master and the HITACHI CD-R
the slave
on ata1 (and _no_other_changes, i.e, audio out still from CD-R to the sound
card,
exactly the same BIOS setup & same hardware), the second controller (ata1) is
then able
to recognize both 2 CD drives attached to it :

------------ (trimmed) dmesg.boot when booting 4.3-S  with CD-RW as master &
HITACHI CD-R as slave
Copyright (c) 1992-2001 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 4.4-RC #17: Sun Aug 26 13:16:52 CEST 2001
    root@mafalda2.mynet:/10G/usr4.x/obj/10G/usr4.x/src/sys/MAFALDA2
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium II/Pentium II Xeon/Celeron (233.86-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x634  Stepping = 4

Features=0x80f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,MMX>
.....[snip]
atapci0: <Intel PIIX4 ATA33 controller> port 0xfcf0-0xfcff at device 4.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
.....[snip]
ed0 at port 0x300-0x31f iomem 0xd8000 irq 3 drq 0 on isa0
ed0: address NN:NN:NN:NN:NN:NN, type NE2000 (16 bit)   <=== I masked my MAC
address here
unknown: <IDE CDROM DISABLED> can't assign resources
unknown: <PNP0000> can't assign resources
unknown: <PNP0303> can't assign resources
unknown: <PNP0501> can't assign resources
unknown: <PNP0401> can't assign resources
unknown: <PNP0700> can't assign resources
unknown: <PNP0f13> can't assign resources
ad0: 3079MB <QUANTUM FIREBALL ST3.2A> [6256/16/63] at ata0-master UDMA33
ad1: 39093MB <FUJITSU MPG3409AT E> [79428/16/63] at ata0-slave UDMA33
acd0: CD-RW <CD-W54E> at ata1-master using PIO4
acd1: CDROM <HITACHI CDR-8335> at ata1-slave using PIO4
Mounting root from ufs:/dev/ad1s1a
------------- end of dmesg.boot

And for completness, just in case, the first few lines of "pnpinfo -l"
which explain the distracting line "IDE CD_ROM DISABLED"
probably not related to this problem report.
------------- output of  "pnpinfo -l"
Checking for Plug-n-Play devices...

Card assigned CSN #1
Vendor ID AZT1008 (0x08105407), Serial Number 0xffffffff
PnP Version 1.0, Vendor Version 3
Device Description: AZT1008 PnP SOUND DEVICE

Logical Device ID: AZT0500 0x00055407 #0
     Device supports I/O Range Check
Device Description: IDE CDROM DISABLED

[snip]
------------------------------------------------------------------------------------------

I did not observed the timeout problem in the 3.x branch, so I guess
it would help to compare the 3.x vs. the 4.x ATA code at the probing
stage (timeouts).
Eventually one could experiment and see if the problem subsist when
connecting the CD drives to the 1st controller (no HD on the ata0 ), or
if this is specific of the second one (ata1), which I doubt.

Hope this helps,
Lazaro

-------------------------------------------------------------------
The information contained in this message may be CONFIDENTIAL and is intended
for the addressee only. Any unauthorised use, dissemination of the information
or copying of this message is prohibited. If you are not the addressee, please
notify the sender immediately by return e-mail and delete this message.
Thank you.
Comment 7 Søren Schmidt freebsd_committer freebsd_triage 2001-12-12 13:49:27 UTC
State Changed
From-To: open->analyzed

Could I have you try to boot a recent -current snapshot ? 
Just download the two floppies and boot on them, and 
check how -current handles this. 
All in all I pretty certain this is because of firmware 
wierdness, and subtle timing is probably the reason. 
There is no comparing 3.x to 4.x, the ATA code is totally 
rewritten in 4.x, the probe code is _very_ different..
Comment 8 martijn 2001-12-13 13:05:37 UTC
Booting from the 20011211 -current snapshot the DVD drive is usable 
but doesn't return the version string correctly. Having a disk in the 
drive or not doesn't make a difference.

 From the boot log (copied by hand):

acd0: DVD-ROM <                     > at ata1-master PIO4

I think there are 40 spaces between < and >.

I don't care much about missing the version string, as long as it 
isn't a symptom of bigger problems. I could mount a cd but haven't 
done large transfers.
-- 
Martijn Plak <martijn@plak.net>
Comment 9 Søren Schmidt freebsd_committer freebsd_triage 2002-01-07 19:21:52 UTC
State Changed
From-To: analyzed->closed

This is fixed as good we can I'm afraid, the drive must 
have buggy firmware, but loosing the id string is as 
good as it gets I'm afraid. Let me now if it starts 
to fail on transfers.