272461 |
03-Oct-2014 |
gjb |
Copy stable/10@r272459 to releng/10.1 as part of the 10.1-RELEASE process.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
268738 |
16-Jul-2014 |
hselasky |
MFC r268583: Turn off blinking device leds at attach.
PR: 183735
|
263261 |
17-Mar-2014 |
hselasky |
MFC r262972: Ignore USB keyboard driver calls from critical sections.
|
263208 |
15-Mar-2014 |
hselasky |
MFC r262663: - Make pointer easier to control when moving slowly. - Increase chance of vertical scrolling as vertical scrolling is used more often.
|
263072 |
12-Mar-2014 |
hselasky |
MFC r262477: Updates for WSP driver.
|
263063 |
12-Mar-2014 |
hselasky |
MFC r262417, r262439, r262454, r262455 and r262478: - Several updates and improvements to ATP driver. - Start effort merging WSP and ATP driver.
|
262369 |
23-Feb-2014 |
hselasky |
MFC r261827: - Remove not needed definitions from driver. - Get USB input report length from HID descriptor. - Use 1 finger TAP for devices which has no integrated button. - Move data buffer to softc instead of allocating it.
|
261509 |
05-Feb-2014 |
hselasky |
MFC r261260, r261262, r261315 and r261343: Add support for trackpads found in Apple MacBook products. While at it add some missing devd entries.
|
261478 |
04-Feb-2014 |
hselasky |
MFC r261228: When detaching a [USB] keyboard, keys might still be pressed. Ensure that all pressed keys are released before completing the USB keyboard detach. This will prevent so-called "ghost-keys" from appearing after that the USB device generating the key event(s) has been detached.
|
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
|
254572 |
20-Aug-2013 |
hselasky |
Force keyboards which don't have the required HID fields to use the USB BOOT protocol for now.
PR: usb/181425 Submitted by: Andrey Zholos <aaz@q-fu.com> MFC after: 4 weeks
|
253332 |
13-Jul-2013 |
hselasky |
Allow regular off-the-shelf keyboards to be overclocked like so-called "Gamers Keyboards" by adding a tunable, "hw.usb.ukbd.pollrate", which can fix the polling rate of the attached USB keyboards in the range 1..1000Hz. A similar feature already exists in the USB mouse driver. Use with care! Might leave you without keyboard input. This feature is only available when the USB_DEBUG option is set in the kernel configuration file.
Correct "unit" type to "int" while at it.
|
246128 |
30-Jan-2013 |
sbz |
Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays
Reviewed by: cognet Approved by: cognet
|
245248 |
10-Jan-2013 |
hselasky |
Fix detection of Razer Copperhead as a USB mouse. Factor out USB mouse and keyboard detection logic. Reject USB keyboards which have mouse alike HID items in their HID descriptors.
Submitted by: Matthew W MFC after: 1 week
|
242126 |
26-Oct-2012 |
hselasky |
Add missing CTLFLAG_TUN flag to tunable sysctls in USB stack. Rearrange the tunables and belonging sysctl declarations, so that they are next to eachother.
Submitted by: n_hibma @ MFC after: 1 week
|
241843 |
22-Oct-2012 |
eadler |
Make uhid attach to devices that look like keyboards or mice if the quirk which prevents higher level drivers from attaching is set.
PR: usb/172458 Submitted by: Vitaly Magerya <vmagerya@gmail.com> Reviewed by: hselasky Approved by: cperciva MFC after: 1 week
|
240615 |
17-Sep-2012 |
hselasky |
Add UQ_UMS_IGNORE quirk. Wrap two long lines. Some minor spelling correction.
PR: usb/171721
|
235569 |
17-May-2012 |
mav |
Fix for the r235558: interrupt output pipe is optional, so fix the driver attach and operation when it is absent.
Sponsored by: iXsystems, Inc. MFC after: 1 week
|
235558 |
17-May-2012 |
mav |
Add support for writing to HID devices through the interrupt output pipe. Supermicro LCD screen modules seem to not support accessing reports through the control pipes, but working fine with the interrupt pipes.
Sponsored by: iXsystems, Inc. MFC after: 1 week
|
235451 |
14-May-2012 |
hselasky |
Move reset of USB mouse parameters from the USB mouse attach to the USB mouse device open. Protect against multi character device open. Some other nits.
MFC after: 1 week
|
233774 |
02-Apr-2012 |
hselasky |
Fix compiler warnings, mostly signed issues, when USB modules are compiled with WARNS=9.
MFC after: 1 weeks
|
228765 |
21-Dec-2011 |
avg |
ukbd: adjust for SCHEDULER_STOPPED() and overhaul locking code
This change is designed to let USB keyboard work in the panic context with stop_scheduler_on_panic=1. Most of change consists of removing mtx_owned() checks where they can be easily avoided. Some additional lock cleanup is performed along the way.
A list of the smaller changes: - newbus methods should be executed with Giant already held, just assert this - kbd methods called in the non-polling context should be executed with Giant already held, just assert this - Giant is recursive, so we should just take it where we must have it, without redundant checks if we already have it - thanks to recent syscons changes we don't need to go through the hoops to detect if kernel is going to poll us; polling mode is now clearly separated from non-polling mode - at present the polling mode can be entered by only one thread - document special cases in greater detail
Please note that the ukbd code and underlying USB code still lve dangerously in the kdb context by trying to obtain various locks including the Giant. If any of those locks are already held by the stopped threads, then the things would blow up. Another limitation of the ukbd driver is that it is detached before a system enters the halt state.
With this commit we can enable kern.stop_scheduler_on_panic by default, that should not introduce any regressions.
Reviewed by: hselasky MFC after: 3 months X-MFC after: r228424, r228760
|
227309 |
07-Nov-2011 |
ed |
Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.
The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else, there's no reason why it shouldn't be static.
|
225839 |
28-Sep-2011 |
mav |
MFprojects/hid: Import the rest of HID improvements from the branch: - improve report descriptor parser in libusbhid to handle several kinds of reports same time; - add to the libusbhid API two functions wrapping respective kernel IOCTLs for reading and writing reports; - tune uhid IOCTL interface to allow reading and writing arbitrary report, when multiple supported by the device; - teach usbhidctl to set output and feature reports; - make usbhidaction support all the same item names as bhidctl.
Sponsored by: iXsystems, inc.
|
224499 |
29-Jul-2011 |
mav |
Make ums(4) driver more picky, not attaching to "mouses" with absolute coordinates, such as digitizers and touch-screens, leaving these devices to uhid(4) and user-level. Specially patched xf86-input-mouse driver can handle them, that isn't done and can't be done properly with ums(4) because of mouse(4) protocol limitations.
Approved by: re (kib)
|
224126 |
17-Jul-2011 |
ed |
Restore binary compatibility for GIO_KEYMAP and PIO_KEYMAP.
Back in 2009 I changed the ABI of the GIO_KEYMAP and PIO_KEYMAP ioctls to support wide characters. I created a patch to add ABI compatibility for the old calls, but I didn't get any feedback to that.
It seems now people are upgrading from 8 to 9 they experience this issue, so add it anyway.
|
223989 |
13-Jul-2011 |
hselasky |
Fix for dump after shutdown with USB keyboard plugged in. It appears that the system timer is stopped during shutdown and that the pause() statement in ukbd causes infinite hang in this regard. The fix is to use mi_switch() instead of pause() to do the required task switch to ensure that the required USB processes get executed.
Reported by: Mike_Karels@mcafee.com MFC after: 1 week
|
223755 |
04-Jul-2011 |
hselasky |
Make the USB keyboard driver more HID compliant. Try to auto-detect keyboards which should use the BOOT protocol.
MFC after: 2 weeks
|
223728 |
02-Jul-2011 |
hselasky |
Fix for "nomatch" event for ums and ukbd drivers when uhid is loaded.
MFC after: 3 days
|
223521 |
24-Jun-2011 |
hselasky |
- Export more USB device ID's. - Update bus_auto.conf accordingly.
MFC after: 3 days
|
223486 |
24-Jun-2011 |
hselasky |
- Move all USB device ID arrays into so-called sections, sorted according to the mode which they support: host, device or dual mode - Add generic tool to extract these data: tools/bus_autoconf
Discussed with: imp Suggested by: Robert Millan <rmh@debian.org> PR: misc/157903 MFC after: 14 days
|
222051 |
18-May-2011 |
avg |
usb: change to one-pass probing of device drivers
This brings USB bus more in line with how newbus is supposed to be used. Also, because of the two-pass probing the following message was produced by devd in default configuration when almost any USB device was connected: Unknown USB device: vendor <> product <> bus <> This should be fixed now.
Note that many USB device drivers pass some information from probe method to attach method via ivars. For this to continue working we rely on the fact that the subr_bus code calls probe method of a winning driver again before calling its attach method in the case where multiple drivers claim to support a device. This is done because device description is set in successful probe methods and we want to get a correct device description from a winning driver. So now this logic is re-used for setting ivars too.
Reviewed by: hselasky MFC after: 1 month
|
219848 |
21-Mar-2011 |
hselasky |
- Do not output the trailing newline to the HID report descriptor information, sysctl utility will show it for us. - Modify sysctl node description to make it more understanable.
Found by: Alexander Best <arundel@freebsd.org> Submitted by: Eygene Ryabinkin <rea@freebsd.org> MFC after: 14 days Approved by: thompsa (mentor)
|
217323 |
12-Jan-2011 |
mdf |
sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly.
Commit the rest of the devices.
|
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
|
215254 |
13-Nov-2010 |
hselasky |
Fix compiler warnings.
Submitted by: Alexander Best (arundel) Approved by: thompsa (mentor)
|
212132 |
02-Sep-2010 |
thompsa |
Fix UMS_BUTTON_MAX define name
|
212129 |
02-Sep-2010 |
thompsa |
Add support for extra buttons on the Kensington Slimblade Trackball.
Submitted by: Lee, Chung-Yeol
|
212128 |
02-Sep-2010 |
thompsa |
Silence debug error by default.
PR: usb/141212 Submitted by: Hans Petter Selasky
|
212122 |
01-Sep-2010 |
thompsa |
Add missing MODULE_VERSION() definitions, this resolves problems around duplicate module loads.
PR: usb/125736 Submitted by: danger, mm Reviewed by: hselasky
|
208554 |
25-May-2010 |
glebius |
Add uep(4), driver for USB onscreen touch panel from eGalax.
The driver is stub. It just creates device entry and feeds reassembled packets from hardware into it.
If in future we would port wsmouse(4) from NetBSD, or make sysmouse(4) to support absolute motion events, then the driver can be extended to act as system mouse. Meanwhile, it just presents a /dev/uep0, that can be utilized by X driver, that I am going to commit to ports tree soon.
The name for the driver is chosen to be the same as in NetBSD, however, due to different USB stacks this driver isn't a port.
|
208009 |
12-May-2010 |
thompsa |
Enable support for mouse panning wheels.
Submitted by: Henry Hu
|
207077 |
22-Apr-2010 |
thompsa |
Change USB_DEBUG to #ifdef and allow it to be turned off. Previously this had the illusion of a tunable setting but was always turned on regardless.
MFC after: 1 week
|
206638 |
14-Apr-2010 |
gavin |
Use the UIPROTO_BOOT_KEYBOARD #define from usb.h rather than a local (almost identically named) local #define.
Reviewed by: hselasky
|
205804 |
28-Mar-2010 |
thompsa |
Do not swap Apple keys when detecting Apple-FN keyboards.
Reported by: Steven Noonan Submitted by: Hans Petter Selasky
|
205040 |
11-Mar-2010 |
thompsa |
extend search for Apple Function Key.
PR: usb/144414 Submitted by: Hans Petter Selasky
|
204632 |
03-Mar-2010 |
joel |
The NetBSD Foundation has granted permission to remove clause 3 and 4 from their software.
Obtained from: NetBSD
|
203896 |
14-Feb-2010 |
thompsa |
Detect when we are polling from kernel via cngetc() in the boot process and reserve the keypresses so they do not get passed to syscons.
Submitted by: Hans Petter Selasky
|
200304 |
09-Dec-2009 |
thompsa |
If the ID byte is non zero then we allow descriptors having multiple sizes.
Submitted by: HPS Reported by: daichi
|
200241 |
08-Dec-2009 |
rpaulo |
Improve response to multi-touch taps.
Submitted by: Rohit Grover <rgrover1 at gmail.com>
|
199948 |
29-Nov-2009 |
nwhitehorn |
Early-generation touchpads do not send periodic calibration frames for baseline subtraction, and are very temperature sensitive, so would slowly drift out of a calibrated state when under load. Escape this by taking the last frame before we decide that the pad is idle as a finger-free baseline.
Tested on: iBook G4
|
199816 |
26-Nov-2009 |
thompsa |
Remove overuse of exclamation marks in kernel printfs, there mere fact a message has been printed is enough to get someones attention. Also remove the line number for DPRINTF/DPRINTFN, it already prints the funtion name and a unique message.
|
199680 |
22-Nov-2009 |
thompsa |
Make the mode setting transfer asynchronous.
Submitted by: Rohit Grover
|
199675 |
22-Nov-2009 |
thompsa |
Provide tunables for some of the usb sysctls that affect boot behaviour.
Submitted by: Andriy Gapon
|
199169 |
11-Nov-2009 |
nwhitehorn |
Reduce probe priority of USB input devices to BUS_PROBE_GENERIC from BUS_PROBE_SPECIFIC. This allows device-specific drivers like atp to attach reliably.
Reviewed by: hps
|
199151 |
10-Nov-2009 |
nwhitehorn |
Add support for the touchpads found in later models of iBook and Powerbook.
Reviewed by: Rohit Grover <rgrover1 at gmail.com>
|
199086 |
09-Nov-2009 |
rpaulo |
Driver for the Apple Touchpad present on MacBook (non-Pro & Pro).
Submitted by: Rohit Grover <rgrover1 at gmail.com> MFC after: 2 months
|
198373 |
22-Oct-2009 |
thompsa |
Allow dumping the USB mouse reports via 'sysctl -b dev.ums.N.parseinfo', previously only available via bootverbose.
PR: usb/137191 Submitted by: Eygene Ryabinkin
|
198152 |
15-Oct-2009 |
thompsa |
Only poll ukbd if KDB is active.
Submitted by: HPS
|
197999 |
12-Oct-2009 |
hrs |
Fix the 106/109 USB Japanese keyboard "underscore" issue. Sun Type 6 USB keyboard support added in rev 1.46 conflicted with some scan codes used in Japanese keyboards because the scan code conversion routine was ambiguous for the overlapped codes.
PR: ports/134005 Submitted by: YAMASHIRO Jun
|
196489 |
24-Aug-2009 |
alfred |
- patch for cordump slowdown. Avoid using DELAY(1000) when no keys are pressed. - Reported by: Various people
- add sysctl to disable keyboard led control request - Reported by: Yoshihiro Ota
- Save system CPU usage: Patch to stop keyboard timer when no keys are pressed.
Submitted by: hps MFC after: 3 days
|
196403 |
20-Aug-2009 |
jhb |
Temporarily revert the new-bus locking for 8.0 release. It will be reintroduced after HEAD is reopened for commits by re@.
Approved by: re (kib), attilio
|
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)
|
196037 |
02-Aug-2009 |
attilio |
Make the newbus subsystem Giant free by adding the new newbus sxlock. The newbus lock is responsible for protecting newbus internIal structures, device states and devclass flags. It is necessary to hold it when all such datas are accessed. For the other operations, softc locking should ensure enough protection to avoid races.
Newbus lock is automatically held when virtual operations on the device and bus are invoked when loading the driver or when the suspend/resume take place. For other 'spourious' operations trying to access/modify the newbus topology, newbus lock needs to be automatically acquired and dropped.
For the moment Giant is also acquired in some key point (modules subsystem) in order to avoid problems before the 8.0 release as module handlers could make assumptions about it. This Giant locking should go just after the release happens.
Please keep in mind that the public interface can be expanded in order to provide more support, if there are really necessities at some point and also some bugs could arise as long as the patch needs a bit of further testing.
Bump __FreeBSD_version in order to reflect the newbus lock introduction.
Reviewed by: ed, hps, jhb, imp, mav, scottl No answer by: ariff, thompsa, yongari Tested by: pho, G. Trematerra <giovanni dot trematerra at gmail dot com>, Brandon Gooch <jamesbrandongooch at gmail dot com> Sponsored by: Yahoo! Incorporated Approved by: re (ksmith)
|
195960 |
30-Jul-2009 |
alfred |
USB CORE: - Add minimum polling support to drive UMASS and UKBD in case of panic. - Add extra check to ukbd probe to fix problem about mouse devices attaching like keyboards. - P4 ID: 166148
Submitted by: hps Approved by: re
|
195959 |
30-Jul-2009 |
alfred |
USB input - add support for setting the UMS polling rate through -F option passed to moused. - requested by Alexander Best - P4 ID: 166075
PR: usb/125264
Submitted by: hps Approved by: re
|
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.
|
194099 |
13-Jun-2009 |
thompsa |
Make variables static where appropriate.
Found by: cscout
|
194068 |
12-Jun-2009 |
thompsa |
Change ums_probe() so it does not need to fetch the usb_interface_descriptor.
Submitted by: Hans Petter Selasky
|
194067 |
12-Jun-2009 |
thompsa |
Check for a keyboard HID report in addition to the interface class so devices such as the Yubikey attach.
Submitted by: Hans Petter Selasky Reported by: Jeremy Faulkner
|
193466 |
04-Jun-2009 |
thompsa |
Remove duplicate variable setting.
Spotted by: Sylvestre Gallon
|
193315 |
02-Jun-2009 |
thompsa |
Staticize ukbd_detach and fix indentation.
Submitted by: Sylvestre Gallon
|
193045 |
29-May-2009 |
thompsa |
s/usb2_/usb_/ on all typedefs for the USB stack.
|
192984 |
28-May-2009 |
thompsa |
s/usb2_/usb_/ on all C structs for the USB stack.
|
192925 |
27-May-2009 |
thompsa |
Add support for the Apple MacBook Pro keyboard - add key mappings for fn keys - byte swapping for certain models - Fix leds for keyboards which require an ID byte for the HID output structures
Submitted by: Hans Petter Selasky
|
192502 |
21-May-2009 |
thompsa |
Rename the usb sysctl tree from hw.usb2.* back to hw.usb.*.
Submitted by: Hans Petter Selasky
|
192499 |
21-May-2009 |
thompsa |
- rename usb2_mode to usb_mode [1] - change variable types to use the enum
Submitted by: Hans Petter Selasky [1]
|
190749 |
05-Apr-2009 |
piso |
Remove pointeless mergeinfo that crept in from r190633.
|
190741 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159995
- add support for more complicated HID descriptors which can have multiple definitions of the same field. - remove old modulo patch in ums, which I think is due to bad HID parsing, which should be fixed now.
Reported by: netchild Submitted by: Hans Petter Selasky
|
190734 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159909
- make usb2_power_mask_t 16-bit - remove "usb2_config_sub" structure from "usb2_config". To compensate for this "usb2_config" has a new field called "usb_mode" which select for which mode the current xfer entry is active. Options are: a) Device mode only b) Host mode only (default-by-zero) c) Both modes. This change was scripted using the following sed script: "s/\.mh\././g". - the standard packet size table in "usb_transfer.c" is now a function, hence the code for the function uses less memory than the table itself.
Submitted by: Hans Petter Selasky
|
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
|
190172 |
20-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb @159375,159376,159377
Further remove dependancy towards Giant.
Submitted by: Hans Petter Selasky
|
189583 |
09-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb@158916
USB mouse patch to address complicated data reporting descriptors.
Reported by: Boris Kotzev Submitted by: Hans Petter Selasky
|
189275 |
02-Mar-2009 |
thompsa |
Rename the ushub device class back to uhub as it was in the old usb stack, moused(8) looks for "uhub/ums" to decide if needs to load the module.
Reported by: Garrett Cooper
|
189110 |
27-Feb-2009 |
thompsa |
Change USB over to make_dev() for all device nodes, previously it hooked into the devfs clone handler to open the (invisible) devices on the fly.
The /dev entries are layed out as follows,
/dev/usbctl = master device /dev/usb/0.1.0.5 = usb device, (<bus>.<dev>.<iface>.<endpoint>) /dev/ugen0.1 -> usb/0.1.0.0 = ugen link to ctrl endpoint
This also removes the custom permissions model from USB. Bump __FreeBSD_version to 800066.
Submitted by: rink (earlier version)
|
189001 |
24-Feb-2009 |
ed |
Use my address of the FreeBSD project in the copyright statement in USB2.
If I remember correctly, our policy was to use FreeBSD with proper capitalisation in our email addresses. Fix this in Nick Hibma's address as well.
|
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.
|