Subject: kern/10112: umass UFI protocol does not appear to work with Sony VAIO drive
To: None <gnats-bugs@gnats.netbsd.org>
From: Brad Spencer <brad@anduin.eldar.org>
List: netbsd-bugs
Date: 05/13/2000 13:37:12
>Number:         10112
>Category:       kern
>Synopsis:       umass UFI protocol does not appear to work with Sony VAIO drive
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat May 13 13:38:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Brad Spencer
>Release:        1.4Y supped week of 5/7/2000
>Organization:
	Sitting at home
>Environment:
	
System: NetBSD mordor 1.4Y NetBSD 1.4Y (MORDOR) #4: Sat May 13 15:57:02 EDT 2000     brad@mordor:/usr/src/sys/arch/i386/compile/MORDOR i386

>Description:

I have borrowed a USB floppy drive from a Sony VAIO that identifies
itself as:

umass0 at uhub0 port 1 configuration 1 interface 0
umass0: Y-E DATA FlashBuster-U, rev 1.00/1.28, addr 3
umass0: using UFI over CBI-I
scsibus2 at umass0: 2 targets, 1 luns per target
scsibus2: waiting 2 seconds for devices to settle...
sd2 at scsibus2 target 1 lun 0: <Y-E DATA, USB-FDU, 1.28> SCSI0 0/direct removable
sd2: mode sense (4) returned nonsense; using fictitious geometry
sd2: 1440 KB, 1 cyl, 64 head, 32 sec, 512 bytes/sect x 2880 sectors
sd2: could not mode sense (4/5); using fictitious geometry
sd2: no disk label

Attempts to access the drive either to read data or to write data
silently fail.  That is, the drive light comes on for a second, then
goes off.  Reads or writes appear to complete, except that nothing
actually transfered to or from the media and the head never steps off
of track 0.

This problem appears to exist when the drive is connected to a uhci on
my AMD K6 machine or the ohci on my Toshiba notebook USB controller.
Same OS version in both cases.

There appears to be a quirk entry for this device in the umass driver,
so apparently someone has this working.


>How-To-Repeat:

The following command produced the following debugging output.  Sorry
for the length....

mordor% dd if=/dev/rsd2d of=/dev/null bs=512 count=1
1+0 records in
1+0 records out
512 bytes transferred in 1 secs (512 bytes/sec)

