History log of /freebsd-11-stable/sys/dev/usb/quirk/usb_quirk.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 368214 01-Dec-2020 hselasky

MFC r367622:
Add more USB quirks.

PR: 230038
Sponsored by: Mellanox Technologies // NVIDIA Networking


# 367565 10-Nov-2020 hselasky

MFC r366806:
Add new USB quirk.

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


# 346655 25-Apr-2019 gonzo

MFC r343224, r343533

r343224:
Add KBD_BOOTPROTO quirk for Logitech G510s USB keyboard

PR: 232136
Submitted by: dgilbert@eicat.ca

r343533:
[usb] Add UQ_KBD_BOOTPROTO quirk for Corsair K68 keyboard

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


# 345545 26-Mar-2019 hselasky

MFC r342961:
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
Sponsored by: Mellanox Technologies


# 345543 26-Mar-2019 hselasky

MFC r343352:
Add USB quirk.

Submitted by: Gary Jennejohn <gljennjohn@gmail.com>
Sponsored by: Mellanox Technologies


# 344694 01-Mar-2019 hselasky

MFC r344477:
Add new USB quirk.

PR: 235897
Sponsored by: Mellanox Technologies


# 343657 01-Feb-2019 hselasky

MFC r343453:
Add new USB quirk.

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


# 342726 03-Jan-2019 hselasky

MFC r342549:
Add USB quirk for SPL Crimson Rev 1.

PR: 234380
Sponsored by: Mellanox Technologies


# 331722 29-Mar-2018 eadler

Revert r330897:

This was intended to be a non-functional change. It wasn't. The commit
message was thus wrong. In addition it broke arm, and merged crypto
related code.

Revert with prejudice.

This revert skips files touched in r316370 since that commit was since
MFCed. This revert also skips files that require $FreeBSD$ property
changes.

Thank you to those who helped me get out of this mess including but not
limited to gonzo, kevans, rgrimes.

Requested by: gjb (re)


# 331044 16-Mar-2018 eadler

MFC r305373,r312344,r318095,r319117,r320948,r320953,r328528:

siba(4): Add missing bhnd_device/bhnd_device_quirk table terminator entries.

This resulted in an over-read on siba chipsets that failed to match the
existing entries.

r312344 | sbruno | 2017-01-17 14:52:48 +0000 (Tue, 17 Jan 2017) | 7 lines

Add 4k quirk for Micron 5100 and Intel S3610 SSDs

r318095 | loos | 2017-05-09 19:01:57 +0000 (Tue, 09 May 2017) | 9 lines

Add a new SDHCI quirk, SDHCI_QUIRK_BROKEN_AUTO_STOP, to workaround
controllers that do not support or have broken ACMD12 implementations.

r319117 | wma | 2017-05-29 09:22:53 +0000 (Mon, 29 May 2017) | 16 lines

Introduce Genesys GL3224 quirks

The Genesys chip is failing when issueing READ_CAP(16) command.
Force a quirk to disable it and use READ_CAP(10) instead.

Also, depending on used firmware, GL3224 can be recognized
either as 'storage device' or 'mass storage class' -
enable both variants in scsi_quirk_table.

r320948 | sbruno | 2017-07-13 15:33:08 +0000 (Thu, 13 Jul 2017) | 6 lines

Add 4K quirks for Samsung 750 EVO SSD

r320953 | sbruno | 2017-07-13 16:56:26 +0000 (Thu, 13 Jul 2017) | 5 lines

Add 4k and NCQ_TRIM_BROKEN quirks for Samsung 845 SSDs.

r328528 | ian | 2018-01-29 03:24:02 +0000 (Mon, 29 Jan 2018) | 3 lines

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


# 330897 14-Mar-2018 eadler

Partial merge of the SPDX changes

These changes are incomplete but are making it difficult
to determine what other changes can/should be merged.

No objections from: pfg


# 330013 26-Feb-2018 hselasky

MFC r329195:
Add new USB quirk.

PR: 225844
Sponsored by: Mellanox Technologies


# 324769 19-Oct-2017 wulf

MFC r322695:

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


# 323808 20-Sep-2017 hselasky

MFC r322530 and r323220:
Add new USB quirk(s).

PR: 221328
PR: 221775
Sponsored by: Mellanox Technologies


# 323204 06-Sep-2017 emaste

