Subject: usb umass quirks vs. SCSI quirks
To: None <current-users@netbsd.org>
From: Rhialto <rhialto@azenomei.knuffel.net>
List: current-users
Date: 12/29/2002 00:07:33
Has anybody recently (say, in the last year) tried to connect a Fuji
FinePix camera to a NetBSD-driven USB port? For me, using 1.5ZC, 1.6,
and -current this seems to fail. In particular scsi command 0x1b
(START_STOP) is where the problems appear to start.

The camera has some quirk entries in usb/umass_quirks.c, for instance
UMASS_QUIRK_NO_START_STOP, but the function that sends START UNIT commands,
scsipi_base.c:scsipi_start() looks only at (periph->periph_quirks &
PQUIRK_NOSTARTUNIT). This seems to be another universe of quirks yet
they seem to intend the same thing.

I hacked scsipi_start() to never do anything, and then I get errors at a
different command, apparently 0x23:

umass_atapi_probedev: doing atapi_probedev on 'FUJIFILM' 'USB-DRIVEUNIT'
'1.00'
scsipi_inqmatch: 27/0/1 <FUJIFILM, USB-DRIVEUNIT, 1.00>
scsipi_inqmatch: 2/0/1 <, , >
sd0 at atapibus1 drive 0: <FUJIFILM, USB-DRIVEUNIT, 1.00> type 0 direct
removable
umass0: umass_scsi_cmd: at 1040845687.019461: 0:0 xs=0xc0d25000 cmd=0x23
datalen=12 (quirks=0x2d000, poll=0)
xs(0xc0d25000):
xs_control(0x00401004)xs_status(0x00000000)periph(0xc0e09300)retr(0x4)timo(0x4e20)cmd(0xc0d25088)len(0xc)data(0xe2b081ac)len(0xc)res(0xc)err(0x0)bp(0x0)sd0(umass0:0:0):
command: 0usb_schedsoftintr: polling=0
usb_schedsoftintr: polling=0
umass0: Handling CBI state 10 (CBI Command), xfer=0xc0cf0400, STALLED
umass0: Command Transport failed
umass_scsipi_cb: at 1040845687.023283, delta=3822: xs=0xc0d25000
residue=12 status=2

0x23 is ATAPI_READ_FORMAT_CAPACITIES - I don't know if I can just stub
that out also but this seems to become too hackish anyway, because I am
starting to fear I'd need to avoid more and more commands.

Any ideas about the unification of these universes of quirks?
-Olaf.
-- 
___ Olaf 'Rhialto' Seibert      -- The evil eye is caused by the black
\X/ rhialto/at/xs4all.nl        -- tongue - Tom Poes, "Het boze oog", 4456.