History log of /freebsd-current/sys/dev/usb/quirk/usb_quirk.c
Revision Date Author Comments
# 881ae768 19-Apr-2024 Ahmad Khalifa <ahmadkhalifa570@gmail.com>

usb: Remove uneeded revision verbosity from quirks list

Seperate usb quirks that target specific revisions from those that
dont. Alot of the quirks dont use lo_rev and hi_rev, so we can abstract
the 0x0000, 0xffff into a macro.

[[ This commit is a bit more churn than we like. I carefully reviewed
each one and they are all good. The end product is better -- imp ]]

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1153


# 64e05e90 19-Apr-2024 Ahmad Khalifa <ahmadkhalifa570@gmail.com>

usb: Fix quirks list

In some cases, the USB_QUIRK_VP macro was being misused. Instead of
setting quirks to the intended value, the first two supplied quirks
would go into lo_rev and hi_rev. Replace it with USB_QUIRK_VO which only
takes the needed args. This also makes the Dummy products, which where
being used to correctly set vendor only quirks, not necessary.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1153


# 970d7385 03-Dec-2023 Eugene Grosbein <eugen@FreeBSD.org>

usbdevs: add quirk for WD MyPassport Ultra External HDD

WD MyPassport Ultra External HDD needs quirk
UQ_MSC_NO_TEST_UNIT_READY to attach.

MFC after: 3 days


# 94efe9f9 10-Oct-2023 Mazin Fadl <mazen@illumed.net>

usb: add quirks for the Genesys GL3220 card reader

Without these, card hotplugging does not work on the GL3220.

PR: 263868
Fixes: 520b88860d7a79 ("usb(4): Automagically apply all quirks [...]")


# b332adfa 10-Oct-2023 Mazin Fadl <mazen@illumed.net>

usb: add necessary quirks for the NOREL Systems NS1081 SD reader

Without these, the Norelsys NS1081 is completely defunct.

PR: 263868
Fixes: 520b88860d7a79 ("usb(4): Automagically apply all quirks [...]")


# f17b69fd 11-Oct-2023 Poul-Henning Kamp <phk@FreeBSD.org>

Move (LENOVO, TBT3LAN) from if_ure til if_cdce where it works much better


# 71625ec9 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c comment pattern

Remove /^/[*/]\s*\$FreeBSD\$.*\n/


# b61a5730 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSD

The SPDX folks have obsoleted the BSD-2-Clause-NetBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# 8866ea61 21-Feb-2023 Cy Schubert <cy@FreeBSD.org>

usb: Add HID_IGNORE quirk for APC Smart-UPS1000

Without the HID_IGNORE quirk enabled it will appear to be a uhid device.

PR: 269729
MFC after: 1 week


# 64fd867f 16-Dec-2022 Michael Paepcke <fbsd@paepcke.de>

usb: add new scsi_huawei eject3 & eject4 quirks

Add new scsi_huawei eject3 & eject4 mode driver to usb quirks

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/633


# 8580e334 04-Nov-2022 Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>

umodem: ignore CDC_CM descriptor for baltech smartcard reader

The CDC_CM descriptor points to the wrong interface for serial port use.
Ignore it to use the CDC_UNION descriptor.

