Date: Tue, 23 Apr 2002 15:38:53 +0800 From: Christopher Hall <hsw@acm.org> To: freebsd-stable@FreeBSD.ORG Subject: ATAPI CDROM fails to read CDRW Message-ID: <200204230738.g3N7crg6077601@x4.tucheng.generalresources.com>
index | next in thread | raw e-mail
a) When attempting restore from a dump file on CDRW media I get the
following messages:
acd0: READ_BIG command timeout - resetting
ata1: resetting devices .. done
acd0: READ_BIG command timeout - resetting
ata1: resetting devices ..
acd0: removed from configuration
CD remains spining and system is locked up (hard reset needed).
Since the problem did not occur with a CDRW drive so I had assumed
the CDROM drive had failed.
However yesterday I changed to 4.5p3 (was using stable from April
19) and the CDROM drive (AOPEN 52X) is working again.
b) I made an ISO and burn a CDRW from 4.5p3,
mkisofs and cdburn having been recompiled under 4.5p3.
The CDRW kernel was the April 19 stable kernel.
Same failure as above.
So, I think I have ruled out bugs in mkisofs, cdburn or the CDRW
driver; which leaves a problem in ATA CDROM driver in stable.
c) While writing this I see a thread VCD reading probles.
I tried the atacontrol suggestions.
atacontrol to see the modes I could set
PIO0 through PIO4 were possible
UDMA no effect
UDMA2, UDAM33, UDMA100 set a mode called WDMA2.
The restore script ran sucessfully. Back at the command prompt
atacontrol info gave:
acd0: READ_BIG command timeout - resetting
ata1: resetting devices .. done
acd0: READ_BIG command timeout - resetting
ata1: resetting devices .. acd0: ATAPI identify retries exceeded
acd0: timeout waiting for cmd=ef s=10 e=7f
acd0: timeout waiting for cmd=ef s=10 e=7f
done
acd0: READ_BIG - ABORTED COMMAND asc=0x4e ascq=0x00 error=0x04
vm_fault: pager read error, pid 1382 (atacontrol)
atacontrol list ... same
df .. more of the same
vm_fault: for dhcpd - not unexpected as I suspect all access
to CDROM is lost at this point.
hardware reset.
d) So far I have NOT been able to get the failure using dd (in PIO4)
e.g.
dd if=/dev/acd0c of=/dev/null bs=2048
dd if=/dev/acd0c of=/mnt/x bs=2048
dd if=dumpfile of=/dev/null
but a restore right after this cause a failure.
e) This sequence appears to be repeatable (in PIO4 mode)
boot from cdrom, no hard disk mounted
restore -rNf dumpfile1 (6 times) 30M
restore -rNf dumpfile2 (once) 200k
restore -rNf dumpfile3 (once) 100M
Failure plus a fatal trap 12: page fault while in kernel mode
f) the sequence (e) did NOT fail if I set dma by
atacontrol mode 1 udma100 xxx
Master = WDMA2
Slave = ???
repeated umount/mount/restore over 40 times and no failure
g) Only one other time did crash in WDMA2 on the second run of my
restore script. All other runs of the script were sucessful.
dd and restore -rNf both OK.
Conclusion:
WDMA2 mode only 2 crashes in 10 tries.
PIO4 is very easy to crash after several "restore -rNf"
and run my restore script crashed very time.
I believe this kernel was up-to-date with the latest cd driver
cvsup today has not changed the CD driver since I made the April 19
kernel and none of the files in the directory are dated after April 19.
ll /usr/src/sys/dev/ata/atapi-cd* gives
-rw-r--r-- 1 root wheel 52860 Apr 1 08:25 atapi-cd.c
-rw-r--r-- 1 root wheel 11596 Mar 19 10:21 atapi-cd.h
Any suggestions?
---
Christopher Hall <hsw@generalresources.com> Fax: +886-2-2795-3030
Christopher Hall <hsw@acm.org> Phone: +886-2-2795-5799
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204230738.g3N7crg6077601>