MFC r323011: usb: Add external "Intenso Memory" disk quirk

PR: 221852
Submitted by: Fabian Keil
Obtained from: ElectroBSD


# 315248 14-Mar-2017 hselasky

MFC r312338:

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

Submitted by: Julien Nadeau <vedge@hypertriton.com>
PR: 216131


# 302408 07-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


/freebsd-11-stable/MAINTAINERS
/freebsd-11-stable/cddl
/freebsd-11-stable/cddl/contrib/opensolaris
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/zfs
/freebsd-11-stable/cddl/contrib/opensolaris/lib/libzfs
/freebsd-11-stable/contrib/amd
/freebsd-11-stable/contrib/apr
/freebsd-11-stable/contrib/apr-util
/freebsd-11-stable/contrib/atf
/freebsd-11-stable/contrib/binutils
/freebsd-11-stable/contrib/bmake
/freebsd-11-stable/contrib/byacc
/freebsd-11-stable/contrib/bzip2
/freebsd-11-stable/contrib/com_err
/freebsd-11-stable/contrib/compiler-rt
/freebsd-11-stable/contrib/dialog
/freebsd-11-stable/contrib/dma
/freebsd-11-stable/contrib/dtc
/freebsd-11-stable/contrib/ee
/freebsd-11-stable/contrib/elftoolchain
/freebsd-11-stable/contrib/elftoolchain/ar
/freebsd-11-stable/contrib/elftoolchain/brandelf
/freebsd-11-stable/contrib/elftoolchain/elfdump
/freebsd-11-stable/contrib/expat
/freebsd-11-stable/contrib/file
/freebsd-11-stable/contrib/gcc
/freebsd-11-stable/contrib/gcclibs/libgomp
/freebsd-11-stable/contrib/gdb
/freebsd-11-stable/contrib/gdtoa
/freebsd-11-stable/contrib/groff
/freebsd-11-stable/contrib/ipfilter
/freebsd-11-stable/contrib/ldns
/freebsd-11-stable/contrib/ldns-host
/freebsd-11-stable/contrib/less
/freebsd-11-stable/contrib/libarchive
/freebsd-11-stable/contrib/libarchive/cpio
/freebsd-11-stable/contrib/libarchive/libarchive
/freebsd-11-stable/contrib/libarchive/libarchive_fe
/freebsd-11-stable/contrib/libarchive/tar
/freebsd-11-stable/contrib/libc++
/freebsd-11-stable/contrib/libc-vis
/freebsd-11-stable/contrib/libcxxrt
/freebsd-11-stable/contrib/libexecinfo
/freebsd-11-stable/contrib/libpcap
/freebsd-11-stable/contrib/libstdc++
/freebsd-11-stable/contrib/libucl
/freebsd-11-stable/contrib/libxo
/freebsd-11-stable/contrib/llvm
/freebsd-11-stable/contrib/llvm/projects/libunwind
/freebsd-11-stable/contrib/llvm/tools/clang
/freebsd-11-stable/contrib/llvm/tools/lldb
/freebsd-11-stable/contrib/llvm/tools/llvm-dwarfdump
/freebsd-11-stable/contrib/llvm/tools/llvm-lto
/freebsd-11-stable/contrib/mdocml
/freebsd-11-stable/contrib/mtree
/freebsd-11-stable/contrib/ncurses
/freebsd-11-stable/contrib/netcat
/freebsd-11-stable/contrib/ntp
/freebsd-11-stable/contrib/nvi
/freebsd-11-stable/contrib/one-true-awk
/freebsd-11-stable/contrib/openbsm
/freebsd-11-stable/contrib/openpam
/freebsd-11-stable/contrib/openresolv
/freebsd-11-stable/contrib/pf
/freebsd-11-stable/contrib/sendmail
/freebsd-11-stable/contrib/serf
/freebsd-11-stable/contrib/sqlite3
/freebsd-11-stable/contrib/subversion
/freebsd-11-stable/contrib/tcpdump
/freebsd-11-stable/contrib/tcsh
/freebsd-11-stable/contrib/tnftp
/freebsd-11-stable/contrib/top
/freebsd-11-stable/contrib/top/install-sh
/freebsd-11-stable/contrib/tzcode/stdtime
/freebsd-11-stable/contrib/tzcode/zic
/freebsd-11-stable/contrib/tzdata
/freebsd-11-stable/contrib/unbound
/freebsd-11-stable/contrib/vis
/freebsd-11-stable/contrib/wpa
/freebsd-11-stable/contrib/xz
/freebsd-11-stable/crypto/heimdal
/freebsd-11-stable/crypto/openssh
/freebsd-11-stable/crypto/openssl
/freebsd-11-stable/gnu/lib
/freebsd-11-stable/gnu/usr.bin/binutils
/freebsd-11-stable/gnu/usr.bin/cc/cc_tools
/freebsd-11-stable/gnu/usr.bin/gdb
/freebsd-11-stable/lib/libc/locale/ascii.c
/freebsd-11-stable/sys/cddl/contrib/opensolaris
/freebsd-11-stable/sys/contrib/dev/acpica
/freebsd-11-stable/sys/contrib/ipfilter
/freebsd-11-stable/sys/contrib/libfdt
/freebsd-11-stable/sys/contrib/octeon-sdk
/freebsd-11-stable/sys/contrib/x86emu
/freebsd-11-stable/sys/contrib/xz-embedded
/freebsd-11-stable/usr.sbin/bhyve/atkbdc.h
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.c
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.h
/freebsd-11-stable/usr.sbin/bhyve/console.c
/freebsd-11-stable/usr.sbin/bhyve/console.h
/freebsd-11-stable/usr.sbin/bhyve/pci_fbuf.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.h
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.c
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.h
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.c
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.h
/freebsd-11-stable/usr.sbin/bhyve/rfb.c
/freebsd-11-stable/usr.sbin/bhyve/rfb.h
/freebsd-11-stable/usr.sbin/bhyve/sockstream.c
/freebsd-11-stable/usr.sbin/bhyve/sockstream.h
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.c
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.h
/freebsd-11-stable/usr.sbin/bhyve/usb_mouse.c
/freebsd-11-stable/usr.sbin/bhyve/vga.c
/freebsd-11-stable/usr.sbin/bhyve/vga.h
# 302262 29-Jun-2016 cem

