xref: /freebsd/share/man/man4/usb_quirk.4 (revision 415bcd89a6a1482e3454206bf59a3def0f6f8943)
10ea0127aSNick Hibma.\"
20ea0127aSNick Hibma.\" Copyright (c) 2010 AnyWi Technologies
30ea0127aSNick Hibma.\" All rights reserved.
40ea0127aSNick Hibma.\"
50ea0127aSNick Hibma.\" Permission to use, copy, modify, and distribute this software for any
60ea0127aSNick Hibma.\" purpose with or without fee is hereby granted, provided that the above
70ea0127aSNick Hibma.\" copyright notice and this permission notice appear in all copies.
80ea0127aSNick Hibma.\"
90ea0127aSNick Hibma.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
100ea0127aSNick Hibma.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
110ea0127aSNick Hibma.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
120ea0127aSNick Hibma.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
130ea0127aSNick Hibma.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
140ea0127aSNick Hibma.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
150ea0127aSNick Hibma.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
160ea0127aSNick Hibma.\"
170ea0127aSNick Hibma.\" $FreeBSD$
180ea0127aSNick Hibma.\"
19*415bcd89SHans Petter Selasky.Dd May 7, 2015
200ea0127aSNick Hibma.Dt USB_QUIRK 4
210ea0127aSNick Hibma.Os
220ea0127aSNick Hibma.Sh NAME
230ea0127aSNick Hibma.Nm usb_quirk
240ea0127aSNick Hibma.Nd USB quirks module
250ea0127aSNick Hibma.Sh SYNOPSIS
260ea0127aSNick HibmaTo compile this module into the kernel,
270ea0127aSNick Hibmaplace the following line in your
280ea0127aSNick Hibmakernel configuration file:
290ea0127aSNick Hibma.Bd -ragged -offset indent
30d4bb04f6SHans Petter Selasky.Cd "device usb"
310ea0127aSNick Hibma.Ed
320ea0127aSNick Hibma.Pp
330ea0127aSNick HibmaAlternatively, to load the module at boot
340ea0127aSNick Hibmatime, place the following line in
350ea0127aSNick Hibma.Xr loader.conf 5 :
360ea0127aSNick Hibma.Bd -literal -offset indent
370ea0127aSNick Hibmausb_quirk_load="YES"
380ea0127aSNick Hibma.Ed
390ea0127aSNick Hibma.Sh DESCRIPTION
400ea0127aSNick HibmaThe
410ea0127aSNick Hibma.Nm
420ea0127aSNick Hibmamodule provides support for dynamically adding and removing quirks for
430ea0127aSNick HibmaUSB devices with
44814b16baSGlen Barber.Xr usbconfig 8 .
450ea0127aSNick Hibma.Sh General quirks:
460ea0127aSNick Hibma.Bl -tag -width Ds
470ea0127aSNick Hibma.It UQ_AUDIO_SWAP_LR
480ea0127aSNick Hibmaswap left and right channels
490ea0127aSNick Hibma.It UQ_AU_INP_ASYNC
500ea0127aSNick Hibmainput is async despite claim of adaptive
510ea0127aSNick Hibma.It UQ_AU_NO_FRAC
521efb0053SChristian Bruefferdo not adjust for fractional samples
530ea0127aSNick Hibma.It UQ_AU_NO_XU
540ea0127aSNick Hibmaaudio device has broken extension unit
550ea0127aSNick Hibma.It UQ_BAD_ADC
560ea0127aSNick Hibmabad audio spec version number
570ea0127aSNick Hibma.It UQ_BAD_AUDIO
581efb0053SChristian Bruefferdevice claims audio class, but is not
590ea0127aSNick Hibma.It UQ_BROKEN_BIDIR
600ea0127aSNick Hibmaprinter has broken bidir mode
610ea0127aSNick Hibma.It UQ_BUS_POWERED
620ea0127aSNick Hibmadevice is bus powered, despite claim
630ea0127aSNick Hibma.It UQ_HID_IGNORE
640ea0127aSNick Hibmadevice should be ignored by hid class
650ea0127aSNick Hibma.It UQ_KBD_IGNORE
660ea0127aSNick Hibmadevice should be ignored by kbd class
670ea0127aSNick Hibma.It UQ_KBD_BOOTPROTO
680ea0127aSNick Hibmadevice should set the boot protocol
69d7dd1341SHans Petter Selasky.It UQ_UMS_IGNORE
70d7dd1341SHans Petter Selaskydevice should be ignored by ums class
710ea0127aSNick Hibma.It UQ_MS_BAD_CLASS
721efb0053SChristian Bruefferdoes not identify properly
730ea0127aSNick Hibma.It UQ_MS_LEADING_BYTE
740ea0127aSNick Hibmamouse sends an unknown leading byte
750ea0127aSNick Hibma.It UQ_MS_REVZ
760ea0127aSNick Hibmamouse has Z-axis reversed
770ea0127aSNick Hibma.It UQ_NO_STRINGS
780ea0127aSNick Hibmastring descriptors are broken
790ea0127aSNick Hibma.It UQ_POWER_CLAIM
800ea0127aSNick Hibmahub lies about power status
810ea0127aSNick Hibma.It UQ_SPUR_BUT_UP
820ea0127aSNick Hibmaspurious mouse button up events
830ea0127aSNick Hibma.It UQ_SWAP_UNICODE
840ea0127aSNick Hibmahas some Unicode strings swapped
850ea0127aSNick Hibma.It UQ_CFG_INDEX_1
860ea0127aSNick Hibmaselect configuration index 1 by default
870ea0127aSNick Hibma.It UQ_CFG_INDEX_2
880ea0127aSNick Hibmaselect configuration index 2 by default
890ea0127aSNick Hibma.It UQ_CFG_INDEX_3
900ea0127aSNick Hibmaselect configuration index 3 by default
910ea0127aSNick Hibma.It UQ_CFG_INDEX_4
920ea0127aSNick Hibmaselect configuration index 4 by default
930ea0127aSNick Hibma.It UQ_CFG_INDEX_0
940ea0127aSNick Hibmaselect configuration index 0 by default
950ea0127aSNick Hibma.It UQ_ASSUME_CM_OVER_DATA
960ea0127aSNick Hibmaassume cm over data feature
970ea0127aSNick Hibma.El
982310f718SDavid Malone.Sh USB Mass Storage quirks:
990ea0127aSNick Hibma.Bl -tag -width Ds
1000ea0127aSNick Hibma.It UQ_MSC_NO_TEST_UNIT_READY
1010ea0127aSNick Hibmasend start/stop instead of TUR
1020ea0127aSNick Hibma.It UQ_MSC_NO_RS_CLEAR_UA
1030ea0127aSNick Hibmadoes not reset Unit Att.
1040ea0127aSNick Hibma.It UQ_MSC_NO_START_STOP
1050ea0127aSNick Hibmadoes not support start/stop
1060ea0127aSNick Hibma.It UQ_MSC_NO_GETMAXLUN
1070ea0127aSNick Hibmadoes not support get max LUN
1080ea0127aSNick Hibma.It UQ_MSC_NO_INQUIRY
1090ea0127aSNick Hibmafake generic inq response
1100ea0127aSNick Hibma.It UQ_MSC_NO_INQUIRY_EVPD
1110ea0127aSNick Hibmadoes not support inq EVPD
1120ea0127aSNick Hibma.It UQ_MSC_NO_SYNC_CACHE
1130ea0127aSNick Hibmadoes not support sync cache
1140ea0127aSNick Hibma.It UQ_MSC_SHUTTLE_INIT
1150ea0127aSNick Hibmarequires Shuttle init sequence
1160ea0127aSNick Hibma.It UQ_MSC_ALT_IFACE_1
1170ea0127aSNick Hibmaswitch to alternate interface 1
1180ea0127aSNick Hibma.It UQ_MSC_FLOPPY_SPEED
1190ea0127aSNick Hibmadoes floppy speeds (20kb/s)
1200ea0127aSNick Hibma.It UQ_MSC_IGNORE_RESIDUE
1210ea0127aSNick Hibmagets residue wrong
1220ea0127aSNick Hibma.It UQ_MSC_WRONG_CSWSIG
1230ea0127aSNick Hibmauses wrong CSW signature
1240ea0127aSNick Hibma.It UQ_MSC_RBC_PAD_TO_12
1250ea0127aSNick Hibmapad RBC requests to 12 bytes
1260ea0127aSNick Hibma.It UQ_MSC_READ_CAP_OFFBY1
1270ea0127aSNick Hibmareports sector count, not max sec.
1280ea0127aSNick Hibma.It UQ_MSC_FORCE_SHORT_INQ
1290ea0127aSNick Hibmadoes not support full inq.
1300ea0127aSNick Hibma.It UQ_MSC_FORCE_WIRE_BBB
1310ea0127aSNick Hibmaforce BBB wire protocol
1320ea0127aSNick Hibma.It UQ_MSC_FORCE_WIRE_CBI
1330ea0127aSNick Hibmaforce CBI wire protocol
1340ea0127aSNick Hibma.It UQ_MSC_FORCE_WIRE_CBI_I
1350ea0127aSNick Hibmaforce CBI with int. wire protocol
1360ea0127aSNick Hibma.It UQ_MSC_FORCE_PROTO_SCSI
1370ea0127aSNick Hibmaforce SCSI command protocol
1380ea0127aSNick Hibma.It UQ_MSC_FORCE_PROTO_ATAPI
1390ea0127aSNick Hibmaforce ATAPI command protocol
1400ea0127aSNick Hibma.It UQ_MSC_FORCE_PROTO_UFI
1410ea0127aSNick Hibmaforce UFI command protocol
1420ea0127aSNick Hibma.It UQ_MSC_FORCE_PROTO_RBC
1430ea0127aSNick Hibmaforce RBC command protocol
1440ea0127aSNick Hibma.El
1452310f718SDavid Malone.Sh 3G Datacard (u3g) quirks:
1460ea0127aSNick Hibma.Bl -tag -width Ds
1470ea0127aSNick Hibma.It UQ_MSC_EJECT_HUAWEI
1480ea0127aSNick Hibmaejects after Huawei USB command
1490ea0127aSNick Hibma.It UQ_MSC_EJECT_SIERRA
1500ea0127aSNick Hibmaejects after Sierra USB command
1510ea0127aSNick Hibma.It UQ_MSC_EJECT_SCSIEJECT
1520ea0127aSNick Hibmaejects after SCSI eject command
1531efb0053SChristian Brueffer.Dv 0x1b0000000200
1540ea0127aSNick Hibma.It UQ_MSC_EJECT_REZERO
1550ea0127aSNick Hibmaejects after SCSI rezero command
1561efb0053SChristian Brueffer.Dv 0x010000000000
1570ea0127aSNick Hibma.It UQ_MSC_EJECT_ZTESTOR
1580ea0127aSNick Hibmaejects after ZTE SCSI command
1591efb0053SChristian Brueffer.Dv 0x850101011801010101010000
1600ea0127aSNick Hibma.It UQ_MSC_EJECT_CMOTECH
1610ea0127aSNick Hibmaejects after C-motech SCSI command
1621efb0053SChristian Brueffer.Dv 0xff52444556434847
1630ea0127aSNick Hibma.It UQ_MSC_EJECT_WAIT
1640ea0127aSNick Hibmawait for the device to eject
1650ea0127aSNick Hibma.It UQ_MSC_EJECT_SAEL_M460
1660ea0127aSNick Hibmaejects after Sael USB commands
1670ea0127aSNick Hibma.It UQ_MSC_EJECT_HUAWEISCSI
1680ea0127aSNick Hibmaejects after Huawei SCSI command
1691efb0053SChristian Brueffer.Dv 0x11060000000000000000000000000000
1700ea0127aSNick Hibma.It UQ_MSC_EJECT_TCT
1710ea0127aSNick Hibmaejects after TCT SCSI command
1721efb0053SChristian Brueffer.Dv 0x06f504025270
173*415bcd89SHans Petter Selasky.It UQ_MSC_DYMO_EJECT
174*415bcd89SHans Petter Selaskyejects after HID command
175*415bcd89SHans Petter Selasky.Dv 0x1b5a01
1760ea0127aSNick Hibma.El
1771efb0053SChristian Brueffer.Pp
1780ea0127aSNick HibmaSee
1790ea0127aSNick Hibma.Pa /sys/dev/usb/quirk/usb_quirk.h
1800ea0127aSNick Hibmafor the complete list of supported quirks.
1810ea0127aSNick Hibma.Sh EXAMPLES
1820ea0127aSNick HibmaAfter attaching a
1830ea0127aSNick Hibma.Nm u3g
1840ea0127aSNick Hibmadevice which appears as a USB device on
1850ea0127aSNick Hibma.Pa ugen0.3 :
1860ea0127aSNick Hibma.Bd -literal -offset indent
1870ea0127aSNick Hibmausbconfig -d ugen0.3 add_quirk UQ_MSC_EJECT_WAIT
1880ea0127aSNick Hibma.Ed
1890ea0127aSNick Hibma.Sh SEE ALSO
190814b16baSGlen Barber.Xr usbconfig 8
1910ea0127aSNick Hibma.Sh HISTORY
1920ea0127aSNick HibmaThe
1930ea0127aSNick Hibma.Nm
1940ea0127aSNick Hibmamodule appeared in
1950ea0127aSNick Hibma.Fx 8.0 ,
1960ea0127aSNick Hibmaand was written by
1976c899950SBaptiste Daroussin.An Hans Petter Selasky Aq Mt hselasky@FreeBSD.org .
1980ea0127aSNick HibmaThis manual page was written by
1996c899950SBaptiste Daroussin.An Nick Hibma Aq Mt n_hibma@FreeBSD.org .
200