ATAPI CDROM probe failures

Glenn Burkhardt (glenn@aoi.ultranet.com)
Tue, 31 Mar 98 11:41:58 EST


We recently received a couple of new computers equipped with Acer 24X CDROM
drives, model 624A 217. To my dismay, they were not recognized by the initial
probe at bootstrap with a 2.0.32 kernel. I obtained the 2.1.90 kernel source,
build it, and tried again, but had the same result. The problem occurs with
two different, identical model drives.

Using the bootprompt 'hdc=cdrom' allowed me to mount and access the drive,
with either kernel, with two different motherboards (PP200, PII-233, both
from Acer).

Other Acer 24x CDROM drives we obtained under the AcerOpen label work without
any problems on these machines.

I also tried booting Win95 and WinNT on these machines, and they both found
the drive and were able access files without any problem.

So, I had the following questions:

1. Is the firmware on the drives broken?

2. Could the Linux IDE probe routine be more forgiving, or in some way
try harder to determine if a CDROM drive is attached?

It seems clear from the ide-probe.c and ATAPI spec that these drives simply
aren't responding to the 'IDENTIFY DRIVE' command 0xA1 (whose implemenation
is mandatory, according to the ATAPI spec). But, on the other hand, the
drives can be made to work otherwise. So what's standard operating procedure
in the industry? Do manufactures occasionally disregard this part of the spec,
simply because their firmware works with Win95 & WinNT?

If my conclusions are correct, the other question, then is shouldn't the
Linux driver follow the PC industry standard operating procedure of working
with broken CDROM drive firmware?

Pointers to previous discussions on these issues would be appreciated - the
seach engine on linuxhq.com for the mailing list is broken...

Without the bootprompt line "hdc=cdrom", these messages were in the
log from startup:

Linux version 2.0.30
Mar 20 17:26:36 loki kernel: ide: i82371 PIIX (Triton) on PCI bus 0 function 57
Mar 20 17:26:36 loki kernel: ide0: BM-DMA at 0x7450-0x7457
Mar 20 17:26:36 loki kernel: ide1: BM-DMA at 0x7458-0x745f
Mar 20 17:26:36 loki kernel: hdc: no response (status = 0xd0)

---or with the 2.1.90 kernel

Mar 30 16:53:06 loki kernel: Linux version 2.1.90
Mar 30 16:53:06 loki kernel: Uniform CD-ROM driver Revision: 2.12
Mar 30 16:53:06 loki kernel: PIIX3: IDE controller on PCI bus 0 function 57
Mar 30 16:53:06 loki kernel: PCI->APIC IRQ transform: (B0,I7,P-1) -> -1
Mar 30 16:53:06 loki kernel: PIIX3: not 100ative mode: will probe irqs later
Mar 30 16:53:06 loki kernel: ide0: BM-DMA at 0x7450-0x7457, BIOS settings: hda:pio, hdb:pio
Mar 30 16:53:06 loki kernel: ide1: BM-DMA at 0x7458-0x745f, BIOS settings: hdc:pio, hdd:pio
Mar 30 16:53:06 loki kernel: probing for hdc: present=0, media=32, probetype=ATAPI
Mar 30 16:53:06 loki kernel: hdc: no response (status = 0xd0)

=========================

Booting with the magic incantation:

Mar 20 17:29:58 loki kernel: ide_setup: hdc=cdrom
Mar 20 17:29:58 loki kernel: Linux version 2.0.30
Mar 20 17:29:58 loki kernel: ide: i82371 PIIX (Triton) on PCI bus 0 function 57
Mar 20 17:29:58 loki kernel: ide0: BM-DMA at 0x7450-0x7457
Mar 20 17:29:58 loki kernel: ide1: BM-DMA at 0x7458-0x745f
Mar 20 17:29:58 loki kernel: hdc: no response (status = 0xd0)
Mar 20 17:29:58 loki kernel: hdc: ATAPI cdrom (?)
Mar 20 17:29:58 loki kernel: ide1 at 0x170-0x177,0x376 on irq 15

---or with the 2.1.90 kernel

Mar 30 16:55:08 loki kernel: Linux version 2.1.90 (glenn@loki) (gcc version 2.7.2.1) #10 Mon Mar 30 16:38:11 EST 1998
Mar 30 16:55:08 loki kernel: INIT IRQ
Mar 30 16:55:08 loki kernel: ide_setup: hdc=cdrom
Mar 30 16:55:08 loki kernel: Uniform CD-ROM driver Revision: 2.12
Mar 30 16:55:08 loki kernel: PIIX3: IDE controller on PCI bus 0 function 57
Mar 30 16:55:08 loki kernel: PCI->APIC IRQ transform: (B0,I7,P-1) -> -1
Mar 30 16:55:08 loki kernel: PIIX3: not 100ative mode: will probe irqs later
Mar 30 16:55:08 loki kernel: ide0: BM-DMA at 0x7450-0x7457, BIOS settings: hda:pio, hdb:pio
Mar 30 16:55:08 loki kernel: ide1: BM-DMA at 0x7458-0x745f, BIOS settings: hdc:pio, hdd:pio
Mar 30 16:55:08 loki kernel: hdc: IRQ probe failed (0)
Mar 30 16:55:08 loki kernel: hdc: ATAPI cdrom (?)
Mar 30 16:55:08 loki kernel: ide1 at 0x170-0x177,0x376 on irq 15
Mar 30 16:55:08 loki kernel: hdc: ATAPI 20X CDROM drive, 120kB Cache

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu