<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/usb/quirk, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>usb: umass: add SCSIEJECT quirk and fix RTW8821CU_CD (USB mode switch)</title>
<updated>2026-03-09T14:35:31+00:00</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2026-01-26T13:19:37+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b4daeded66b5e950ed8e618d66915b863c2414b1'/>
<id>b4daeded66b5e950ed8e618d66915b863c2414b1</id>
<content type='text'>
Several Realtek (and lots other) USB dongles present themselves as
CDROM device first.  Upon eject they do a mode switch and suddenly
are a different kind of device (sometimes even with different IDs),
e.g., a wireless dongle.

In order to avoid the CDROM stage and rather than adding the quirk
handling to more drivers, add support to umass and if enabled
automatically eject the "CDROM" to make it the real device.

Longer-term some other drivers could stop using their hand-rolled
support for this.  It is unclear as-to how much we need the list of
(eject) quirks from u3g here, or if these are very specific to that
kind of devices.

Sponsored by:	The FreeBSD Foundation
Fixes:		b3b6a959c85a, 9c0cce328363
Reviewed by:	imp
Differential Revision: https://reviews.freebsd.org/D54901
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Several Realtek (and lots other) USB dongles present themselves as
CDROM device first.  Upon eject they do a mode switch and suddenly
are a different kind of device (sometimes even with different IDs),
e.g., a wireless dongle.

In order to avoid the CDROM stage and rather than adding the quirk
handling to more drivers, add support to umass and if enabled
automatically eject the "CDROM" to make it the real device.

Longer-term some other drivers could stop using their hand-rolled
support for this.  It is unclear as-to how much we need the list of
(eject) quirks from u3g here, or if these are very specific to that
kind of devices.

Sponsored by:	The FreeBSD Foundation
Fixes:		b3b6a959c85a, 9c0cce328363
Reviewed by:	imp
Differential Revision: https://reviews.freebsd.org/D54901
</pre>
</div>
</content>
</entry>
<entry>
<title>Specialize the REALTEK RTL8153 quirk to just rev=0x31fd</title>
<updated>2025-12-23T17:04:10+00:00</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2025-12-23T17:04:10+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a7e0f6a3dc5f3c4d11066a4b6529bc8cb868694a'/>
<id>a7e0f6a3dc5f3c4d11066a4b6529bc8cb868694a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Quirk Realtek RTL8153 to config#1 so if_cdce claims it.  Works much better.</title>
<updated>2025-12-22T21:24:42+00:00</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2025-12-22T21:23:45+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1b1fb628a1aff05b661ebb063f1795aa24ab54c6'/>
<id>1b1fb628a1aff05b661ebb063f1795aa24ab54c6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add USB quirk for Creative Stage SE mini</title>
<updated>2025-06-11T23:16:21+00:00</updated>
<author>
<name>Jan Biedermann</name>
<email>jan@isomorfeus.com</email>
</author>
<published>2025-06-05T23:25:22+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=50461a68e07ab23917b71a23c14fa7e6fc78e646'/>
<id>50461a68e07ab23917b71a23c14fa7e6fc78e646</id>
<content type='text'>
Note: The commit in main was modified for the new macros in main.
stable merge will need to use the version originally in #1715

MFC After: 2 weeks
Pull Request: https://github.com/freebsd/freebsd-src/pull/1715
Closes: https://github.com/freebsd/freebsd-src/pull/1715
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Note: The commit in main was modified for the new macros in main.
stable merge will need to use the version originally in #1715

MFC After: 2 weeks
Pull Request: https://github.com/freebsd/freebsd-src/pull/1715
Closes: https://github.com/freebsd/freebsd-src/pull/1715
</pre>
</div>
</content>
</entry>
<entry>
<title>usb/quirks: Remove overly broad quirks</title>
<updated>2025-05-07T21:36:55+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2025-05-07T16:08:51+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=6f8fbb2adfde9eeb2b13e693e8be19a08e9d0ad4'/>
<id>6f8fbb2adfde9eeb2b13e693e8be19a08e9d0ad4</id>
<content type='text'>
Now that we have a safe way to detect the vast majority of problems
with SYNCHRONIEZ CACHE, and since I have devices from many of these
vendors that work just fine (one of which will hang if you send it a
SYNCHROMIZE CACHE), I think these should all be reverted. The details
of when they were added are sketchy, the age of the devices in
question means these vendors have many generations of products after
and the general over-quirking of SYNCHRONIZE CACHE all point to just
removing them and adding back specific quirks should any need arise
after trying other means to debug.

The APPLE quirk was added because the autoquirk code would hang an ipod
with RockBox with a reset loop in the firmware. Since it was quirked, it
disabled the autoprobe and started working. Now that we've disabled the
autoprobe, we can remove it for sure.

Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D49478
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that we have a safe way to detect the vast majority of problems
with SYNCHRONIEZ CACHE, and since I have devices from many of these
vendors that work just fine (one of which will hang if you send it a
SYNCHROMIZE CACHE), I think these should all be reverted. The details
of when they were added are sketchy, the age of the devices in
question means these vendors have many generations of products after
and the general over-quirking of SYNCHRONIZE CACHE all point to just
removing them and adding back specific quirks should any need arise
after trying other means to debug.

The APPLE quirk was added because the autoquirk code would hang an ipod
with RockBox with a reset loop in the firmware. Since it was quirked, it
disabled the autoprobe and started working. Now that we've disabled the
autoprobe, we can remove it for sure.

Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D49478
</pre>
</div>
</content>
</entry>
<entry>
<title>umass/quirk: Remove useless quirk for Transcend flash</title>
<updated>2025-03-16T03:47:44+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2025-03-16T03:47:44+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=9ea38ca4a8e650a2eafa07cf0862553718b7f266'/>
<id>9ea38ca4a8e650a2eafa07cf0862553718b7f266</id>
<content type='text'>
I have several of these. They all work without these quirks (either the
auto quirk mechanism does the right thing, or a likely
soon-to-be-removed vendor catch-all does the right thing, or no probing
at all does the right hting).

Both PREVENT ALLOW and SYNCHRONIZE CACHE are (a) unimplemented but (b)
return the proper asc/ascq code so da just does the right thing, quirk
or no. This was a left-over from the days where you'd get scary error
messages, but we'd work just fine. Now that the scary error messages are
gone (and only a calm one under bootverbose), this can be deleted.

Sponsored by:		Netflix
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I have several of these. They all work without these quirks (either the
auto quirk mechanism does the right thing, or a likely
soon-to-be-removed vendor catch-all does the right thing, or no probing
at all does the right hting).

Both PREVENT ALLOW and SYNCHRONIZE CACHE are (a) unimplemented but (b)
return the proper asc/ascq code so da just does the right thing, quirk
or no. This was a left-over from the days where you'd get scary error
messages, but we'd work just fine. Now that the scary error messages are
gone (and only a calm one under bootverbose), this can be deleted.

Sponsored by:		Netflix
</pre>
</div>
</content>
</entry>
<entry>
<title>umass/quirks: Remove nonsensical NO_GETMAXLUN quirks</title>
<updated>2025-03-16T03:45:31+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2025-03-16T03:45:31+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4804a461b584fec0c7d08bba71523b0e06588e25'/>
<id>4804a461b584fec0c7d08bba71523b0e06588e25</id>
<content type='text'>
We only try to do a GETMAXLUN query of BBB devices. If we're forcing the
device to be CBI, then it's not BBB. Delete the quirks from there. Also,
UFI devices are all CBI as well, so remove the quirk from there as well.
Confirmed this isn't needed with three different floppy disk drives I
have.

Sponsored by:		Netflix
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We only try to do a GETMAXLUN query of BBB devices. If we're forcing the
device to be CBI, then it's not BBB. Delete the quirks from there. Also,
UFI devices are all CBI as well, so remove the quirk from there as well.
Confirmed this isn't needed with three different floppy disk drives I
have.

Sponsored by:		Netflix
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: correct the rtw8821cu quirk and add another wireless rtw88 device</title>
<updated>2024-08-27T17:48:43+00:00</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2024-07-31T08:10:24+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=9c0cce328363bd62f3c9add67bea7422208d9903'/>
<id>9c0cce328363bd62f3c9add67bea7422208d9903</id>
<content type='text'>
The RTW8821CU_CD entry in quirks has an invalid lo_rev/hi_rev match
entry.  Use the different USB_QUIRK macro to match on all of these;
the value we currently see is 0x0200 on two different wifi sticks. [1]

Also add an entry for the DLINK DWA-181 rev A1, rtw88 USB.

Submitted by:	phk
Tested by:	phk
Fixes:		b3b6a959c85af3aabbde3ef2b80dbd4bf5b6f5a7 [1]
Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
Differential Revision: https://reviews.freebsd.org/D46189
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The RTW8821CU_CD entry in quirks has an invalid lo_rev/hi_rev match
entry.  Use the different USB_QUIRK macro to match on all of these;
the value we currently see is 0x0200 on two different wifi sticks. [1]

Also add an entry for the DLINK DWA-181 rev A1, rtw88 USB.

Submitted by:	phk
Tested by:	phk
Fixes:		b3b6a959c85af3aabbde3ef2b80dbd4bf5b6f5a7 [1]
Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
Differential Revision: https://reviews.freebsd.org/D46189
</pre>
</div>
</content>
</entry>
<entry>
<title>Move support of Realtek 8156/8156B from cdce(4) to ure(4)</title>
<updated>2024-08-12T06:56:28+00:00</updated>
<author>
<name>Li-Wen Hsu</name>
<email>lwhsu@FreeBSD.org</email>
</author>
<published>2024-08-12T04:04:05+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=6ea4d95f6c76aa64d2db5c04c87e68dc299544df'/>
<id>6ea4d95f6c76aa64d2db5c04c87e68dc299544df</id>
<content type='text'>
Reviewed by:	kevlo, imp, hrs
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D45088
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed by:	kevlo, imp, hrs
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D45088
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: Remove uneeded revision verbosity from quirks list</title>
<updated>2024-05-11T19:32:57+00:00</updated>
<author>
<name>Ahmad Khalifa</name>
<email>ahmadkhalifa570@gmail.com</email>
</author>
<published>2024-04-20T00:52:57+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=881ae768f2fdf669894cc41694b6d909f233af7f'/>
<id>881ae768f2fdf669894cc41694b6d909f233af7f</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
</feed>
