Provided by: freebsd-manpages_8.2-1_all bug

NAME

     usb_quirk -- USB quirks module

SYNOPSIS

     To compile this module into the kernel, place the following line in your
     kernel configuration file:

           device ucom

     Alternatively, to load the module at boot time, place the following line
     in loader.conf(5):

           usb_quirk_load="YES"

DESCRIPTION

     The usb_quirk module provides support for dynamically adding and removing
     quirks for USB devices with usbconfig(5).

General quirks:

     UQ_AUDIO_SWAP_LR
             swap left and right channels

     UQ_AU_INP_ASYNC
             input is async despite claim of adaptive

     UQ_AU_NO_FRAC
             don't adjust for fractional samples

     UQ_AU_NO_XU
             audio device has broken extension unit

     UQ_BAD_ADC
             bad audio spec version number

     UQ_BAD_AUDIO
             device claims audio class, but isn't

     UQ_BROKEN_BIDIR
             printer has broken bidir mode

     UQ_BUS_POWERED
             device is bus powered, despite claim

     UQ_HID_IGNORE
             device should be ignored by hid class

     UQ_KBD_IGNORE
             device should be ignored by kbd class

     UQ_KBD_BOOTPROTO
             device should set the boot protocol

     UQ_MS_BAD_CLASS
             doesn't identify properly

     UQ_MS_LEADING_BYTE
             mouse sends an unknown leading byte

     UQ_MS_REVZ
             mouse has Z-axis reversed

     UQ_NO_STRINGS
             string descriptors are broken

     UQ_OPEN_CLEARSTALL
             device needs clear endpoint stall

     UQ_POWER_CLAIM
             hub lies about power status

     UQ_SPUR_BUT_UP
             spurious mouse button up events

     UQ_SWAP_UNICODE
             has some Unicode strings swapped

     UQ_CFG_INDEX_1
             select configuration index 1 by default

     UQ_CFG_INDEX_2
             select configuration index 2 by default

     UQ_CFG_INDEX_3
             select configuration index 3 by default

     UQ_CFG_INDEX_4
             select configuration index 4 by default

     UQ_CFG_INDEX_0
             select configuration index 0 by default

     UQ_ASSUME_CM_OVER_DATA
             assume cm over data feature

USB Mass Storage Quirks

     UQ_MSC_NO_TEST_UNIT_READY
             send start/stop instead of TUR

     UQ_MSC_NO_RS_CLEAR_UA
             does not reset Unit Att.

     UQ_MSC_NO_START_STOP
             does not support start/stop

     UQ_MSC_NO_GETMAXLUN
             does not support get max LUN

     UQ_MSC_NO_INQUIRY
             fake generic inq response

     UQ_MSC_NO_INQUIRY_EVPD
             does not support inq EVPD

     UQ_MSC_NO_SYNC_CACHE
             does not support sync cache

     UQ_MSC_SHUTTLE_INIT
             requires Shuttle init sequence

     UQ_MSC_ALT_IFACE_1
             switch to alternate interface 1

     UQ_MSC_FLOPPY_SPEED
             does floppy speeds (20kb/s)

     UQ_MSC_IGNORE_RESIDUE
             gets residue wrong

     UQ_MSC_WRONG_CSWSIG
             uses wrong CSW signature

     UQ_MSC_RBC_PAD_TO_12
             pad RBC requests to 12 bytes

     UQ_MSC_READ_CAP_OFFBY1
             reports sector count, not max sec.

     UQ_MSC_FORCE_SHORT_INQ
             does not support full inq.

     UQ_MSC_FORCE_WIRE_BBB
             force BBB wire protocol

     UQ_MSC_FORCE_WIRE_CBI
             force CBI wire protocol

     UQ_MSC_FORCE_WIRE_CBI_I
             force CBI with int. wire protocol

     UQ_MSC_FORCE_PROTO_SCSI
             force SCSI command protocol

     UQ_MSC_FORCE_PROTO_ATAPI
             force ATAPI command protocol

     UQ_MSC_FORCE_PROTO_UFI
             force UFI command protocol

     UQ_MSC_FORCE_PROTO_RBC
             force RBC command protocol

Mass Storage Change (u3g) quirks:

     UQ_MSC_EJECT_HUAWEI
             ejects after Huawei USB command

     UQ_MSC_EJECT_SIERRA
             ejects after Sierra USB command

     UQ_MSC_EJECT_SCSIEJECT
             ejects after SCSI eject command 0x1b0000000200

     UQ_MSC_EJECT_REZERO
             ejects after SCSI rezero command 0x010000000000

     UQ_MSC_EJECT_ZTESTOR
             ejects after ZTE SCSI command 0x850101011801010101010000

     UQ_MSC_EJECT_CMOTECH
             ejects after C-motech SCSI command 0xff52444556434847

     UQ_MSC_EJECT_WAIT
             wait for the device to eject

     UQ_MSC_EJECT_SAEL_M460
             ejects after Sael USB commands

     UQ_MSC_EJECT_HUAWEISCSI
             ejects after Huawei SCSI command
             0x11060000000000000000000000000000

     UQ_MSC_EJECT_TCT
             ejects after TCT SCSI command 0x06f504025270
     See /sys/dev/usb/quirk/usb_quirk.h for the complete list of supported
     quirks.

EXAMPLES

     After attaching a u3g device which appears as a USB device on ugen0.3:

           usbconfig -d ugen0.3 add_quirk UQ_MSC_EJECT_WAIT

SEE ALSO

     usb_quirk(4), usbconfig(5)

HISTORY

     The usb_quirk module appeared in FreeBSD 8.0, and was written by Hans
     Petter Selasky <hselasky@FreeBSD.org>.  This manual page was written by
     Nick Hibma <n_hibma@FreeBSD.org>.