IABSD.fr/src/sys/dev/usb

Branch :


Log

Author Commit Date CI Message
0c104024 2026-03-06 22:33:33 Add support for more line speeds. ok deraadt@
65ff3274 2026-02-20 12:32:34 fix typo in comment, from Benjamin Lee McQueen
595f5f02 2026-02-15 19:10:15 add AlphaSmart Dana as a PALM4 device ok jsg
8efe1c7a 2026-02-15 19:09:49 regen
a4ff0b97 2026-02-15 19:09:27 add AlphaSmart Dana
05130e4b 2026-02-04 00:58:20 Use correct bit mask for mcu command field. Both the vendor and Linux drivers store the mcu command in the cmd field of the mcu tx descriptor, which is 7 bits wide. ok hastings@
981e316e 2026-01-19 12:21:10 regen
2f49495b 2026-01-19 12:20:43 Add support for "Apple Inc. Virtual USB Digitizer", which is what the touchpad is exposed as on Apple Virtualization. ok miod@
0e3c9ca4 2026-01-06 18:52:40 regen
e713a86a 2026-01-06 18:42:18 This patch adds an apple variant to the de keyboard encoding for wskdb. It doesn't attempt to map all additional keysyms, only those that are required in the shell and for programming. It is similar to the applealu_iso variant that can be specified in X11 with setxkbmap. ok miod@
133cbff7 2025-12-28 14:50:57 Some USB devices have a iManufacturer property that is just a single space. Handle this (and substitute the vendor name from usbdevs) by checking the length of the string after trimming spaces. ok jsg@
9ebdea7f 2025-12-28 14:49:28 regen
1e783ac8 2025-12-28 14:48:54 Add D-Max as a USB vendor. Seems the company doesn't exist anymore, but it is still listed in the official USB vendors list and it is unclear what company is currently using the vendor ID in question. ok jsg@
8b7935f4 2025-12-14 00:00:39 Increase urndis(4) buffer size to 16K. Fixes USB tethering issues with Galaxy S20 and S23. tested by ratchov@ ok dlg@ armani@
8d8de103 2025-11-18 09:05:11 uaudio: Handle devices with a single clock exposed in multiple domains Many devices seem to expose multiple clocks (aka clock domains) even if they have one physical clock only. If two clocks have the same attributes and at least one common rate, print a warning and assume they are synchronous. ok phessler
8cc43797 2025-11-18 00:33:16 In r1.39, both the baud rate and the line configuration are set through UCHCOM_REQ_SET_BAUDRATE, whereas previously they were configured via UCHCOM_REG_BPS_PRE, UCHCOM_REG_BPS_DIV, UCHCOM_REG_LCR, and UCHCOM_REG_LCR2. Use the traditional method to set the rate and line configuration to prevent issues with some CH341 devices not operating properly. Reported by Mikolaj Kucharski on bugs@ ok miod@
530b1df5 2025-11-17 11:19:21 correct umb_kstat_detach() NULL tests; Coverity CID 1667594 ok jca@ dlg@ miod@
10ef654b 2025-11-13 23:04:48 Allow uhidev to attach to and work with devices that don't have an input interrupt endpoint. Such devices don't comply with the USB spec, but they do exist (the LCD screen on the AceMagic S1 mini PC is one), so we might as well let them work. ok dlg@
129ed0de 2025-11-09 16:22:10 regen
de847557 2025-11-02 14:35:20 uaudio: Return the product name as display name If the device provides multiple usb audio control interfaces, the string is suffixed with an interface number. Extra spacing and control characters are discarded. ok mvs, armani, suggestions from sthen
f4add1e7 2025-10-28 15:36:46 properly handle signed values from a similar change in NetBSD in 2018 ok miod
9b62949c 2025-10-15 03:30:53 add support for Quectel EC200A modems.
5b7f8ee7 2025-10-15 03:30:14 update the match code for quectel devices. this is based on information in the Quectel UMTS LTE 5G Linux USB Driver User Guide V3.3 documentation, which is the latest version i can find. it works on EC200A devices, which benefit from this change, and on EC25s, which were working before this change and still work after.
0103d4df 2025-10-14 05:14:38 oops, forgot the commit the .h change for the softc tweak. found by deraadt@
bbd3c2eb 2025-10-14 01:41:50 expose some service information as kstats this makes the uplink and downlink speeds visible as kstats. this is in addition to the signal strength metrics that are already exposed as kstats.
0e082e2f 2025-10-14 00:40:25 regen
f2cf52d4 2025-10-14 00:39:21 Quectel EC200A product id someone didn't listen when i told them to buy Quectel EC25s.
910a65ec 2025-09-06 13:45:41 sys/uvideo: replace magic constant by offest and sizeof OK: mglocker@
dbab9361 2025-09-04 21:25:43 regen
444276eb 2025-09-04 21:24:51 Add device id for Mediatek MT7612. OK miod
6ed1cb18 2025-09-04 07:43:29 sys/uvideo: drop duplicated usb_video_format_XXX_desc OK: mglocker@
a5458203 2025-08-26 09:34:52 sys/uvideo: synchronized definition both H264 structures OK: mglocker@
e872a633 2025-08-23 10:52:45 sys/uvideo: drop useless return at uvideo_vs_parse_desc_* OK: mpi@
e13cae3a 2025-08-19 00:47:43 Since the ch340/ch341 shares many common parts with the ch343, move the common parts to allow for sharing code. Also fix baudrate divisor calculation for ch343. ok miod@
db24b9d9 2025-08-16 08:13:11 sys/uvideo: support pre UVC 1.5 devices Basic probe contains 26 bytes, and extended one 34 bytes. And UVC 1.5 extends it to 48 bytes. It was reported and tested by Daniel Konnoff on his Quanta ACER HD. Tweaks and OK: mglocker@
20c016d6 2025-08-14 14:39:44 Most Yubikey ship with OTP support enabled out of the box (and generate accidental output like cccccblddbkhelgbdjuughbjdcvrddggdcjvricrriuk). Yubikey re-configuration requires crazy buggy and fragile tools using crazy usb feature support, and therefore OTP disabling is very annoying. We make a policy decision to not attach these as keyboards anymore, because a majority of users just want the FIDO functionality. If you want to use OTP, buy a different device from a different vendor or convince Yubikey to significantly improve their tooling. idea from kettenis
4f0517bc 2025-08-12 03:46:17 match on WinChipHead CH340K; from Sven M. Hallberg
3a636539 2025-08-12 03:44:23 regen
276ad151 2025-08-12 03:43:45 add WinChipHead CH340K; from Sven M. Hallberg
bec9d308 2025-08-03 20:00:11 sys/uvideo: support Frame Based format and frame OK: mglocker@
f15a1808 2025-08-03 08:39:00 sys/uvideo: support H.264 format and frame OK: mglocker@
39026f54 2025-07-21 21:46:40 imt/umt(4): Fix the match() and attach() functions. The way imt(4) and umt(4) search for HID report IDs is broken; hid_is_collection() is not suitable for that task. Add a better helper function to hid.c and adapt hidmt, imt, and umt to make use of it. Thanks to Thomas Dettbarn for reporting the problem. "makes (some) sense" to kettenis@
ed03f77d 2025-07-14 23:49:48 regen
3dad5630 2025-07-14 23:49:08 spelling
50c04e37 2025-07-10 14:27:43 Some devices report a larger NCM sizes than wMaxSegmentSize. Rather limit them to UINT16_MAX than to wMaxSegmentSize. Found and OK by claudio@
54bc7180 2025-07-06 01:54:12 remove duplicate defines
9b50de96 2025-06-18 13:48:55 regen
c1baf41d 2025-06-18 13:48:48 revert RTL8188EU addition
de9d3701 2025-06-18 13:48:23 revert previous
cf553b9e 2025-06-18 01:02:13 add MARVELL2 RTL8188EU found on the XPI-3128
78901779 2025-06-18 00:58:29 regen
2e74472e 2025-06-18 00:58:10 Tenda is Marvell, add Marvell RTL8188EU
6631e179 2025-06-16 12:36:43 Comparision of an integer to be <= INT32_MAX is always true. And it neglected the fact that UGETW() cannot return values larger than UINT16_MAX. ok bluhm@
be5df715 2025-06-10 13:32:26 Remove extra space
e48ad33d 2025-06-10 12:50:42 Validate the 'max segment size' reported by the USB device as suggested by bluhm@. ok bluhm@
a3912f84 2025-06-10 08:29:57 Validate fields of the NCM transfer headers provided by the USB device. Found by Robert Morris; reported by Pierre Pronchery. ok bluhm@
ea2a3e6e 2025-06-05 08:22:25 Validate the length field provided by the USB device. Found by Robert Morris; reported by Pierre Pronchery. ok bluhm@
6ac0330b 2025-06-04 00:06:17 inline -> static inline, fixes -fno-inline build ok kevlo@
bd1b66ff 2025-05-26 14:59:17 Don't blindly trust the values provided by an USB device. Validate them! Found by Robert Morris; reported by Pierre Pronchery. ok claudio@
449dd8e0 2025-05-23 03:06:09 Add preliminary support for RTL8157. Tested: RTL8153 (0x5c20/0x5c30): stsp
1a842094 2025-05-23 03:05:05 sync
191dd14a 2025-05-23 03:04:43 Add USB product ID for RTL8157
8c061c0b 2025-04-19 19:35:32 sys/uvideo: avoid one bcopy for the mmap'ed buffer Tested by ian@ OK and collaboration: mglocker@
84d0464d 2025-04-06 09:46:30 sys/uvideo: revert uvideo.c,1.256 for the release This perfromance optimization is required to support 60 FPS streaming, but it introduces a regression for ian@ use case of multimedia/motion. OK: mglocker@
e674ff4e 2025-04-03 11:02:44 sys/usb: fix potential buffer overflow from oversized USB chunks If a device announces it will send n bytes but then actually sends a chunk larger than n bytes, a kernel without DIAGNOSTIC appears to overwrite memory past the buffer boundary. Conversely, with DIAGNOSTIC enabled, this memory overwrite does not occur. OK: mpi@
1f381123 2025-03-28 23:17:00 Open bulk usb(4) pipes once for the lifetime of the device. ok kevlo@
eaa57d03 2025-03-27 14:12:38 add UQ_ALWAYS_OPEN quirks for Dell and Lenovo PixArt mice reported/tested by Chris Billington
b8af0de0 2025-03-27 14:11:14 sync
26d34158 2025-03-27 14:10:31 Add Dell/Lenovo optical mice, they have the buggy PixArt firmware that needs a quirk to avoid continual detach/reattach if X isn't running. While there rename an "Optical mouse" to "Optical Mouse" to save bytes.
60d2e2b4 2025-03-24 18:56:34 sys/uvideo: avoid one bcopy for the mmap'ed buffer Tested by landry@ OK and collaboration: mglocker@
4c4a4fd7 2025-03-21 22:47:08 Remove UVIDEO_DUMP code. Writing frame data in to a file for debugging was required in the very early days, but not anymore. ok kirill@
fdb2a028 2025-03-21 13:34:41 sys/uvideo: call uvideo_close() from uvideo_detach() It also drop useless usbd_delay_ms() in uvideo_detach() and clean usage of usbd_is_dying() to avoid uvm fault panic on detach of isoc webcam. OK and collaboration: mglocker@ and mpi@
c08c3e5e 2025-03-18 13:38:15 Make sure to use all buffers which have been requested by the application. Tested and ok kirill@
23496bb7 2025-03-12 14:08:51 Revert uvideo.c,1.247 for now since it has caused regression in some cases. Reported and tested by landry@
b7ce6b25 2025-03-10 07:38:12 sys/uvideo: fix crash by videoclose() or ioctl(VIDIOC_STREAMOFF) on detached webcam OK: mglocker@
aa707e2a 2025-03-08 08:27:32 sys/uvideo: fix crash on close isochronous endpoint's webcam uvideo_vs_close() is called by videoclose() and by ioctl(VIDIOC_STREAMOFF). If it's done on a detached webcam with an isochronous endpoint, the system may crash inside usbd_set_interface() if the device was cleaned up while waiting and interfaces were deallocated. OK: mglocker@
4053394b 2025-03-04 22:59:01 sys/uvideo: avoid null-pointer after queued v4l2 frame OK: mglocker@
2ca76a89 2025-03-02 08:18:12 upd(4): fix RunTimeToEmpty on at least some EATON models for some reason when that hid report is on 4 bytes, the value is absurdly high (eg 'days'). Comparing with what sysutils/nut says, right-shifting the value given by the device matches the readings from nut (eg between 30mn and 1h). looking at the usbhid parser in nut, it seems to refer to the concept of 'offset' in a reading, but that's something we don't have in hid.c, and isn't clearly mentioned in the usbhid spec.. besides the cryptic sentence 'the offset of a field in a report is determined by the fields that are declared before it'. tested on macppc & amd64 with an 'EATON Ellipse PRO' (which reports a broken value on 4 bytes) and an 'APC Back-UPS BX950MI' (which reports an already correct value on 2 bytes) a variation of this was tested a while ago by Walter Alejandro Iglesias to fix the same issue on a 'Eaton 3S 550'. to know the report size for RunTimeToEmpty: $lsusb -v -d <vendor>:<product> | grep -A2 'Time To Empty' | grep Size ok miod@
26b9abeb 2025-03-01 14:44:09 sys/uvideo: support of USB 3.0 speeds OK: mglocker@
cd5896cf 2025-03-01 14:43:03 sys/xhci: support of USB 3.0 speeds OK: mglocker@
9c635e83 2025-03-01 12:30:19 Copy frames directly in to the mmap'ed buffer. This saves us one bcopy() down the frame queuing path. Original idea and diff from kirill@, with some modifications. ok kirill@
f650140b 2025-02-26 21:03:52 Convert two functions to void for which no useful return code checking is done today. ok kirill@
232344c3 2025-02-26 20:50:46 sys/uvideo: support colorformat from device OK: mglocker@
a6b86b1d 2025-02-25 22:13:44 sys/uvideo: treat frame as done when mmap queue is overflowed OK: mglocker@
3dc5ebc3 2025-02-25 22:10:39 sys/utvfu, sys/uvideo: clearify used timestamps OK: mglocker@
924e3373 2025-02-24 21:24:54 sys/uvideo: never try to allocate more than MALLOC_MAX OK: miod@
183cafad 2025-02-24 12:43:29 sys/uvideo: dump bDescriptorSubtype for unsupported CS_INTERFACE when debug is enabled OK: mglocker@
5f02adc7 2025-02-23 14:12:15 sys/uvideo: compute max_packet_size the same way in all cases OK: mglocker@
a5c838d8 2025-02-23 08:28:57 sys/uvideo: dump baInterfaceNr when debug is enabled OK: mglocker@
02f8071d 2025-02-19 08:45:27 regen
f8ccd129 2025-02-19 08:44:56 sort
5c4be1f5 2025-02-15 09:05:15 sys/uvideo: clarify bulk endpoint stream closure UVC does not specify how to notify a bulk-based device when the video stream stops. Both Linux and Windows send a CLEAR_FEATURE(HALT) request to the video streaming bulk endpoint. OK: mglocker@
3dd691bf 2025-02-06 13:15:50 sys/uvideo: add quriks for Elgato Game Capture HD60 S+ and similar devices Feedback and OK: mglocker@
5f6a835c 2025-02-06 13:14:33 Regen
ff62bf96 2025-02-06 13:13:25 sys/usbdevs: add Elgato Game Capture HD60 S+, to be used in quirks
80adcac3 2025-02-01 22:46:34 Force 32-bit accesses when reading 8-bit or 16-bit registers. This allows using xhci(4) on a Cadence xHCI controller as seen on the Radxa Orion O6. This should be fine on all, also because these access are not really in a critical path and issues will be noticeable right away: Such accesses are used only by the version printf, the reading of the offset to the operation registers, and for the semaphore when taking over from BIOS. An issue there will be noticeable right away. Tested by and ok kettenis@ mglocker@
6c49ea28 2025-01-16 22:58:19 sys/uvideo: sync GUID to pixelformat mappngs with Linux 6.13-rc7 OK: mglocker@
8a8057a7 2025-01-15 20:34:50 sys/videoio.h: sync V4L2 with Linux-6.13-rc7 also, cleanup all __KERNEL__ macroses man update by mglocker@ bulk build and feedback by jca@ OK: jca@ mglocker@
76a04d77 2025-01-13 15:32:36 sys/uvideo: bypass unknown pixelformat to consumer The GUID format read from a camera usually begins with a null-terminated pixel format. Certain formats should be mapped, such as converting YUY2 to YUYV and I420 to YVU420, among others. Instead of rejecting unknown driver formats like M420, I bypass them to the consumer, which likely knows how to handle these formats. OK mglocker@
94e909e9 2025-01-12 16:39:39 Remove double include of sys/videoio.h, and re-sort includes to be more aligned with uvideo(4). ok kirill@