# USB Buffalo external drive - quirk needed?



## boris_net (Feb 17, 2010)

Hello all,

I have got the following output while connecting an external USB drive - BUFFALO - on a freshly installed 8.0-RELEASE amd64.

```
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <BUFFALO External HDD > Fixed Direct Access SCSI-2 device 
da0: 40.000MB/s transfers
da0: Attempt to query device size failed: ILLEGAL REQUEST, Invalid command operation
(da0:umass-sim0:0:0:0): SERVICE ACTION IN(16). CDB: 9e 10 0 0 0 0 0 0 0 0 0 0 0 c 0 0 
(da0:umass-sim0:0:0:0): CAM Status: SCSI Status Error
(da0:umass-sim0:0:0:0): SCSI Status: Check Condition
(da0:umass-sim0:0:0:0): ILLEGAL REQUEST asc:20,0
(da0:umass-sim0:0:0:0): Invalid command operation code
(da0:umass-sim0:0:0:0): Unretryable error
(da0:umass-sim0:0:0:0): SERVICE ACTION IN(16). CDB: 9e 10 0 0 0 0 0 0 0 0 0 0 0 c 0 0 
(da0:umass-sim0:0:0:0): CAM Status: SCSI Status Error
(da0:umass-sim0:0:0:0): SCSI Status: Check Condition
(da0:umass-sim0:0:0:0): ILLEGAL REQUEST asc:20,0
(da0:umass-sim0:0:0:0): Invalid command operation code
(da0:umass-sim0:0:0:0): Unretryable error
```

So I checked and found the following wiki:

http://wiki.freebsd.org/USB

 but I am not sure how to use the following output:


```
ugen3.2: <USB-SATA Bridge BUFFALO> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x0000 
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x0411 
  idProduct = 0x0105 
  bcdDevice = 0x0300 
  iManufacturer = 0x0001  <BUFFALO>
  iProduct = 0x0002  <USB-SATA Bridge>
  iSerialNumber = 0x0005  <0000201C51FA>
  bNumConfigurations = 0x0001
```

Problem is I cannot find the quirktable stated in point 5 of the wiki page:

# 5) Try adding an entry in the quirktable in /sys/dev/usb2/storage/umass2.c

I can see sys/dev/usb/quirk/usr_quirk.c but then I am not sure how to define my new quirk especially how to choose the quirk string to add.

I guess it should be something like this:


```
USB_QUIRK(BUFFALO,DRIVESTATION, 0x0411, 0x0105, ????????)
```

Could somebody advise what to use to replace the '????????'?

Thank you,

Boris


----------



## boris_net (Feb 20, 2010)

Nevermind. Got the quirk configured as per the umass.c source.

HDD is dead :-(

Boris


----------

