netinet{,6}: Assert in{,6}_inithead() are only used for system routing tables.
[dragonfly.git] / share / man / man4 / usb_quirk.4
1 .\"
2 .\" Copyright (c) 2010 AnyWi Technologies
3 .\" All rights reserved.
4 .\"
5 .\" Permission to use, copy, modify, and distribute this software for any
6 .\" purpose with or without fee is hereby granted, provided that the above
7 .\" copyright notice and this permission notice appear in all copies.
8 .\"
9 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 .\"
17 .\" $FreeBSD: head/share/man/man4/usb_quirk.4 267938 2014-06-26 21:46:14Z bapt $
18 .\"
19 .Dd January 10, 2015
20 .Dt USB_QUIRK 4
21 .Os
22 .Sh NAME
23 .Nm usb_quirk
24 .Nd USB quirks module
25 .Sh SYNOPSIS
26 To compile this module into the kernel,
27 place the following line in your
28 kernel configuration file:
29 .Bd -ragged -offset indent
30 .Cd "device usb"
31 .Ed
32 .Pp
33 Alternatively, to load the module at boot
34 time, place the following line in
35 .Xr loader.conf 5 :
36 .Bd -literal -offset indent
37 usb_quirk_load="YES"
38 .Ed
39 .Sh DESCRIPTION
40 The
41 .Nm
42 module provides support for dynamically adding and removing quirks for
43 USB devices with
44 .Xr usbconfig 8 .
45 .Sh General quirks:
46 .Bl -tag -width Ds
47 .It UQ_AUDIO_SWAP_LR
48 swap left and right channels
49 .It UQ_AU_INP_ASYNC
50 input is async despite claim of adaptive
51 .It UQ_AU_NO_FRAC
52 do not adjust for fractional samples
53 .It UQ_AU_NO_XU
54 audio device has broken extension unit
55 .It UQ_BAD_ADC
56 bad audio spec version number
57 .It UQ_BAD_AUDIO
58 device claims audio class, but is not
59 .It UQ_BROKEN_BIDIR
60 printer has broken bidir mode
61 .It UQ_BUS_POWERED
62 device is bus powered, despite claim
63 .It UQ_HID_IGNORE
64 device should be ignored by hid class
65 .It UQ_KBD_IGNORE
66 device should be ignored by kbd class
67 .It UQ_KBD_BOOTPROTO
68 device should set the boot protocol
69 .It UQ_UMS_IGNORE
70 device should be ignored by ums class
71 .It UQ_MS_BAD_CLASS
72 does not identify properly
73 .It UQ_MS_LEADING_BYTE
74 mouse sends an unknown leading byte
75 .It UQ_MS_REVZ
76 mouse has Z-axis reversed
77 .It UQ_NO_STRINGS
78 string descriptors are broken
79 .It UQ_POWER_CLAIM
80 hub lies about power status
81 .It UQ_SPUR_BUT_UP
82 spurious mouse button up events
83 .It UQ_SWAP_UNICODE
84 has some Unicode strings swapped
85 .It UQ_CFG_INDEX_1
86 select configuration index 1 by default
87 .It UQ_CFG_INDEX_2
88 select configuration index 2 by default
89 .It UQ_CFG_INDEX_3
90 select configuration index 3 by default
91 .It UQ_CFG_INDEX_4
92 select configuration index 4 by default
93 .It UQ_CFG_INDEX_0
94 select configuration index 0 by default
95 .It UQ_ASSUME_CM_OVER_DATA
96 assume cm over data feature
97 .El
98 .Sh USB Mass Storage quirks:
99 .Bl -tag -width Ds
100 .It UQ_MSC_NO_TEST_UNIT_READY
101 send start/stop instead of TUR
102 .It UQ_MSC_NO_RS_CLEAR_UA
103 does not reset Unit Att.
104 .It UQ_MSC_NO_START_STOP
105 does not support start/stop
106 .It UQ_MSC_NO_GETMAXLUN
107 does not support get max LUN
108 .It UQ_MSC_NO_INQUIRY
109 fake generic inq response
110 .It UQ_MSC_NO_INQUIRY_EVPD
111 does not support inq EVPD
112 .It UQ_MSC_NO_SYNC_CACHE
113 does not support sync cache
114 .It UQ_MSC_SHUTTLE_INIT
115 requires Shuttle init sequence
116 .It UQ_MSC_ALT_IFACE_1
117 switch to alternate interface 1
118 .It UQ_MSC_FLOPPY_SPEED
119 does floppy speeds (20kb/s)
120 .It UQ_MSC_IGNORE_RESIDUE
121 gets residue wrong
122 .It UQ_MSC_WRONG_CSWSIG
123 uses wrong CSW signature
124 .It UQ_MSC_RBC_PAD_TO_12
125 pad RBC requests to 12 bytes
126 .It UQ_MSC_READ_CAP_OFFBY1
127 reports sector count, not max sec.
128 .It UQ_MSC_FORCE_SHORT_INQ
129 does not support full inq.
130 .It UQ_MSC_FORCE_WIRE_BBB
131 force BBB wire protocol
132 .It UQ_MSC_FORCE_WIRE_CBI
133 force CBI wire protocol
134 .It UQ_MSC_FORCE_WIRE_CBI_I
135 force CBI with int. wire protocol
136 .It UQ_MSC_FORCE_PROTO_SCSI
137 force SCSI command protocol
138 .It UQ_MSC_FORCE_PROTO_ATAPI
139 force ATAPI command protocol
140 .It UQ_MSC_FORCE_PROTO_UFI
141 force UFI command protocol
142 .It UQ_MSC_FORCE_PROTO_RBC
143 force RBC command protocol
144 .El
145 .Sh 3G Datacard (u3g) quirks:
146 .Bl -tag -width Ds
147 .It UQ_MSC_EJECT_HUAWEI
148 ejects after Huawei USB command
149 .It UQ_MSC_EJECT_SIERRA
150 ejects after Sierra USB command
151 .It UQ_MSC_EJECT_SCSIEJECT
152 ejects after SCSI eject command
153 .Dv 0x1b0000000200
154 .It UQ_MSC_EJECT_REZERO
155 ejects after SCSI rezero command
156 .Dv 0x010000000000
157 .It UQ_MSC_EJECT_ZTESTOR
158 ejects after ZTE SCSI command
159 .Dv 0x850101011801010101010000
160 .It UQ_MSC_EJECT_CMOTECH
161 ejects after C-motech SCSI command
162 .Dv 0xff52444556434847
163 .It UQ_MSC_EJECT_WAIT
164 wait for the device to eject
165 .It UQ_MSC_EJECT_SAEL_M460
166 ejects after Sael USB commands
167 .It UQ_MSC_EJECT_HUAWEISCSI
168 ejects after Huawei SCSI command
169 .Dv 0x11060000000000000000000000000000
170 .It UQ_MSC_EJECT_TCT
171 ejects after TCT SCSI command
172 .Dv 0x06f504025270
173 .El
174 .Pp
175 See
176 .Pa /sys/dev/usb/quirk/usb_quirk.h
177 for the complete list of supported quirks.
178 .Sh EXAMPLES
179 After attaching a
180 .Nm u3g
181 device which appears as a USB device on
182 .Pa ugen0.3 :
183 .Bd -literal -offset indent
184 usbconfig -d ugen0.3 add_quirk UQ_MSC_EJECT_WAIT
185 .Ed
186 .Sh SEE ALSO
187 .Xr usbconfig 8
188 .Sh HISTORY
189 The
190 .Nm
191 module appeared in
192 .Fx 8.0 ,
193 and was written by
194 .An Hans Petter Selasky Aq Mt hselasky@FreeBSD.org .
195 This manual page was written by
196 .An Nick Hibma Aq Mt n_hibma@FreeBSD.org .