kern/103602: atapi device not working on JMicron 363 Controller

Josh Carroll josh.carroll at gmail.com
Sun Sep 24 20:20:18 PDT 2006


>Number:         103602
>Category:       kern
>Synopsis:       atapi device not working on JMicron 363 Controller
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Sep 25 03:20:16 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Josh Carroll
>Release:        FreeBSD 6.2-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD pflog.net 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #0: Sun Sep 24 17:59:49 PDT 2006 root at pflog.net:/usr/obj/usr/src-STABLE/sys/DEBLIN i386

>Description:
	I am unable to read a DVDs with a SONY DVD RW DRU-800A/KY01 on a JMicron 363 Controller. The system is a new Core 2 Duo system with an Asus P5B motherboard. I have tried two different Intel P965 chipset based boards with the same problem (Asus P5B Deluxe, Gigabyte DS3). I have tried 2 other DVD devices and an old 50x CD drive. I've replaced cables, tried the device on the controller by itself, and even tried a 3rd party PCI PATA IDE controller. None of the above fixes the problem. 

A full dmesg output is available here:

	http://pflog.net/dmesg

Without atapicam support, I can mount the drive but as soon as I try to copy a file from the DVD, I get the errors:

	acd0: TIMEOUT - READ_BIG retrying (1 retry left)
	acd0: TIMEOUT - READ_BIG retrying (1 retry left)
	acd0: TIMEOUT - READ_BIG retrying (0 retry left)
	acd0: TIMEOUT - READ_BIG retrying (0 retry left)
	acd0: FAILURE - READ_BIG timed out

I am not able to dd the drive either (dd if=/dev/acd0 of=/dev/null bs=2048). I get the same errors. I was able to mount a CD disc and copy files, but I do get the same error for larger files on a couple of CDs. I am using a custom kernel config, but with only a few additions from GENERIC/SMP. And the same problem occurs with the GENERIC/SMP kernels. If I load atapicam, I see in dmesg:

	ata4: reiniting channel ..
	ata4: reset tp1 mask=03 ostat0=50 ostat1=51
	ata4: stat0=0xd0 err=0xd0 lsb=0xd0 msb=0xd0
	ata4: stat0=0xd0 err=0xd0 lsb=0xd0 msb=0xd0
	ata4: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
	ata4: stat1=0x00 err=0x01 lsb=0x14 msb=0xeb
	ata4: reset tp2 stat0=50 stat1=00 devices=0x9<ATAPI_SLAVE,ATA_MASTER>
	ata4: reinit done ..

Any attempt to mount/touch the device at this point hangs the process. Once it finishes, if I kldunload atapicam, I get:

	atapicam0: detached
	atapicam1: detached
	(probe0:dead_sim0:0:1:0): CAM Status 0x19
	(probe0:dead_sim0:0:1:0): Retrying Command
	(probe0:dead_sim0:0:1:0): error 22
	(probe0:dead_sim0:0:1:0): Unretryable Error
	pass0 at dead_sim0 bus 0 target 1 lun 0
	pass0: <SONY DVD RW DRU-800A KY01> Removable CD-ROM SCSI-0 device
	(pass0:dead_sim0:0:1:0): lost device
	(pass0:dead_sim0:0:1:0): removing device entry
	(probe0:dead_sim0:0:1:0): error 22
	(probe0:dead_sim0:0:1:0): Unretryable Error
	(probe0:dead_sim0:0:1:0): error 22
	(probe0:dead_sim0:0:1:0): Unretryable Error
	atapicam2: detached
	atapicam3: detached
	atapicam4: detached
	atapicam5: detached
	atapicam6: detached
	ata4: reiniting channel ..
	ata4: reset tp1 mask=03 ostat0=50 ostat1=51
	ata4: stat0=0xd0 err=0xd0 lsb=0xd0 msb=0xd0
	ata4: stat0=0xd0 err=0xd0 lsb=0xd0 msb=0xd0
	ata4: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
	ata4: stat1=0x00 err=0x01 lsb=0x14 msb=0xeb
	ata4: reset tp2 stat0=50 stat1=00 devices=0x9<ATAPI_SLAVE,ATA_MASTER>
	ata4: reinit done ..

>How-To-Repeat:
	Boot 6-STABLE from 9/8 or later on an Intel P965 chipset with a DVD/CD device plugged into the JMicron PATA controller. Attempt to mount the DVD and copy one of the larger .VOB files. Or simply boot and load atapicam, then try to mount a CD/DVD.

>Fix:

	Not exactly a fix, but a workaround is to disable DMA. Obvious this limits the ability of the drive to play DVDs or burn CDs/DVDs.


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list