USB: Add Garmin FR230 device quirk (broken INQUIRY)

PR: 210544
Reviewed by: hps
Approved by: re


# 298424 21-Apr-2016 hselasky

Add new USB quirk.

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


# 297696 08-Apr-2016 hselasky

Add new USB quirk.

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


# 296342 03-Mar-2016 hselasky

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


# 288180 24-Sep-2015 hselasky

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


# 287321 31-Aug-2015 hselasky

Add new USB quirk.

MFC after: 1 week
PR: 202783


# 284125 07-Jun-2015 hselasky

Add new USB quirk.

PR: 200693
MFC after: 1 week


# 282577 07-May-2015 hselasky

Add support for DYMO LabelWriter PnP.

MFC after: 2 weeks


# 279725 07-Mar-2015 hselasky

Add more USB IDs.

PR: 197753
MFC after: 1 week


# 276239 26-Dec-2014 hselasky

Add more quirks.

PR: 180617
MFC after: 1 day


# 275605 08-Dec-2014 hselasky

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


# 275110 26-Nov-2014 hselasky

Add new USB quirk.

MFC after: 1 week
PR: 195372


# 271159 05-Sep-2014 kevlo

The USB LED driver for the Dream Cheeky WebMail Notifier.

Reviewed by: hselasky


# 271018 03-Sep-2014 hselasky

Fix spelling.

PR: 193279
MFC after: 1 week


# 271017 03-Sep-2014 hselasky

Add new quirk.

PR: 193279
MFC after: 1 week


# 269576 05-Aug-2014 n_hibma

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


# 264653 18-Apr-2014 hselasky

Add new USB quirk.

Submitted by: kwm @
MFC after: 1 week


# 262732 04-Mar-2014 hselasky

Add new quirk.

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


# 262129 17-Feb-2014 hselasky

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

MFC after: 1 week


# 262128 17-Feb-2014 hselasky

Adjust USB quirk.

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


# 261134 24-Jan-2014 hselasky

Add more USB quirks.

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


# 261003 22-Jan-2014 hselasky

Add new quirk.

PR: usb/185968
MFC after: 1 week


# 259675 21-Dec-2013 truckman

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

MFC after: 1 week