usbconfig dump (spec at: https://usb.org/sites/default/files/CDC1.2_WMC1.1_012011.zip):
ugen0.2: <Baltech AG Smartcard Reader> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (300mA)

bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x0000 <Probed by interface class>
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0040
idVendor = 0x13ad
idProduct = 0xf019
bcdDevice = 0x0100
iManufacturer = 0x0001 <Baltech AG>
iProduct = 0x0002 <Smartcard Reader>
iSerialNumber = 0x0003 <45031910>
bNumConfigurations = 0x0001

Configuration index 0

bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0064
bNumInterfaces = 0x0003
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x0080
bMaxPower = 0x0096

Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0003 <HID device>
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0000 <no string>

Additional Descriptor

bLength = 0x09
bDescriptorType = 0x21
bDescriptorSubType = 0x11
RAW dump:
0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0xd0,
0x08 | 0x00

Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0040
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000

Additional Descriptor

bLength = 0x08
bDescriptorType = 0x0b
bDescriptorSubType = 0x01
RAW dump:
0x00 | 0x08, 0x0b, 0x01, 0x02, 0x02, 0x02, 0x00, 0x00

Interface 1
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0001
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0002 <Communication device>
bInterfaceSubClass = 0x0002
bInterfaceProtocol = 0x0000
iInterface = 0x0000 <no string>

Additional Descriptor

bLength = 0x05
bDescriptorType = 0x24
bDescriptorSubType = 0x00
RAW dump:
0x00 | 0x05, 0x24, 0x00, 0x10, 0x01

Additional Descriptor

bLength = 0x04
bDescriptorType = 0x24
bDescriptorSubType = 0x02
RAW dump:
0x00 | 0x04, 0x24, 0x02, 0x00

Additional Descriptor

bLength = 0x05
bDescriptorType = 0x24
bDescriptorSubType = 0x06
RAW dump:
0x00 | 0x05, 0x24, 0x06, 0x01, 0x02

Additional Descriptor

bLength = 0x05
bDescriptorType = 0x24
bDescriptorSubType = 0x01
RAW dump:
0x00 | 0x05, 0x24, 0x01, 0x00, 0x01

Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0085 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0008
bInterval = 0x0010
bRefresh = 0x0000
bSynchAddress = 0x0000

Interface 2
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0002
bAlternateSetting = 0x0000
bNumEndpoints = 0x0002
bInterfaceClass = 0x000a <CDC-data>
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0000 <no string>

Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0086 <IN>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0040
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000

Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0006 <OUT>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0040
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000

Reviewed by: manu
MFC after: 1 week
Sponsored by: Beckhoff Automation GmbH & Co. KG
Differential Revision: https://reviews.freebsd.org/D37942


# 73c3e8b1 17-Jan-2023 Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>

umodem: add quirk to ignore CDC_CM descriptor

Some devices have CDC_CM descriptors that would point us to
the wrong interfaces. Add a quirk to ignore those (prefering the
CDC_UNION descriptor effectively)

Reviewed by: manu
MFC after: 1 week
Sponsored by: Beckhoff Automation GmbH & Co. KG
Differential Revision: https://reviews.freebsd.org/D37942


# ab4f740b 23-Dec-2022 Vladimir Kondratyev <wulf@FreeBSD.org>

ums(4): Disable vendor usage page button support

for all devices except Kensington Slimblade Trackball as it brokes
some other devices like Contour Rollermouse Red

Add a quirk for it as well.

Reported by: Atte Peltomäki <koston_AT_iki_DOT_fi>
PR: 267922
MFC after: 2 weeks


# b3b6a959 07-Sep-2022 Bjoern A. Zeeb <bz@FreeBSD.org>

USB: add 2 (3) more device IDs for rtw88-usb devices and a quirk

Add DLink DWA-182 rev D1 and generic Realtek RTW8821CU entry found on
a Tenda U10 USB WLAN Stick, AC 650 Mbps (and possibly more devices).
The latter first presents itself as a CD device with Windows drivers
(useless on FreeBSD) first so add a quirk for that we get the wireless
device right away.

MFC after: 2 weeks
While here sort some other Realtek entries by DeviceID.


# 0923ff82 26-Apr-2022 Kornel Duleba <mindal@semihalf.com>

Add USB ID and quirks for Huawei E3372

Set UQ_MSC_NO_INQUIRY and UQ_MSC_NO_GETMAXLUN quirks for mass storage,
which is the initial mode of this dongle.
The modem is shipped with at least two firmware versions: 10.X and 11.X,
without ability to update to the newer one.
The 11.X version works more or less fine, but the 10.X one resets after
receiving either an SCSI INQUIRY, or a get_max_lun command.
Since both of those are used for automatic quirk detection, this leads
to a reset cycle making the device somewhat unusable.

Sponsored by: Stormshield
Obtained from: Semihalf
Reviewed by: hps, wma
Differential Revision: https://reviews.freebsd.org/D35076


# 31e076d7 22-Mar-2022 Greg Lehey <grog@FreeBSD.org>

Add devices and quirks for some Olympus cameras.

Reviewed by: hps@
Fixes: Problems attaching Olympus cameras.
MFC after: 2 weeks


# 47bc8fc9 21-Apr-2021 Hans Petter Selasky <hselasky@FreeBSD.org>

Add more USB quirks for Kingston devices.

PR: 253855
MFC after: 1 week
Sponsored by: Mellanox Technologies // NVIDIA Networking


# 28af0c48 21-Apr-2021 Hans Petter Selasky <hselasky@FreeBSD.org>

Add more USB quirks for Garmin devices.
Sort the Garmin products while at it.

PR: 254664
MFC after: 1 week
Sponsored by: Mellanox Technologies // NVIDIA Networking


# ddf42202 18-Dec-2020 Jessica Clarke <jrtc27@FreeBSD.org>

usb: Replace ITUNERNET vendor with MICROCHIP and improve product names

These Mini-Box LCDs are using Microchip components and sub-licensed product
IDs. Whilst here, update the constant names and descriptions for the products
to use the names listed on the manufacturer's website rather than vague ones.
The picoLCD 4x20 is named that on the manufacturer's website so prefer that
name, even though linux-usb.org lists it with the numbers reversed as one might
expect.

Reviewed by: hselasky
Differential Revision: https://reviews.freebsd.org/D27670


# 9d2d0446 01-Dec-2020 Bjoern A. Zeeb <bz@FreeBSD.org>

USB umass: add quirk to not probe

Some USB WLAN devices have "on-board" storage showing up as umass
and making the root mount wait for a very long time.
The WLAN drivers know how to deal with that an issue an eject
command later when attaching themselves.
Introduce a quirk to not probe these devices as umass and avoid
hangs and confusion altogether.

Reviewed by: hselasky, imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D27434


# 6abe97c0 12-Nov-2020 Hans Petter Selasky <hselasky@FreeBSD.org>

Add more USB quirks.

PR: 230038
MFC after: 1 week
Sponsored by: Mellanox Technologies // NVIDIA Networking


# 22ab212f 18-Oct-2020 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

PR: 250422
Submitted by: vidwer+fbsdbugs@gmail.com
MFC after: 1 week
Sponsored by: Mellanox Technologies // NVIDIA Networking


# 9dd3156e 01-Sep-2020 Mateusz Guzik <mjg@FreeBSD.org>

usb: clean up empty lines in .c and .h files


# 2625e519 09-Jul-2019 Hiroki Sato <hrs@FreeBSD.org>

Add support for RTL8156, 2.5GbE USB network controller, to if_cdce(4).
This chip can be found in Planex USB-LAN2500R.


# d97d4331 22-Feb-2019 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

PR: 235897
MFC after: 1 week
Sponsored by: Mellanox Technologies


# 65564a5e 11-Feb-2019 Kevin Lo <kevlo@FreeBSD.org>

Remove duplicate vendor id in r334650. Intenso doesn't have a USB VID.


# 8824a2ed 28-Jan-2019 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

[usb] Add UQ_KBD_BOOTPROTO quirk for Corsair K68 keyboard

PR: 222114
Submitted by: Zane C. Bowers-Hadley <vvelox@vvelox.net>
MFC after: 1 week


# ee3da13f 25-Jan-2019 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

PR: 235202
Differential Revision: https://reviews.freebsd.org/D18917
MFC after: 1 week
Sponsored by: Mellanox Technologies


# 05d3471d 23-Jan-2019 Hans Petter Selasky <hselasky@FreeBSD.org>

Add USB quirk.

Submitted by: Gary Jennejohn <gljennjohn@gmail.com>
MFC after: 1 week
Sponsored by: Mellanox Technologies


# 30cef2b7 20-Jan-2019 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

Add KBD_BOOTPROTO quirk for Logitech G510s USB keyboard

PR: 232136
Submitted by: dgilbert@eicat.ca
MFC after: 1 week


# 03d9c6aa 18-Jan-2019 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

[usb] Add HID_IGNORE quirks for multiple UPS devices

Without HID_IGNORE quirk enabled these models appear in the system as a uhid
devices while NUT (Network UPS Tool) expects them to be ugen.

PR: 131521
Submitted by: Naoyuki Tai <ntai@smartfruit.com>, John Bayly <john.bayly@tipstrade.net>
MFC after: 1 week


# 284a8f6f 16-Jan-2019 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

[usb] Add quirk for SmartG2 USB memory key

PR: 167001
Submitted by: Daan Vreeken [PA4DAN] <Daan@vitsch.nl>
MFC after: 1 week


# f4dbf0d8 12-Jan-2019 Hans Petter Selasky <hselasky@FreeBSD.org>

snd_uaudio: Add quirks for Edirol UA-25EX in advanced driver mode.

Extend the vendor class USB audio quirk to cover devices without
the USB audio control descriptor.

PR: 234794
MFC after: 1 week
Sponsored by: Mellanox Technologies


# d60f35d9 08-Jan-2019 Warner Losh <imp@FreeBSD.org>

Add quirk for 128MB Creative Nomad.

PR: 78984
Submitted by: Mark Kirkwood


# 218ae8fd 27-Dec-2018 Hans Petter Selasky <hselasky@FreeBSD.org>

Add USB quirk for SPL Crimson Rev 1.

PR: 234380
MFC after: 1 week
Sponsored by: Mellanox Technologies


# abf52ec0 13-Feb-2018 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

PR: 225844
MFC after: 1 week
Sponsored by: Mellanox Technologies


# 2480071f 28-Jan-2018 Ian Lepore <ian@FreeBSD.org>

Add a NO_GETMAXLUN quirk for the JMicron JMS567 USB to SATA bridge, to
prevent lengthy timeout pauses while probing/attaching drives.


# 718cf2cc 27-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

sys/dev: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.


# ccaf7ad4 13-Nov-2017 Kevin Lo <kevlo@FreeBSD.org>

Add TP-LINK UE300.

Submitted by: Kris G <netsick@gmail.com>


# e15936fc 10-Nov-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

Submitted by: Kris G <netsick@gmail.com>
Sponsored by: Mellanox Technologies
MFC after: 1 week


# 5b4b1bb3 06-Sep-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

PR: 221775
MFC after: 1 week
Sponsored by: Mellanox Technologies


# 89fdc67c 29-Aug-2017 Ed Maste <emaste@FreeBSD.org>

usb: Add external "Intenso Memory" disk UQ_MSC_NO_INQUIRY quirk

PR: 221852
Submitted by: Fabian Keil
Reviewed by: hselasky
Obtained from: ElectroBSD
MFC after: 1 week


# 76136d20 19-Aug-2017 Vladimir Kondratyev <wulf@FreeBSD.org>

Add support for generic MS Windows 7/8/10-compatible USB HID touchscreens
found in many laptops.

Reviewed by: hps, gonzo, bcr (manpages)
Approved by: gonzo (mentor)
Differential Revision: https://reviews.freebsd.org/D12017


# 48a597ef 15-Aug-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

Submitted by: devel@stasyan.com
PR: 221328
MFC after: 1 week
Sponsored by: Mellanox Technologies


# 5d706410 14-Apr-2017 Kevin Lo <kevlo@FreeBSD.org>

Remove RTL8153 quirk since ure(4) supports this chip.


# 067e471a 17-Jan-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Add USB audio support for S/PDIF output with C-Media CM6206 devices.

Submitted by: Julien Nadeau <vedge@hypertriton.com>
PR: 216131
MFC after: 1 week


# 0eb8d462 13-Sep-2016 Hans Petter Selasky <hselasky@FreeBSD.org>

Improve USB polling mode by not locking any mutexes, asserting any
mutexes or using any callouts when active.

Trying to lock a mutex when KDB is active or the scheduler is stopped
can result in infinite wait loops. The same goes for calling callout
related functions which in turn lock mutexes.

If the USB controller at which a USB keyboard is connected is idle
when KDB is entered, polling the USB keyboard via USB will always
succeed. Else polling may fail depending on which state the USB
subsystem and USB interrupt handler is in. This is unavoidable unless
KDB can wait for USB interrupt threads to complete before stalling the
CPU(s).

Tested by: Bruce Evans <bde@freebsd.org>
MFC after: 4 weeks


# fb017b82 29-Jun-2016 Conrad Meyer <cem@FreeBSD.org>

USB: Add Garmin FR230 device quirk (broken INQUIRY)

PR: 210544
Reviewed by: hps
Approved by: re


# be4e639d 21-Apr-2016 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

Submitted by: Naram Qashat <cyberbotx@cyberbotx.com>
PR: 208642
MFC after: 1 week


# 348256df 08-Apr-2016 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

Submitted by: AJ <aleksanderlothe@live.com>
PR: 208623
MFC after: 1 week


# 24fe42dc 03-Mar-2016 Hans Petter Selasky <hselasky@FreeBSD.org>

Allow for overlapping quirk device ranges. Prior to this patch only
the first device entry matching the USB vendor, product and revision
would be searched for quirks. After this patch all device entries will
be searched for quirks.

MFC after: 1 week


# a130076f 24-Sep-2015 Hans Petter Selasky <hselasky@FreeBSD.org>

Implement support for reading USB quirks from the kernel environment.
Refer to the usb_quirk(4) manual page for more details on how to use
this new feature.

Submitted by: Maxime Soule <btik-fbsd@scoubidou.com>
PR: 203249
MFC after: 2 weeks


# 98d3afa5 31-Aug-2015 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

MFC after: 1 week
PR: 202783


# 33ff4adb 07-Jun-2015 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

PR: 200693
MFC after: 1 week


# 415bcd89 06-May-2015 Hans Petter Selasky <hselasky@FreeBSD.org>

Add support for DYMO LabelWriter PnP.

MFC after: 2 weeks


# 68492bc2 07-Mar-2015 Hans Petter Selasky <hselasky@FreeBSD.org>

Add more USB IDs.

PR: 197753
MFC after: 1 week


# 7e19194e 26-Dec-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Add more quirks.

PR: 180617
MFC after: 1 day


# cfb13951 08-Dec-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Add more USB quirks for Western Digital external USB HDD
enclosures. Rename an incorrectly named device. Increase
limit for maximum number of quirks.

PR: 178771, 180617
MFC after: 2 weeks


# b2d05a1b 26-Nov-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

MFC after: 1 week
PR: 195372


# 6bd03b20 05-Sep-2014 Kevin Lo <kevlo@FreeBSD.org>

The USB LED driver for the Dream Cheeky WebMail Notifier.

Reviewed by: hselasky


# 63015748 03-Sep-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Fix spelling.

PR: 193279
MFC after: 1 week


# 7b520cfb 03-Sep-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new quirk.

PR: 193279
MFC after: 1 week


# c5377460 05-Aug-2014 Nick Hibma <n_hibma@FreeBSD.org>

Add a second Huawei SCSI eject command as USB mode switch config files
sometimes use one or the other. Maybe newer Huawei modems switched.

Add a quirk for it as well.

PR: 145319
Submitted by: rozhuk.im gmail.com


# ba2188af 18-Apr-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

Submitted by: kwm @
MFC after: 1 week


# 827f71dc 03-Mar-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new quirk.

MFC after: 1 week
PR: usb/187188
Submitted by: Hiroo Ono <hiroo.ono+freebsd@gmail.com>


# e4dfeb5b 17-Feb-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Our quirk table is almost full. Add some room for more quirks.

MFC after: 1 week


# 860fe6b9 17-Feb-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Adjust USB quirk.

MFC after: 1 week
Submitted by: Volodymyr Kostyrko <arcade@b1t.name>


# 3525f1db 24-Jan-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Add more USB quirks.

Submitted by: Gerrit Kuehn <gerrit.kuehn@aei.mpg.de>
MFC after: 1 week


# 338b63a9 22-Jan-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new quirk.

PR: usb/185968
MFC after: 1 week


# ccdfa3b5 20-Dec-2013 Don Lewis <truckman@FreeBSD.org>

Add quirks to make my old SanDisk Cruzer Mini 128MB happy.

MFC after: 1 week


# 52d5f344 02-Jul-2013 Hiroki Sato <hrs@FreeBSD.org>

Add Planex MZK-UE150N.

Submitted by: Yusuke Tanaka
MFC after: 3 days


# 6d5ae34a 21-May-2013 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

MFC after: 1 week
PR: usb/178771


# 5a47db47 26-Jan-2013 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

PR: usb/175599
Submitted by: Juan J Lopez
MFC after: 1 week


# a9216e0b 21-Jan-2013 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new quirk and correct old one.

PR: usb/175454
MFC after: 1 week


# bdf43bb5 10-Jan-2013 Hans Petter Selasky <hselasky@FreeBSD.org>

Bugfix: Fix sizeof() argument.

Found by: Haakon Loevdal
MFC after: 1 week


# 7716eb4c 26-Dec-2012 Mark Johnston <markj@FreeBSD.org>

Add the NO_SYNC_CACHE quirk for all Apple USB MSC devices, as they
typically do not handle the SYNCHRONIZE_CACHE command - they either
return an error or the firmware enters a reset loop.

Reviewed by: hselasky
Approved by: rstone (co-mentor)
MFC after: 2 weeks


# 8e5e664c 23-Nov-2012 Hans Petter Selasky <hselasky@FreeBSD.org>

Remove no longer needed quirk.

Submitted by: Mark Johnston


# ef3afadd 05-Nov-2012 Marcel Moolenaar <marcel@FreeBSD.org>

Add the UQ_MSC_NO_PREVENT_ALLOW quirk to handle devices that do not support
the 'PREVENT/ALLOW MEDIUM REMOVAL' SCSI command. An example of such a
device is the STmicro ST72682. We send the SCSI command for every open and
close, which can result in a significant amount of spam on the console
during boot.

Reviewed by: hps@


# 3557aa50 26-Oct-2012 Hans Petter Selasky <hselasky@FreeBSD.org>

Add support for Fast Track Ultra 8R from M-audio.

MFC after: 1 week


# d6025c7b 14-Oct-2012 Eitan Adler <eadler@FreeBSD.org>

Add support for the extrememory Snippy

PR: usb/159611
Submitted by: Fabian Keil <fk@fabiankeil.de>
Approved by: cperciva (implicit)
MFC after: 3 days


# c0f4985d 14-Oct-2012 Eitan Adler <eadler@FreeBSD.org>

Add support for Feiya Elango USB MicroSD

PR: usb/153599
Submitted by: CyberLeo <cyberleo@cyberleo.net>
Approved by: cperciva (implicit)
MFC after: 3 days


# 35ed5bb7 14-Oct-2012 Eitan Adler <eadler@FreeBSD.org>

Add support for the Buffalo RUF2 flash drive.

PR: usb/166848
Submitted by: Andrew Gregory <andrew@scss.com.au>
Reviewed by: hselasky
Approved by: cperciva (implicit)
MFC after: 3 days


# d7dd1341 17-Sep-2012 Hans Petter Selasky <hselasky@FreeBSD.org>

Add UQ_UMS_IGNORE quirk.
Wrap two long lines.
Some minor spelling correction.

PR: usb/171721


# 84e1a128 15-Aug-2012 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB device quirk.

Submitted by: Kra OTN
MFC after: 2 weeks


# b225878c 23-Jul-2012 Ed Maste <emaste@FreeBSD.org>

Quirk MS keyboard so that function keys work

The function keys on a Microsoft Natural Egronomic Keyboard 4000 have been
repurposed as "Help", "Undo", "Redo" etc., and a special "F Lock" key is
required to return them to their normal purpose.

This change enables the UQ_KBD_BOOTPROTO quirk for the MS Natural 4000
keyboard to get the keys working again. More extensive changes to the USB
keyboard infrastructure would be needed to fully support the "F Lock" mode
and the extended keys on this keyboard.

PR: usb/116947
Approved by: hselasky@


# e84260dc 03-Jul-2012 Hans Petter Selasky <hselasky@FreeBSD.org>

Add more quirks for USB mass storage adapters.

Submitted by: Erich Dollansky
MFC after: 1 week


# 271e5fb0 14-Jun-2012 Hans Petter Selasky <hselasky@FreeBSD.org>

Add more quirks for USB MIDI adapters.

Obtained from: Clemens Ladisch
MFC after: 1 week


# 36dc69c4 16-Jan-2012 Hans Petter Selasky <hselasky@FreeBSD.org>

Add support for more USB devices.

Submitted by: pav @
MFC after: 1 week


# c3369741 03-Dec-2011 Ed Maste <emaste@FreeBSD.org>

Add quirk for Micron RealSSD eUSB failing on unsupported SCSI command

It appears this device fails if sent a SYNCHRONIZE_CACHE command, so add
quirk to avoid sending it.

I will follow up with Micron on this issue, and will adjust the quirk if
necessary based on their feedback.

Reviewed by: hselasky@


# b3f52c57 17-Nov-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

Quirk all of ALCOR's mass storage devices instead of
quirking individual devices.

Submitted by: Dmitry Luhtionov
MFC after: 1 week


# 1984dc56 10-Oct-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

Add USB mass storage quirk for device that emits errors after the automatic
no synchronize cache detection.

Submitted by: Scott Allendorf
MFC after: 3 days


# 2325ea82 27-Sep-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

Add quirks for some USB mass storage devices which doesn't respond
after trying to query the synchronize cache support.

Submitted by: Keith White
PR: usb/160911
Approved by: re (kensmith)
MFC after: 1 week


# 3f37fb62 10-Sep-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

Refactor auto-quirk solution so that we break as few external
drivers as possible.

PR: usb/160299
Approved by: re (kib)
Suggested by: rwatson
MFC after: 0 days


# d46dc4ad 02-Sep-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

This patch adds automatic detection of USB mass storage devices
which does not support the no synchronize cache SCSI command.

The __FreeBSD_version version macro has been bumped and
external kernel modules needs to be recompiled after
this patch.

Approved by: re (kib)
MFC after: 1 week
PR: usb/160299


# 4944c3a8 03-Jul-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

Introduce a quirk for broken USB MIDI hardware instead of limiting performance
in general.

MFC after: 1 week


# 25b74dab 24-Feb-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

- Add support for some non-standard USB MIDI devices from Roland, by
means of allowing vendor specific interface class for audio and MIDI devices.
- Add new quirks for this. The vendor and product list in OpenBSD's
dev/usb/umidi_quirks.c was used as reference.

MFC after: 14 days
Approved by: thompsa (mentor)


# 3b822764 07-Feb-2011 Nick Hibma <n_hibma@FreeBSD.org>

Curitel UM150 needs a quirk to stop it from detaching straight after
attach (resetting actually).

Submitted by: Oleg Nauman
MFC after: 1 week


# 58ccf5b4 11-Jan-2011 John Baldwin <jhb@FreeBSD.org>

Remove unneeded includes of <sys/linker_set.h>. Other headers that use
it internally contain nested includes.

Reviewed by: bde


# e7702e9e 10-Nov-2010 Nick Hibma <n_hibma@FreeBSD.org>

Allow specification of eject method through quirks, so people can test
drive eject methods before supplying patches.


# d74698ca 04-Nov-2010 Hans Petter Selasky <hselasky@FreeBSD.org>

Add new USB quirk.

Submitted by: Dmitry Luhtionov
Approved by: thompsa (mentor)


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 6001d011 14-Oct-2010 Hans Petter Selasky <hselasky@FreeBSD.org>

- Add more USB devices to usbdevs and rename some previously unknown ones.
- Add more USB mass storage quirks.

Submitted by: Dmitry Luhtionov
PR: usb/149934, usb/143045
Approved by: thompsa (mentor)


# 6aeff67c 06-Aug-2010 Konstantin Belousov <kib@FreeBSD.org>

Disable sync cache for the Transcend Jetflash V90. It is more specific
quirk over the general one for transcend sticks.

Submitted by: Mykola Dzham <i levsha me>
MFC after: 1 week


# 317a3ce2 28-Jul-2010 Tijl Coosemans <tijl@FreeBSD.org>

Add quirk for Apacer HT202 USB 2.0 Flash Drive.

PR: usb/107243
Approved by: kib (mentor)
MFC after: 1 week


# 7dddb455 27-Jul-2010 Gavin Atkinson <gavin@FreeBSD.org>

Prevent uhid(4) from attaching to the Liebert PowerSure Personal XT UPS.

PR: usb/129251
Submitted by: Andrew D Wiles <adw+gnats avatastic.co.uk>
MFC after: 1 week


# c3b40fb7 26-Jul-2010 Gavin Atkinson <gavin@FreeBSD.org>

Prevent uhid(4) from attaching to the Gembird Silver Shield remote power
plug. Note that the Vendor ID 0x04b4 is officially assigned to Cypress,
so use that instead of adding a second vendor with an identical ID, in the
same way other similar cases are treated in usb/usbdevs.

PR: usb/132785
Submitted by: Dirk-Willem van Gulik <dirkx webweaving.org>
MFC after: 1 week


# 7ab53cc4 26-Jul-2010 Gavin Atkinson <gavin@FreeBSD.org>

Prevent ukbd(4) and uhid(4) from attaching when a WiSPY DBx Spectrum
Analyzer is attached.

PR: usb/134631
Submitted by: Jesse Kempf <jkempf davisvision.com>
MFC after: 1 week


# 0f665677 22-Jun-2010 Andrew Thompson <thompsa@FreeBSD.org>

Add a mass storage quirk.

PR: usb/147196


# 3bf0ccc8 17-May-2010 Andrew Thompson <thompsa@FreeBSD.org>

MFC r208006

Add quirks for the Alcor SDCR_6362 Card Reader, Freecom HDD storage device and
Samsung YP_U4 music player.

PR: usb/145265, usb/146104


# 9f2d3fc5 12-May-2010 Andrew Thompson <thompsa@FreeBSD.org>

Add quirks for the Alcor SDCR_6362 Card Reader, Freecom HDD storage device and
Samsung YP_U4 music player.

PR: usb/145265, usb/146104
Submitted by: Dmitry Luhtionov, Urankar Mikael, Peter Toth


# fb8f1e2a 06-Apr-2010 Andrew Thompson <thompsa@FreeBSD.org>

MFC r205681

- add some usb devices (scanner, printer, usb storage)
- add quirks for the usb storage


# a811dd8b 06-Apr-2010 Andrew Thompson <thompsa@FreeBSD.org>

MFC r205805

Do not sync cache for the PL2506

PR: usb/144915
Submitted by: Monty Hall


# 76e18c91 06-Apr-2010 Andrew Thompson <thompsa@FreeBSD.org>

MFC r203899

Add UQ_KBD_BOOTPROTO quirk needed in r203896


# ce176213 06-Apr-2010 Andrew Thompson <thompsa@FreeBSD.org>

MFC r203144

Add null check on quirk lookup and add a couple of umass quirks.

Submitted by: Hans Petter Selesky


# b4eb1a01 28-Mar-2010 Andrew Thompson <thompsa@FreeBSD.org>

Do not sync cache for the PL2506

PR: usb/144915
Submitted by: Monty Hall


# 2ac4d1f9 26-Mar-2010 Alexander Leidinger <netchild@FreeBSD.org>

- add some usb devices (scanner, printer, usb storage)
- add quirks for the usb storage

Reviewed by: hselasky


# b60541a9 14-Feb-2010 Andrew Thompson <thompsa@FreeBSD.org>

Add UQ_KBD_BOOTPROTO quirk needed in r203896


# 4d69093f 28-Jan-2010 Andrew Thompson <thompsa@FreeBSD.org>

Add null check on quirk lookup and add a couple of umass quirks.

Submitted by: Hans Petter Selesky


# 09a54b8e 17-Jan-2010 Andrew Thompson <thompsa@FreeBSD.org>

MFC r201701

Add new umass quirks for Western Digital MYBook and JMicron JM20337.

PR: usb/142225, usb/142228
Submitted by: Thomas Ward, Yoshikazu GOTO


# 1feda9b4 06-Jan-2010 Andrew Thompson <thompsa@FreeBSD.org>

Add new umass quirks for Western Digital MYBook and JMicron JM20337.

PR: usb/142225, usb/142228
Submitted by: Thomas Ward, Yoshikazu GOTO
MFC after: 1 week


# 10280e6d 30-Dec-2009 Andrew Thompson <thompsa@FreeBSD.org>

MFC r201071

Compact USB_VENDOR_X and USB_PRODUCT_Y in the quirk tables.


# 4ab13ae1 30-Dec-2009 Andrew Thompson <thompsa@FreeBSD.org>

MFC r200887

Shorten the USB_QUIRK_ENTRY macro and undef it at the end, its only internal.


# 596828ba 30-Dec-2009 Andrew Thompson <thompsa@FreeBSD.org>

MFC r200886

Move all Mass Storage Quirks over to the USB quirk module.

Submitted by: Hans Petter Selasky


# e065c35e 30-Dec-2009 Andrew Thompson <thompsa@FreeBSD.org>

MFC r200396

Wrap long lines.


# a1028b88 30-Dec-2009 Andrew Thompson <thompsa@FreeBSD.org>

MFC r200395

Add a quirk for the Curitel UM175 where setting multiplexing for call
management over the data endpoint causes communication to die.

Take this one step further and model it on the existing NetBSD quirk and import
other device IDs from them.

Obtained from: NetBSD


# b55b073f 27-Dec-2009 Andrew Thompson <thompsa@FreeBSD.org>

Compact USB_VENDOR_X and USB_PRODUCT_Y in the quirk tables.


# 47d54fbb 22-Dec-2009 Andrew Thompson <thompsa@FreeBSD.org>

Shorten the USB_QUIRK_ENTRY macro and undef it at the end, its only internal.


# eb584416 22-Dec-2009 Andrew Thompson <thompsa@FreeBSD.org>

Move all Mass Storage Quirks over to the USB quirk module.

Submitted by: Hans Petter Selasky


# ae6de8d6 10-Dec-2009 Andrew Thompson <thompsa@FreeBSD.org>

Wrap long lines.


# 4b5437a1 10-Dec-2009 Andrew Thompson <thompsa@FreeBSD.org>

Add a quirk for the Curitel UM175 where setting multiplexing for call
management over the data endpoint causes communication to die.

Take this one step further and model it on the existing NetBSD quirk and import
other device IDs from them.

Obtained from: NetBSD


# 6b48cd24 29-Oct-2009 Andrew Thompson <thompsa@FreeBSD.org>

MFC r197569

Add a config number quirk for the ELSA_MODEM1


# 063e119d 28-Sep-2009 Andrew Thompson <thompsa@FreeBSD.org>

Add a config number quirk for the ELSA_MODEM1

Submitted by: Stefan Bethke


# ed6d949a 22-Jun-2009 Andrew Thompson <thompsa@FreeBSD.org>

- Make struct usb_xfer opaque so that drivers can not access the internals
- Reduce the number of headers needed for a usb driver, the common case is just usb.h and usbdi.h


# a593f6b8 14-Jun-2009 Andrew Thompson <thompsa@FreeBSD.org>

s/usb2_/usb_|usbd_/ on all function names for the USB stack.


# 760bc48e 28-May-2009 Andrew Thompson <thompsa@FreeBSD.org>

s/usb2_/usb_/ on all C structs for the USB stack.


# 3e5e312a 23-Feb-2009 Andrew Thompson <thompsa@FreeBSD.org>

MFp4 //depot/projects/usb; 157814, 157863, 157868

- The software computed HID size is not always correct, because the algoritm
does not handle unsorted HID descriptors.
- Change the way we obtain the report ID.
- Use the X/Y/Z+button locations instead for report ID source for ums.
- Add more range checks.
- Remove Microsoft Mouse quirks. If the positions are moduloed the report
length multiplied by 8, the values seem correct.
- Some minor style changes.

Submitted by: Hans Petter Selasky


# 02ac6454 23-Feb-2009 Andrew Thompson <thompsa@FreeBSD.org>

Move the new USB stack into its new home.