Branch :
| 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@ |