Subject: kern/15155: Playing audio cd-roms witch scsi drives doesn't work on big-endian(?) systems
To: None <gnats-bugs@gnats.netbsd.org>
From: None <Thilo.Manske@HEH.Uni-Oldenburg.DE>
List: netbsd-bugs
Date: 01/06/2002 23:03:21
>Number:         15155
>Category:       kern
>Synopsis:       playing audio cd-roms witch scsi drives doesn't work on big-endian(?) systems
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jan 06 14:04:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Thilo Manske
>Release:        NetBSD 1.5ZA
>Organization:
Dies ist Thilos Unix Signature! Viel Spass damit.
>Environment:
	
	
System: SPARCStation 20, Umax Apus 3000, IBM RS/6000 43P 7248-100
Architecture: sparc,powerpc
Machine: sparc,macppc,prep

CD-ROM drives:
	TOSHIBA, XM-5401TASUN4XCD, 1036 (sparc)
	MATSHITA, CD-ROM CR-506, 8S05	(macppc)
	IBM, CDRM00203\134000\134000\134000\134000\134000!K, BZ26 (prep)

>Description:
Trying to play audio cdroms on any of my big-endian systems equipped with
CD-ROM drives fails but it works on all little-endian systems
(i386,acorn32). Given that I guestimate this is an endianess problem.

Here is what happens on the sparc with esp and the toschiba drive:

cdplay> info
track     start  duration   block  length   type
-------------------------------------------------
    1   0:02.00   4:02.70       0   18070  audio
    2   4:02.70   4:45.07   18070   21232  audio
    3   8:46.02   4:09.10   39302   18535  audio
    4  12:53.12   4:57.18   57837   22143  audio
    5  17:48.30   4:44.50   79980   21200  audio
    6  22:31.05   4:03.37  101180   18112  audio
    7  26:32.42   5:20.45  119292   23895  audio
    8  31:51.12   2:45.10  143187   12235  audio
    9  34:34.22   4:27.10  155422   19885  audio
   10  38:59.32   4:42.48  175307   21048  audio
   11  43:40.05   6:35.35  196355   29510  audio
  170  50:13.40         -  225865       -      -
[same output as on working systems]
cdplay> play
cdplay: ioctl(CDIOCPLAYTRACKS): Invalid argument
cdplay> play 1:11 2:22
cdplay: ioctl(CDIOREADTOCENTRYS): Invalid argument
cdplay> volume 100 100
cdplay: ioctl(CDIOCSETVOL): Invalid argument

And the kernel says
cd0(esp0:0:6:0): illegal request, data = 00 00 00 00 26 00 00 8c 00 00
to all three requests
(the kernel is obviously compiled without SCSIVERBOSE)

On the prep (some noname labeld IBM drive connected to siop hostadapter)
results are identical except that the kernel logs this for every request:

cd0(siop0:0:3:0):  Check Condition on CDB: 0x15 10 00 00 1c 00
    SENSE KEY:  Illegal Request
     ASC/ASCQ:  Invalid Field In Parameter List

And on the macppc (matshita drive connected to mesh) I get "Device busy"
instead of "Invalid argument" and the kernel doesn't log anything.

>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: