Subject: Re: Status of CDIOCPLAYTRACKS, CDIOCSETVOL problems outlined in: kern/7299 & kern/16883?
To: Takeshi Nakayama <tn@catvmics.ne.jp>
From: Rafal Boni <rafal@attbi.com>
List: current-users
Date: 10/28/2002 10:25:28
In message <20021028020207C.tn@catvmics.ne.jp>, you write: 

-> Hi, this is a topic about two month ago.
-> 
-> I got the same problem, as follows:
-> 
-> cd0 at scsibus0 target 1 lun 0: <TOSHIBA, CD-ROM XM-5301TA, 1895> SCSI2 5/cd
-> rom removable
-> 
-> cd0(umass0:0:1:0):  Check Condition on CDB: 0x15 10 00 00 1c 00
->     SENSE KEY:  Illegal Request
->      ASC/ASCQ:  Invalid Field In Parameter List
->          SKSV:  Error in Parameters, Offset 0, bit 4

Hmm, this seems a popular error on Toshiba drives; I had the Toshiba CD-Rom
in my desktop machine complain in the exact same manner.

-> And the following patch seems to solve this problem.

[...patch elided...]
-> In my analysis, rev 1.19 of cd_scsi.c used cd_scsibus_set_mode()
-> instead of scsipi_mode_select(). cd_scsibus_set_mode() had the code
-> which clear a data.header.data_length, but scsipi_mode_select()
-> does not have. So we need `data.header.data_length = 0;' before
-> calling scsipi_mode_select().

Interesting; my solution to the problem was to simply skip whatever 
processing caused the SCSI errors -- in my case that was just the
cd_scsibus_set_pa_immed() function.  I'll give your patch a try and
at the same time try and bother one of our SCSI experts to look it
over and commit it if they feel it's OK... This is certainly a much
saner fix than my hack-around 8-)

Thanks,
--rafal

----
Rafal Boni                                                     rafal@attbi.com
  We are all worms.  But I do believe I am a glowworm.  -- Winston Churchill