"Big Problem" with removable media

Hans Petter Selasky hselasky at c2i.net
Fri Mar 20 02:20:21 PDT 2009


On Thursday 19 March 2009, Nicolas wrote:
> Hi,
>
> I'm using FreeBSD 8-Current (as of today) and when i plug my samsung
> omnia, i have this message:
>
> ugen7.7: <SAMSUNG> at usbus7
> umass1: <SAMSUNG SGH-i900, class 0/0, rev 2.00/0.00, addr 7> on usbus7
> umass1:  SCSI over Bulk-Only; quirks = 0x0000
> umass1:3:1:-1: Attached to scbus3
> da1 at umass-sim1 bus 1 target 0 lun 0
> da1: <  > Removable Direct Access SCSI-0 device
> da1: 40.000MB/s transfers
> da1: 7680MB (15728640 512 byte sectors: 255H 63S/T 979C)
> GEOM: da1: partition 1 does not start on a track boundary.
> GEOM: da1: partition 1 does not end on a track boundary.
> (da1:umass-sim1:1:0:0): Synchronize cache failed, status == 0x4, scsi

^^^^ looks like your mass storage device needs a quirk.

<cite>

You can try sysutils/kdpatch to patch the quirks table for
umass. As far as I can tell the table has the same format
in usb2 and usb1 so the following should work:

kldpatch umass.ko - @0 0x10d6 0x0000xxxx 0xffffffff 0x0201 0x4200

(replace xxxx with the usb product id for your device).
0x201 means use ATAPI commands over BBB protocol which is what
      your messages say. Perhaps 0x101 also works here.

0x4000 means the following:
        /* Device cannot handle a SCSI synchronize cache command.  Normally
         * this quirk would be handled in the cam layer, but for IDE bridges
         * we need to associate the quirk with the bridge and not the
         * underlying disk device.  This is handled by faking a success 
result.
         */
        #       define NO_SYNCHRONIZE_CACHE     0x4000

you may have to play with different flags and quirks to make the
thing work.

        cheers
        luigi

</cite>

--HPS


More information about the freebsd-usb mailing list