# 252501 02-Jul-2013 hrs

Add Planex MZK-UE150N.

Submitted by: Yusuke Tanaka
MFC after: 3 days


# 250848 21-May-2013 hselasky

Add new USB quirk.

MFC after: 1 week
PR: usb/178771


# 245947 26-Jan-2013 hselasky

Add new USB quirk.

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


# 245725 21-Jan-2013 hselasky

Add new quirk and correct old one.

PR: usb/175454
MFC after: 1 week


# 245249 10-Jan-2013 hselasky

Bugfix: Fix sizeof() argument.

Found by: Haakon Loevdal
MFC after: 1 week


# 244719 26-Dec-2012 markj

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


# 243435 23-Nov-2012 hselasky

Remove no longer needed quirk.

Submitted by: Mark Johnston


# 242628 05-Nov-2012 marcel

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@


# 242127 26-Oct-2012 hselasky

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

MFC after: 1 week


# 241553 14-Oct-2012 eadler

Add support for the extrememory Snippy

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


# 241552 14-Oct-2012 eadler

Add support for Feiya Elango USB MicroSD

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


# 241551 14-Oct-2012 eadler

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


# 240615 17-Sep-2012 hselasky

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

PR: usb/171721


# 239298 15-Aug-2012 hselasky

Add new USB device quirk.

Submitted by: Kra OTN
MFC after: 2 weeks


# 238718 23-Jul-2012 emaste

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@


# 238078 03-Jul-2012 hselasky

Add more quirks for USB mass storage adapters.

Submitted by: Erich Dollansky
MFC after: 1 week


# 237079 14-Jun-2012 hselasky

Add more quirks for USB MIDI adapters.

Obtained from: Clemens Ladisch
MFC after: 1 week


# 230238 16-Jan-2012 hselasky

Add support for more USB devices.

Submitted by: pav @
MFC after: 1 week


# 228243 03-Dec-2011 emaste

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@


# 227610 17-Nov-2011 hselasky

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

Submitted by: Dmitry Luhtionov
MFC after: 1 week


# 226221 10-Oct-2011 hselasky

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


# 225777 27-Sep-2011 hselasky

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


# 225469 10-Sep-2011 hselasky

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


# 225350 02-Sep-2011 hselasky

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


# 223736 03-Jul-2011 hselasky

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

MFC after: 1 week


# 218988 24-Feb-2011 hselasky

- 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)


# 218422 07-Feb-2011 n_hibma

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

Submitted by: Oleg Nauman
MFC after: 1 week


# 217265 11-Jan-2011 jhb

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

Reviewed by: bde


# 215095 10-Nov-2010 n_hibma

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


# 214800 04-Nov-2010 hselasky

Add new USB quirk.

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


# 213856 14-Oct-2010 hselasky

- 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)


# 210931 06-Aug-2010 kib

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


# 210576 28-Jul-2010 tijl

Add quirk for Apacer HT202 USB 2.0 Flash Drive.

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


# 210543 27-Jul-2010 gavin

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


# 210516 26-Jul-2010 gavin

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


# 210515 26-Jul-2010 gavin

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


# 209445 22-Jun-2010 thompsa

Add a mass storage quirk.

PR: usb/147196


# 208006 12-May-2010 thompsa

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


# 205805 28-Mar-2010 thompsa

Do not sync cache for the PL2506

PR: usb/144915
Submitted by: Monty Hall


# 205681 26-Mar-2010 netchild

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

Reviewed by: hselasky


# 203899 14-Feb-2010 thompsa

Add UQ_KBD_BOOTPROTO quirk needed in r203896


# 203144 29-Jan-2010 thompsa

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

Submitted by: Hans Petter Selesky


# 201701 06-Jan-2010 thompsa

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


# 201071 27-Dec-2009 thompsa

Compact USB_VENDOR_X and USB_PRODUCT_Y in the quirk tables.


# 200887 22-Dec-2009 thompsa

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


# 200886 22-Dec-2009 thompsa

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

Submitted by: Hans Petter Selasky


# 200396 11-Dec-2009 thompsa

Wrap long lines.


# 200395 11-Dec-2009 thompsa

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


# 197569 28-Sep-2009 thompsa

Add a config number quirk for the ELSA_MODEM1

Submitted by: Stefan Bethke


# 196219 14-Aug-2009 jhb