umass0: umass_scsi_cmd:  1:0 xs=0xc0515128 cmd=0x1b (quirks=0x1010, poll=0)
umass_scsi_cmd: async dir=0, cmdlen=12 datalen=0
umass0: umass_cbi_transfer cmd=0x1b, len=0
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, NORMAL_COMPLETION
umass0: no data phase
umass_scsipi_cb: xs=0xc0515128 residue=0 status=1
umass0: umass_cbi_transfer cmd=0x03, len=32
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, NORMAL_COMPLETION
umass0: start xfer buffer=0xc0515184 buflen=32 flags=0x5 timeout=23107
umass0: Handling CBI state 11 (CBI Data), xfer=0xc0585300, NORMAL_COMPLETION
umass0: CBI_DATA actlen=18
umass0: 0x 700000000000000a0000000000000000 buffer=0xc0515184, buflen=18
umass0: 0x 0000
umass_scsipi_sense_cb: xs=0xc0515128 residue=14 status=1
umass_scsipi_sense_cb: return xs->error=1, xs->xs_status=0x1 xs->resid=0
umass0: umass_scsi_cmd:  1:0 xs=0xc0515128 cmd=0x1e (quirks=0x1010, poll=0)
umass_scsi_cmd: async dir=0, cmdlen=12 datalen=0
umass0: umass_cbi_transfer cmd=0x1e, len=0
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, NORMAL_COMPLETION
umass0: no data phase
umass_scsipi_cb: xs=0xc0515128 residue=0 status=1
umass0: umass_cbi_transfer cmd=0x03, len=32
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, NORMAL_COMPLETION
umass0: start xfer buffer=0xc0515184 buflen=32 flags=0x5 timeout=23107
umass0: Handling CBI state 11 (CBI Data), xfer=0xc0585300, NORMAL_COMPLETION
umass0: CBI_DATA actlen=18
umass0: 0x 700005000000000a0000000024000000 buffer=0xc0515184, buflen=18
umass0: 0x 0000
umass_scsipi_sense_cb: xs=0xc0515128 residue=14 status=1
umass_scsipi_sense_cb: return xs->error=1, xs->xs_status=0x1 xs->resid=0
umass0: umass_scsi_cmd:  1:0 xs=0xc0515128 cmd=0x1a (quirks=0x1010, poll=0)
umass_scsi_cmd: async dir=1, cmdlen=12 datalen=44
umass0: umass_cbi_transfer cmd=0x1a, len=44
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, STALLED
umass0: Command Transport failed
umass_scsipi_cb: xs=0xc0515128 residue=44 status=2
umass0: umass_cbi_transfer cmd=0x03, len=32
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, NORMAL_COMPLETION
umass0: start xfer buffer=0xc0515184 buflen=32 flags=0x5 timeout=23107
umass0: Handling CBI state 11 (CBI Data), xfer=0xc0585300, NORMAL_COMPLETION
umass0: CBI_DATA actlen=18
umass0: 0x 700005000000000a0000000024000000 buffer=0xc0515184, buflen=18
umass0: 0x 0000
umass_scsipi_sense_cb: xs=0xc0515128 residue=14 status=1
umass_scsipi_sense_cb: return xs->error=1, xs->xs_status=0x1 xs->resid=44
umass0: umass_scsi_cmd:  1:0 xs=0xc0515128 cmd=0x1a (quirks=0x1010, poll=0)
umass_scsi_cmd: async dir=1, cmdlen=12 datalen=44
umass0: umass_cbi_transfer cmd=0x1a, len=44
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, STALLED
umass0: Command Transport failed
umass_scsipi_cb: xs=0xc0515128 residue=44 status=2
umass0: umass_cbi_transfer cmd=0x03, len=32
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, NORMAL_COMPLETION
umass0: start xfer buffer=0xc0515184 buflen=32 flags=0x5 timeout=23107
umass0: Handling CBI state 11 (CBI Data), xfer=0xc0585300, NORMAL_COMPLETION
umass0: CBI_DATA actlen=18
umass0: 0x 700005000000000a0000000024000000 buffer=0xc0515184, buflen=18
umass0: 0x 0000
umass_scsipi_sense_cb: xs=0xc0515128 residue=14 status=1
umass_scsipi_sense_cb: return xs->error=1, xs->xs_status=0x1 xs->resid=44
sd2: could not mode sense (4/5); using fictitious geometry
umass0: umass_scsi_cmd:  1:0 xs=0xc0515128 cmd=0x25 (quirks=0x1010, poll=0)
umass_scsi_cmd: async dir=1, cmdlen=12 datalen=8
umass0: umass_cbi_transfer cmd=0x25, len=8
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, NORMAL_COMPLETION
umass0: start xfer buffer=0xc7591d28 buflen=8 flags=0x5 timeout=23107
umass0: Handling CBI state 11 (CBI Data), xfer=0xc0585300, NORMAL_COMPLETION
umass0: CBI_DATA actlen=8
umass0: 0x 00000b3f00000200 buffer=0xc7591d28, buflen=8
umass_scsipi_cb: xs=0xc0515128 residue=0 status=1
umass0: umass_cbi_transfer cmd=0x03, len=32
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, NORMAL_COMPLETION
umass0: start xfer buffer=0xc0515184 buflen=32 flags=0x5 timeout=23107
umass0: Handling CBI state 11 (CBI Data), xfer=0xc0585300, NORMAL_COMPLETION
umass0: CBI_DATA actlen=18
umass0: 0x 700000000000000a0000000000000000 buffer=0xc0515184, buflen=18
umass0: 0x 0000
umass_scsipi_sense_cb: xs=0xc0515128 residue=14 status=1
umass_scsipi_sense_cb: return xs->error=1, xs->xs_status=0x1 xs->resid=0
umass0: umass_scsi_cmd:  1:0 xs=0xc0515128 cmd=0x08 (quirks=0x1010, poll=0)
umass_scsi_cmd: async dir=1, cmdlen=12 datalen=512
umass0: umass_cbi_transfer cmd=0x08, len=512
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, STALLED
umass0: Command Transport failed
umass_scsipi_cb: xs=0xc0515128 residue=512 status=2
umass0: umass_cbi_transfer cmd=0x03, len=32
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, NORMAL_COMPLETION
umass0: start xfer buffer=0xc0515184 buflen=32 flags=0x5 timeout=23107
umass0: Handling CBI state 11 (CBI Data), xfer=0xc0585300, NORMAL_COMPLETION
umass0: CBI_DATA actlen=18
umass0: 0x 700000000000000a0000000000000000 buffer=0xc0515184, buflen=18
umass0: 0x 0000
umass_scsipi_sense_cb: xs=0xc0515128 residue=14 status=1
umass_scsipi_sense_cb: return xs->error=1, xs->xs_status=0x1 xs->resid=512
umass0: umass_scsi_cmd:  1:0 xs=0xc0515128 cmd=0x08 (quirks=0x1010, poll=0)
umass_scsi_cmd: async dir=1, cmdlen=12 datalen=512
umass0: umass_cbi_transfer cmd=0x08, len=512
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, STALLED
umass0: Command Transport failed
umass_scsipi_cb: xs=0xc0515128 residue=512 status=2
umass0: umass_cbi_transfer cmd=0x03, len=32
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, NORMAL_COMPLETION
umass0: start xfer buffer=0xc0515184 buflen=32 flags=0x5 timeout=23107
umass0: Handling CBI state 11 (CBI Data), xfer=0xc0585300, NORMAL_COMPLETION
umass0: CBI_DATA actlen=18
umass0: 0x 700000000000000a0000000000000000 buffer=0xc0515184, buflen=18
umass0: 0x 0000
umass_scsipi_sense_cb: xs=0xc0515128 residue=14 status=1
umass_scsipi_sense_cb: return xs->error=1, xs->xs_status=0x1 xs->resid=512
sd2: no disk label
umass0: umass_scsi_cmd:  1:0 xs=0xc0515128 cmd=0x08 (quirks=0x1010, poll=0)
umass_scsi_cmd: async dir=1, cmdlen=12 datalen=512
umass0: umass_cbi_transfer cmd=0x08, len=512
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, STALLED
umass0: Command Transport failed
umass_scsipi_cb: xs=0xc0515128 residue=512 status=2
umass0: umass_cbi_transfer cmd=0x03, len=32
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, NORMAL_COMPLETION
umass0: start xfer buffer=0xc0515184 buflen=32 flags=0x5 timeout=23107
umass0: Handling CBI state 11 (CBI Data), xfer=0xc0585300, NORMAL_COMPLETION
umass0: CBI_DATA actlen=18
umass0: 0x 700000000000000a0000000000000000 buffer=0xc0515184, buflen=18
umass0: 0x 0000
umass_scsipi_sense_cb: xs=0xc0515128 residue=14 status=1
umass_scsipi_sense_cb: return xs->error=1, xs->xs_status=0x1 xs->resid=512
umass0: umass_scsi_cmd:  1:0 xs=0xc0515128 cmd=0x1e (quirks=0x1010, poll=0)
umass_scsi_cmd: async dir=0, cmdlen=12 datalen=0
umass0: umass_cbi_transfer cmd=0x1e, len=0
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, NORMAL_COMPLETION
umass0: no data phase
umass_scsipi_cb: xs=0xc0515128 residue=0 status=1
umass0: umass_cbi_transfer cmd=0x03, len=32
umass0: Handling CBI state 10 (CBI Command), xfer=0xc04f0300, NORMAL_COMPLETION
umass0: start xfer buffer=0xc0515184 buflen=32 flags=0x5 timeout=23107
umass0: Handling CBI state 11 (CBI Data), xfer=0xc0585300, NORMAL_COMPLETION
umass0: CBI_DATA actlen=18
umass0: 0x 700000000000000a0000000000000000 buffer=0xc0515184, buflen=18
umass0: 0x 0000
umass_scsipi_sense_cb: xs=0xc0515128 residue=14 status=1
umass_scsipi_sense_cb: return xs->error=1, xs->xs_status=0x1 xs->resid=0

>Fix:

Unknown.  The USB commands do not seem to make it down the pipe.
>Release-Note:
>Audit-Trail:
>Unformatted: