History log of /freebsd-10.3-release/sys/dev/usb/quirk/usb_quirk.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 296373 04-Mar-2016 marius

- Copy stable/10@296371 to releng/10.3 in preparation for 10.3-RC1
builds.
- Update newvers.sh to reflect RC1.
- Update __FreeBSD_version to reflect 10.3.
- Update default pkg(8) configuration to use the quarterly branch.

Approved by: re (implicit)

# 289016 08-Oct-2015 hselasky

MFC r287321:
Add new USB quirk.

PR: 202783


# 289007 08-Oct-2015 hselasky

MFC r288180:
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


# 284499 17-Jun-2015 hselasky

MFC r284125:
Add new USB quirk.

PR: 200693


# 283173 21-May-2015 hselasky

MFC r282577:
Add support for DYMO LabelWriter PnP.


# 280569 25-Mar-2015 hselasky

MFC r279725:
Add more USB IDs.

PR: 197753


# 276241 26-Dec-2014 hselasky

MFC r259675, r262128, r262129, r275605, r276239 and r276240:
Add more USB quirks.

PR: 178771
PR: 180617
PR: 195372


# 275450 03-Dec-2014 hselasky

MFC r275110:
Add new USB quirk.

PR: 195372


# 273885 31-Oct-2014 hselasky

MFC r269575, r269576 and r269578:
- Add a second Huawei SCSI eject command as USB mode switch config files
sometimes use one or the other. Maybe newer Huawei modems switched.
- Return USB_ERR_INVAL if the eject method is not known.

PR: 145319


# 273882 31-Oct-2014 hselasky

MFC r271159, r271168 and r271680:
Add USB LED driver for the Dream Cheeky WebMail Notifier.


# 271370 10-Sep-2014 hselasky

MFC r271017 and r271018:
Add new quirk.

PR: 193279
Approved by: re, marius


# 264913 25-Apr-2014 hselasky

MFC r264653:
Add new USB quirk.


# 263076 12-Mar-2014 hselasky

MFC r262732:
Add new quirk.

PR: usb/187188


# 261471 04-Feb-2014 hselasky

MFC r261134:
Add more USB quirks.


# 261463 04-Feb-2014 hselasky

MFC r261003:
Add new quirk.

PR: usb/185968


# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

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


# 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 07-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 28-Dec-2009 thompsa

Compact USB_VENDOR_X and USB_PRODUCT_Y in the quirk tables.


# 200887 23-Dec-2009 thompsa

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


# 200886 23-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 15-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