Purge mergeinfo from files that were temporarily renamed while USB2 was
imported into the tree alongside USB.

Approved by: re (mergeinfo blanket)


# 194677 23-Jun-2009 thompsa

- 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


# 194228 14-Jun-2009 thompsa

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


# 192984 28-May-2009 thompsa

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


# 190749 05-Apr-2009 piso

Remove pointeless mergeinfo that crept in from r190633.


# 190633 01-Apr-2009 piso

Implement an ipfw action to reassemble ip packets: reass.


# 190581 30-Mar-2009 mav

Integrate user/mav/ata branch:

Add ch_suspend/ch_resume methods for PCI controllers and implement them
for AHCI. Refactor AHCI channel initialization according to it.

Fix Port Multipliers operation. It is far from perfect yet, but works now.
Tested with JMicron JMB363 AHCI + SiI 3726 PMP pair.
Previous version was also tested with SiI 4726 PMP.

Hardware sponsored by: Vitsch Electronics / VEHosting.nl


# 188981 24-Feb-2009 thompsa

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


# 188942 23-Feb-2009 thompsa

Move the new USB stack into its new home.


# 188746 18-Feb-2009 thompsa

Switch over to usbdevs.h generated at compile time.


# 188076 03-Feb-2009 thompsa

- Keep the same sorting on usb_errstr_table as the enum.
- Use c99 array initializers for usb_quirk_str so the indexing isnt critical.


# 188074 03-Feb-2009 thompsa

Add missing string table for the usb quirk enum.

Pointy hat: me
Submitted by: rrs


# 187725 26-Jan-2009 thompsa

Add a usb hid quirk.

Submitted by: Andre Guibert de Bruet


# 185950 11-Dec-2008 thompsa

Remove superfluous return statements from the end of void functions.


# 185290 25-Nov-2008 alfred

src/lib/libusb20/libusb20_compat01.c

Fix some issues about re-scanning of the devices.

src/lib/libusb20/libusb20_ugen20.c

Fix issue about libusb20 having to release the
USB transfers before doing a SET_CONFIG, else
the kernel will kill the file handle.

src/sys/dev/usb2/core/usb2_device.
src/sys/dev/usb2/core/usb2_generic.c
src/sys/dev/usb2/core/usb2_generic.h

Add support for U3G devices.
Improve and cleanup FIFO free handling.
Improve device re-enumeration.

src/sys/dev/usb2/core/usb2_msctest.c
src/sys/dev/usb2/core/usb2_msctest.h

Fix some problems in the USB Mass Storage Test.
Add Huawei vendor specific quirks.

src/sys/dev/usb2/core/usb2_request.c

Improve device re-enumeration.

src/sys/dev/usb2/ethernet/if_aue2.c
src/sys/dev/usb2/include/usb2_devid.h
src/sys/dev/usb2/include/usb2_devtable.h
src/sys/dev/usb2/quirk/usb2_quirk.c

Integrate changes from the old USB driver.

src/sys/dev/usb2/include/usb2_standard.h

Add definition of USB3.0 structures from USB.org.

src/sys/dev/usb2/serial/u3g2.c
src/sys/dev/usb2/serial/ugensa2.c
src/sys/modules/usb2/Makefile
src/sys/modules/usb2/serial_3g/Makefile

Import U3G driver.

Submitted by: Hans Petter Selasky (usb4bsd)


# 184610 04-Nov-2008 alfred

Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.

This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:

1) A brief feature list:

- A new and mutex enabled USB API.

- Many USB drivers are now running Giant free.

- Linux USB kernel compatibility layer.

- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.

- New "usbconfig" utility, for easy configuration of USB.

- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.

- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.

- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.

- Safer parsing of USB descriptors.

- Autodetect of annoying USB install disks.

- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.

- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.

- ... see the FreeBSD quarterly status reports under "USB project"

2) To enable the driver in the default kernel build:

2.a) Remove all existing USB device options from your kernel config
file.

2.b) Add the following USB device options to your kernel configuration
file:

# USB core support
device usb2_core

# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci

# USB mass storage support
device usb2_storage
device usb2_storage_mass

# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav

# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd

# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom

# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng

# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms

# USB sound and MIDI device support
device usb2_sound

2) To enable the driver at runtime:

2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.

2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.

Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred