Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Feb 2001 00:35:11 -0500 (EST)
From:      matt@gsicomp.on.ca
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/25370: ATA subsystem in 4.x fails to recognize some ATA CD-ROMs
Message-ID:  <200102260535.f1Q5ZBZ10641@xena.gsicomp.on.ca>

next in thread | raw e-mail | index | archive | help

>Number:         25370
>Category:       kern
>Synopsis:       ATA subsystem in 4.x fails to recognize some ATA CD-ROMs
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Feb 25 21:40:02 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Matt Emmerton
>Release:        FreeBSD 4.2-STABLE i386
>Organization:
GSI Computer Services
>Environment:

4.2-STABLE FreeBSD 4.2-STABLE #1: Sat Feb 10 23:23:51 EST 2001

>Description:

	During a boot, ATA devices are probed.  During the CD probe,
	drives are asked to provide their "capabilities page" which 
	provides details of the drive.

	In 3.x, if a drive failed to respond to this request, some
	some defaults were filled in and the device was configured
	and enabled.

	In 4.x, if a drive fails to respond, it is treated as a hard
	error and the drive is not configured and enabled.
	
	Many older first generation CD-ROM devices (in particular, any
	MKE/Panasonic 1/2/4x "Creative" drive) do not properly respond
	to this request, and hence are not usable under 4.x

	The following patch forces the ATA driver to ignore "ABORTED
	COMMAND" results when executing a "MODE_SENSE_BIG" command, 
	which used during a drive probe to extract the capabilities
	page.  This allows older drives to be detected and used under
	4.x.

>How-To-Repeat:

	Build any 4.x kernel on a machine with one of these drives.
	Boot and you'll get this:

Feb 25 23:08:44 styx /kernel: (null): MODE_SENSE_BIG DONEDRQ
Feb 25 23:08:44 styx /kernel: (null): read data overrun 65526/1
Feb 25 23:08:44 styx /kernel: (null): MODE_SENSE_BIG - ABORTED COMMAND asc=4e ascq=00 error=00
Feb 25 23:08:45 styx /kernel: ata0-slave: <MATSHITA CR-581/1.00> CDROM device - NO DRIVER!

>Fix:

	This patch has been tested on 4-STABLE (as of a few hours ago)
	and a prior revision was tested on 4.2-RELEASE with positive
	results.

451a452,462
 	    case ATAPI_SK_ABORTED_COMMAND:
 		/* This allows first-generation ATAPI devices (such
 		 * as MKE/Panasonic "Creative" CD-ROMs) that don't
 		 * respond properly to MODE_SENSE_BIG to still be 
 		 * detected and recognized by the ata subsystem, 
 		 * as they were in 3.x)
 		 */
 		if (atp->cmd == ATAPI_MODE_SENSE_BIG)
 			break;
 		/* FALLTHROUGH */

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

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102260535.f1Q5ZBZ10641>