369198 |
01-Feb-2021 |
hselasky |
MFC ea0efc370416: Add support for PL2303HXN to uplcom(4).
Code changes in this commit were obtained from straight from OpenBSD's uplcom.c with almost no modification, the list of chip names and USB IDs was obtained from Linux.
Differential Revision: https://reviews.freebsd.org/D27952 Submitted by: tomli_tomli.me (Yifeng Li) Sponsored by: Mellanox Technologies // NVIDIA Networking
(cherry picked from commit ea0efc37041640686fbfb226e80ee60e58cb17f1)
Git Hash: 671c393854a5ae60369beadfb74007e240bb18ab Git Author: hselasky@FreeBSD.org |
368827 |
30-Dec-2020 |
hselasky |
MFC r368659 and r368664: Improve handling of alternate settings in the USB stack.
Allow setting the alternate interface number to fail when there is only one alternate setting present, to comply with the USB specification.
Refactor how iface->num_altsetting is computed.
Bump the __FreeBSD_version due to change of core USB structure.
PR: 251856 Submitted by: Ma, Horse <Shichun.Ma@dell.com> Sponsored by: Mellanox Technologies // NVIDIA Networking
Git Hash: d511b855ed55bf72e88f7b00fa1268379f30a792 Git Author: hselasky@FreeBSD.org |
368826 |
30-Dec-2020 |
hselasky |
MFC r368658: Improve handling of alternate settings in the USB stack.
Limit the number of alternate settings to 256. Else the alternate index variable may wrap around.
PR: 251856 Submitted by: Ma, Horse <Shichun.Ma@dell.com> Sponsored by: Mellanox Technologies // NVIDIA Networking
Git Hash: 59ded046d5ed159b334337166dc5dd0509531d1c Git Author: hselasky@FreeBSD.org |
368292 |
03-Dec-2020 |
lwhsu |
MFC r367812:
ipheth(4): Fix for iOS 14
Fix USB tethering for iOS 14.
Inspired by: https://github.com/libimobiledevice/libimobiledevice/issues/1038
PR: 249979 Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D27250 |
368214 |
01-Dec-2020 |
hselasky |
MFC r367622: Add more USB quirks.
PR: 230038 Sponsored by: Mellanox Technologies // NVIDIA Networking |
368210 |
01-Dec-2020 |
hselasky |
MFC r367614: When doing a USB alternate setting on an USB interface we need to re-configure the XHCI endpoint context.
Differential Revision: https://reviews.freebsd.org/D27174 Sponsored by: Mellanox Technologies // NVIDIA Networking |
367565 |
10-Nov-2020 |
hselasky |
MFC r366806: Add new USB quirk.
PR: 250422 Submitted by: vidwer+fbsdbugs@gmail.com Sponsored by: Mellanox Technologies // NVIDIA Networking |
367561 |
10-Nov-2020 |
hselasky |
MFC r367236: Implement the USB_GET_DEVICEINFO ioctl(2) for uhid(4).
Submitted by: pedro martelletto <pedro@ambientworks.net> Sponsored by: Mellanox Technologies // NVIDIA Networking |
367559 |
10-Nov-2020 |
hselasky |
MFC r367096: Add new USB IDs.
Submitted by: aleksi.kaalinpaa@kapsi.fi PR: 250675 Sponsored by: Mellanox Technologies // NVIDIA Networking |
366887 |
20-Oct-2020 |
hselasky |
MFC r366536: Try a bit harder to get the USB device descriptor in case the initial read fails.
Sponsored by: Mellanox Technologies // NVIDIA Networking |
366877 |
20-Oct-2020 |
hselasky |
MFC r366431: Add support for Google Cr50 (GSC) Closed Case Debugging UART interfaces to the USB generic serial port driver, ugensa.
Differential Revision: https://reviews.freebsd.org/D21863 Submitted by: greg_unrelenting.technology (Greg V) Sponsored by: Mellanox Technologies // NVIDIA Networking |
366875 |
20-Oct-2020 |
hselasky |
MFC r365966: Add support for Winbond USB CDC modem device found in Tenma power supply.
PR: 249384 Submitted by: darius@dons.net.au Sponsored by: Mellanox Technologies // NVIDIA Networking |
366183 |
26-Sep-2020 |
hselasky |
MFC r365918: Fix for use of the XHCI driver on Cortex-A72 by adding a missing cache flush operation before writing to the XHCI_ERSTBA_LO/HI register(s).
PR: 237666 Discussed with: Mark Millard <marklmi@yahoo.com> Sponsored by: Mellanox Technologies // Nvidia |
366068 |
23-Sep-2020 |
lwhsu |
MFC r365444:
Add support to BELKIN B2B128 USB3 Ethernet Adapter to axge(4)
Github PR: https://github.com/freebsd/freebsd/pull/439 Submitted by: https://github.com/jdpc86 |
366001 |
22-Sep-2020 |
ian |
MFC r365729:
Add product ID strings for a couple Microchip usb hubs. Also, update the vendor ID string to say just "Microchip Technology" -- the buyout of Standard Microsystems happened in 2012 and the SMC/SMSC names are pretty much retired at this point.
PR: 241406 |
365965 |
21-Sep-2020 |
hselasky |
MFC r364932: Allow slow USB devices to be given more time to return their USB descriptors, like Logitech HD Pro Webcam C920.
PR: 248926 Sponsored by: Mellanox Technologies |
365743 |
15-Sep-2020 |
lwhsu |
MFC r365606:
urndis(4): Add support of Inseego/Novatel Wireless MiFi 8800/8000
PR: 245152 Submitted by: rootless@gmail.com Reviewed by: hselasky |
365738 |
15-Sep-2020 |
jmg |
MFC r365623: Don't clear reserved bits per RealTek
This is a direct commit as the driver is significantly different. |
365240 |
02-Sep-2020 |
hselasky |
MFC r364347: Check the XHCI endpoint state before issuing XHCI endpoint commands.
Differential Revision: https://reviews.freebsd.org/D26064 Reviewed by: kp@ and bz@ Sponsored by: Mellanox Technologies |
363665 |
29-Jul-2020 |
markj |
MFC r363420: usb(4): Stop checking for failures from malloc(M_WAITOK). |
362167 |
14-Jun-2020 |
hselasky |
MFC r362056: Add missing range checks when receiving USB ethernet packets.
Found by: Ilja Van Sprundel, IOActive Sponsored by: Mellanox Technologies |
361919 |
08-Jun-2020 |
hselasky |
MFC r361827: USB HID descriptors may push/pop the current state to allow description of items residing in a so-called union. FreeBSD currently only supports 4 such push levels.
If the push level is not restored within the processing of the same HID item, an invalid memory location may be used for subsequent HID item processing.
Verify that the push level is always valid when processing HID items.
Reported by: Andy Nguyen (Google) Sponsored by: Mellanox Technologies |
361911 |
08-Jun-2020 |
hselasky |
MFC r361581: Implement helper function, usbd_get_max_frame_length(), which allows kernel device drivers to correctly predict the default USB transfer frame length.
Sponsored by: Mellanox Technologies |
361907 |
08-Jun-2020 |
hselasky |
MFC r361577: Don't allow USB device drivers to parent own interface. It will prevent proper USB device detach.
Sponsored by: Mellanox Technologies |
361208 |
18-May-2020 |
hselasky |
MFC r360925: Refresh the USB device strings when a USB device is re-enumerated.
Submitted by: Horse Ma <Shichun.Ma@dell.com> Sponsored by: Mellanox Technologies |
360334 |
26-Apr-2020 |
hselasky |
MFC r360075: Set the maximum exit latency to 0 for XHCI USB 3.0 devices, because we don't implement link power management, LPM.
This fixes error code XHCI_TRB_ERROR_BANDWIDTH for isochronous USB 3.0 transactions.
Submitted by: Horse Ma <Shichun.Ma@dell.com> Sponsored by: Mellanox Technologies |
359559 |
02-Apr-2020 |
hselasky |
MFC r359439: Evaluate modifier keys before the regular keys, so that if a modifier key is pressed at the same time as a regular key, that means key with modifier is output. Some automated USB keyboards like Yubikeys need this.
This fixes a regression issue after r357861.
Reported by: Adam McDougall <mcdouga9@egr.msu.edu> PR: 224592 PR: 233884 Sponsored by: Mellanox Technologies |
359317 |
26-Mar-2020 |
hselasky |
MFC r359120: Correctly implement support for remote wakeup for USB 3.0 device.
Submitted by: Horse Ma <Shichun.Ma@dell.com> Sponsored by: Mellanox Technologies |
359259 |
23-Mar-2020 |
hselasky |
MFC r359031: Add new USB device ID to u3g driver.
Submitted by: super_gromit@hotmail.com PR: 244798 Sponsored by: Mellanox Technologies |
359258 |
23-Mar-2020 |
hselasky |
MFC r324607: Support the D-Link DWM-222 LTE Dongle
Submitted by: Daniel H?nschke <jailedemon@googlemail.com> |
359257 |
23-Mar-2020 |
hselasky |
MFC r308460: Sort DLINK section and add USB device ID of D-Link DWA-131 rev E1. |
359056 |
18-Mar-2020 |
wulf |
MFC r358824:
wmt(4): Fix Synaptics Touch Digitizer V04 attachment
Touch Digitizer V04 report descriptor declares 'Contact Count Maximum' usage as constant. That was not supported by descriptor parser.
PR: 232040 Reported by: Sergei Akhmatdinov <sakhmatd@darkn.space> |
359004 |
14-Mar-2020 |
wulf |
MFC r358895
wmt(4): Reapply r358872 (by hselasky) modified to use maximal input report size instead of wMaxPacketSize.
If the USB frame length is set to 1024 bytes, WMT_BSIZE, the EETI controller will pack multiple touch events in the packet and the current code will only process the first touch event.
As a result some important events are lost like releasing the finger from the touchscreen.
Use the maximal input report size as buffer size instead.
PR: 244718 Tested by: Oskar Holmlund <oskar.holmlund@ohdata.se>, wulf Discussed with: hselasky |
358874 |
11-Mar-2020 |
hselasky |
MFC r358738: Remove the power bit from the super speed root hub port status register because it clobbers the super speed link status when a device is in super speed mode. Currently the power bit is not needed for anything in the USB hub driver.
This fixes USB warm reset for super speed devices.
Tested by: Shichun.Ma@dell.com Sponsored by: Mellanox Technologies |
358697 |
06-Mar-2020 |
hselasky |
MFC r358609: Restart the USB keyboard repeat timer at every valid key-press.
This fixes a regression issue after r357861.
Reported by: James Wright <james.wright@jigsawdezign.com> PR: 224592 PR: 233884 Sponsored by: Mellanox Technologies |
358453 |
28-Feb-2020 |
hselasky |
MFC r358310: Use hid_get_data_unsigned() instead of hid_get_data() when reading the key-codes from the USB keyboard. Negative key-codes are currently skipped.
While at it use the bit size value provided by the HID location structure instead of assuming a value of 8.
This fixes a regression issue after r357861.
Reported by: Minoru TANABE <kotanabe3@gmail.com> PR: 224592 PR: 233884 Sponsored by: Mellanox Technologies |
358216 |
21-Feb-2020 |
hselasky |
MFC r357861 and r357898: Improve USB gaming keyboard support.
Add support for decoding pressed keys as a bitmap. The keys in the bitmap are described in the interface specific HID descriptor. Some keyboards even have multiple input interfaces, only using the bitmap method when the event array is full. That typically means when more than seven keys are pressed simultaneously.
The internals of the USB keyboard driver have been slightly reworked to keep track of all keys in a single bitmap having 256 bits. This bitmap is then divided into blocks of 64-bits as an optimisation.
Simplify automatic key repeat logic, because only the last key pressed can be repeated.
PR: 224592 PR: 233884 Tested by: Alex V. Petrov <alexvpetrov@gmail.com> Sponsored by: Mellanox Technologies |
358215 |
21-Feb-2020 |
hselasky |
MFC r304735 and r331692: Fix key delay and repeat, part 2.
Use sbintime_t timeouts with precision control to get very accurate timing. It costs little to always ask for about 1% accuracy, and the not so new event timer implementation usual delivers that, and when it can't it gets much closer than our previous coarse timeouts and buggy simple countdown.
The 2 fastest atkbd repeat rates have periods 34 and 38 msec, and ukbd pretended to support rates in between these. This requires sub-microsecond precision and accuracy even to handle the 4 msec difference very well, but ukbd asked the timeout subsystem for timeouts of 25 msec and the buggy simple countdown of this gave a a wide range of precisions and accuracies depending on HZ and other timer configuration (sometimes better than 25 msec but usually more like 50 msec). We now ask for and usually get precision and accuracy of about 1% for each repeat and much better on average.
The 1% accuracy is overkill. Rounding of 30 cps to 34 msec instead of 33 already gives an error of +2% instead of -1%, and ut AT keyboards on PS/2 interfaces have similar errors.
A timeout is now scheduled for every keypress and release. This allows some simplifications that are not done. It allows removing the timeout scheduling for exiting polled mode where it was unsafe in ddb mode. This is done. Exiting polled mode had some problems with extra repeats. Now exiting polled mode lets an extra timeout fire and the state is fudged so that the timeout handler does very little.
The sc->time_ms variable is unsigned to avoid overflow. Differences of it need to be signed. Signed comparisons were emulated by testing an emulated sign bits. This only works easily for '<' comparisonss, but we now need a '<=' comparison. Change the difference variable to signed and use a signed comparison. Using unsigned types here didn't prevent overflow bugs but just reduced them. Overflow occurs with n repeats at the silly repeat period of [U]INT_MAX / n. The old countdown had an off by 1 error, and the simplifications would simply count down 1 to 0 and not need to accumulate possibly-large repeat repeats.
PR: 226968 Sponsored by: Mellanox Technologies |
358214 |
21-Feb-2020 |
hselasky |
MFC r304699: Fix key delay and repeat, part 1.
kbdcontrol -r fast is documented to give a non-emulated atkbd's fastest rate of 250.34, but is misimplemented to request this as 0.0. ukbd supports many nonstandard rates, although it is currently too inaccurate by a factor of several hundred for non-huge nonstandard rates to be useful. It mapped 0.0 to 200.0. A repeat delay of 0 means a rate of infinity which is quite fast, but physical constraints limit this to a few MHz and the inaccuracies made it almost usable.
Convert 0.0 to the documented 250.34.
Also convert negative args and small args to the 250.34 minimal ones, like atkbd does. This is for KDSETREPEAT -- the 2 versions of the deprecated KDSETRAD have bounds checking. Keep not doing any bounds checking or conversions for upper limits since nonstandard large delays are useful for testing.
The inaccuracies are dependent on HZ and the timeout implementation. With the old timeout implementation and HZ = 1000, 200.0 probably worked better to emulate 250.34 than 250.34 itself. HZ = 100 gives roundoff errors that accidentally reduce the inaaccuracies, and event timers reduce the inaccuracies even more, so 200.0 was giving more like itself (perhaps 215.15 on average but sometimes close to 10 msec repeat which is noticebly too fast). This commit makes 0.0 noticeably too slow, like 250.34 always was. |
358213 |
21-Feb-2020 |
hselasky |
MFC r304612: Further fixes for translation of PrintScreen/SysRq.
The previous fix was tested mainly on 3 AT keyboards with USB adaptors where it works. 1 USB keyboard doesn't translate Alt-PrintScreen, so the software has to do it.
Reorganize a little to share some code and to not translate the unusual usb scan code0x8a unless an Alt modified is set. Remove redundant check of Alt modifiers. Translation now more clearly filters out Alt-PrintScreen before the check.
The table of errors fixed in the previous commit had many bugs. Correct table:
K_RAW Ctl-PrintScreen: E0-2A-E0-37 -> E0-37 K_RAW Alt-PrintScreen (with 4 comb. of Ctl/Shift): 79 -> 54 K_RAW Pause/Break (with 4 comb. of Alt/Shift): E0-46 -> E1-1D-45 K_CODE PrintScreen (with 4 comb. of Ctl/Shift): 54 -> 5c K_CODE Alt-PrintScreen (with 4 comb. of Ctl/Shift): 7e -> 54 K_CODE Pause/Break (with 8 comb. of Ctl/Alt/Shift): 6c -> 68
That is 25 of 32 shift combinations for 2 keys fixed. All 16 combinations were broken for K_CODE and thus also for K_XLATE. |
358212 |
21-Feb-2020 |
hselasky |
MFC r304567: Fix translation of the PrintScreen/SysRq and Pause/Break keys. Almost everything was broken. The cases that I noticed were Ctrl-PrintScreen not being mapped to the virtual scancode 0x5c (debug) and Pause not being mapped to the physical/virtual scancode 0x46 (slock).
These keys are the most complicated ones due to kludges to give some compatibility back to before AT keyboards.
Alt-PrintScreen must pretend to be a separate key from PrintScreen even at the "raw" level. The (unique) usb code for it is 0x8a and we just have to map this to our unique virtual scancode 0x54, but we mapped it first to the internal code 0x7e and then to 0x79 which is a key on the Japanese 106/109 keyboard. This fix is under the UKBD_EMULATE_ATASCANCODE option which shouldn't be used for non-AT keyboards. If it is, then the syscons Japanese keymaps have nothing of importance for code 0x79 and can easily be changed. 0x54 is also unimportant in Japanese and US keymaps.
NonAlt-PrintScreen and NonCtl-Pause/Break had many much larger bugs with smaller compatibility problems from fixing them. The details are too ugly to give here. Summary of the changed (hex) codes:
K_RAW PrintScreen (Ctl, Shift, Ctl-Shift): E0-2A-E0-37 -> E0-37 K_RAW Alt-PrintScreen (all shift states): 79 -> 54 K_RAW Pause/Break (unshifted, Shift, Alt, Alt-Shift)): E0-46 -> E1-1D-45 K_CODE ALT-PrintScreen (all shift states): 79 -> 54
That is 15 of 32 shift combinations for 2 keys fixed, with 8 easy cases from the 79 -> 54 remapping.
The difference is only large and with no workaround using a keymap for for K_RAW, but this affects other modes when ukbd is layered under kbmux because kbmux keeps all subdevices in K_RAW mode and translates. Oops. I used kbdmux to generate the above table of changes. |
358019 |
17-Feb-2020 |
hselasky |
MFC r356597: Define the XHCI endpoint states.
Sponsored by: Mellanox Technologies |
358017 |
17-Feb-2020 |
hselasky |
MFC r357726: Add USB host controller PCI ID's for Hygon.
Differential Revision: https://reviews.freebsd.org/D23564 Sponsored by: Mellanox Technologies |
357434 |
03-Feb-2020 |
hselasky |
MFC r328985: Give USB template SYSUNINIT()'s a uniq name to avoid symbol name collision when building stand/usb. Regression after r328194.
Sponsored by: Mellanox Technologies |
357431 |
03-Feb-2020 |
hselasky |
MFC r356952: Add new USB ID to uslcom(4).
Submitted by: Oleg Sharoyko <osharoiko@gmail.com> PR: 243494 Sponsored by: Mellanox Technologies |
356782 |
16-Jan-2020 |
hselasky |
MFC r356545: Fix a XHCI driver issue with Intel's Gemini Lake SOC.
Do not configure any endpoint twice, but instead keep track of which endpoints are configured on a per device basis, and use an evaluate endpoint context command instead. When changing the configuration make sure all endpoints get deconfigured and the configured endpoint mask is reset.
This fixes an issue where an endpoint might stop working if there is an error and the endpoint needs to be reconfigured as a part of the error recovery mechanism in the FreeBSD USB stack.
Tested by: Shichun.Ma@dell.com Sponsored by: Mellanox Technologies |
356680 |
13-Jan-2020 |
hselasky |
MFC r356409: Add own counter for cancelled USB transfers. Do not count these as errors.
Bump the FreeBSD version to force recompilation of external modules.
Sponsored by: Mellanox Technologies |
356648 |
12-Jan-2020 |
kevans |
MFC r356564: dwc_otg: fix fdt attachment for newer bcm2708-usb nodes
The newer versions of RPi FDT flipped the order of the interrupts specification and added an 'interrupt-names' property for driver aide in finding the correct interrupt, rather than assuming the positions. Use it if it's available, or fallback to the old method if there is no interrupt-names property with a usb value.
This has been tested with both old RPi3B FDT and new RPi3B FDT, USB again works on the latter. |
356395 |
06-Jan-2020 |
hselasky |
MFC r356135: Make USB statistics per device instead of per bus.
Bump the FreeBSD version due to structure change to force recompilation of external USB modules.
Sponsored by: Mellanox Technologies |
356020 |
22-Dec-2019 |
kevans |
MFC r355206, r355212, r355257, r355271: tty nits
r355206: tty_pts: don't rely on tty header pollution for sys/mutex.h r355212: tty_rel_gone: add locking assertion r355257: usb: remove some extraneous tty.h includes r355271: Remove more needless <sys/tty.h> includes |
356013 |
22-Dec-2019 |
kevans |
MFC r355796-r355797, r355799: kbd: defaults for get_fkeystr/diag
The genkbd version of these remains exposed for stable branches, but keyboard drivers that just want to use the defaults can simply not provide their own. There shouldn't be any unset in the wild.
r355796: kbd: provide default implementations of get_fkeystr/diag
Most keyboard drivers are using the genkbd implementations as it is; formally use them for any that aren't set.
r355797: chrome_kb: remove default get_fkeystr/diag implementations
This file was missed in r355796, but no harm would have come from this.
r355799: kbd: patch linker set methods, too
This is needed after r355796. Some double-registration of kbd drivers needs to be sorted out, then this sysinit will simply add these drivers into the normal list and kill off any other bits in the driver that are aware of the linker set, for simplicity. |
356012 |
22-Dec-2019 |
kevans |
MFC r355793: kbd drivers: use kbdd_* indirection for diag invocation |
355578 |
10-Dec-2019 |
hselasky |
MFC r354969: Add USB ID for Diamond Multimedia BVU195 Display Link device.
Submitted by: darius@dons.net.au PR: 242128 Sponsored by: Mellanox Technologies |
355329 |
03-Dec-2019 |
mav |
MFC r355113: Add some IDs of Intel Wildcat Point-LP. |
354612 |
11-Nov-2019 |
hselasky |
MFC r353273: Make control endpoint quirk for xhci(4) configurable.
Sponsored by: Mellanox Technologies |
353927 |
23-Oct-2019 |
emaste |
MFC r333095: if_smsc: fix reset check
In smsc_phy_init function, when the driver was trying to reset PHY, it didn't poll for the correct bit (BMCR_RESET) to be cleared. Instead, it anded it with MII_BMCR (which is 0), so it just exited the loop.
This issue was fixed in Linux in commit d94609200069.
Submitted by: Arshan Khanifar Sponsored by: The FreeBSD Foundation |
353178 |
07-Oct-2019 |
hselasky |
MFC r352556: Add quirk for XHCI(4) controllers to support USB control transfers above 1Kbyte. It might look like some XHCI(4) controllers do not support when the USB control transfer is split using a link TRB. The next NORMAL TRB after the link TRB is simply failing with XHCI error code 4. The quirk ensures we allocate a 64Kbyte buffer so that the data stage TRB is not broken with a link TRB.
Found at: EuroBSDcon 2019 Sponsored by: Mellanox Technologies |
353174 |
07-Oct-2019 |
hselasky |
MFC r352555: Increase the maximum user-space buffer size from 256kBytes to 32MBytes for libusb. This is useful for speeding up large data transfers while reducing the interrupt rate.
Found at: EuroBSDcon 2019 Sponsored by: Mellanox Technologies |
353170 |
07-Oct-2019 |
hselasky |
MFC r352554: The maximum TD size is 31 and not 15.
Found at: EuroBSDcon 2019 Sponsored by: Mellanox Technologies |
351019 |
14-Aug-2019 |
hselasky |
MFC r350675: Correct PCI device ID for XHCI USB controller.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> Sponsored by: Mellanox Technologies |
351015 |
14-Aug-2019 |
hselasky |
MFC r350396: Add support for tethering with Nokia 7 plus and the alike.
PR: 239495 Sponsored by: Mellanox Technologies |
349206 |
19-Jun-2019 |
avg |
MFC r348152: Add USB ID for CP2112 |
348855 |
10-Jun-2019 |
hselasky |
MFC r348631: In usb(4) fix a lost completion event issue towards libusb(3). It may happen if a USB transfer is cancelled that we need to fake a completion event. Implement missing support in ugen_fs_copy_out() to handle this.
This fixes issues with webcamd(8) and firefox.
Approved by: re (gjb) Sponsored by: Mellanox Technologies |
348851 |
10-Jun-2019 |
hselasky |
MFC r348604: In xhci(4) there is no stream ID in the completion TRB. Instead iterate all the stream IDs in stream mode to find the matching USB transfer.
Approved by: re(kib) Sponsored by: Mellanox Technologies |
347558 |
14-May-2019 |
ganbold |
MFC r346028: Fix URE_WDT6_SET_MODE value in the register definition. Both linux and u-boot sources for RTL8152 driver has this value. RTL8152 USB ethernet is used in NanoPI R1 board as second ethernet. This fixes RTL8152 USB ethernet not detected problem after reboot. |
347511 |
12-May-2019 |
avos |
MFC r346073: urtw(4), otus(4), iwi(4): allow to set non-default MAC address via ifconfig(8)
Was tested with Netgear WG111 v3 (RTL8187B, urtw(4)), STA mode. |
346668 |
25-Apr-2019 |
hselasky |
MFC r346229 and r346248: Fix spelling and remove superfluous USB keyword.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> Sponsored by: Mellanox Technologies |
346655 |
25-Apr-2019 |
gonzo |
MFC r343224, r343533
r343224: Add KBD_BOOTPROTO quirk for Logitech G510s USB keyboard
PR: 232136 Submitted by: dgilbert@eicat.ca
r343533: [usb] Add UQ_KBD_BOOTPROTO quirk for Corsair K68 keyboard
PR: 222114 Submitted by: Zane C. Bowers-Hadley <vvelox@vvelox.net> |
346520 |
22-Apr-2019 |
ian |
MFC r335982, r335985, r335988-r335989
r335982: Fix an out-of-bounds array access... the irq data for teardown is in two arrays, as elements 0 and 1 of one array and elements 1 and 2 of the other. Run the loop 0..1 instead of 1..2 and use named constants to offset into one of the arrays.
PR: 229508
r335985: Remove a test and early-out which just can't possibly be right. It causes detach() to do nothing if attach() succeeded, which is the opposite of what's needed. Also, move device_delete_children() from the end to the beginning of detach(), so that children won't be trying to make use of the hardware we're in the process of shutting down.
PR: 229510
r335988: Add a missing call to usb_bus_mem_free_all() when detaching.
r335989: Detach all children before beginning to tear down the hardware, instead of doing it last. Also, remove the local tracking of whether usb's busdma memory allocation got done, because it's safe to call the free_all function even if it wasn't. |
346006 |
07-Apr-2019 |
avos |
MFC r345754: run(4): properly set F_DATAPAD radiotap flag if frame has padding between frame header and data.
This will fix 'Mysterious OLPC stuff' for received frames and wrong CCMP / TKIP / data decoding for transmitted frames in net/wireshark dissector.
While here, drop unneeded comment - net80211 handles padding requirements for Tx & Rx without driver adjustment.
Was tested with D-Link DWA-140 rev B3, STA mode. |
346005 |
07-Apr-2019 |
avos |
MFC r345751: uath(4), urtw(4): restart driver if device does not respond after Tx request |
346004 |
07-Apr-2019 |
avos |
MFC r345753: run(4): do not clear PROTECTED bit if frame was not decrypted by NIC.
Was tested with D-Link DWA-140 rev B3, STA / MONITOR modes. |
346003 |
07-Apr-2019 |
avos |
MFC r345729: urtw(4): export TSF timestamp for received frames via radiotap
Was tested with Netgear WG111 v3 (RTL8187B), STA mode. |
345946 |
05-Apr-2019 |
hselasky |
MFC r345633: Add new USB PCI ID.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> Sponsored by: Mellanox Technologies |
345752 |
31-Mar-2019 |
avos |
MFC r345493: run(4): merge some common TSF-related code into run_disable_tsf()
No functional change intended. |
345636 |
28-Mar-2019 |
avos |
MFC r344990: Fix ieee80211_radiotap(9) usage in wireless drivers:
- Alignment issues: * Add missing __packed attributes + padding across all drivers; in most places there was an assumption that padding will be always minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) - padding was just missing. * Add __aligned(8) attribute for all Rx radiotap headers since they can contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so just drop the attribute here. Refresh ieee80211_radiotap(9) man page accordingly.
- Since net80211 automatically updates channel frequency / flags in ieee80211_radiotap_chan_change() drop duplicate setup for these fields in drivers. |
345635 |
28-Mar-2019 |
avos |
MFC r306049: net80211: remove IEEE80211_RADIOTAP_TSFT field from transmit definitions.
This field may be used for received frames only. |
345570 |
27-Mar-2019 |
avos |
MFC r344994: urtw(4): add promiscuous mode callback
Also, pass control frames to the host while in MONITOR mode and / or when promiscuous mode is enabled.
Was tested with Netgear WG111 v3 (RTL8187B), STA / MONITOR modes. |
345545 |
26-Mar-2019 |
hselasky |
MFC r342961: snd_uaudio: Add quirks for Edirol UA-25EX in advanced driver mode.
Extend the vendor class USB audio quirk to cover devices without the USB audio control descriptor.
PR: 234794 Sponsored by: Mellanox Technologies |
345543 |
26-Mar-2019 |
hselasky |
MFC r343352: Add USB quirk.
Submitted by: Gary Jennejohn <gljennjohn@gmail.com> Sponsored by: Mellanox Technologies |
344969 |
09-Mar-2019 |
avos |
MFC r343990: net80211: hide casts for 'i_seq' field offset calculation inside ieee80211_getqos() and reuse it in various places. |
344694 |
01-Mar-2019 |
hselasky |
MFC r344477: Add new USB quirk.
PR: 235897 Sponsored by: Mellanox Technologies |
343976 |
10-Feb-2019 |
avos |
MFC r343474: Remove 2GHz channel list copies from wireless drivers.
Wrap ieee80211_add_channel_list_2ghz into another function which supplies default (1-14) channel list to it and drop its copies from drivers. |
343821 |
06-Feb-2019 |
avos |
MFC r343681: run(4): fix allocated memory type for ieee80211_node(4)
PR: 177366 |
343816 |
06-Feb-2019 |
avos |
MFC r343542: upgt(4): unbreak build with UPGT_DEBUG |
343760 |
05-Feb-2019 |
avos |
MFC r343541: Drop some unneeded includes from wireless USB drivers. |
343657 |
01-Feb-2019 |
hselasky |
MFC r343453: Add new USB quirk.
PR: 235202 Differential Revision: https://reviews.freebsd.org/D18917 Sponsored by: Mellanox Technologies |
343515 |
28-Jan-2019 |
avos |
MFC r343238: urtw(4): add length checks in Rx path.
- Check if buffer can contain Rx descriptor before accessing it. - Verify upper / lower bounds for frame length. - Do not pass too short frames into ieee80211_find_rxnode().
While here: - Move cleanup to the function end. |
343513 |
28-Jan-2019 |
avos |
MFC r343234: run(4): add more length checks in Rx path.
- Discard frames that are bigger than MCLBYTES (to prevent buffer overrun). - Check buffer length before accessing its contents. - Fix len <-> dmalen check - the last includes Rx Wireless information structure size. - Fix out-of-bounds read during Rx node search for ACK / CTS frames (monitor mode only).
While here: - Mark few suspicious places with comments. - Move common cleanup to the function end. |
343135 |
18-Jan-2019 |
hselasky |
MFC r342778: Reduce timeout for reading the USB HUB port status to 1000ms and try to filter out dead USB HUB devices by implementing an error counter, so that the USB enumeration thread does not spend all its time reading from non-responding devices, blocking user-space access in the end.
Tested by: Matthias Apitz <guru@unixarea.de> Sponsored by: Mellanox Technologies |
343132 |
18-Jan-2019 |
hselasky |
MFC r342730: Improve USB generic debug messages. Print process ID and name when opening and closing usb/ugenX.Y character device nodes.
Sponsored by: Mellanox Technologies |
342726 |
03-Jan-2019 |
hselasky |
MFC r342549: Add USB quirk for SPL Crimson Rev 1.
PR: 234380 Sponsored by: Mellanox Technologies |
342274 |
20-Dec-2018 |
avos |
MFC r306173: Add TP-Link Archer T4U (and TPLINK vendor record in usbdevs).
MFC r341786,r342156 urtwn, rsu: add more USB ids (rtwn -> urtwn merge was done manually).
PR: 233638 Submitted by: cezary.sliwa@gmail.com |
342036 |
13-Dec-2018 |
hselasky |
MFC r334648: Add support for SIMCom SIM7600E.
PR: 226066 Sponsored by: MSI/FUNTORO |
340316 |
10-Nov-2018 |
hselasky |
MFC r340212: Sometimes the complete split packet may be queued too early and the transaction translator will return a NAK. Ignore this message and retry the complete split instead.
Sponsored by: Mellanox Technologies |
340305 |
09-Nov-2018 |
wulf |
MFC r337287:
wmt(4): Read 'Contact count maximum' usage value from feature report
rather than from HID descriptor to match Microsoft documentation. Fall back to HID descriptor provided value if 'Get Report' request failed.
MFC r337288:
wmt(4): Read Microsoft's "Touch Hardware Quality Assurance" certificate blob
if present to enable some devices like WaveShare touchscreens. Unlike Windows we discard content of the blob. We try mimic Windows driver behaviour from the USB device point of view.
Submitted by: glebius (initial version)
MFC r337289:
wmt(4): Use internal function to calculate input report size
Usbhid's hid_report_size() calculates integral size of all reports of given kind found in the HID descriptor rather then exact size of report with given ID as its userland counterpart does. As all input data processed by the driver is located within the same report, calculate required driver's buffer size with userland version, imported in one of the previous commits. This allows us to skip zeroing of buffer on processing of each report.
While here do some minor refactoring.
MFC r338458:
wmt(4): Fix regression introduced in r337289
r337289 has a side effect of reducing usb frame 0 buffer size down to touch report size. That broke some devices e.g. "Raydium Touch System" which are capable of generating non-touch frames of bigger length. Fix it with enlarging frame 0 buffer up to internal wmt(4) buffer size.
Reported by: Roberto Fernandez Cueto <roberfern@gmail.com> Tested by: Roberto Fernandez Cueto <roberfern@gmail.com> Differential Revision: https://reviews.freebsd.org/D16772 |
339852 |
29-Oct-2018 |
hselasky |
MFC r339587: Added support for formula-based arbitrary baud rates, in contrast to the current fixed values, which enables use of rates above 1 Mbps. Improved the detection of HXD chips, and the status flag handling as well.
Submitted by: Gabor Simon <gabor.simon75@gmail.com> PR: 225932 Differential revision: https://reviews.freebsd.org/D16639 Sponsored by: Mellanox Technologies |
339442 |
19-Oct-2018 |
hselasky |
MFC r339388: Fix for reception of large full speed isochronous frames via the transaction translator, when using the DWC OTG USB controller driver. Make sure to re-try getting the complete split packets until a DATA0 packet is received. Larger isochronous frames may be split into multiple MDATA packets terminated by a single DATA0 packet.
PR: 230434 Sponsored by: Mellanox Technologies |
337291 |
04-Aug-2018 |
wulf |
MFC r336577:
Raise "Report Count" value limit in HID descriptor parser.
This fixes usage/report size calculation of Microsoft`s "Touch Hardware Quality Assurance" certificate blob found in many touchscreens.
While here, join several "c->flags = dval" lines in to single line.
Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D16357 |
336886 |
30-Jul-2018 |
hselasky |
MFC r335700: Improve the kernel's USB descriptor reading function. Some USB devices does not allow a partial descriptor readout.
Found by: bz@ Sponsored by: Mellanox Technologies |
336522 |
19-Jul-2018 |
markj |
MFC r336225: Add PCI IDs for AMD X370 AHCI and XHCI. |
335626 |
25-Jun-2018 |
avg |
MFC r334002: uchcom: extend hardware support to version 0x30 |
335624 |
25-Jun-2018 |
avg |
MFC r334001: uchcom: remove UCHCOM_REG_BREAK2 alias of UCHCOM_REG_LCR1 |
335622 |
25-Jun-2018 |
avg |
MFC r334000: uchcom: reject parity and double stop bits as unsupported |
335620 |
25-Jun-2018 |
avg |
MFC r333999: uchcom: add a hardware configuration tweak seen in Linux code |
335618 |
25-Jun-2018 |
avg |
MFC r333998: uchcom: add DPRINTF-s to aid debugging of the driver |
335616 |
25-Jun-2018 |
avg |
MFC r333997: uchcom: report detected product based on USB product ID |
334757 |
07-Jun-2018 |
hselasky |
MFC r334158: Add function to wait for USB ethernet attach to complete.
Sponsored by: Mellanox Technologies |
334453 |
31-May-2018 |
marius |
MFC: r327364, r334293
- Add AHCI/XHCI device IDs found on AMD 1950X+X399 system - Describe Fresco Logic FL1100 USB 3.0 controllers.
Approved by: re (gjb) |
333199 |
03-May-2018 |
hselasky |
MFC r333100: Improve fix in r304629 by allowing configuration of the behaviour through a SYSCTL instead of a compile time define.
Add quirk by default for all LynxPoint XHCI controllers.
PR: 227602 Sponsored by: Mellanox Technologies |
332617 |
16-Apr-2018 |
trasz |
MFC r328342:
Add SPDX identifiers to linux_ptrace.c and cfumass.c. |
332598 |
16-Apr-2018 |
trasz |
MFC r328589:
Make the handler routine for the hw.usb.template sysctl trigger the USB host to reprobe the bus by switching the USB pull up resistors off and back on. In other words - when FreeBSD is configured as a USB device, changing the sysctl will be immediately noticed by the machine it's connected to.
Relnotes: yes Sponsored by: The FreeBSD Foundation |
332578 |
16-Apr-2018 |
trasz |
MFC r328219:
Add missing manufacturer/serial number string descriptors. |
332577 |
16-Apr-2018 |
trasz |
MFC r328197:
Remove unused index. |
332576 |
16-Apr-2018 |
trasz |
MFC r328196:
Add missing SPDX tags; the rest of the license text is the same as in other USB templates. |
332575 |
16-Apr-2018 |
trasz |
MFC r328194:
Add sysctls to control device side USB identifiers. This makes it possible to change string and numeric vendor and product identifiers, as well as anything else there might be to change for a particular device side template, eg the MAC address.
Relnotes: yes |
332574 |
16-Apr-2018 |
trasz |
MFC r324626:
Replace some magic numbers in usb_template(4) code with #defines. There should be no functional changes. |
332025 |
04-Apr-2018 |
mmel |
MFC r328201:
Convert extres/phy to kobj model. Similarly as other extres pseudo-drivers, implement phy by using kobj model. This detaches it from provider device, so single device driver can export multiple different phys. Additionally, this allows phy to be subclassed to more specialized drivers, like is USB OTG phy, or PCIe phy with hot-plug capability. |
331993 |
04-Apr-2018 |
hselasky |
MFC r331642: Add support for right and middle click with integrated button to WSP USB trackpad driver.
Submitted by: James Wright <james.wright@jigsawdezign.com> PR: 226961 Sponsored by: Mellanox Technologies |
331899 |
02-Apr-2018 |
gonzo |
MFC r325048:
Fix MAC address detection regression introduced by r324184
To accomodate all variaties of Pi DTS files floating around we look for MAC address property either in DTS node for USB ethernet (if it exists) or at predefined path ".../usb/hub/ethernet".
After r324184 smsc_fdt_find_eth_node started to return node with compatibility string "usb424,ec00" as an eth node. In imported GNU dts files this node still does not have MAC address related property, and therefor following check for "mac-address" and "local-mac-address" fails.
To make this logic more robust do not just search for the node but also make sure it has required property, so if node with accepted compatibility string exists but doesn't have the property we fall back to looking for hardoded path mentioned above. |
331897 |
02-Apr-2018 |
gonzo |
MFC r314672, r315967, r324184, r325768
r314672: [rpi] rpi3 should use the same cpufreq logic as rpi2, not rpi-b
RPi3 cpufreq is more like that on RPi2. Setting arm frequency above min (say, "sysctl hw.cpufreq.arm_freq=600000001") turns on turbo mode, and the firmware automatically raises voltage, sets frequency to max 1200MHz, and throttle when overheat, etc.
Swap if/else parts and use SOC_BCM2835 def so RPi3 can share the same cpufreq logic as RPi2, instead of falling to that for RPi.
Submitted by: Jia-Shiun Li <jiashiun@gmail.com> Differential Revision: https://reviews.freebsd.org/D9640
r315967: [rpi] Use compatibility string from upstream DTB for I2C controller
FreeBSD uses upstream DTB for RPi3 build and compatibility string for i2c device is different there. Add this new string to compatibility data.
Reported by: Karl Denninger
r324184 by ian: Allow Raspberry Pi platform and drivers to be configured with upstream DTBs.
- Added more compatibility strings to drivers not yet converted - Added new RPI platform code compatibility string to match the ones used upstream - Adapted RPI and RPI2 DTS to match the new platform code compatibility string
The goal is to use the upstream DTBs as a replacement for our custom one. This is now possible with these changes.
Additionally, as the RPI firmware automatically chooses the right DTB for us, this would allow to have one common armv6 kernel for RPI0 and RPI1 (BCM2835-based), and one common armv7 kernel for RPI2 v1.1 (BCM2836-based), and RPI2 v1.2 / RPI3 (BCM2837-based).
Submitted by: Sylvain Garrigues <sylgar@gmail.com> Differential Revision: https://reviews.freebsd.org/D12360
r325768 by manu: arm: rpi2: Fix cpufreq(4)
Since r324184 the root node compatible for rpi2 is "brcm,bcm2836", add it to the compatible list of bcm2835_cpufreq.
Tested On: RPI2 v1.1 RPI2 v1.2
Reported by: many on freebsd-arm@ |
331886 |
02-Apr-2018 |
gonzo |
MFC r308533 by andrew:
Use ofw_bus_node_is_compatible in more drivers used on arm.
Sponsored by: ABT Systems Ltd |
331722 |
29-Mar-2018 |
eadler |
Revert r330897:
This was intended to be a non-functional change. It wasn't. The commit message was thus wrong. In addition it broke arm, and merged crypto related code.
Revert with prejudice.
This revert skips files touched in r316370 since that commit was since MFCed. This revert also skips files that require $FreeBSD$ property changes.
Thank you to those who helped me get out of this mess including but not limited to gonzo, kevans, rgrimes.
Requested by: gjb (re) |
331643 |
27-Mar-2018 |
dim |
MFC r314568 (by emaste):
kern_sig.c: ANSIfy and remove archaic register keyword
Sponsored by: The FreeBSD Foundation
MFC r318389 (by emaste):
Remove register keyword from sys/ and ANSIfy prototypes
A long long time ago the register keyword told the compiler to store the corresponding variable in a CPU register, but it is not relevant for any compiler used in the FreeBSD world today.
ANSIfy related prototypes while here.
Reviewed by: cem, jhb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D10193 |
331509 |
25-Mar-2018 |
ian |
MFC r330385:
Flag the first interface on a KTLINK FTDI-based jtag+uart device as being the jtag port, so that a tty is not created for it.
This is based on information in the PR and from the vendor website. When the PR was first opened we had no facility for flagging the jtag ports. I stumbled across the still-open PR with the idea of closing it, and noticed that this wee update was needed.
PR: 175893 |
331501 |
24-Mar-2018 |
ian |
MFC r329479-r329480, r329483, r329506-r329507, r329526, r329529, r329536, r329541, r329730, r329841, r329988, r330397
r329479: Do not try to deallocate memory that wasn't allocated (you'd think that would be safe, but the function also tries to destroy mutexes that never got created).
I guess this can only happen when imx_ehci_detach() is called on the error-exit path from imx_ehci_attach(), and that path never got exercised before today.
r329480: Don't call sdhci_cleanup_slot() if sdhci_init_slot() never got called. Also, do callout_init() very early in attach, so that callout_drain() can be called in detach without worrying about whether it ever got init'd.
r329483: Fix fallout from the import of fresh dts source files from linux 4.15. It appears that node names no longer include leading zeroes in the @address qualifiers, so we have to search for the nodes involved in interrupt fixup using both flavors of name to be compatible with old and new .dtb files.
(You know you're in a bad place when you're applying a workaround to code that exists only as a workaround for another problem.)
r329506: Add a detach method so that this can be a kldunload-friendly module.
r329507: Build modules specific to imx5/imx6 only when building those kernels.
This adds sys/modules/imx with a SUBDIR makefile to make the whole collection of modules that are specific to these SoCs. Initially, that "whole collection" consists of the if_ffec and imx_i2c drivers.
The if_ffec driver is referenced in its existing home in ../ffec rather than moving it into the imx directory, because it's used by powerpc too, but it is no longer built for all armv6/7 systems.
The imx_i2c driver is newly added as a module.
r329526: Allow i2c hardware drivers to declare their own relationships to ofw_iicbus rather than relying on a set of canned EARLY_DRIVER_MODULE() statements in the ofw_iicbus source. This means hw drivers will no longer be required to use one of a few predefined driver names. They will also now be able to decide themselves if they want to use DRIVER_MODULE or EARLY_DRIVER_MODULE and to set which pass to attach on for early modules.
Mainly, this adds extern declarations for the driver and devclass variables. It also renames ofwiicbus_devclass to ofw_iicbus_devclass to be consistant with the way we use ofw_ prefixes on this stuff.
r329529: Give the imx_i2c driver its own name, set up its relationship to ofw_iicbus. Previously it called itself 'iichb' to link up with the EARLY_DRIVER_MODULE declaration in ofw_iicbus.c.
r329536: Add the MODULE_DEPEND()s needed so that the kernel linker can resolve all the symbols at load time when iicbus is not compiled into the kernel.
r329541: Build ofw_iicbus as a module if OPT_FDT is defined.
r329730: Add required header files.
Reported by: andreast@
r329841: Add a missing line continuation.
How many commits does it take to get a simple module makefile working? Apparently at least three.
Pointy hat to: ian
r329988: Instead of building ofw_iicbus as a separate module, just compile it in to the iicbus module for FDT-based systems.
The primary motivation for this is that host controller drivers which declare DRIVER_MODULE(ofw_iicbus, thisdriver, etc, etc) now only need a single MODULE_DEPEND(thisdriver, ofw_iicbus) for runtime linking to resolve all the symbols. With ofw_iicbus and iicbus in separate modules, drivers would need to declare a MODULE_DEPEND() on both, because symbol lookup is non-recursive through the dependency chain. Requiring a driver to have MODULE_DEPENDS() on both amounts to requiring the drivers to understand the kobj inheritence details of how ofw_iicbus is implemented, which seems like something they shouldn't have to know (and could even change some day).
Also, this is somewhat analogous to how the drivers get built when compiled into the kernel. You don't have to ask for ofw_iicbus separately, it just gets built in along with iicbus when option FDT is in effect.
r330397: Fix a paste-o: use the IICBUS version constants, not IICBB bitbang driver's. |
331500 |
24-Mar-2018 |
ian |
MFC r329125-r329126
r329125: Add a device ID to uftdi for TIAO USB Multi Protocol Adapter (TUMPA).
PR: 225810
r329126: Regenerate devd/usb.conf after the recent addition of several new device IDs. |
331198 |
19-Mar-2018 |
eadler |
MFC r324858:
Add Prolific PL27A1 USB 3.0 Host-Host device to udbp(4).
Tested with a Plugable cable in VirtualBox against Linux 4.11. |
331195 |
19-Mar-2018 |
eadler |
MFC r320178:
Add some device IDs for Intel Denverton SoCs. |
331176 |
19-Mar-2018 |
eadler |
MFC r328162:
Improve support for USB based 3G/4G/5G dongles from Huawei.
PR: 192345 |
331159 |
19-Mar-2018 |
eadler |
MFC r304725:
Bring datasheet URL up to date. |
331044 |
16-Mar-2018 |
eadler |
MFC r305373,r312344,r318095,r319117,r320948,r320953,r328528:
siba(4): Add missing bhnd_device/bhnd_device_quirk table terminator entries.
This resulted in an over-read on siba chipsets that failed to match the existing entries.
r312344 | sbruno | 2017-01-17 14:52:48 +0000 (Tue, 17 Jan 2017) | 7 lines
Add 4k quirk for Micron 5100 and Intel S3610 SSDs
r318095 | loos | 2017-05-09 19:01:57 +0000 (Tue, 09 May 2017) | 9 lines
Add a new SDHCI quirk, SDHCI_QUIRK_BROKEN_AUTO_STOP, to workaround controllers that do not support or have broken ACMD12 implementations.
r319117 | wma | 2017-05-29 09:22:53 +0000 (Mon, 29 May 2017) | 16 lines
Introduce Genesys GL3224 quirks
The Genesys chip is failing when issueing READ_CAP(16) command. Force a quirk to disable it and use READ_CAP(10) instead.
Also, depending on used firmware, GL3224 can be recognized either as 'storage device' or 'mass storage class' - enable both variants in scsi_quirk_table.
r320948 | sbruno | 2017-07-13 15:33:08 +0000 (Thu, 13 Jul 2017) | 6 lines
Add 4K quirks for Samsung 750 EVO SSD
r320953 | sbruno | 2017-07-13 16:56:26 +0000 (Thu, 13 Jul 2017) | 5 lines
Add 4k and NCQ_TRIM_BROKEN quirks for Samsung 845 SSDs.
r328528 | ian | 2018-01-29 03:24:02 +0000 (Mon, 29 Jan 2018) | 3 lines
Add a NO_GETMAXLUN quirk for the JMicron JMS567 USB to SATA bridge, to prevent lengthy timeout pauses while probing/attaching drives. |
330897 |
14-Mar-2018 |
eadler |
Partial merge of the SPDX changes
These changes are incomplete but are making it difficult to determine what other changes can/should be merged.
No objections from: pfg |
330576 |
07-Mar-2018 |
eadler |
Revert MFC of r330463 r330462 r330454 r330452 r330451:
These commits have KPI/KBI considerations (or are a result of those that do). I did not properly take into account these concerns when merging to a kbi-stable branch.
Requested by: jhb Pointyhat to: eadler |
330472 |
05-Mar-2018 |
eadler |
MFC r311830:
[rsu] add support for the "green" rsu NICs.
They're still a 1T2R NIC, so reuse the same rfconfig and nstream configuration. |
330452 |
05-Mar-2018 |
eadler |
MFC r307158:
net80211: convert all ieee80211_input_mimo*() consumers to ieee80211_add_rx_params() + drop last (ieee80211_rx_stats) parameter
Note: there is an additional check for ieee80211_get_rx_params() return value (which does not exist in the original diff). |
330451 |
05-Mar-2018 |
eadler |
MFC r306837:
[net80211] extend the ieee80211_rx_stats struct to include more information.
There are a variety of more interesting RX statistics that we should keep track of but we don't. This is a starting point for adding more information.
Specifically:
* now the RX rate information and some of the packet status is passed up; * The 32 bit or 64 bit TSF is passed up; * the PHY mode is passed up; * the "I'm decap'ed AMSDU!" state is passed up; * number of RX chains is bumped to 4.
This is all mostly a placeholder for getting the data into the RX status before we pass it up to net80211 - unfortunately we don't yet enforce that drivers provide it, nor do we pass the provided info back up the stack so anyone can use the data.
We're going to need to use some of this data moving forward. Notably, now that some hardware can do AMSDU decap for us (the intel iwm driver can do it when we flip it on; the ath10k port I'm doing does it for us) then we need to pass it up through the stack so the duplicate RX sequence numbers and crypto/IV details don't cause the packet to be dropped and/or counted against a replay counter.
It's also the beginning of being able to do more interesting node accounting in net80211. Specifically, once drivers start populating per-packet rate information, AMPDU information, timestamps, etc, we can start providing histograms of rate-versus-RSSI, account for receive time spent per node and other such interesting things.
(Note: I'm also hoping to include ranging and RTT information for future chipset support; and it's likely going to include it in this kind of fashion.) |
330015 |
26-Feb-2018 |
hselasky |
MFC r329198: Fix for incorrect PnP information used by devmatch(8).
Sponsored by: Mellanox Technologies |
330013 |
26-Feb-2018 |
hselasky |
MFC r329195: Add new USB quirk.
PR: 225844 Sponsored by: Mellanox Technologies |
329303 |
15-Feb-2018 |
hselasky |
MFC r328163: Add new USB ID to U3G driver.
PR: 134299 Sponsored by: Mellanox Technologies |
329301 |
15-Feb-2018 |
hselasky |
MFC r328830: Add new USB ID.
PR: 225641 Submitted by: Ryan <ryanwinter@outlook.com> Sponsored by: Mellanox Technologies |
328888 |
05-Feb-2018 |
n_hibma |
Merge r327951
Add IDs for Quectel EC25.
Submitted by: Samuel Crookes |
328460 |
27-Jan-2018 |
kevans |
MFC r314467,r328027: Add hw.usb.wsp.enable_single_tap_clicks sysctl
MFC r314467 (imp): Make wsp process a single touchpad tap and interpret it as a left-click event. It can be disabled by setting the new hw.usb.wsp.enable_single_tap_clicks sysctl to 0.
MFC r328027: wsp(4): Update to reflect new sysctl from r314467
r314467 introduced hw.usb.wsp.enable_single_tap_clicks to enable/disable single-tap left click behavior. Update the man page to reflect the new sysctl.
PR: 196624 |
328050 |
16-Jan-2018 |
avg |
MFC r327724: usbdevs: add ASMedia vendor ID |
327568 |
05-Jan-2018 |
mav |
MFC r327094: Add AHCI/XHCI device IDs found on AMD Ryzen+B350 system. |
325343 |
02-Nov-2017 |
wulf |
MFC: r324772 ums(4): Unreverse evdev Tilt-axis reporting to match Linux.
sysmouse tilt to button mapping remained unchanged.
Reviewed by: hselasky Approved by: gonzo (mentor) Differential Revision: https://reviews.freebsd.org/D12671 |
324797 |
20-Oct-2017 |
hselasky |
MFC r323916: Extend sysctl description for hw.usb.disable_enumeration .
PR: 222505 Submitted by: Julian H. Stacey <jhs@berklix.com> Sponsored by: Mellanox Technologies |
324769 |
19-Oct-2017 |
wulf |
MFC r322695:
Add support for generic MS Windows 7/8/10-compatible USB HID touchscreens found in many laptops.
Reviewed by: hps, gonzo, bcr (manpages) Approved by: gonzo (mentor) Differential Revision: https://reviews.freebsd.org/D12017 |
323808 |
20-Sep-2017 |
hselasky |
MFC r322530 and r323220: Add new USB quirk(s).
PR: 221328 PR: 221775 Sponsored by: Mellanox Technologies |
323422 |
11-Sep-2017 |
ian |
MFC r320928, r320929:
Support the "disable-over-current" property for imx ehci controllers. It turns out that this is more than a power optization. The OTG port won't work on boards that have this property unless this setting is honored. Also ensure that the usb phy device attaches before ehci.
Put an #ifdef notyet wrapper around a function that's not being used yet, to avoid compile warnings. |
323204 |
06-Sep-2017 |
emaste |
MFC r323011: usb: Add external "Intenso Memory" disk quirk
PR: 221852 Submitted by: Fabian Keil Obtained from: ElectroBSD |
322572 |
16-Aug-2017 |
mav |
MFC r322308: Add new Intel Lewisburg and Union Point chipset PCI IDs.
While there, polish some old AHCI ones, since they are still reused. |
321990 |
03-Aug-2017 |
hselasky |
MFC r320773: Implement fix for BULK IN-token retry mechanism. When the hardware is programmed for infinite IN token retry after NAK, the SAF1761 hardware, however, does not retry the IN-token. This problem is described in the SAF1761 errata, section 18.1.1.
While at it: - Add some minor chip specific initialization for RTEMS. - Add debug print for status registers in the interrupt filter.
Submitted by: Christian Mauderer <christian.mauderer@embedded-brains.de> |
321980 |
03-Aug-2017 |
hselasky |
MFC r321722: Properly range check length of parsed information elements in RSU driver.
Found by: Ilja van Sprundel <ivansprundel@ioactive.com> Sponsored by: Mellanox Technologies |
318498 |
18-May-2017 |
marius |
MFC: r314345, r318276
- Add ID for NEC uPD720202 xHCI controller. - Describe Intel Apollo Lake and Braswell USB 3.0 controllers. |
317338 |
23-Apr-2017 |
mav |
MFC r314290: Implement use of multiple transfers per I/O.
This change removes limitation of single S/G list entry and limitation on maximal I/O size, using multiple data transfers per I/O if needed. Also it removes code duplication between send and receive paths, which are now completely equal. |
317337 |
23-Apr-2017 |
mav |
MFC r314256: Use ctl_queue_sense() to implement sense data reporting.
USB MS BBB transport does not support autosense, so we have to queue any sense data back to CTL for later fetching via REQUEST SENSE. |
317336 |
23-Apr-2017 |
mav |
MFC r314254: Update kern_data_resid according to r312291.
This now mandatory for correct operation. |
316660 |
09-Apr-2017 |
trasz |
MFC r313959:
Add USB Mass Storage CTL frontend. This makes it possible for USB OTG-capable hardware to implement device side of USB Mass Storage, ie pretend it's a flash drive. It's configured in the same way as other CTL frontends, using ctladm(8) or ctld(8). Differently from usfs(4), all the configuration can be done without rebuilding the kernel.
Testing and review is welcome. Right now I'm still moving, and I don't have access to my test environment, so I'm somewhat reluctant to making larger changes to this code; on the other hand I don't want to let it sit on Phab until my testing setup is back, because I want to get it into 11.1-RELEASE.
Relnotes: yes Sponsored by: The FreeBSD Foundation |
316650 |
09-Apr-2017 |
mav |
MFC r316412: Add IDs for Intel Cougar Point USB 2.0 controller. |
315930 |
25-Mar-2017 |
grehan |
MFC r315716 Bring the handling of the y axis in the ums driver in-line with the other axes.
No functional change. |
315251 |
14-Mar-2017 |
hselasky |
MFC r312424:
Fix problem with suspend and resume when using Skylake chipsets. Make sure the XHCI controller is reset after halting it. The problem is clearly a BIOS bug as the suspend and resume is failing without loading the XHCI driver. The same happens when using Linux and the XHCI driver is not loaded.
Submitted by: Yanko Yankulov <yanko.yankulov@gmail.com> PR: 216261 |
315248 |
14-Mar-2017 |
hselasky |
MFC r312338:
Add USB audio support for S/PDIF output with C-Media CM6206 devices.
Submitted by: Julien Nadeau <vedge@hypertriton.com> PR: 216131 |
314539 |
02-Mar-2017 |
ian |
MFC r313287:
Add tsw_busy support to usb_serial (ucom).
The tty layer uses tsw_busy to poll for busy/idle status of the transmitter hardware during close() and tcdrain(). The ucom layer defines ULSR_TXRDY and ULSR_TSRE bits for the line status register; when both are set, the transmitter is idle. Not all chip drivers maintain those bits in the sc_lsr field, and if the bits never get set the transmitter will always appear busy, causing hangs in tcdrain().
These changes add a new sc_flag bit, UCOM_FLAG_LSRTXIDLE. When this flag is set, ucom_busy() uses the lsr bits to return busy vs. idle state, otherwise it always returns idle (which is effectively what happened before this change because tsw_busy wasn't implemented).
For the uftdi chip driver, these changes stop masking out the tx idle bits when processing the status register (because now they're useful), and it calls ucom_use_lsr_txbits() to indicate the bits are maintained by the driver and can be used by ucom_busy(). |
314513 |
01-Mar-2017 |
ian |
MFC r313674:
Enable usb low and full speed devices connected to the imx6 root hubs. |
314501 |
01-Mar-2017 |
ian |
MFC r303347, r303350, r303351, r303353:
Translate modem status reg bits from ns16550 to SER_* values used by the tty layer.
Annotate the usb-serial drivers which always return 0 for line status, so that it'll be easier to find and fix them in the future.
Also annotate a switch case fall-through per style(9). |
314500 |
01-Mar-2017 |
ian |
MFC r303346:
Actually return line status register values from umoscom_cfg_get_status().
The hardware delivers ns16550-compatible status bits, which is what the usb_serial code expects, so no need for translation, no need for a local variable to hold a temporary lsr result. |
314222 |
24-Feb-2017 |
avos |
MFC r313906: iwi, ral, zyd: fix possible use-after-free. |
313649 |
11-Feb-2017 |
ian |
MFC r311850:
Use the post-reset hook to force the controller to host mode. This will make both usb ports work on imx6 systems (the OTG port of course will only work in host mode). |
311798 |
09-Jan-2017 |
hselasky |
MFC r310242: Defer USB enumeration until the SI_SUB_KICK_SCHEDULER is executed to avoid boot panics in conjunction with the recently added EARLY_AP_STARTUP feature. The panics happen due to using kernel facilities like callouts too early.
Tested by: jhb @ |
311694 |
08-Jan-2017 |
avos |
MFC r311105: rsu: restore 40Mhz channel support. |
310277 |
19-Dec-2016 |
trasz |
MFC r307902:
Make the USB attach strings in dmesg include product name. |
309254 |
28-Nov-2016 |
hselasky |
MFC r308730: Make sure MAC address is reprogrammed when if_init() callback is invoked. Else promiscious mode must be used to pass traffic. While at it fix a debug print macro. |
308738 |
16-Nov-2016 |
mav |
MFC r308464, r308471: Add some device IDs found in my new laptop. |
308401 |
07-Nov-2016 |
hselasky |
MFC r307518: Fix device delete child function.
When detaching device trees parent devices must be detached prior to detaching its children. This is because parent devices can have pointers to the child devices in their softcs which are not invalidated by device_delete_child(). This can cause use after free issues and panic().
Device drivers implementing trees, must ensure its detach function detaches or deletes all its children before returning.
While at it remove now redundant device_detach() calls before device_delete_child() and device_delete_children(), mostly in the USB controller drivers.
Tested by: Jan Henrik Sylvester <me@janh.de> Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D8070 |
308394 |
07-Nov-2016 |
hselasky |
MFC r308144 and r308165: Fixes for virtual T-axis buttons.
Make sure the virtual T-axis buttons gets cleared for USB mice which has less than 6 buttons.
Make sure the virtual T-axis buttons generate button release event(s) for continuous tilting.
PR: 213919 PR: 213957 |
308388 |
06-Nov-2016 |
gonzo |
MFC r307804-r307805
r307804: EVDEV: Add shortcut functions for event types
Add wrappers around generic evdev_push_event for specific event types: EV_KEY/EV_REL/EV_ABS etc...
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>
r307805: EVDEV: ums evdev support improvements: locking and event reporting
- Use ums lock as evdev lock - Do not cap axes values to sysmouse limits for evdev reports - Do not map T-axis events to buttons for evdev reports - Use shortcuts for event reporting
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> MFC after: 1 week |
308324 |
05-Nov-2016 |
mmel |
MFC r302523,r302528:
r302523: Add clk_get_by_ofw_node_index, which is like clk_get_by_ofw_index but operates on a specific OF node instead of the pass in device's OF node. r302528: EXTRES: Add OF node as argument to all <foo>_get_by_ofw_<bar>() functions. In some cases, the driver must handle given properties located in specific OF subnode. Instead of creating duplicate set of function, add 'node' as argument to existing functions, defaulting it to device OF node. |
308256 |
03-Nov-2016 |
trasz |
MFC r303476:
Fix MTP description in the comment. |
308255 |
03-Nov-2016 |
trasz |
MFC r303477:
Improve error message. |
307777 |
22-Oct-2016 |
gonzo |
MFC r306647, r306855, r306857
r306647: const-ify struct evdev_methods
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> Suggested by: hselasky
r306855: Allow using of driver's mutex instead internal one for evdev locking.
Add new API call: evdev_register_mtx which takes lock argument that should be used instead of internal one for evdev locking. Useful for cases if evdev_push_event() is always called with driver's lock taken and reduces amount of lock aquisitions. This allows to avoid LOR between ev_open/ev_close invocations and evdev_push_event() Such LOR can happen when ev_open/ev_close methods acquire driver lock and evdev_push_event() is called with this lock taken.
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>
r306857: Implement EVDEV_FLAG_MT_AUTOREL flag (autorelease touchpoints)
Automaticaly release (send ABS_MT_TRACKING_ID = -1) MT-slots that has not been listed in current MT protocol type B report.
Slot is counted as listed if corresponding ABS_MT_SLOT event has been sent regardless of other MT events.
Events are sent on SYN_REPORT event.
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> |
307775 |
22-Oct-2016 |
gonzo |
MFC r306530, r306531, r306532, r306579:
r306530: Declare a module for evdev and add dependency to ukbd(4) and ums(4)
Prepare for making evdev a module. "Pure" evdev device drivers (like touchscreen) and evdev itself can be built as a modules regardless of "options EVDEV" in kernel config. So if people does not require evdev functionality in hybrid drivers like ums and ukbd they can, for instance, kldload evdev and utouchscreen to run FreeBSD in kiosk mode.
r306531: Add dependency to evdev module (if required)
r306532: Add dependency to evdev module
r306579: Modularize evdev
- Convert "options EVDEV" to "device evdev" and "device uinput", add modules for both new devices. They are isolated subsystems and do not require any compile-time changes to general kernel subsytems - For hybrid drivers that have evdev as an optional way to deliver input events add option EVDEV_SUPPORT. Update all existing hybrid drivers to use it instead of EVDEV - Remove no-op DECLARE_MODULE in evdev, it's not required, MODULE_VERSION is enough - Add evdev module dependency to uinput
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> |
307765 |
22-Oct-2016 |
gonzo |
MFC r306134:
Add evdev support to ums(4)
event generation is disabled by default in favour of sysmouse. This behavoiur is controlled by kern.evdev.rcpt_mask sysctl, bit 2 should be set to give priority to hw over sysmouse
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> Reviewed by: hans Differential Revision: https://reviews.freebsd.org/D7863 |
307764 |
22-Oct-2016 |
gonzo |
MFC r306132, r306275:
r306132: Add evdev support to ukbd driver
event generation is disabled by default in favour of kbdmux. This behavoiur is controlled by kern.evdev.rcpt_mask sysctl, bit 3 should be set to give priority to hw over mux
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> Reviewed by: hans Differential Revision: https://reviews.freebsd.org/D7957
r306275: Do not perform extra check for NULL, evdev_free can handle NULL value
Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> |
307585 |
18-Oct-2016 |
gonzo |
MFC r307154:
[fdt] Add one more heuristic to determine MAC address of the SMSC device
- If check for net,ethernet/usb,device compatible node fails, try to find .../usb/hub/ethernet, where ... is bus path that can depend on actual HW. net,ethernet/usb,device compatibity strings are FreeBSD custom invention that is used only in RPi DTBs and since there is no other way to tie USB device to FDT node we just do our best effort here to work with upstream device tree
- Use -1 value to indicate invalid phandle_t, 0 is valid phandle value and shouldn't be used as error signal |
307575 |
18-Oct-2016 |
gonzo |
MFC r307067, r307068, r307087, r307088, r307089, r307091, r307092, r307093, r307095, r307098, r307115:
r307067: Make intc driver compatible with upstream DTS
- Fix compatibility strings - Properly decode upstream's two-cell interrupt specs. Our home-made dts does not have two-cell interrupts so no need to preserve backward compatibility
r307068: Make Rapsberry Pi watchdog driver compatible with upstream DTS
- Fix compatibility strings - Compensate the difference in base address for our custom DTS and upstream one (for backward compatibility)
r307087: Make sure intc is attached before interrupt consumers
If pass order is not specified devices are attached in the order they are defined in dts. Some interrupt consumers may be defined before intc. Also make sure intc interrupt-parent local_intc is attached before intc itself.
r307088: Add compatible strings used in upstream dts files
r307089: Make framebuffer driver compatible with upstream DT
- Add compatibility string - Add simplebus as possible parent bus
r307091: Add compatibility string from upstream DT
r307092: Make BCM2835 GPIO driver compatible with upstream DT
- Add compatibility string - Make reserverd and read-only properties optional
r307093: Make BCM283x USB driver compatible with upstream DT
- Make resource allocation logic depend on compatibility string to check what format of DTS node should be used - FreeBSD's or upstream
r307095: Make VCHI driver compatible with upstream DT
- Add compatibility string - Compensate difference in base address between our custom DTB and upstream one
r307098: Make BCM28x USB driver compatible with upstream device tree
This should have been committed in r307093: resource allocation depends on source of the device tree. upstream dts has extra interrupt that we can ignore
r307115: Fix typo in comment
Spotted by: loos |
307490 |
17-Oct-2016 |
sephe |
MFC 304973,304975,304976,304979,305044-305048
304973 hyperv/hn: Switch to new RNDIS query for link status extraction.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7654
304975 hyperv/hn: Switch to new RNDIS query for RSS capabilities extraction.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7656
304976 hyperv/hn: Fix # of channels setting, if RSS is not available.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7657
304979 hyperv/hn: Switch to new RNDIS set for RSS parameters.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7658
305044 hyperv/hn: Move OIDs to net/rndis.h; they are standard NDIS OIDs.
Actually all OIDs defined in net/rndis.h are standard NDIS OIDs. While I'm here, use the verbose macro name as in NDIS spec.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7679
305045 hyperv/hn: Indentation and field comment fixup for ndis.h.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7680
305046 net/rndis: Packet types are defined by NDIS; not RNDIS specific.
Reviewed by: hps Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7681
305047 hyperv/hn: Switch to new RNDIS set for RX filters.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7683
305048 hyperv/hn: Remove unused function
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7684 |
307481 |
17-Oct-2016 |
sephe |
MFC 304654,304722,304723
304654 net: Split RNDIS protocol structs/macros out of dev/usb/net/if_urndisreg.h
So that Hyper-V can leverage them instead of rolling its own definition.
Discussed with: hps Reviewed by: hps Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7592
304722 net/rndis: Add canonical RNDIS major/minor version as of today.
Reviewed by: hps Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7593
304723 net/rndis: Fix RNDIS_STATUS_PENDING definition.
While I'm here, sort the RNDIS status in ascending order.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7594 |
306956 |
10-Oct-2016 |
hselasky |
MFC r306478: Add new USB ID.
While at it remove some whitespaces.
Submitted by: Jose Luis Duran <jlduran@gmail.com> PR: 213110 |
306549 |
01-Oct-2016 |
avos |
MFC r306320:
rsu: do not restart calibration task when going out of RUN state.
Clear 'sc_calibrating' flag and stop calibration task when interface is not associated; this fixes possible panic after detach.
Reported and tested by: hselasky Reviewed by: adrian |
306369 |
27-Sep-2016 |
loos |
MFC r306205:
Add the ID for the Huawei ME909S LTE modem.
Submitted by: svenauhagen at github Sponsored by: Rubicon Communications, LLC (Netgate) |
305828 |
15-Sep-2016 |
hselasky |
MFC r305590: Correctly map the USB mouse tilt delta values into buttons 5 and 6 instead of 3 and 4 which is used for the scroll wheel, according to X.org.
PR: 170358 |
305733 |
12-Sep-2016 |
hselasky |
MFC r305421: Resolve deadlock between device_detach() and usbd_do_request_flags() by reviving the SX control request lock and refining which lock protects the common scratch area in "struct usb_device".
The SX control request lock was removed by r246759 because it caused a lock order reversal with the USB enumeration lock inside usbd_transfer_setup() as a function of r246616. It was thought that reducing the number of locks would resolve the LOR, but because some USB device drivers use usbd_do_request_flags() inside callback functions, like in taskqueues, a deadlock may occur when these are drained from device_detach(). By restoring the SX control request lock usbd_do_request_flags() is allowed to complete its execution when a USB device driver is detaching. By using the SX control request lock to protect the scratch area, the LOR introduced by r246616 is also resolved.
Bump the FreeBSD version while at it to force recompilation of all USB kernel modules.
Found by: avos@ |
305644 |
09-Sep-2016 |
hselasky |
MFC r304571: Make the UKBD USB transfers double buffered and set them up one by one, so they are memory independent which allows for handling panics triggered by the keyboard driver itself, typically via CTRL+ALT+ESC sequences. Or if the USB keyboard driver was processing a key at the moment of panic. Allow UKBD to be attached while keyboard polling is active. |
305614 |
08-Sep-2016 |
pfg |
MFC r303891, r303892: sys: replace comma with semicolon when pertinent.
Uses of commas instead of a semicolons can easily go undetected. The comma can serve as a statement separator but this shouldn't be abused when statements are meant to be standalone. |
305557 |
07-Sep-2016 |
dim |
MFC r305388:
With clang 3.9.0, compiling uplcom results in the following warnings:
sys/dev/usb/serial/uplcom.c:543:29: error: implicit conversion from 'int' to 'int8_t' (aka 'signed char') changes value from 192 to -64 [-Werror,-Wconstant-conversion] if (uplcom_pl2303_do(udev, UT_READ_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 0x8484, 0, 1) ~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~ sys/dev/usb/usb.h:179:53: note: expanded from macro 'UT_READ_VENDOR_DEVICE' #define UT_READ_VENDOR_DEVICE (UT_READ | UT_VENDOR | UT_DEVICE) ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
This is because UT_READ is 0x80, so the int8_t argument is wrapped to a negative value. Fix this by using uint8_t instead.
Reviewed by: imp, hselasky Differential Revision: https://reviews.freebsd.org/D7776 |
305543 |
07-Sep-2016 |
andrew |
MFC 303299, 303475: - Enable the generic OHCI driver on arm64 - Add a generic EHCI USB driver based on the Allwinner A10 driver
Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation |
304999 |
29-Aug-2016 |
hselasky |
MFC r304629: Don't separate the status stage of the XHCI USB control transfers into its own job because this breaks the simplified QEMU XHCI TRB parser, which expects the complete USB control transfer as a series of back to back TRBs. The old behaviour is kept under #ifdef in case this change breaks enumeration of any USB devices.
PR: 212021 |
304992 |
29-Aug-2016 |
hselasky |
MFC r304597: Fix for invalid use of bits in input context. Basically split configuring of EP0 and non-EP0 into xhci_cmd_evaluate_ctx() and xhci_cmd_configure_ep() respectivly. This resolves some errors when using XHCI under QEMU and gets is more in line with the XHCI specification.
PR: 212021 |
304124 |
15-Aug-2016 |
hselasky |
MFC r303765: Keep a reference count on USB keyboard polling to allow recursive cngrab() during a panic for example, similar to what the AT-keyboard driver is doing.
Found by: Bruce Evans <brde@optusnet.com.au> |
304029 |
13-Aug-2016 |
cy |
MFC r303806:
Add Logitech Unifying receiver. |
302408 |
08-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
302371 |
06-Jul-2016 |
hselasky |
Fix regression issue with XHCI on 32-bit ARMv7 Armada-38x. Make sure "struct xhci_dev_ctx_addr" fits into a single 4K page until further.
Approved by: re (hrs) MFC after: 1 week
|
302336 |
04-Jul-2016 |
hselasky |
Fix interrupt loop when switching from USB device to USB host mode by clearing all endpoint interrupt bits.
PR: 210736 Approved by: re (glebius) MFC after: 1 week
|
302306 |
01-Jul-2016 |
hselasky |
Fix detection of USB device disconnects in USB host mode when the USB device is connected directly to the USB port of the DWC OTG, in this case a RPI-zero.
PR: 210695 Approved by: re (gjb) MFC after: 1 week
|
302262 |
29-Jun-2016 |
cem |
USB: Add Garmin FR230 device quirk (broken INQUIRY)
PR: 210544 Reviewed by: hps Approved by: re
|
302076 |
22-Jun-2016 |
hselasky |
Update the definition for number of scratch pages to match the latest version of the XHCI specification. Make sure the code can handle the maximum number of allowed scratch pages.
Submitted by: Shichun_Ma@Dell.com Approved by: re (hrs) MFC after: 1 week
|
302054 |
21-Jun-2016 |
bz |
Get closer to a VIMAGE network stack teardown from top to bottom rather than removing the network interfaces first. This change is rather larger and convoluted as the ordering requirements cannot be separated.
Move the pfil(9) framework to SI_SUB_PROTO_PFIL, move Firewalls and related modules to their own SI_SUB_PROTO_FIREWALL. Move initialization of "physical" interfaces to SI_SUB_DRIVERS, move virtual (cloned) interfaces to SI_SUB_PSEUDO. Move Multicast to SI_SUB_PROTO_MC.
Re-work parts of multicast initialisation and teardown, not taking the huge amount of memory into account if used as a module yet.
For interface teardown we try to do as many of them as we can on SI_SUB_INIT_IF, but for some this makes no sense, e.g., when tunnelling over a higher layer protocol such as IP. In that case the interface has to go along (or before) the higher layer protocol is shutdown.
Kernel hhooks need to go last on teardown as they may be used at various higher layers and we cannot remove them before we cleaned up the higher layers.
For interface teardown there are multiple paths: (a) a cloned interface is destroyed (inside a VIMAGE or in the base system), (b) any interface is moved from a virtual network stack to a different network stack ("vmove"), or (c) a virtual network stack is being shut down. All code paths go through if_detach_internal() where we, depending on the vmove flag or the vnet state, make a decision on how much to shut down; in case we are destroying a VNET the individual protocol layers will cleanup their own parts thus we cannot do so again for each interface as we end up with, e.g., double-frees, destroying locks twice or acquiring already destroyed locks. When calling into protocol cleanups we equally have to tell them whether they need to detach upper layer protocols ("ulp") or not (e.g., in6_ifdetach()).
Provide or enahnce helper functions to do proper cleanup at a protocol rather than at an interface level.
Approved by: re (hrs) Obtained from: projects/vnet Reviewed by: gnn, jhb Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D6747
|
301302 |
04-Jun-2016 |
adrian |
[run] fix TSF locking in RX radiotap.
Submitted by: Imre Vadasz <imre@vdsz.com>
|
301206 |
02-Jun-2016 |
pfg |
usb/uhso: Don't bail out on first USB error.
CID: 1305680 Submitted by: hselasky MFC after: 3 days
|
301202 |
02-Jun-2016 |
avos |
urtw: fix unused variable assignments.
Append CWmax and retry limitation to tp->maxretry instead of rewriting it (will restore pre-r198194 behavior).
Noticed by: pfg, hps
Reported by: Coverity CID: 1304937, 1304920
|
300754 |
26-May-2016 |
avos |
urtwn, rtwn, rsu: switch to ieee80211_add_channel_list_2ghz().
- Use device's channel list instead of default one (from ieee80211_init_channels()); adds 12 - 14 2GHz channels. - Add ic_getradiocaps() method.
|
300753 |
26-May-2016 |
avos |
urtw: switch to ieee80211_add_channel_list_2ghz().
- Use device's channel list instead of default one (from ieee80211_init_channels()). - Add ic_getradiocaps() method.
|
300751 |
26-May-2016 |
avos |
zyd: switch to ieee80211_add_channel_list_*()
- Use device's channel list instead of default one (adds 12, 13 and 14 2GHz channels). - Add ic_getradiocaps() method.
Differential Revision: https://reviews.freebsd.org/D6171
|
300749 |
26-May-2016 |
avos |
ural: switch to ieee80211_add_channel_list_*()
- Use device's channel list instead of default one (+ 12, 13 and 14 2GHz channels). - Add ic_getradiocaps() method.
Differential Revision: https://reviews.freebsd.org/D6170
|
300748 |
26-May-2016 |
avos |
run: switch to ieee80211_add_channel_list_*()
- Use device's channel list instead of default one (from ieee80211_init_channels()). - Add ic_getradiocaps() method.
Differential Revision: https://reviews.freebsd.org/D6144
|
300728 |
26-May-2016 |
jmcneill |
Enable USB PHY regulators when requested by the host controller driver.
Previously the USB PHY driver would enable all regulators at attach time. This prevented boards from booting when powered by the USB OTG port, as it didn't take VBUS presence into consideration.
|
300667 |
25-May-2016 |
hselasky |
Check for signals when locking the USB enumeration thread from userspace, so that USB applications can be killed if an enumeration thread should be stuck for various reasons.
MFC after: 1 week
|
300200 |
19-May-2016 |
hselasky |
Fix bad sizeof().
Submitted by: David Binderman <dcb314@hotmail.com> PR: 209636
|
300068 |
17-May-2016 |
manu |
Add driver for "generic-ohci" as defined by FDT. If platform support EXT_RESOURCES, clocks and resets are handled out of the box. If not driver can be subclassed using the generic_usb interface. generic_usb name was choosed because at one point I'll add generic-ehci FDT driver.
Reviewed by: jmcneill, hselasky Approved by: andrew (mentor) Differential Revision: https://reviews.freebsd.org/D5481
|
299747 |
14-May-2016 |
gonzo |
Use OF_prop_free instead of direct call to free(9)
|
299176 |
06-May-2016 |
pfg |
dev/usb: unsigned some loop indexes.
Although usually small, values produced by nitems() are unsigned. By unsigning the corresponding indexes we avoid signed vs unsigned comparisons. This may have some effect on performance, although given the small sizes the effect will not be perceivable, and it makes the code clearer.
Respect the style of the changed files: one uses u_int while the other uses "unsigned int".
Reviewed by: hselasky
|
299060 |
04-May-2016 |
hselasky |
Extend the UQ_NO_STRINGS quirk to also cover the USB language string descriptor. This fixes enumeration of some older Samsung Galaxy S3 phones.
MFC after: 1 week
|
298983 |
03-May-2016 |
mav |
Add some device IDs from Intel Sunrise Point chipsets.
MFC after: 2 weeks
|
298932 |
02-May-2016 |
pfg |
dev/usb: minor spelling fixes in comments.
No functional change.
Reviewed by: hselasky
|
298918 |
02-May-2016 |
adrian |
s/struct device */device_t/
Submitted by: kmacy
|
298895 |
01-May-2016 |
avos |
rum: switch to ieee80211_add_channel_list_*()
- Use device's channel list instead of default one (from ieee80211_init_channels()). - Add ic_getradiocaps() method.
Added channels: 2GHz band: 12, 13 and 14. 5Ghz band: 34, 38, 42, 46 and 165.
Tested with WUSB54GC, STA / MONITOR modes.
Differential Revision: https://reviews.freebsd.org/D6125
|
298818 |
29-Apr-2016 |
avos |
net80211 + drivers: hide size of 'bands' array behind a macro.
Auto-replace 'howmany(IEEE80211_MODE_MAX, 8)' with 'IEEE80211_MODE_BYTES'. No functional changes.
|
298646 |
26-Apr-2016 |
pfg |
sys/dev: extend use of the howmany() macro when available.
We have a howmany() macro in the <sys/param.h> header that is convenient to re-use as it makes things easier to read.
|
298433 |
21-Apr-2016 |
pfg |
sys: use our roundup2/rounddown2() macros when param.h is available.
rounddown2 tends to produce longer lines than the original code and when the code has a high indentation level it was not really advantageous to do the replacement.
This tries to strike a balance between readability using the macros and flexibility of having the expressions, so not everything is converted.
|
298424 |
21-Apr-2016 |
hselasky |
Add new USB quirk.
Submitted by: Naram Qashat <cyberbotx@cyberbotx.com> PR: 208642 MFC after: 1 week
|
298300 |
19-Apr-2016 |
pfg |
dev/usb: use our nitems() macro when param.h is available.
Reviewed by: hselasky
|
297793 |
10-Apr-2016 |
pfg |
Cleanup unnecessary semicolons from the kernel.
Found with devel/coccinelle.
|
297764 |
09-Apr-2016 |
pfg |
USB: replace 0 with NULL for pointers.
Found with devel/coccinelle.
Reviewed by: hselasky
|
297696 |
08-Apr-2016 |
hselasky |
Add new USB quirk.
Submitted by: AJ <aleksanderlothe@live.com> PR: 208623 MFC after: 1 week
|
297600 |
06-Apr-2016 |
adrian |
[rsu] We don't do A-MPDU transmit right now, so don't bother registering for it.
|
297587 |
05-Apr-2016 |
gonzo |
Remove misleading comment. musb supports host mode for more than two years now
Spotted by: jmcneill
|
297583 |
05-Apr-2016 |
ian |
Add more DPRINTF() to the ftdi driver. Now everything that can change the chip's state has a DPRINTF, with things that happen repeatedly at debug=2 level and things that happen frequently (like per-transfer IO) at debug=3.
|
297579 |
05-Apr-2016 |
mmel |
ehci_interrupt is MPSAFE code. Most drivers in tree calls bus_setup_intr with MPSAFE, some are not. Fix those.
Submitted by: Howard Su <howard0su@gmail.com> Differential Revision: https://reviews.freebsd.org/D5755
|
297416 |
30-Mar-2016 |
hselasky |
Add new USB ID to UDL driver.
Submitted by: Matthias Petermann <matthias@petermann-it.de> PR: 201084
|
297387 |
29-Mar-2016 |
mav |
Add some device IDs found on AMD FCH shipsets.
MFC after: 2 weeks
|
297381 |
29-Mar-2016 |
hselasky |
Verify that all segments in the loaded segment list are back to back with regard to the page offset, and not only the two first ones.
|
297229 |
24-Mar-2016 |
hselasky |
Add more UHCI PCI IDs.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
|
297171 |
21-Mar-2016 |
avos |
rum: add legacy power saving support (STA mode).
Tested with WUSB54GC, STA mode + WRT54GC / RTL8188EU in HOSTAP mode.
Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D5546
|
297169 |
21-Mar-2016 |
avos |
rum: simplify error handling in rum_newstate().
Tested with WUSB54GC, STA mode.
Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D5544
|
297166 |
21-Mar-2016 |
avos |
rum: do not try to restore bssid/TSF synchronization when device is not associated.
Tested with WUSB54GC, STA mode.
Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D5543
|
297165 |
21-Mar-2016 |
avos |
rum: separate some microcontroller vendor-specific requests into rum_do_mcu_request()
This change should be no-op.
Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D5542
|
297058 |
20-Mar-2016 |
adrian |
[urtwn] migrate urtwn out into sys/dev/urtwn/ .
There's some upcoming work to add new chipset support here and I'd like to only add 802.11n support to one driver, instead of both urtwn and rtwn.
There's also missing support for things like 802.11n, some powersave work, bluetooth integration/coexistence, etc, and also newer parts (like 8192EU, maybe some 11ac parts, not sure yet.)
So, this is hopefully the first step in a longer set of steps to unify rtwn/urtwn and extend it with more interesting chipset and functionality support.
Reviewed by: kevlo
|
297049 |
19-Mar-2016 |
mav |
Add IDs for Intel Wellsburg USB controllers.
MFC after: 1 week
|
296827 |
14-Mar-2016 |
wma |
Add xhci_mv.c
Add missing xhci driver for Marvell systems.
Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Reviewed by: hselasky Approved by: cognet (mentor) Differential Revision: https://reviews.freebsd.org/D5031
|
296356 |
03-Mar-2016 |
avos |
zyd, run, ural: do not corrupt MAC address
Do not use ic_macaddr as a storage for current BSSID; it may be reused in vap creation procedure; similar to r288619.
Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D5513
|
296342 |
03-Mar-2016 |
hselasky |
Allow for overlapping quirk device ranges. Prior to this patch only the first device entry matching the USB vendor, product and revision would be searched for quirks. After this patch all device entries will be searched for quirks.
MFC after: 1 week
|
296304 |
02-Mar-2016 |
markj |
Use m_catpkt(9) to ensure that pkthdr fields are updated properly.
Reviewed by: glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D5497
|
296174 |
29-Feb-2016 |
avos |
urtwn: do not filter beacon frames in HOSTAP mode while scanning
urtwn_set_rx_bssid_all() will allow to receive beacons only when they are not denied by filter.
Revealed by D5474.
Tested with RTL8188CUS, HOSTAP mode.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D5477
|
295928 |
23-Feb-2016 |
hselasky |
Configure the correct bMaxPacketSize for control endpoints before requesting the initial complete device descriptor and not as part of the subsequent babble error recovery. Babble means that the received USB packet was bigger than than configured maximum packet size. This only affects enumeration of FULL speed USB devices which use a bMaxPacketSize different from 8 bytes. This patch might help fix enumeration of USB devices which exhibit USB I/O errors in dmesg during boot.
MFC after: 1 week
|
295923 |
23-Feb-2016 |
hselasky |
Be more verbose when truncating number of HID items.
Suggested by: Larry Rosenman <ler@lerctr.org> MFC after: 1 week
|
295907 |
23-Feb-2016 |
kevlo |
Add device ID for 'AboCom 802.11n' usb.
PR: 207412 Submitted by: Philippe Michaud-Boudreault <pitwuu at gmail dot com>
|
295874 |
22-Feb-2016 |
avos |
urtwn: shutdown the device properly
- R92C path: NetBSD (mostly) - R88E path: TP-Link driver
Tested with RTL8188EU and RTL8188CUS.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D5198
|
295871 |
22-Feb-2016 |
avos |
urtwn: add an option to compile the driver without firmware specific code
- Add URTWN_WITHOUT_UCODE option (will disable any firmware specific code when set). - Do not exclude the driver from build when MK_SOURCELESS_UCODE is set (URTWN_WITHOUT_UCODE will be enforced unconditionally). - Do not abort initialization when firmware cannot be loaded; behave like the URTWN_WITHOUT_UCODE option was set. - Drop some unused variables from urtwn_softc structure.
Tested with RTL8188EU and RTL8188CUS in HOSTAP and STA modes.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4849
|
295611 |
14-Feb-2016 |
hselasky |
Restore maximum number of host keys to 64.
Discussed with: adrian @ and avos @
|
295608 |
14-Feb-2016 |
hselasky |
Fix variable assignment inside if-clause in the smsc driver. Found by D5245 / PVS.
MFC after: 1 week
|
295607 |
14-Feb-2016 |
hselasky |
Reduce the number of supported WLAN keys in the rum driver, else we risk bit shifting overflows. Found by D5245 / PVS.
MFC after: 1 week
|
295463 |
10-Feb-2016 |
hselasky |
Correct PCI device description.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
|
295126 |
01-Feb-2016 |
glebius |
These files were getting sys/malloc.h and vm/uma.h with header pollution via sys/mbuf.h
|
295067 |
30-Jan-2016 |
mmel |
EHCI: Correct address of EHCI_USBMODE_LPM register is 0xC8, not 0xA8.
|
294989 |
28-Jan-2016 |
mmel |
EHCI: Make core reset and port speed reading more generic.
Use driver settable callbacks for handling of: - core post reset - reading actual port speed
Typically, OTG enabled EHCI cores wants setting of USBMODE register, but this register is not defined in EHCI specification and different cores can have it on different offset.
Also, for cores with TT extension, actual port speed must be determinable. But again, EHCI specification not covers this so this patch provides function for two most common variant of speed bits layout.
Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D5088
|
294473 |
20-Jan-2016 |
avos |
urtwn: add temperature calibration
Redo LC calibration if temperature changed significantly since last calibration.
Tested with RTL8188EU/RTL8188CUS in STA mode.
Reviewed by: kevlo Approved by: adrian (mentor) Obtained from: NetBSD (mostly) Differential Revision: https://reviews.freebsd.org/D4966
|
294471 |
20-Jan-2016 |
avos |
urtwn: rework debug handling
- Use bitmap for debug output selection. - Add few new messages (one for URTWN_DEBUG_BEACON and another one for URTWN_DEBUG_INTR). - Replace an undocumented URTWN_DEBUG definition with USB_DEBUG.
Tested with RTL8188EU / RTL8188CUS in IBSS / HOSTAP modes.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4959
|
294465 |
20-Jan-2016 |
avos |
urtwn: use ic_updateslot method to handle slot time change (by default it was set to 9us).
Tested with RTL8188EU / RTL8188CUS in STA mode.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4535
|
294427 |
20-Jan-2016 |
zbb |
Improve attachment of the ehci_mv driver
Driver was modified to ensure it attaches properly to "marvell,orion-ehci" node, which doesn't have error interrupt line defined. Neccessary ofw_compat_data struct was added and probe procedure was altered.
Reviewed by: andrew, ian Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4369
|
294235 |
17-Jan-2016 |
ian |
Make PPS ASSERT/CLEAR events match the RS-232 signal levels as per RFC 2783. Previously the polarity was for TTL levels, which are the reverse of RS-232.
Also add handling of the UART_PPS_INVERT_PULSE option bit in the sysctl value, the same as was recently added to uart(4), so that people using TTL level connections can request a logical inverting of the signal.
Use the named constants from the new dev/uart/uart_ppstypes.h for the pps capture modes and option bits.
|
294198 |
17-Jan-2016 |
avos |
urtwn: add ROM structure for RTL8188EU
- Add the structure with already known fields offsets (some of them were taken from this driver, some (channel_plan, rf_* fields) - from TP-LINK official driver) - Fix a typo / dehardcode a constant in RTL8192C ROM structure.
Tested with RTL8188EU, STA mode
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4274
|
294131 |
16-Jan-2016 |
imp |
Move ohci files to their proper place in the tree for atmel. Fix when it is included (we don't have a at91rm9200 device). From a similar patch in the PR, with tweaked names.
PR: 206229
|
294088 |
15-Jan-2016 |
hselasky |
Use the recently added "make_dev_s()" function to solve old race setting the si_drv1 field in "struct cdev" when creating new character devices.
|
293339 |
07-Jan-2016 |
avos |
net80211 drivers: fix ieee80211_init_channels() usage
Fix out-of-bounds read (all) / write (11n capable) for drivers that are using ieee80211_init_channels() to initialize channel list.
Tested with: * RTL8188EU, STA mode. * RTL8188CUS, STA mode. * WUSB54GC, HOSTAP mode.
Approved by: adrian (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D4818
|
293192 |
05-Jan-2016 |
hselasky |
Fix for directly connected FULL or LOW speed USB devices.
Found by: Sebastian Huber <sebastian.huber@embedded-brains.de> MFC after: 1 week
|
293180 |
04-Jan-2016 |
avos |
urtwn: add bits for R92C_HWSEQ_CTRL and R92C_TXPAUSE registers
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4770
|
292992 |
31-Dec-2015 |
kp |
Add suppoort for the Sitecom LN-031
This is an AX88178 chip, which we already support so all we have to do is add the USB product and vendor ID.
|
292865 |
29-Dec-2015 |
hselasky |
Update metadata for "tools/tools/bus_autoconf" after r292080. Use BYTE_ORDER instead of _BYTE_ORDER due to 3rd party USB software for now.
|
292683 |
24-Dec-2015 |
andrew |
Ads support to the xhci pci attachment to use MSI-X interrupts when available. As with MSI interrupts these can be disabled by setting hw.usb.xhci.msix to 0 in the loader.
MSI-X interrupts are needed on some hardware, for example the Cavium ThunderX only supports them, and with this we don't fall back to polling.
PR: 204378 Reviewed by: hselasky, jhb MFC after: 1 week (after r292669) Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D4698
|
292366 |
16-Dec-2015 |
ian |
Flag the first port on a Sheevaplug ftdi serial device as jtag.
|
292279 |
15-Dec-2015 |
avos |
urtwn: fix off-by-one error.
Reported by: adrian
|
292221 |
14-Dec-2015 |
avos |
urtwn: add raw Tx path.
Tested with RTL8188EU and RTL8188CUS in STA mode.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4523
|
292207 |
14-Dec-2015 |
avos |
urtwn: fix frame processing in the Rx path.
Currently, in case when npkts >= 2, RSSI and Rx radiotap fields will be overridden by the next packet. As a result, every packet from this chain will use the same RSSI / radiotap data.
After this change, RSSI and radiotap structure will be filled for every frame right before ieee80211_input() call.
Tested with RTL8188EU / RTL8188CUS, STA and MONITOR modes.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4487
|
292203 |
14-Dec-2015 |
avos |
urtwn: add TSF field into RX radiotap header.
Tested with RTL8188EU, MONITOR/STA modes.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D3831
|
292176 |
13-Dec-2015 |
avos |
wpi, rum and urtwn: update copyright headers
Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4489
|
292175 |
13-Dec-2015 |
avos |
urtwn: add support for hardware encryption (WEP, TKIP and CCMP)
Tested with: - RTL8188EU; - RTL8188CUS;
Modes: - IBSS mode: TKIP, CCMP (WPA-None); - STA / HOSTAP modes - WEP (static), TKIP, CCMP;
Reviewed by: kevlo Approved by: adrian (mentor) Obtained from: OpenBSD (mostly) Differential Revision: https://reviews.freebsd.org/D4448
|
292174 |
13-Dec-2015 |
avos |
urtwn: add a command queue for sleepable tasks.
An implementation from rum(4) was used (it looks simpler for me). Will be used for h/w encryption support.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4447
|
292173 |
13-Dec-2015 |
avos |
urtwn(4): setup channel frequency/flags for radiotap in urtwn_set_channel()
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D3832
|
292167 |
13-Dec-2015 |
avos |
urtwn: add rate control support for RTL8188EU.
Tested with: - RTL8188EU, STA and HOSTAP modes. - RTL8188CUS, STA mode.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4402
|
292165 |
13-Dec-2015 |
avos |
net80211: remove hardcoded slot time durations from drivers
- Add IEEE80211_GET_SLOTTIME(ic) macro. - Use predefined macroses to set slot time.
Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4044
|
292080 |
11-Dec-2015 |
imp |
Create a USB_PNP_INFO and use it to export the existing PNP tables. Some drivers needed some slight re-arrangement of declarations to accommodate this. Change the USB pnp tables slightly to allow better compatibility with the system by moving linux driver info from start of each entry to the end. All other PNP tables in the system have the per-device flags and such at the end of the elements rather that at the beginning.
Differential Review: https://reviews.freebsd.org/D3458
|
292056 |
10-Dec-2015 |
kevlo |
All 2-endpoints configs have high and normal pariority queues.
|
292014 |
09-Dec-2015 |
avos |
urtwn: add WME support
Tested with: - RTL8188CUS, HOSTAP mode. - RTL8188EU, STA mode.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4020
|
291953 |
07-Dec-2015 |
hselasky |
When setting up VLANs on a Raspberry Pi ethernet port, the MTU drops from 1500 to 1496 bytes. The MTU should remain at 1500, extending the frame size as per IEEE 802.3. Adding IFCAP_VLAN_MTU to the if_capabilities field in the smsc driver solves the problem. The datasheet for the LAN9512 chip, section 3.2.3 states that the chip supports the extended frame.
Submitted by: rpp@ci.com.au MFC after: 1 week PR: 205050
|
291902 |
06-Dec-2015 |
kevlo |
- Fix Tx queues to USB endpoints mapping - Merge urtwn_r92c_dma_init() and urtwn_r88e_dma_init() into one
Reviewed by: adrian, avos Differential Revision: https://reviews.freebsd.org/D4381
|
291858 |
05-Dec-2015 |
avos |
urtwn: fix some regressions after r290630
- Restore R92C_TXDW4_HWSEQ_EN bit - it is used by non-8188EU chips. - Fix DRVRATE bit usage.
Tested with: - RTL8188EU, STA mode. - RTL8188CUS, STA mode.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4352
|
291698 |
03-Dec-2015 |
avos |
urtwn(4): add error handling for urtwn_write_X() functions.
- Call ieee80211_stop() when urtwn_init() fails (i.e., stop vap explicitly) - Return an error when urtwn_write_<smth>() fails. - Handle errors from them in: * urtwn_fw_cmd(); * urtwn_llt_write(); * urtwn_efuse_*(); * urtwn_*_power_on(); * urtwn_*_dma_init(); * urtwn_mac_init(); * urtwn_init();
Tested with RTL8188EU, STA mode
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4291
|
291695 |
03-Dec-2015 |
avos |
urtwn(4): move duplicate code from urtwn_(r92c/r88e)_dma_init() to urtwn_dma_init() (noop).
Reviewed by: kevlo Approved by: adrian (mentor, implicit) Differential Revision: https://reviews.freebsd.org/D4271
|
291557 |
01-Dec-2015 |
kevlo |
Add initial support for RTL8152 USB Fast Ethernet. RTL8152 supports IPv4/IPv6 checksum offloading and VLAN tag insertion/stripping.
Since uether doesn't provide a way to announce driver specific offload capabilities to upper stack, checksum offloading support needs more work and will be done in the future.
Special thanks to Hayes Wang from RealTek who gave input.
|
291264 |
24-Nov-2015 |
avos |
urtwn(4): rework ROM reading.
- Add error handling for urtwn_(r88e_)read_rom() and urtwn_efuse_*() functions. - Remove code duplication between urtwn_efuse_read() and urtwn_r88e_read_rom(). - Merge r88e_rom and (r92c_)rom structures (only one of them can be used at the same time). - Other minor fixes / improvements.
Tested with RTL8188EU, STA mode (URTWN_DEBUG + USB_DEBUG, hw.usb.urtwn.debug=3, no visual differences).
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4253
|
291199 |
23-Nov-2015 |
hselasky |
Fix compile warning about shifting signed negative constant.
MFC after: 3 days
|
291146 |
21-Nov-2015 |
hselasky |
Add support for Kana and Eisu keys to the USB keyboard driver.
PR: 204709 Submitted by: naito.yuichiro@gmail.com MFC after: 3 days
|
290651 |
10-Nov-2015 |
avos |
urtwn(4): add IBSS mode support
Tested with RTL8188EU, IBSS and STA modes.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4038
|
290639 |
10-Nov-2015 |
hselasky |
Update the wsp driver to support newer touch pads, like found in MacBookPro11,4 and MacBook12,1. This update adds support for the force touch parameter.
PR: 204420 MFC after: 1 week
|
290632 |
10-Nov-2015 |
avos |
urtwn(4): fix the build.
Add some missing bits from D4020.
|
290631 |
10-Nov-2015 |
avos |
urtwn(4): add HOSTAP mode support.
Tested with RTL8188EU, HOSTAP and STA modes
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4034
|
290630 |
10-Nov-2015 |
avos |
urtwn(4): refactor and fix TX path.
- Split urtwn_tx_start() into urtwn_tx_data() and urtwn_tx_start() (the last will be used for beacon updates / raw xmit path). - Remove unneeded code from _urtwn_getbuf(). - Use CCK11 for data frames in 11b mode. - Send EAPOL frames at 1 Mbps. - Reduce code duplication in urtwn_tx_data(). - Fix sequence numbering. - Add IEEE80211_RADIOTAP_F_WEP flag for encrypted frames. - Check URTWN_RUNNING flag under lock.
Tested with RTL8188EU, STA mode.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4017
|
290564 |
08-Nov-2015 |
avos |
urtwn(4): improve RX filter.
- Filter out unneeded frames in STA mode. - Implement ic_promisc() call.
Tested with RTL8188EU, STA and MONITOR modes.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D3999
|
290542 |
08-Nov-2015 |
hselasky |
Avoid using the bounce buffer when the source or destination buffer is 32-bits aligned. Merge the two bounce buffers into a single one. Some rough tests showed that the DWC OTG throughput on RPI2 increased by 10% after this patch.
MFC after: 1 week
|
290489 |
07-Nov-2015 |
hselasky |
Add helper function to check if a USB page cache buffer is properly aligned to reduce the use of bounce buffers in PIO mode.
MFC after: 1 week
|
290441 |
06-Nov-2015 |
hselasky |
Fix for unaligned IP-header.
The mbuf length fields must be set before m_adj() is called else m_adj() will not always adjust the mbuf and an unaligned read exception can trigger inside the network stack. This can happen on platforms where unaligned reads are not supported. Adjust a length check to include the 2-byte ethernet alignment while at it.
MFC after: 3 days
|
290439 |
06-Nov-2015 |
avos |
urtwn(4): simplify urtwn_tsf_sync_enable().
- Drop TSF initialization; device can discover it without our help. - Do not touch R92C_BCN_CTRL_EN_BCN bit in STA mode. - Add 'static' keyword for function definition.
Tested with RTL8188EU, STA mode.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D3801
|
290407 |
05-Nov-2015 |
avos |
net80211: WME callback cleanup in various drivers
Since r288350, ic_wme_task() is called via ieee80211_runtask(), so, any additional deferring from the driver side is not needed.
Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4072
|
290328 |
03-Nov-2015 |
hselasky |
Revert r290327. The compiler warnings seems to be specific to clang v3.5 only.
|
290327 |
03-Nov-2015 |
hselasky |
Fix some clang compile warnings.
MFC after: 1 week
|
290326 |
03-Nov-2015 |
hselasky |
Relax the BUS_DMA_KEEP_PG_OFFSET requirement to allow optimising allocation of DMA bounce buffers.
Discussed with: ian @ MFC after: 3 weeks
|
290195 |
30-Oct-2015 |
hselasky |
Reduce the DWC OTG interrupt load by not reading all the host channel status registers for every interrupt. Check a common host channel status interrupt register first, then conditionally read the individual host channel status registers.
Submitted by: Sebastian Huber <sebastian.huber@embedded-brains.de> MFC after: 1 week
|
290135 |
29-Oct-2015 |
hselasky |
Finish process of moving the LinuxKPI module into the default kernel build.
- Move all files related to the LinuxKPI into sys/compat/linuxkpi and its subfolders. - Update sys/conf/files and some Makefiles to use new file locations. - Added description of COMPAT_LINUXKPI to sys/conf/NOTES which in turn adds the LinuxKPI to all LINT builds. - The LinuxKPI can be added to the kernel by setting the COMPAT_LINUXKPI option. The OFED kernel option no longer builds the LinuxKPI into the kernel. This was done to keep the build rules for the LinuxKPI in sys/conf/files simple. - Extend the LinuxKPI module to include support for USB by moving the Linux USB compat from usb.ko to linuxkpi.ko. - Bump the FreeBSD_version. - A universe kernel build has been done.
Reviewed by: np @ (cxgb and cxgbe related changes only) Sponsored by: Mellanox Technologies
|
290048 |
27-Oct-2015 |
avos |
urtwn(4): fix scanning from AUTH state
Tested with RTL8188EU, STA mode.
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D3968
|
290022 |
26-Oct-2015 |
avos |
urtwn(4): do not filter out control frames in the RX path
Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D3811
|
289891 |
24-Oct-2015 |
avos |
urtwn(4): fix mbuf leak in the TX path
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D3988
|
289841 |
23-Oct-2015 |
avos |
run(4): convert to ieee80211_tx_complete()
Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D3992
|
289821 |
23-Oct-2015 |
hselasky |
Fix kernel build by restoring a temporary variable which was not yet ripe for removal.
|
289816 |
23-Oct-2015 |
avos |
urtwn(4): add DBM_ANTNOISE radiotap field
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D3839
|
289811 |
23-Oct-2015 |
avos |
- Split one 4-byte R92C_CR register into 2-byte R92C_CR and 1-byte R92C_MSR registers (they are used for different purposes). - Wrap R92C_MSR modifications into urtwn_set_mode().
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D3838
|
289799 |
23-Oct-2015 |
avos |
urtwn(4): fix the RSSI calculation for RTL8188EU.
This change also reverts r252405 (causes integer underflow).
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D3820
|
289758 |
22-Oct-2015 |
avos |
urtwn(4): replace hardcoded rate indices with their names
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D3967
|
289753 |
22-Oct-2015 |
avos |
Initialize radiotap header fields before calling ieee80211_radiotap_rx()
Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D3951
|
289560 |
19-Oct-2015 |
hselasky |
Add quirk for USB 3.0 PCI device.
Submitted by: philipp.maechler@mamo.li PR: 203650 MFC after: 1 week
|
289173 |
12-Oct-2015 |
kevlo |
Accept any correct frames from any source when MONITOR mode is used.
Submitted by: Andriy Voskoboinyk <s3erios at gmail.com> Differential Revision: https://reviews.freebsd.org/D3812
|
289168 |
12-Oct-2015 |
adrian |
net80211 drivers: eliminate any references to sc_rxtap_len/sc_txtap_len (never used here)
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3776
|
289167 |
12-Oct-2015 |
adrian |
urtwn(4): split *reg and *var parts (no functional change).
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3775
|
289165 |
12-Oct-2015 |
adrian |
net80211: move ieee80211_free_node() call on error from ic_raw_xmit() to ieee80211_raw_output().
This doesn't free the mbuf upon error; the driver ic_raw_xmit method is still doing that.
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3774
|
289162 |
12-Oct-2015 |
adrian |
net80211: separate mbuf cleanup from ieee80211_fragment()
* Create ieee80211_free_mbuf() which frees a list of mbufs. * Use it in the fragment transmit path and ath / uath transmit paths. * Call it in xmit_pkt() if the transmission fails; otherwise fragments may be leaked.
This should be a big no-op.
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3769
|
289066 |
09-Oct-2015 |
kevlo |
Sort function prototypes and add missing 'static' keywords.
Submitted by: Andriy Voskoboinyk <s3erios at gmail dot com> Differential Revision: https://reviews.freebsd.org/D3847
|
289030 |
08-Oct-2015 |
kevlo |
Add support for Fresco Logic USB 3.0 host controller.
Fresco Logic hosts advertise MSI, but fail to actually generate MSI interrupts. We have to disable MSI use.
Reviewed by: hselasky
|
289029 |
08-Oct-2015 |
hselasky |
Add quirk for USB 3.0 PCI device.
Submitted by: Gary Jennejohn <gj@freebsd.org> MFC after: 1 week
|
289028 |
08-Oct-2015 |
gavin |
Recognise the Netgear WNDA4100 (N900) 3x3 device in run(4).
|
288667 |
04-Oct-2015 |
kevlo |
Replace M_NOWAIT with M_WAITOK for consistency with other wireless drivers.
|
288666 |
04-Oct-2015 |
kevlo |
Fix max TX power settings for RT5390/RT5392. While here remove wrong definition of RT2860_USB_PHY_MAN_RST.
|
288649 |
04-Oct-2015 |
adrian |
Fix run(4) mbuf queue flushing / freeing.
Ensure things are freed during interface stop, or start may end up never being able to transmit a full queue.
|
288648 |
04-Oct-2015 |
adrian |
Random zyd(4) fixes to bring TX handling in line with rsu, etc
* don't free buffers in the TX routine, only in transmit/raw_xmit * free nodes + references * .. and free those nodes/references /before/ net80211 detach
Tested:
* STA mode: zyd0: HMAC ZD1211B, FW 47.25, RF AL2230 S0, PA0 LED 0 BE0 NP1 Gain1 F0
|
288647 |
04-Oct-2015 |
adrian |
Fix to make compile on gcc-4.2.1 (eg mips, sparc64.)
|
288646 |
04-Oct-2015 |
adrian |
Fix to compile using gcc-4.2 (eg mips, sparc64.)
|
288642 |
03-Oct-2015 |
adrian |
rum(4): add WME support.
Tested:
* WUSB54GC, HOSTAP and STA modes. * Me: rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3700
|
288641 |
03-Oct-2015 |
adrian |
run(4): fix WME support (untested).
Now run(4) fetches parameters from ic->ic_wme.wme_params array, which is never initialized (and can be safely removed). This patch replaces &ic->ic_wme.wme_params with &ic->ic_wme.wme_chanParams.cap_wmeParams (contains parameters for local station; used by other drivers with WME support).
Tested:
* me: STA: run0: MAC/BBP RT5390 (rev 0x0502), RF RT5370 (MIMO 1T1R), address 38:83:45:11:78:ae
|
288639 |
03-Oct-2015 |
adrian |
rum(4): fix stats interpretation in rum_ratectl_task()
Testing:
* WUSB54GC, STA mode
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3690
|
288638 |
03-Oct-2015 |
adrian |
rum(4): set short/long retry limits
Now device will use retry limit, which is set via 'ifconfig <interface> maxretry <number>'.
Tested:
* Tested on WUSB54GC, STA mode.
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3689
|
288637 |
03-Oct-2015 |
adrian |
rum(4): fix sequence number generation.
* drop erroneous RT2573_TX_MORE_FRAG flag; * provide RT2573_TX_HWSEQ where needed.
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3672
|
288636 |
03-Oct-2015 |
adrian |
net80211: drop ieee80211_beacon_offsets parameter from ieee80211_beacon_alloc() and ieee80211_beacon_update()
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3659
|
288635 |
03-Oct-2015 |
adrian |
net80211: drop redundant 3rd parameter from iv_key_set().
The MAC can be fetched from the key struct.
I added the ndis updates to make it compile.
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3657
|
288634 |
03-Oct-2015 |
adrian |
rum(4): drop unused 'node id' parameter.
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3655
|
288633 |
03-Oct-2015 |
adrian |
rum(4): add support for hardware encryption (WEP, TKIP and CCMP).
This diff includes:
* Transmitter Addresses, Keys and TKIP MIC addition to the Security Key Table. * Proper SEC Control Registers initialization and maintenance. * Additional flags and values in TX descriptor, which are required for encryption support. * Error checking in RX path.
Tested:
* Tested on WUSB54GC, STA (WEP, TKIP, CCMP), HOSTAP (CCMP) and IBSS (CCMP, WPA-None) modes. * rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528, STA mode (CCMP+TKIP)
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3640
|
288632 |
03-Oct-2015 |
adrian |
rum(4): implement iv_update_beacon call (fixes client power save support).
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3632
|
288631 |
03-Oct-2015 |
adrian |
rum(4): attach rum_update_slot to ic_updateslot.
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3631
|
288623 |
03-Oct-2015 |
adrian |
rum(4): split rum_prepare_beacon() into 'alloc' and 'set' stages
Note: I manually had to merge this; I merged in the "put beacon_offsets into vap" commit before this.
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3628
|
288622 |
03-Oct-2015 |
adrian |
rum(4): add support for AHDEMO mode.
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3627
|
288621 |
03-Oct-2015 |
adrian |
rum(4): simplify rum_set_bssid(), rum_set_macaddr() and rum_update_promisc()
Tested:
* rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528, STA mode
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3626
|
288619 |
03-Oct-2015 |
adrian |
rum(4): do not corrupt MAC address
Don't override the NIC MAC address with an overridden MAC address for a VAP.
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3625
|
288618 |
03-Oct-2015 |
adrian |
rum(4): add error handling for rum_enable_tsf_sync() and rum_prepare_beacon()
Tested:
* rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528, STA mode Note: haven't tested AP mode yet; will do once the rest of the AP mode / power save commits are in.
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3624
|
288616 |
03-Oct-2015 |
adrian |
rum(4): move some code from rum_init() into separate function.
Tested:
* rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528, STA mode
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3623
|
288609 |
03-Oct-2015 |
adrian |
rum(4): add error handling in initialization path
Tested:
* Tested on WUSB54GC, STA mode. * rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528, STA mode
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3622
|
288606 |
03-Oct-2015 |
adrian |
rum(4): simplify error handling rum_raw_xmit()
Move the mbuf free responsibility to the caller of the hardware xmit function, not the hardware xmit function itself.
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3621
|
288605 |
03-Oct-2015 |
adrian |
rum(4): check mbuf size before accessing its contents
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3610
|
288604 |
03-Oct-2015 |
adrian |
rum(4): add TSF field into radiotap headers
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3607
|
288603 |
03-Oct-2015 |
adrian |
run(4): Add initial support for IBSS merge.
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3592
|
288535 |
03-Oct-2015 |
adrian |
Remove beacon offsets usage from if_rum.
Differential Revision: https://reviews.freebsd.org/D3658
|
288534 |
03-Oct-2015 |
adrian |
urtwn(4): fix sequence numbering for QoS frames
Tested:
* urtwn0: MAC/BB RTL8188EU, RF 6052 1T1R, STA mode
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3684
|
288533 |
03-Oct-2015 |
adrian |
ural(4): reduce copy-paste in ural_newstate().
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3656
|
288532 |
03-Oct-2015 |
adrian |
rum(4): add command queue for running sleepable tasks in non-sleepable contexts
Tested:
* Tested on WUSB54GC, STA mode. * rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3629
|
288531 |
03-Oct-2015 |
adrian |
rum(4): some non-functional changes / cleanup
* Remove unused sc_txtap_len/sc_rxtap_len fields. * Remove unused ackrate variable. * Remove unneded warning in rum_update_mcast(). * Use nitems(). * Replace some hardcoded values for RT2573_MAC_CSR1 register. * Remove second argument for RUM_LOCK_ASSERT() - it is always the same.
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3605
|
288504 |
02-Oct-2015 |
adrian |
rum(4): sync rum_enable_tsf(_sync) with run(4).
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3611
|
288503 |
02-Oct-2015 |
adrian |
rum(4): create few wrappers.
Tested:
rum0: <Belkin Belkin 54g USB Network Adapter, class 0/0, rev 2.00/0.01, addr 22> on usbus0 rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3609
|
288502 |
02-Oct-2015 |
adrian |
rum(4): move common part of rum_bbp_write() and rum_bbp_read() into rum_bbp_busy().
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3608
|
288501 |
02-Oct-2015 |
adrian |
rum(4): reduce code duplication.
Tested:
rum0: <Belkin Belkin 54g USB Network Adapter, class 0/0, rev 2.00/0.01, addr 21> on usbus0 rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528
Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3606
|
288414 |
30-Sep-2015 |
adrian |
modify the rssi logic a bit to actually return a useful rssi.
The fullmac firmware doesn't seem to populate a useful rssi indicator in the RX descriptor, so if one plotted said values, they'd basically look like garbage.
The reference driver implements a "get current rssi" firmware command which I guess is really meant for station operation only (as hostap operation would need rssi per station, not a single firmware read.)
So:
* populate sc_currssi during each calibration run; * use this in the RX path instead of trying to reconstruct the RSSI value and passing it around as a pointer; * do up a quick hack to map the rssi hardware value to some useful signal level; * the survey results provide an RSSI value between 0..100, so just do another quick hack to map it into some usefulish signal level; * supply a faked noise floor - I haven't yet found how to pull it out of the firmware.
The scan results and the station RSSI information is now more useful for indicating signal strength / distance.
|
288357 |
29-Sep-2015 |
adrian |
rsu(4): Add support for 1T2R and 2T2R NICs.
This logic is mostly crimed from the reference driver and the linux r92su driver.
I verified that it (a) worked on the rsu hardware I have, and (b) did traffic testing whilst watching what ath(4) sent as a hostap. It successfully sent MCS8..15 rates (which requires 2-stream reception) as well as MCS0..7 (which is 1-stream.)
Tested:
* RTL8712, 1T1R NIC, MCS rates 0..7. * RTL8712, 1T2R NIC, MCS rates 0..15
TODO:
* Find a 2T2R NIC!
|
288353 |
29-Sep-2015 |
adrian |
urtwn driver fixes - missing include, free node references, shut down xfers first
* include opt_wlan.h like a good little wlan driver; * add a function to free the mbufq /and/ the node references on it, or we will leak said node references; * free the mbufq upon NIC shutdown otherwise we may end up with a full list that we never begin transmit work on, and thus never drain it; * .. which frees it upon NIC detach too; * ensure urtwn_start() gets called after the completion of frame TX even if the pending queue is empty, otherwise transmit will stall. It's highly unlikely that the usb tx queue would be empty whilst the incoming send queue is full, but hey, who knows.
This passes some iperf testing with and without the NIC being actively removed during said active iperf test.
Tested:
* urtwn0: MAC/BB RTL8188EU, RF 6052 1T1R ; STA mode
|
288320 |
28-Sep-2015 |
adrian |
include opt_wlan.h . Tsk adrian.
|
288279 |
26-Sep-2015 |
adrian |
Free the TX/RX list buffers /before/ tearing down net80211 state.
Otherwise buffers in the RX queue get freed with their parent vap being gone and you end up with a juicy kernel panic.
|
288257 |
26-Sep-2015 |
adrian |
* Add 11n HT40 support - i needed to send both HTINFO and HTCAP fields in the join message so the firmware would pick it up.
* Strip out the direct hardware fiddling for 40MHz mode - the firmware we're using doesn't require it (the rtl8712su firmware does; it is less 'fullmac' than what we're using.)
* Fix the mbuf handling during errors - rsu_tx shouldn't free mbufs; it's up to the caller to do so. This brings it in line with what other drivers do or should be doing.
Tested:
* RTL8712, HT40 channel, STA mode (during this commit)
|
288252 |
26-Sep-2015 |
adrian |
Update USB device IDs for the upcoming AR9170 support.
|
288180 |
24-Sep-2015 |
hselasky |
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 MFC after: 2 weeks
|
288095 |
22-Sep-2015 |
adrian |
net80211: include one copy of struct ieee80211_beacon_offsets into ieee80211vap
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3658
|
288094 |
22-Sep-2015 |
adrian |
Send a power command to the firmware to shut down the radio as well during rsu_stop().
|
288089 |
22-Sep-2015 |
adrian |
Begin fleshing out basic power-on / power-off and A-MPDU TX support.
* Add a new method to control NIC poweron / network-sleep / power off; * Add in A-MPDU TX negotiation support, but comment it out because it does break TX traffic; * blank out the tx buffer before sending a firmware message, just in case; * go into network-sleep once associated;
TODO:
* figure out why ampdu negotiation isn't working and breaking TX traffic, then enable it.
|
288088 |
22-Sep-2015 |
adrian |
net80211 & wireless drivers: remove duplicate defines (noop)
- IEEE80211_DIR_DSTODS(wh) -> IEEE80211_IS_DSTODS(wh). - N(a) -> nitems(a). - Remove LE_READ_2(p)/LE_READ_4(p) definitions (and include ieee80211_input.h instead). - <drvname>_TXOP_TO_US(txop) -> IEEE80211_TXOP_TO_US(txop). - Put IEEE80211_RV(v) into ieee80211_proto.h and remove local RV(v) definitions.
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3705
|
288053 |
21-Sep-2015 |
adrian |
Flip on 11n by default; update TODO items.
|
288052 |
21-Sep-2015 |
adrian |
Convert if_rsu to use a deferred transmit task rather than using rsu_start() to do it directly.
Ensure that we re-queue starting transmit upon TX completion.
This solves two issues:
* It stops tx stalls - before this, if the transmit path filled the mbuf queue then it'd never start another transmit.
* It enforces ordering - this is very required for 802.11n which requires frames to be transmitted in the order they're queued. Since everything remotely involved in USB has an unlock/thing/relock pattern with that mutex, the only way to guarantee TX ordering is to 100% defer it into a separate thread.
This now survives an iperf test and gets a reliable 30mbit/sec.
|
288051 |
21-Sep-2015 |
adrian |
Drain the mbuf queue upon rsu_stop().
Correctly (I hope!) remove net80211 references before doing so. Just doing a dumb mbufq drain isn't enough.
If enough traffic occurs and the mbuf queue fills up then transmit stalls (which I'm not fixing in this commit!) but then the mbuf queue stays full until the driver is removed. There's also the net80211 node refcounting leak.
This just ensures that during rsu_stop and detach the mbuf queue is purged (and references!) so the queue-full situation can be recovered from.
|
288049 |
20-Sep-2015 |
adrian |
Disable HT40 in if_rsu for now. There's something missing in the HT40 setup pieces and so (at least) transmit doesn't work.
It'll just fall back to being a straight HT20 device and negotiate HT20 only.
Tested by: Idwer Vollering <vidwer@gmail.com>
|
287954 |
18-Sep-2015 |
adrian |
Add in a temporary (hah!) workaround for net80211 scanning versus NIC requirements.
Don't start the opmode and join path until a pending survey is finished. This seems to reliably fix things.
Ideally I'd just finish off the net80211 pluggable scan stuff and implement the methods here so if_rsu can just drive the scan machinery. However, that's a .. later thing.
Whilst here, remove the getbuf debugging; it's okay to run out of transmit buffers under load; it however isn't okay to not be able to send commands. I'll fix that later.
|
287953 |
18-Sep-2015 |
adrian |
Refactor out the tx buffer free code into a routine, rsu_freebuf().
This makes it easier to add more transmit buffers, have different buffer pools for things, etc.
|
287950 |
18-Sep-2015 |
adrian |
Set AMPDU density/size parameters during vap creation.
Inspired from: Linux r92su
|
287949 |
18-Sep-2015 |
adrian |
Add a very hacked up station only A-MPDU negotiation path.
This is enough to set things up; there are still lots of retransmits seen but it's enough to get things working.
|
287947 |
18-Sep-2015 |
adrian |
Add initial 11n support to if_rsu.
* Add a tunable to enable 11n if it's available, so to not anger people who upgrade.
kenv hw.usb.rsu.enable_11n=1 before inserting the device.
* Add initial 11n htconfig bits; * Enable 40MHz mode if it's available; * Add 11n channels; * Set 11n bits in the firmware.
It works for RX; I haven't tested TX aggregation just yet. However the firmware doesn't do RX re-ordering, so I have to tie it into the net80211 A-MPDU RX reorder path before I flip this on by default.
I've verified that I'm indeed actually seeing MCS 0->7 rates being received. I haven't dug into whether it's actually transmitting 11n rates; I'll dig into that later.
|
287909 |
17-Sep-2015 |
adrian |
.. oops, flip on QoS.
|
287901 |
17-Sep-2015 |
adrian |
Bring over the QoS logic from the Linux r92su driver.
* the tx descriptor TID is priority, not TID. * the tx descriptor queue id mapping is separate from the TID/priority; rather than just "BE".
TODO:
* go and re-re-re-verify the queue mappings; the linux and openbsd mappings aren't exactly the same. I need to verify all of this before I try to flip on 11n RX.
|
287897 |
17-Sep-2015 |
adrian |
Program the firmware setup stuff with the current hardware setup:
* Do 1T1R for now, until we read the config out of ROM and use it. * Disable turbo mode, I dunno what this is, but the linux drivers have this disabled. * Set the firmware endpoints to what we read from USB.
Tested:
* RTL8712 cut 3, STA mode
|
287896 |
17-Sep-2015 |
adrian |
Use the H2C endpoint for sending firmware commands, rather than the voice data queues.
This is similar to the openbsd and rtlwifi/r92su drivers.
Note: this driver still assumes it's a 4-endpoint device; I'll enforce that in a follow-up commit.
|
287895 |
17-Sep-2015 |
adrian |
Add 11n and QoS methods.
The firmware takes care of ampdu tx/rx (except for RX reordering, grr), QoS/WME and other bits/pieces. So they're stubs, just in case.
|
287894 |
17-Sep-2015 |
adrian |
Prepare for 11n - get the number of endpoints and whether 11n is available.
|
287893 |
17-Sep-2015 |
adrian |
Bump RX_LIST_COUNT so we don't fall behind during active traffic.
|
287892 |
17-Sep-2015 |
adrian |
Use DELAY() rather than usb_pause_mtx() - the latter releases the lock before waiting, which prevents the lock from really acting like a hardware serialiser. Sigh.
|
287854 |
16-Sep-2015 |
kevlo |
Use M_WAITOK rather than M_NOWAIT since it's not used within interrupt context.
|
287853 |
16-Sep-2015 |
kevlo |
Fix a debug message which didn't quite get it right about eeprom version.
|
287852 |
16-Sep-2015 |
kevlo |
Remove checks for a NULL return value from M_WAITOK allocations.
|
287828 |
15-Sep-2015 |
garga |
Add support for Sierra MC7355 card
Submitted by: Jeremy Porter <jporter@netgate.com> Approved by: loos Obtained from: pfSense MFC after: 1 week Sponsored by: Rubicon Communications (Netgate)
|
287825 |
15-Sep-2015 |
emaste |
Add Cavium ThunderX xHCI controller PCI ID
There is an issue with interrupts at the moment, but it works with polling mode set (hw.usb.xhci.use_polling=1).
Reviewed by: hselasky Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3665
|
287804 |
15-Sep-2015 |
adrian |
Replace the scan event input path hack with the new rx-stats based method. This allows for arbitrary channel info to be placed in the input call rather than the totally gross hack of overriding ic_curchan.
Without this I'm sure ic_curchan setting was racing with the scan code setting the channel itself..
|
287772 |
14-Sep-2015 |
hselasky |
Correct PCI ID.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> MFC after: 1 month PR: 202807
|
287763 |
13-Sep-2015 |
adrian |
Disable mgmt frame sending in if_rsu.
The firmware in this NIC sends management frames. So far I'm not sure which ones it handles and which ones it doesn't handle - but this is what openbsd does.
The association messages are handled by the firmware; the key negotiation for 802.1x and WPA are done as raw frames, not management frames.
This successfully allows it to associate to my home networks whereas it didn't work beforehand.
Tested:
* RTL8712, cut 3, STA mode
TODO:
* The firmware does send a join response with a status code; that should be logged in a more obvious way to assist with debugging. Ie, the firmware is the thing that is saying "couldn't join, sorry!", not net80211.
|
287742 |
13-Sep-2015 |
adrian |
Add RSSI logging to the event survey results.
|
287741 |
13-Sep-2015 |
adrian |
After reading the linux driver, document what this bit is doing (doing a full NIC awake.)
|
287740 |
13-Sep-2015 |
adrian |
* fiddle with some more of the debugging output * yes, when a "sta disconnect" message comes through we should, like, disconnect things. We're not currently generating beacon miss messages, and net80211 isn't disconnecting things via software beacon miss receive.
Tested:
* RTL8712, cut 3, STA mode
|
287727 |
12-Sep-2015 |
adrian |
if_rsu debug fixes:
* use an ath/iwn style debug bitmap - it's still global rather than per-device, but it's better than debug levels * disable bgscan - it just makes things unstable/unpredictable for now.
Tested:
* if_rsu - RTL8712 cut 3, STA mode
|
287616 |
10-Sep-2015 |
hselasky |
Update USB quirk.
MFC after: 1 month PR: 202968
|
287592 |
09-Sep-2015 |
hselasky |
Add new USB ID.
MFC after: 1 month PR: 202968
|
287584 |
09-Sep-2015 |
kevlo |
Correct setting R92C_TDECTRL_BLK_DESC_NUM_M bit.
|
287575 |
08-Sep-2015 |
garga |
Remove duplicate entry for Sierra Wireless Aircard 875
Approved by: loos MFC after: 3 days Sponsored by: Rubicon Communications (Netgate)
|
287574 |
08-Sep-2015 |
garga |
- Fix Sierra MC7354 ID from a bad copy/paste, correct ID is 68C0
Approved by: loos Obtained from: pfSense MFC after: 3 days Sponsored by: Rubicon Communications (Netgate)
|
287555 |
08-Sep-2015 |
kevlo |
Enable TSF timer in monitor mode.
Tested on RT5370, sta mode. Submitted by: Andriy Voskoboinyk <s3erios at gmail com> Differential Revision: https://reviews.freebsd.org/D3591
|
287554 |
08-Sep-2015 |
kevlo |
Add TSF field into TX/RX radiotap headers
Tested on RT5370, sta mode. Submitted by: Andriy Voskoboinyk <s3erios at gmail com> Differential Revision: https://reviews.freebsd.org/D3590
|
287553 |
08-Sep-2015 |
kevlo |
Fix comparison in run_key_set_cb().
Tested on RT5370, sta mode.
Submitted by: Andriy Voskoboinyk <s3erios at gmail com> Differential Revision: https://reviews.freebsd.org/D3589
|
287552 |
08-Sep-2015 |
kevlo |
- Remove empty key_update_* functions. - Hide "struct ieee80211_node *" -> "struct run_node *" casting behind RUN_NODE() macro. - Simplify IEEE80211_HAS_ADDR4 macro definition - Fix a comment (desn't -> doesn't)
Submitted by: Andriy Voskoboinyk <s3erios at gmail com> Differential Revision: https://reviews.freebsd.org/D3588
|
287373 |
01-Sep-2015 |
andrew |
Add support for the dwc usb in the HiSilicon hi6220 in the HiKey board. For this we need to force the driver into host mode, as without this the driver fails to detect any devices.
Relnotes: yes Sponsored by: ABT Systems Ltd
|
287355 |
01-Sep-2015 |
hselasky |
Add new PCI ID.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> MFC after: 1 month PR: 202807
|
287321 |
31-Aug-2015 |
hselasky |
Add new USB quirk.
MFC after: 1 week PR: 202783
|
287295 |
29-Aug-2015 |
gavin |
Support the ZTE MF112 HSUPA 3G USB stick.
MFC after: 1 week
|
287197 |
27-Aug-2015 |
glebius |
Replay r286410. Change KPI of how device drivers that provide wireless connectivity interact with the net80211 stack.
Historical background: originally wireless devices created an interface, just like Ethernet devices do. Name of an interface matched the name of the driver that created. Later, wlan(4) layer was introduced, and the wlanX interfaces become the actual interface, leaving original ones as "a parent interface" of wlanX. Kernelwise, the KPI between net80211 layer and a driver became a mix of methods that pass a pointer to struct ifnet as identifier and methods that pass pointer to struct ieee80211com. From user point of view, the parent interface just hangs on in the ifconfig list, and user can't do anything useful with it.
Now, the struct ifnet goes away. The struct ieee80211com is the only KPI between a device driver and net80211. Details:
- The struct ieee80211com is embedded into drivers softc. - Packets are sent via new ic_transmit method, which is very much like the previous if_transmit. - Bringing parent up/down is done via new ic_parent method, which notifies driver about any changes: number of wlan(4) interfaces, number of them in promisc or allmulti state. - Device specific ioctls (if any) are received on new ic_ioctl method. - Packets/errors accounting are done by the stack. In certain cases, when driver experiences errors and can not attribute them to any specific interface, driver updates ic_oerrors or ic_ierrors counters.
Details on interface configuration with new world order: - A sequence of commands needed to bring up wireless DOESN"T change. - /etc/rc.conf parameters DON'T change. - List of devices that can be used to create wlan(4) interfaces is now provided by net.wlan.devices sysctl.
Most drivers in this change were converted by me, except of wpi(4), that was done by Andriy Voskoboinyk. Big thanks to Kevin Lo for testing changes to at least 8 drivers. Thanks to pluknet@, Oliver Hartmann, Olivier Cochard, gjb@, mmoll@, op@ and lev@, who also participated in testing.
Reviewed by: adrian Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
286950 |
20-Aug-2015 |
adrian |
Further conversions from ifp->if_softc -> ic_softc.
|
286949 |
20-Aug-2015 |
adrian |
Remove some if_softc references from urtwn(4).
The only ones that are left are in if_start, if_stop and ioctl.
Tested:
* urtwn0: MAC/BB RTL8188CUS, RF 6052 1T1R, STA mode
|
286802 |
15-Aug-2015 |
hselasky |
Fixes for HIGH speed ISOCHRONOUS traffic. HS ISOCHRONOUS traffic at intervals less than 250us was not handled properly. Add support for high-bandwidth ISOCHRONOUS packets. USB webcams, USB audio and USB DVB devices are expected to work better. High-bandwidth INTERRUPT endpoints is not yet supported.
MFC after: 2 weeks
|
286799 |
15-Aug-2015 |
hselasky |
Fix race in USB PF which can happen if we stop tracing exactly when the kernel is tapping an USB transfer. This leads to a NULL pointer access. The solution is to only trace while the USB bus lock is locked.
MFC after: 2 weeks
|
286780 |
14-Aug-2015 |
hselasky |
Handle NYET high speed tokens and predict NAK'ing is up next.
MFC after: 2 weeks
|
286778 |
14-Aug-2015 |
hselasky |
Minor code refactor to avoid duplicating code.
MFC after: 2 weeks
|
286773 |
14-Aug-2015 |
hselasky |
Improve the realtime properties of USB transfers for embedded systems like RPI-B and RPI-2.
Description of problem: USB transfers can process data in their callbacks sometimes causing unacceptable latency for other USB transfers. Separate BULK completion callbacks from CONTROL, INTERRUPT and ISOCHRONOUS callbacks, and give BULK completion callbacks lesser execution priority than the others. This way USB audio won't be interfered by heavy USB ethernet usage for example.
Further serve USB transfer completion in a round robin fashion, instead of only serving the most CPU hungry. This has been done by adding a third flag to USB transfer queue structure which keeps track of looping callbacks. The "command" callback function then decides what to do when looping.
MFC after: 2 weeks
|
286437 |
08-Aug-2015 |
adrian |
Revert the wifi ifnet changes until things are more baked and tested.
* 286410 * 286413 * 286416
The initial commit broke a variety of debug and features that aren't in the GENERIC kernels but are enabled in other platforms.
|
286416 |
07-Aug-2015 |
glebius |
Fix mtx_assert() argument.
|
286410 |
07-Aug-2015 |
glebius |
Change KPI of how device drivers that provide wireless connectivity interact with the net80211 stack.
Historical background: originally wireless devices created an interface, just like Ethernet devices do. Name of an interface matched the name of the driver that created. Later, wlan(4) layer was introduced, and the wlanX interfaces become the actual interface, leaving original ones as "a parent interface" of wlanX. Kernelwise, the KPI between net80211 layer and a driver became a mix of methods that pass a pointer to struct ifnet as identifier and methods that pass pointer to struct ieee80211com. From user point of view, the parent interface just hangs on in the ifconfig list, and user can't do anything useful with it.
Now, the struct ifnet goes away. The struct ieee80211com is the only KPI between a device driver and net80211. Details:
- The struct ieee80211com is embedded into drivers softc. - Packets are sent via new ic_transmit method, which is very much like the previous if_transmit. - Bringing parent up/down is done via new ic_parent method, which notifies driver about any changes: number of wlan(4) interfaces, number of them in promisc or allmulti state. - Device specific ioctls (if any) are received on new ic_ioctl method. - Packets/errors accounting are done by the stack. In certain cases, when driver experiences errors and can not attribute them to any specific interface, driver updates ic_oerrors or ic_ierrors counters.
Details on interface configuration with new world order: - A sequence of commands needed to bring up wireless DOESN"T change. - /etc/rc.conf parameters DON'T change. - List of devices that can be used to create wlan(4) interfaces is now provided by net.wlan.devices sysctl.
Most drivers in this change were converted by me, except of wpi(4), that was done by Andriy Voskoboinyk. Big thanks to Kevin Lo for testing changes to at least 8 drivers. Thanks to Olivier Cochard, gjb@, mmoll@, op@ and lev@, who also participated in testing. Details here:
https://wiki.freebsd.org/projects/ifnet/net80211
Still, drivers: ndis, wtap, mwl, ipw, bwn, wi, upgt, uath were not tested. Changes to mwl, ipw, bwn, wi, upgt are trivial and chances of problems are low. The wtap wasn't compilable even before this change. But the ndis driver is complex, and it is likely to be broken with this commit. Help with testing and debugging it is appreciated.
Differential Revision: D2655, D2740 Sponsored by: Nginx, Inc. Sponsored by: Netflix
|
286385 |
06-Aug-2015 |
ian |
Return the current ftdi bitbang mode with the UFTDIIOC_GET_BITMODE ioctl.
The ftdi chip itself has a "get bitmode" command that doesn't actually return the current bitmode, just a snapshot of the gpio lines. The chip apparently has no way to provide the current bitmode.
This implements the functionality at the driver level. The driver starts out assuming the chip is in UART mode (which it will be, coming out of reset) and keeps track of every successful set-bitmode operation so that it can always return the current mode with UFTDIIOC_GET_BITMODE.
|
286382 |
06-Aug-2015 |
ian |
Add support to the uftdi driver for reading and writing the serial eeprom that can be attached to the chips, via ioctl() calls.
|
286118 |
31-Jul-2015 |
hselasky |
Limit the number of times we loop inside the DWC OTG poll handler to avoid starving other fast interrupts. Fix a comment while at it.
MFC after: 1 week Suggested by: Svatopluk Kraus <onwahe@gmail.com>
|
285935 |
28-Jul-2015 |
hselasky |
Optimise the DWC OTG host mode driver's receive path:
Remove NAKing limit and pause IN and OUT transactions for 125us in case of NAK response for BULK and CONTROL endpoints. This gets the receive latency down and improves USB network throughput at the cost of some CPU usage.
MFC after: 1 month
|
285914 |
27-Jul-2015 |
marius |
- Move the remainder of host controller capability registers reading from xhci_start_controller() to xhci_init(). These values don't change at run- time so there's no point of acquiring them on every USB_HW_POWER_RESUME instead of only once during initialization. In r276717, reading the first couple of registers in question already had been moved as a prerequisite for the changes in that revision. - Identify ASMedia ASM1042A controllers. - Use NULL instead of 0 for pointers.
MFC after: 3 days
|
285913 |
27-Jul-2015 |
marius |
- Fix compilation after r285909 with USB_DEBUG defined. - Regenerate usb.conf.
|
285909 |
27-Jul-2015 |
marius |
- Probe UICLASS_CDC/UISUBCLASS_ABSTRACT_CONTROL_MODEL/0xff again. This variant of Microsoft RNDIS, i. e. their unofficial version of CDC ACM, has been disabled in r261544 for resolving a conflict with umodem(4). Eventually, in r275790 that problem was dealt with in the right way. However, r275790 failed to put probing of RNDIS devices in question back. - Initialize the device prior to querying it, as required by the RNDIS specification. Otherwise already determining the MAC address may fail rightfully. - On detach, halt the device again. - Use UCDC_SEND_ENCAPSULATED_{COMMAND,RESPONSE}. While these macros are resolving to the same values as UR_{CLEAR_FEATURE,GET_STATUS}, the former set is way more appropriate in this context. - Report unknown - rather: unimplemented - events unconditionally and not just in debug mode. This ensures that we'll get some hint of what is going wrong instead of the driver silently failing. - Deal with the Microsoft ActiveSync requirement of using an input buffer the size of the expected reply or larger - except for variably sized replies - when querying a device. - Fix some pointless NULL checks, style bugs etc.
This changes allow urndis(4) to communicate with a Microsoft-certified USB RNDIS test token.
MFC after: 3 days Sponsored by: genua mbh
|
285638 |
16-Jul-2015 |
hselasky |
Optimise the DWC OTG host mode driver's transmit path:
1) Use the TX FIFO empty interrupts to poll the transmit FIFO usage, instead of using own software counters and waiting for SOF interrupts. Assume that enough FIFO space is available to execute one USB OUT transfer of any kind when the TX FIFO is empty.
2) Use the host channel halted event to asynchronously wait for host channels to be disabled instead of waiting for SOF interrupts. This results in less turnaround time for re-using host channels and at the same time increases the performance.
The network transmit performance measured by "iperf" for the "RPi-B v1 2011/12" board, increased from 45MBit/s to 65Mbit/s after applying the changes above.
No regressions seen using: - High Speed (BULK, CONTROL, INTERRUPT) - Full Speed (All transfer types) - Low Speed (Control and Interrupt)
MFC after: 1 month Submitted by: Daisuke Aoyama <aoyama@peach.ne.jp>
|
284272 |
11-Jun-2015 |
hselasky |
Import ugold driver from OpenBSD supporting digital USB temperature meters. The driver is currently not part of the default kernel build.
Obtained from: OpenBSD MFC after: 2 weeks
|
284125 |
07-Jun-2015 |
hselasky |
Add new USB quirk.
PR: 200693 MFC after: 1 week
|
284011 |
05-Jun-2015 |
hselasky |
Don't wait forever for USB data to be flushed.
MFC after: 1 week
|
283952 |
03-Jun-2015 |
hselasky |
Fix spelling.
|
283922 |
02-Jun-2015 |
hselasky |
Fix for control endpoint handling in the DWC OTG driver. The data stage processing is only allowed after the setup complete event has been received. Else a race may occur and the OUT data can be corrupted. While at it ensure resetting a FIFO has the required wait loop.
MFC after: 3 days
|
283879 |
01-Jun-2015 |
hselasky |
Add USB MIDI template for USB device side mode.
|
283540 |
25-May-2015 |
glebius |
Change three methods in struct ieee80211com, namely ic_updateslot, ic_update_mcast and ic_update_promisc, to pass pointer to the ieee80211com, not to the ifnet.
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
283537 |
25-May-2015 |
glebius |
Set ic_softc in all 802.11 drivers. Not required right now, but will be used quite soon.
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
283527 |
25-May-2015 |
glebius |
Make net80211 drivers supply their device name to the net80211 layer, so that the latter doesn't need to go through struct ifnet to get their name.
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
283103 |
19-May-2015 |
hselasky |
Fix for DWC OTG device side isochronous transfers. The even or odd isochronous frame bit needs to be flipped.
MFC after: 3 days
|
283067 |
18-May-2015 |
hselasky |
Make the FIFO configuration a bit more flexible for the DWC OTG in device side mode.
|
282725 |
10-May-2015 |
hselasky |
Put recycle pointer in own memory area which is not mmap'able.
|
282623 |
08-May-2015 |
kevlo |
- Fix a wrong R92C_USTIME_TSF register definition - Fix intitial transmit rate to an 11g rate for the RTL8188EU - Add a comment about response rate settings
|
282577 |
07-May-2015 |
hselasky |
Add support for DYMO LabelWriter PnP.
MFC after: 2 weeks
|
282505 |
05-May-2015 |
hselasky |
Add new USB ID.
PR: 199843 MFC after: 1 week
|
282469 |
05-May-2015 |
garga |
Add support for Sierra MC7354 card
Author: Jeremy Porter <jporter@netgate.com> Differential Revision: https://reviews.freebsd.org/D2444 Reviewed by: gnn, hselasky MFC after: 1 week Sponsored by: Netgate
|
282424 |
04-May-2015 |
ian |
Implement a mechanism for making changes in the kernel<->driver PPS interface without breaking ABI or API compatibility with existing drivers.
The existing data structures used to communicate between the kernel and driver portions of PPS processing contain no spare/padding fields and no flags field or other straightforward mechanism for communicating changes in the structures or behaviors of the code. This makes it difficult to MFC new features added to the PPS facility. ABI compatibility is important; out-of-tree drivers in module form are known to exist. (Note that the existing api_version field in the pps_params structure must contain the value mandated by RFC 2783 and any RFCs that come along after.)
These changes introduce a pair of abi-version fields which are filled in by the driver and the kernel respectively to indicate the interface version. The driver sets its version field before calling the new pps_init_abi() function. That lets the kernel know how much of the pps_state structure is understood by the driver and it can avoid using newer fields at the end of the structure that it knows about if the driver is a lower version. The kernel fills in its version field during the init call, letting the driver know what features and data the kernel supports.
To implement the new version information in a way that is backwards compatible with code from before these changes, the high bit of the lightly-used 'kcmode' field is repurposed as a flag bit that indicates the driver is aware of the abi versioning scheme. Basically if this bit is clear that indicates a "version 0" driver and if it is set the driver_abi field indicates the version.
These changes also move the recently-added 'mtx' field of pps_state from the middle to the end of the structure, and make the kernel code that uses this field conditional on the driver being abi version 1 or higher. It changes the only driver currently supplying the mtx field, usb_serial, to use pps_init_abi().
Reviewed by: hselasky@
|
282266 |
30-Apr-2015 |
kevlo |
- Disable usb aggregation mode by default since it boots performance - Minor tweak
PR: 199718 Submitted by: Mikhail <mp39590 at gmail dot com>
|
282119 |
28-Apr-2015 |
kevlo |
- Add a new urtwn(4) device - Remove duplicate REALTEK RTL8188CU_0 entry.
|
281918 |
24-Apr-2015 |
kevlo |
- Fix the length of efuse content. - Replace the magic numbers with something more readable.
|
281881 |
23-Apr-2015 |
hselasky |
Disable multi process interrupts, because the current code doesn't use them. Else we can end up in an infinite interrupt loop in USB device mode.
MFC after: 3 days
|
281815 |
21-Apr-2015 |
hselasky |
Don't print uninitialized variables.
CID: 1295242
|
281745 |
19-Apr-2015 |
kevlo |
Add new USB ID.
PR: 199522
|
281644 |
17-Apr-2015 |
hselasky |
Buffers which can be memory mapped into userspace should never be freed. Recycle the buffers instead. This patch also fixes a panic at reboot issue when an UDL adapter is attached to the system.
|
281592 |
16-Apr-2015 |
kevlo |
Enable LDO to 2.5V before efuse r/w action in order to prevent incorrect mac address read from efuse.
Reported by: swills Tested by: rpaulo and myself on RPi
|
281499 |
13-Apr-2015 |
neel |
Modify the return value of the uhci/ehci/xhci PCI probe routines to 'BUS_PROBE_DEFAULT'. This allows bhyve's 'ppt' driver to claim ownership of the device and pass it through to the guest.
In the common case where there are no competing drivers for USB controllers this change is a no-op.
Reviewed by: hselasky MFC after: 2 weeks
|
281367 |
10-Apr-2015 |
ian |
The "get latency" and "get bitmode" device commands are read operations, not writes.
|
281183 |
07-Apr-2015 |
kevlo |
Add Lenovo ThinkPad OneLink GigaLAN.
PR: 199184 Submitted by: Robin Karlsson
|
281070 |
04-Apr-2015 |
rpaulo |
urtwn: blink the LED when scanning.
Previously, the driver was trying to blink the LED in the newstate function, but that only gets called once (unlike OpenBSD's net80211 stack). Move the LED blinking to set_channel().
While there, don't try to set the channel when we switch to the SCAN state. This is already accomplished by the set_channel() function.
MFC after: 1 week
|
281069 |
04-Apr-2015 |
rpaulo |
Remove whitespace.
|
280598 |
25-Mar-2015 |
hselasky |
Add definition of the ISOCHRONOUS endpoint usage bits. Refer to the USB v2.0 specification for more information.
MFC after: 1 week
|
280168 |
17-Mar-2015 |
hselasky |
Remove no longer used allocation type.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
|
280165 |
17-Mar-2015 |
hselasky |
Use define instead of constant.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
|
280008 |
14-Mar-2015 |
ian |
Use SYSCTL_OUT_STR() to return strings.
PR: 195668
|
279854 |
10-Mar-2015 |
hselasky |
Lock softc before clearing bits.
Found by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> MFC after: 1 week
|
279778 |
08-Mar-2015 |
andrew |
Add support for enabling the USB on the Raspberry Pi boards when it hasn't been done by U-Boot. This allows the USB to work when we load the kernel directly.
No dma sync is performed after these operations as the data we read/write is not used by the cpu after the calls to the maimbox driver.
Differential Revision: https://reviews.freebsd.org/D1940 Reviewed by: imp, Michal Meloun (meloun AT miracle.cz) MFC after: 1 Week Sponsored by: ABT Systems Ltd
|
279773 |
08-Mar-2015 |
hselasky |
Switch polarity of PPS events.
PR: 196897 Submitted by: ian @ MFC after: 1 week
|
279756 |
07-Mar-2015 |
hselasky |
Use correct mode variable for PPS support.
PR: 196897 Submitted by: ian @ MFC after: 1 week
|
279753 |
07-Mar-2015 |
hselasky |
Allow the UDL screen refresh rate to be runtime configurable through a sysctl. Increase the default frame rate to 25 FPS. Add a comment about memory constraints.
|
279729 |
07-Mar-2015 |
hselasky |
Add PPS support to USB serial drivers. Bump kernel version to reflect structure change.
PR: 196897 MFC after: 1 week
|
279725 |
07-Mar-2015 |
hselasky |
Add more USB IDs.
PR: 197753 MFC after: 1 week
|
279566 |
03-Mar-2015 |
loos |
Sort and remove unnecessary headers.
|
279563 |
03-Mar-2015 |
hselasky |
Add quirk for USB 3.0 controllers which don't support 64-bit DMA.
MFC after: 3 days Submitted by: Gary Jennejohn <gljennjohn@gmail.com>
|
279544 |
02-Mar-2015 |
hselasky |
Add quirk to disable 64-bit XHCI DMA after r276717.
Requested by: Gary Jennejohn <gljennjohn@gmail.com> MFC after: 3 days
|
279270 |
25-Feb-2015 |
hselasky |
Add ugen keyword to USB pnpinfo. Remove extra space from existing pnpinfo.
PR: 198015 PR: 198019 PR: 198026 MFC after: 1 week
|
279233 |
24-Feb-2015 |
hselasky |
Ensure that the XHCI driver will refresh the control endpoint settings when re-enumerating a FULL speed device. Else the wrong max packet setting might be used when trying to re-enumerate a FULL speed device.
MFC after: 3 days
|
279210 |
23-Feb-2015 |
hselasky |
Add support for the DWC OTG v2 chipset found in the STM32F4 series of processors. Make sure we pullup the data lines in device mode when we power on the port.
MFC after: 1 week
|
278883 |
17-Feb-2015 |
hselasky |
Try to resolve infinite interrupts by clearing an undocumented interrupt status bit. According to the UHCI controller specification the host controller halted interrupt is non-maskable.
PR: 156596 Tested by: adrian @ MFC after: 1 week
|
278853 |
16-Feb-2015 |
hselasky |
Reduce number of memory buffers a bit.
|
278852 |
16-Feb-2015 |
hselasky |
Avoid recursive locking.
|
278851 |
16-Feb-2015 |
hselasky |
Swap screen dimensions back to normal.
|
278850 |
16-Feb-2015 |
hselasky |
Handle VBUS error interrupts.
Submitted by: SAITOU Toshihide <toshi@ruby.ocn.ne.jp> PR: 190471 MFC after: 1 week
|
278847 |
16-Feb-2015 |
hselasky |
Allow the display port to be powered off.
|
278825 |
15-Feb-2015 |
hselasky |
Add new device ID.
|
278824 |
15-Feb-2015 |
hselasky |
Bugfixes. Check if a framebuffer is present before using it. Dequeue element from correct head structure. No need to multiply framebuffer offset by two. It is already given in bytes.
|
278799 |
15-Feb-2015 |
hselasky |
Import USB display link driver from OpenBSD. Support for compression has been removed and the driver has been greatly simplified and optimised for FreeBSD. The driver is currently not built by default.
Requested by: Bruce Simpson <bms@fastmail.net>
|
278477 |
09-Feb-2015 |
hselasky |
Fix DMA address casts. Regression issue after r278279.
MFC after: 3 days
|
278379 |
08-Feb-2015 |
dchagin |
Add Neoway WM620 module ID.
MFC after: 1 Week
|
278105 |
02-Feb-2015 |
hselasky |
Separate out detection of prevent and allow medium removal quirk.
PR: 185747 MFC after: 1 week
|
278074 |
02-Feb-2015 |
hselasky |
Optimise allocation of USB DMA structures. By default don't double map allocations if only one element should be allocated per page cache. Make one allocation per element compile time configurable. Fix a comment while at it.
Suggested by: ian @ MFC after: 1 week
|
278071 |
02-Feb-2015 |
hselasky |
Section 3.2.9 in the XHCI specification about control transfers says that we should use a normal-TRB if there are more TRBs extending the data-stage TRB. Add a dedicated state bit to the internal USB transfer flags to handle this case.
Reported by: Kohji Okuno <okuno.kohji@jp.panasonic.com> MFC after: 1 week
|
277974 |
31-Jan-2015 |
dim |
Fix a bunch of -Wcast-qual warnings in sys/dev/usb/input/uhid.c, by using __DECONST. No functional change.
Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D1743
|
277460 |
21-Jan-2015 |
ian |
Revise the arm bus_space implementation to avoid dereferencing the tag on every operation to retrieve the bs_cookie value almost nothing actually uses.
The bus_space struct contains a private data pointer (poorly named bs_cookie, now renamed to bs_privdata) which is used only by a few old armv4 xscale implementations. The bus_space functions were all defined to take this value as the first parameter instead of the bus_space_tag_t, requiring all the inline macro and function expansions to dereference the tag to pass it to another function, which never uses it. Now all the functions take the tag as the first parameter and retrieve the privdata if they need it.
Also fix a couple bus_space_unmap() implementations that were calling kva_free() instead of pmap_unmapdev().
Discussed with: cognet
|
277422 |
20-Jan-2015 |
br |
o Restore 'goto tr_setup;' when operating in host mode mistakenly removed in r277414. o Remove extra parentheses around cases.
|
277420 |
20-Jan-2015 |
br |
o Do notify USB host each time we receive 'set packet filter' request. This makes Mac OS X happy when it returns back from suspending. o Switch notify state after data is transferred, but not before. o Consider there is also Super Speed mode. o Do not set stall bit on any pipes in device mode as Mac OS X seems don't support it.
In collaboration with: hselasky@
|
277417 |
20-Jan-2015 |
hselasky |
Fix returned data for the USB_GET_DEV_PORT_PATH IOCTL in particular the value returned in the "udp_port_level" field.
Reported by: Uffe Jakobsen <uffe@uffe.org> MFC after: 1 week
|
277298 |
17-Jan-2015 |
br |
o Notify USB host about connection when operating in device mode. Required when communicating to Mac OS X USB host stack. o Also don't set stall bit to TX pipe in device mode as seems Mac OS X don't clears it as it should.
Discussed with: hselasky@
|
277246 |
16-Jan-2015 |
hselasky |
Add more USB device IDs.
Submitted by: max.n.boyarov@gmail.com PR: 196362 MFC after: 1 week
|
277179 |
14-Jan-2015 |
hselasky |
Add a kernel function to delist our kernel character devices, so that the device name can be re-used right away in case we are destroying the character devices in the background.
MFC after: 4 days Reported by: dchagin@
|
277136 |
13-Jan-2015 |
hselasky |
Resolve a special case deadlock: When two or more threads are simultaneously detaching kernel drivers on the same USB device we can get stuck in the "usb_wait_pending_ref_locked()" function because the conditions needed for allowing detach are not met. The "destroy_dev()" function waits for all system calls involving the given character device to return. Character device system calls may lock the USB enumeration lock, which is also held when "destroy_dev()" is called. This can sometimes lead to a deadlock not noticed by WITNESS. The current solution is to ensure the calling thread is the only one holding the USB enumeration lock and prevent other threads from getting refs while a USB device detach is ongoing. This turned out not to be sufficient. To solve this deadlock we could use "destroy_dev_sched()" to schedule the device destruction in the background, but then we don't know when it is safe to free() the private data of the character device. Instead a callback function is executed by the USB explore process to kill off any leftover USB character devices synchronously after the USB device explore code is finished and the USB enumeration lock is no longer locked. This makes porting easier and also ensures us that character devices must eventually go away after a USB device detach.
While at it ensure that "flag_iserror" is only written when "priv_mtx" is locked, which is protecting it.
MFC after: 5 days
|
277129 |
13-Jan-2015 |
br |
Add usb template SERIALNET allowing us to have both USB CDC Ethernet and USB CDC Modem same time by single cable.
Reviewed by: hselasky@
|
277044 |
12-Jan-2015 |
hselasky |
Increase the maximum number of dynamic USB quirks. USB memory stick devices which don't support the synchronize cache SCSI command are likely to also not support the prevent-allow medium removal SCSI command.
PR: 185747 MFC after: 1 week
|
276892 |
09-Jan-2015 |
hselasky |
Add support for USB device side mode to the USB modem driver.
MFC after: 1 week Submitted by: br@
|
276799 |
08-Jan-2015 |
hselasky |
Fix misleading comment.
MFC after: 1 week Reported by: rpaulo@
|
276798 |
08-Jan-2015 |
hselasky |
Fix handling of an error case when the MUSB driver is operating in USB device side mode.
MFC after: 1 week Reported by: br@
|
276750 |
06-Jan-2015 |
rwatson |
In order to reduce use of M_EXT outside of the mbuf allocator and socket-buffer implementations, introduce a return value for MCLGET() (and m_cljget() that underlies it) to allow the caller to avoid testing M_EXT itself. Update all callers to use the return value.
With this change, very few network device drivers remain aware of M_EXT; the primary exceptions lie in mbuf-chain pretty printers for debugging, and in a few cases, custom mbuf and cluster allocation implementations.
NB: This is a difficult-to-test change as it touches many drivers for which I don't have physical devices. Instead we've gone for intensive review, but further post-commit review would definitely be appreciated to spot errors where changes could not easily be made mechanically, but were largely mechanical in nature.
Differential Revision: https://reviews.freebsd.org/D1440 Reviewed by: adrian, bz, gnn Sponsored by: EMC / Isilon Storage Division
|
276717 |
05-Jan-2015 |
hselasky |
Add 64-bit DMA support in the XHCI controller driver. - Fix some comments and whitespace while at it.
MFC after: 1 month Submitted by: marius@
|
276701 |
05-Jan-2015 |
hselasky |
Make a bunch of USB debug SYSCTLs tunable, so that their value(s) can be set before the USB device(s) are probed.
|
276611 |
03-Jan-2015 |
hselasky |
Make sure an error case exits unlocked.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> MFC after: 1 week
|
276407 |
30-Dec-2014 |
hselasky |
Allow systems having a page size greater than 4K to use fewer scatter-gather XHCI TRB entries for its payload data. The XHCI controller can handle at least 65536 bytes per scatter-gather list entry.
MFC after: 1 week Suggested by: Kohji Okuno <okuno.kohji@jp.panasonic.com>
|
276404 |
30-Dec-2014 |
hselasky |
Add missed flushing of data which can happen when "xhci_configure_mask()" is called from "xhci_configure_reset_endpoint()". Ensure the 3-strikes error feature is always enabled except for ISOCHRONOUS transfers.
MFC after: 1 week Suggested by: marius@
|
276321 |
27-Dec-2014 |
marius |
Improve/fix interrupt allocation/setup/release: - Simplify MSI allocation to what is actually needed for a single one. - Release the MSI and the corresponding bus resource as appropriate when either the interrupt resource cannot be allocated or setting up the interrupt fails. - Error out when interrupt allocation or setup fails and polling is disabled. - Release the MSI after the corresponding bus resource so the former is not leaked on detach. - Remove a redundant softc member.
MFC after: 3 days
|
276240 |
26-Dec-2014 |
hselasky |
Add more USB devices.
MFC after: 1 day Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
|
276239 |
26-Dec-2014 |
hselasky |
Add more quirks.
PR: 180617 MFC after: 1 day
|
275790 |
15-Dec-2014 |
hselasky |
Resolve USB driver identification conflict.
Reported by: Anish Mistry <amistry@am-productions.biz> MFC after: 1 week
|
275646 |
09-Dec-2014 |
mp |
Rename NETGEAR WG111V2_2 to WG111V1_2 to reflect external naming.
Reviewed by: kevlo
|
275624 |
08-Dec-2014 |
hselasky |
Add port routing support for Wildcat Point.
PR: 195793 MFC after: 1 week
|
275606 |
08-Dec-2014 |
hselasky |
Add more U3G USB IDs.
Submitted by: Benediktus Anindito <bennybroz105@gmail.com> MFC after: 1 week
|
275605 |
08-Dec-2014 |
hselasky |
Add more USB quirks for Western Digital external USB HDD enclosures. Rename an incorrectly named device. Increase limit for maximum number of quirks.
PR: 178771, 180617 MFC after: 2 weeks
|
275507 |
05-Dec-2014 |
hselasky |
Optimise bit searching loop by using the ffs() function. Make some related bit shifts unsigned while at it.
|
275468 |
03-Dec-2014 |
hselasky |
Optimise the bit searching loops, by quickly skipping the 16 first set bits if all the 16 first bits are set. This way the worst case searching time is reduced from 32 to 16 cycles.
|
275467 |
03-Dec-2014 |
hselasky |
Workaround for possible bug in the SAF1761 chip. Wait 125us before re-using a hardware propritary transfer descriptor, PTD, in USB host mode. If the PTD's are recycled too quickly, it has been observed that the hardware simply fails to schedule the requested job or resets completely disconnecting all devices.
|
275137 |
26-Nov-2014 |
adrian |
Add PCI ID for Intel Lynx Point LP controller.
PR: kern/195398 Submitted by: grembo Obtained from: DragonflyBSD MFC after: 1 week
|
275110 |
26-Nov-2014 |
hselasky |
Add new USB quirk.
MFC after: 1 week PR: 195372
|
275101 |
26-Nov-2014 |
mav |
Add bunch of PCI IDs of Intel Wildcat Point (9 Series) chipsets.
MFC after: 1 week
|
275010 |
25-Nov-2014 |
jhibbits |
Add Apple Intrepid USB controller ID.
MFC after: 2 weeks
|
274863 |
22-Nov-2014 |
hselasky |
Fix the host mode ISOCHRONOUS transfer interval programming in the SAF1761 OTG driver. Currently the driver logic is very simple and double buffering the USB transactions is not done. Also you need to use an external USB high speed USB HUB for reliable FULL speed outgoing ISOCHRONOUS traffic, because the internal one chokes on so-called split transfers above 188 bytes.
|
274842 |
22-Nov-2014 |
hselasky |
Use correct length mask for split transactions. The hardware would sometimes put non-zero values in the upper length bits, which are available for high-speed-only USB transactions, breaking the reception of data.
|
274684 |
19-Nov-2014 |
kevlo |
Add Trendnet TEW-646UBH.
Submitted by: bolshakov_1 at yahoo dot com
|
274227 |
07-Nov-2014 |
hselasky |
Add new USB IDs.
Submitted by: G'abor Zahemszky <gabor@zahemszky.hu> MFC after: 1 week
|
274020 |
03-Nov-2014 |
hselasky |
Reduce boot verbosity.
MFC: 3 days
|
273589 |
24-Oct-2014 |
kevlo |
Add D-Link DWA-123 rev D1 and Elecom WDC-150SU2M.
|
273546 |
23-Oct-2014 |
loos |
Fix a bug where some DTS layouts could cause the premature ending of the search (i.e. without returning any result) and you would end up with a random MAC address.
Change the search algorithm to a recursive one to ensure that all the nodes on DTS will be verified.
The previous algorithm could not keep up if the DTS has too many sub-nodes.
While here, fix the punctuation on comments.
|
273456 |
22-Oct-2014 |
hselasky |
Actually change the USB_PORT_ROOT_RESET_DELAY definition as stated in the r241987 commit message, instead of having users locally overriding the value using tunables in /boot/loader.conf .
Found by: Adam Parco Discussed with: Nick Hibma
|
273448 |
22-Oct-2014 |
kevlo |
Fix the kernel panic in hostap mode. rvp->beacon_mbuf was NULL in run_update_beacon().
PR: 189405 Submitted by: Gabor Simon <gabor.simon75 at gmail.com> MFC after: 3 days
|
273376 |
21-Oct-2014 |
kevlo |
Add the Intel BayTrail USB device which needs port routing for USB 3.0.
Tested on the BayTrail E3845 platform. Reviewed by: hselasky
|
273252 |
18-Oct-2014 |
hselasky |
Add support for new USB 3G device.
Submitted by: gabor@zahemszky.hu MFC after: 1 week
|
273216 |
17-Oct-2014 |
hselasky |
Add support for new USB 3G device.
Submitted by: gabor@zahemszky.hu MFC after: 1 week
|
273181 |
16-Oct-2014 |
joerg |
Add the Dresden Elektronik deRFnode device to uftdi(4).
MFC after: 1 week
|
272822 |
09-Oct-2014 |
hselasky |
Add sysctl knob to disable port power on a specific USB HUB. You need to reset the USB HUB using "usbconfig -d X.Y reset" or boot having the setting in /boot/loader.conf before it activates.
|
272807 |
09-Oct-2014 |
hselasky |
Refine support for disabling USB enumeration to allow device detach and suspend and resume of existing devices.
MFC after: 2 weeks
|
272764 |
08-Oct-2014 |
gavin |
It looks like an entry for the R215 is not required in cdce(4) after all.
|
272733 |
08-Oct-2014 |
hselasky |
Add support for disabling USB enumeration in general or on selected USB HUBs.
MFC after: 2 weeks
|
272716 |
07-Oct-2014 |
gavin |
Support the Vodafone R215 LET USB dongle, which is apparently a rebadged E5372 with different product IDs.
Interestingly, the standard E5372 IDs (12d1:1506) are currently listed in u3g.c and are the same as the E3131. However, the R215/E5372 is an NCM device and works well with cdce(4) whereas the E3131 isn't. More work may be needed to better identify the other device IDs.
MFC after: 1 week
|
272480 |
03-Oct-2014 |
hselasky |
When we fail to get a USB reference we should just return, because there are no more references held.
MFC after: 3 days
|
272479 |
03-Oct-2014 |
hselasky |
Fix XHCI driver for devices which have more than 15 physical root HUB ports. The current bitmap array was too small to hold more than 16 bits and would at some point toggle the context size, which then would trigger an enumeration fault and cause a fallback to the EHCI companion controller, if any.
MFC after: 3 days
|
272422 |
02-Oct-2014 |
hselasky |
Make sure we always set the maximum number of valid contexts.
MFC after: 3 days
|
272410 |
02-Oct-2014 |
hselasky |
Add new USB ID.
PR: 194091 MFC after: 3 days
|
272349 |
01-Oct-2014 |
hselasky |
Set default cycle state in case of early interrupts.
MFC after: 3 days
|
272160 |
26-Sep-2014 |
gavin |
Add new (untested) device IDs to smsc(4)
MFC after: 1 week
|
272103 |
25-Sep-2014 |
gavin |
Move the ARM Samsung s3c2xx0 support files into the samsung directory, to match other platforms.
Discussed with: andrew
|
271953 |
22-Sep-2014 |
hselasky |
Some XHCI hardware requires dropping the endpoint context before adding it again.
MFC after: 3 days Submitted by: Kohji Okuno <okuno.kohji@jp.panasonic.com>
|
271874 |
19-Sep-2014 |
hselasky |
Add new USB IDs.
PR: 193775 MFC after: 1 week
|
271866 |
19-Sep-2014 |
glebius |
Mechanically convert to if_inc_counter().
|
271832 |
18-Sep-2014 |
glebius |
Mechanically convert to if_inc_counter().
|
271680 |
16-Sep-2014 |
brooks |
Fix some extra whitespace noticed when reviewing git diffs.
|
271492 |
12-Sep-2014 |
hselasky |
Workaround for receiving Voice Calls using the E1750 dongle from Huawei. It might appear as if the firmware is allocating memory blocks according to the USB transfer size and if there is initially a lot of data, like at the answering machine prompt, it simply dies without any apparent reason. The simple workaround for this is to force a zero length packet at hardware level after every 512 bytes of data. This will force the other side to use smaller memory blocks aswell.
MFC after: 1 week
|
271303 |
09-Sep-2014 |
kevlo |
Drop frames that have larger than MCLBYTES.
|
271159 |
05-Sep-2014 |
kevlo |
The USB LED driver for the Dream Cheeky WebMail Notifier.
Reviewed by: hselasky
|
271156 |
05-Sep-2014 |
mav |
Add IDs for Intel Patsburg USB 2.0 controller.
|
271018 |
03-Sep-2014 |
hselasky |
Fix spelling.
PR: 193279 MFC after: 1 week
|
271017 |
03-Sep-2014 |
hselasky |
Add new quirk.
PR: 193279 MFC after: 1 week
|
270992 |
03-Sep-2014 |
hselasky |
Fix logical error.
MFC after: 3 days
|
270643 |
26-Aug-2014 |
kevlo |
Fix typo: s/mac_rev/mac_ver/
Submitted by: Stefan Sperling <stsp at openbsd dot org>
|
270192 |
20-Aug-2014 |
kevlo |
If eapol packets are sent at the lowest rate, key negotiation will become more reliable.
Submitted by: Akinori Furukoshi <moonlightakkiy at yahoo dot ca>
|
270191 |
20-Aug-2014 |
kevlo |
Add the D-Link DWA-125 rev D1.
Tested by myself.
|
270165 |
19-Aug-2014 |
kevlo |
Sort ASUS section and add USB device ID of ASUS USB-AC51.
|
269707 |
08-Aug-2014 |
hselasky |
Remove some not needed directory properties.
|
269664 |
07-Aug-2014 |
hselasky |
Make sure the USB audio level residue is non-zero.
|
269608 |
05-Aug-2014 |
gjb |
Add device ID for the Chicony USB 2.0 HD UVC Webcam found on the Asus X550LA.
Reviewed by: sbruno Sponsored by: The FreeBSD Foundation
|
269604 |
05-Aug-2014 |
hselasky |
- Implement fast interrupt handler to save CPU usage. - Cleanup some register reads and writes to use existing register access macros. - Ensure code which only applies to the control endpoint is not run for other endpoints in the data transfer path.
MFC after: 3 days
|
269602 |
05-Aug-2014 |
hselasky |
Add handler for read-back of USB audio volume levels.
|
269586 |
05-Aug-2014 |
hselasky |
- Ensure code which only applies to the control endpoint is not run for other endpoints in the data transfer path. - Ensure all bits of the "EPCON" register is written during initialisation.
MFC after: 3 days
|
269584 |
05-Aug-2014 |
n_hibma |
Add support for Huawei E3272 modems which are supported by the CDC ethernet class.
Note: This is untested as I do not have a device like this. That is reflected in the MFC timeout.
PR: 192345 Submitted by: rozhuk.im gmail.com MFC after: 4 weeks
|
269582 |
05-Aug-2014 |
n_hibma |
don't OR integer error values together as this does not make sense. Instead bail on the first failed command.
|
269578 |
05-Aug-2014 |
n_hibma |
Return USB_ERR_INVAL if the eject method is not known.
PR: 145319 Submitted by: rozhuk.im gmail.com
|
269576 |
05-Aug-2014 |
n_hibma |
Add a second Huawei SCSI eject command as USB mode switch config files sometimes use one or the other. Maybe newer Huawei modems switched.
Add a quirk for it as well.
PR: 145319 Submitted by: rozhuk.im gmail.com
|
269575 |
05-Aug-2014 |
n_hibma |
Reset the error value in the softc before starting a BBB transfer.
PR: 145319 Submitted by: rozhuk.im gmail.com MFC after: 3 days
|
269571 |
05-Aug-2014 |
n_hibma |
Add ID for Novatel MC990D to u3g.
PR: 145319 Submitted by: rozhuk.im gmail.com MFC after: 3 days
|
269569 |
05-Aug-2014 |
n_hibma |
Remove unused defines. Fix some device_printf's that were missing '\n' at the end or had speling errors.
PR: 145319 Submitted by: rozhuk.im gmail.com
|
269567 |
05-Aug-2014 |
hselasky |
Add new USB phone descriptor template for USB device side mode.
MFC after: 3 days
|
269566 |
05-Aug-2014 |
hselasky |
Fix for deadlock in USB device side mode.
MFC after: 3 days
|
269565 |
05-Aug-2014 |
hselasky |
Rename driver name a bit to avoid unit number confusion in dmesg.
MFC after: 3 days
|
269564 |
05-Aug-2014 |
hselasky |
- Implement fast interrupt handler to save CPU usage. - Add support for striding register offsets. - Cleanup some register reads and writes to use existing register access macros.
|
269563 |
05-Aug-2014 |
hselasky |
Ensure we catch USB transfers which complete right away.
|
269470 |
03-Aug-2014 |
joerg |
Avoid a divide-by-zero panic when setting the baudrate to 0.
MFC after: 2 weeks
|
269322 |
31-Jul-2014 |
kevlo |
Replace the whole license block with the standard one.
Suggested by: emaste
|
269319 |
31-Jul-2014 |
kevlo |
In copyright statement correct that the author is me, not Bill Paul.
|
269139 |
26-Jul-2014 |
hselasky |
Split the XHCI TRB allocations into smaller parts, so that we don't end up allocating contiguous busdma buffers above PAGE_SIZE bytes.
MFC after: 1 week Tested by: Ruslan Bukin <br@bsdpad.com>
|
269127 |
26-Jul-2014 |
hselasky |
Fix for division by zero.
MFC after: 3 days
|
268929 |
20-Jul-2014 |
hselasky |
Add new device ID.
MFC after: 1 week PR: 191959
|
268735 |
16-Jul-2014 |
hselasky |
Improve support for Intel Lynx Point USB 3.0 controllers by using the USB 2.0 port mask in addition to the USB 3.0 port mask. The hardware does not always accept when writing -1U to the port switching registers.
MFC after: 3 days Tested by: Huang Wen Hui <huanghwh@gmail.com>
|
268583 |
13-Jul-2014 |
hselasky |
Turn off blinking device leds at attach.
MFC after: 3 days PR: 183735
|
268582 |
13-Jul-2014 |
hselasky |
Fix performance problems with AXGE network adapter in RX direction: - Remove 4 extra bytes from the ethernet payload. - The maximum RX buffer was incorrectly set. Increase it to 64K for now, until the exact limit is understood. - Enable hardware checksumming again. - Make hardware data structure packed.
MFC after: 3 days
|
268487 |
10-Jul-2014 |
kevlo |
Enable 8051 before downloading firmware.
Tested by: Carlos Jacobo Puga Medina <cpm at fbsd dot es>
|
268354 |
07-Jul-2014 |
hselasky |
Improve support for Intel Lynx Point USB 3.0 controllers by masking the port routing bits like done in Linux.
MFC after: 1 week Tested by: Tur-Wei Chan <twchan@singnet.com.sg>
|
268209 |
03-Jul-2014 |
hselasky |
- Disable hardware checksumming until it is properly tested. - Don't discard frames if the dropped or error flag is set. - Don't remove the last 4-bytes of every packet. - Add extra range check for data position offset when receiving data.
MFC after: 1 day PR: 191432
|
268080 |
01-Jul-2014 |
hselasky |
Fix order of USB serial layer uninit. Currently module dependency rules prevent the USB serial module to be unloaded before any client modules. This patch ensures that the "ucom_mtx" mutex is destroyed last when doing a system uninit in a monotolith build aswell.
MFC after: 3 days
|
268078 |
01-Jul-2014 |
hselasky |
Fix for use after free.
MFC after: 3 days
|
267992 |
28-Jun-2014 |
hselasky |
Pull in r267961 and r267973 again. Fix for issues reported will follow.
|
267985 |
27-Jun-2014 |
gjb |
Revert r267961, r267973:
These changes prevent sysctl(8) from returning proper output, such as:
1) no output from sysctl(8) 2) erroneously returning ENOMEM with tools like truss(1) or uname(1) truss: can not get etype: Cannot allocate memory
|
267961 |
27-Jun-2014 |
hselasky |
Extend the meaning of the CTLFLAG_TUN flag to automatically check if there is an environment variable which shall initialize the SYSCTL during early boot. This works for all SYSCTL types both statically and dynamically created ones, except for the SYSCTL NODE type and SYSCTLs which belong to VNETs. A new flag, CTLFLAG_NOFETCH, has been added to be used in the case a tunable sysctl has a custom initialisation function allowing the sysctl to still be marked as a tunable. The kernel SYSCTL API is mostly the same, with a few exceptions for some special operations like iterating childrens of a static/extern SYSCTL node. This operation should probably be made into a factored out common macro, hence some device drivers use this. The reason for changing the SYSCTL API was the need for a SYSCTL parent OID pointer and not only the SYSCTL parent OID list pointer in order to quickly generate the sysctl path. The motivation behind this patch is to avoid parameter loading cludges inside the OFED driver subsystem. Instead of adding special code to the OFED driver subsystem to post-load tunables into dynamically created sysctls, we generalize this in the kernel.
Other changes: - Corrected a possibly incorrect sysctl name from "hw.cbb.intr_mask" to "hw.pcic.intr_mask". - Removed redundant TUNABLE statements throughout the kernel. - Some minor code rewrites in connection to removing not needed TUNABLE statements. - Added a missing SYSCTL_DECL(). - Wrapped two very long lines. - Avoid malloc()/free() inside sysctl string handling, in case it is called to initialize a sysctl from a tunable, hence malloc()/free() is not ready when sysctls from the sysctl dataset are registered. - Bumped FreeBSD version to indicate SYSCTL API change.
MFC after: 2 weeks Sponsored by: Mellanox Technologies
|
267955 |
27-Jun-2014 |
hselasky |
Add proper rangechecks in "axge_rx_frame()" function and fix receive loop header parsing.
MFC after: 3 days PR: 191432
|
267321 |
10-Jun-2014 |
marius |
Avoid the USB device disconnected and controller shutdown clutter on system shutdown by putting the former under !rebooting and turning the latter into debug messages.
Reviewed by: hps MFC after: 1 week Sponsored by: Bally Wulff Games & Entertainment GmbH
|
267240 |
08-Jun-2014 |
hselasky |
Resolve a deadlock setting the USB configuration index from userspace on USB HUBs by moving the code into the USB explore threads. The deadlock happens because child devices of the USB HUB don't have the expected reference count when called from outside the explore thread. Only the HUB device itself, which the IOCTL interface locks, gets the correct reference count.
MFC after: 3 days
|
267212 |
07-Jun-2014 |
hselasky |
Make WITNESS happy by giving USB mutexes different names.
Reported by: trociny @ MFC after: 3 days
|
267211 |
07-Jun-2014 |
hselasky |
Fix for USB specification compliance. We need to accept both DATA0 and DATA1 for INTERRUPT endpoints.
MFC after: 3 days
|
267210 |
07-Jun-2014 |
hselasky |
Some further DWC OTG improvements for full speed and low speed devices: - Revert r265427. It appears we are halting the DWC OTG host controller schedule if we process events only at every SOF. When doing split transactions we rely on that events are processed quickly and waiting too long might cause data loss. - We are not always able to meet the timing requirements of interrupt endpoint split transactions. Switch from INTERRUPT to CONTROL endpoint type for interrupt endpoint events until further, hence CONTROL endpoint events are more relaxed, reducing the chance of data loss. See comment in code for more in-depth explanation. - Simplify TT scheduling.
MFC after: 3 days
|
267122 |
05-Jun-2014 |
hselasky |
- Verify that we don't load more data into a FIFO than it is configured to handle. - Add code to handle suspend and resume.
MFC after: 3 days
|
267121 |
05-Jun-2014 |
hselasky |
Need to check the transfer cache field in the device done function to be sure all allocated channels are freed and not the transfer first one.
|
267120 |
05-Jun-2014 |
hselasky |
Try to fix DWC OTG regression issues with full and low speed devices: - Remove double buffering interrupt and isochronous traffic via the transaction translator. It can be avoided because the DWC OTG will always delay the start split transactions for interrupt and isochronous traffic, but will not delay the complete split transactions, if we set the odd frame bit correctly. - Need to check the transfer cache field in the device done function to be sure all allocated channels are freed and not the transfer first one. This seems to resolve the control endpoint transfer type quirk which is now removed. - Make sure any received data upon TX is dumped else RX path will stop. - Transmit isochronous data before receiving isochronous data as a means to optimise the TT schedule. - Implement a simple TT bandwidth scheduler. - Cleanup use of old "td->error" variable. - On interrupt IN traffic via the transaction translator we simply ignore missed transfer opportunities and silently retry the transaction upon next available time slot.
MFC after: 3 days
|
267089 |
05-Jun-2014 |
kevlo |
Remove D-Link DWA140 rev D1 by accident.
Pointed out by Anders Larsson in private email.
|
267066 |
04-Jun-2014 |
hselasky |
More RSU fixes: - Properly align temporary buffer to 32-bit. - Add an extra parenthesis to make expression clear. - Range check the association ID received from hardware.
MFC after: 1 week
|
267044 |
04-Jun-2014 |
hselasky |
The external USB HUB in the RPI-B rejects control endpoint traffic using the BULK endpoint type, while other USB HUBs do not. Disable endpoint type workaround for TT traffic.
MFC after: 3 days
|
267041 |
04-Jun-2014 |
hselasky |
Fixes for the RSU driver: - The R92S_TCR register is an 8-bit register. Don't access it like a 16-bit register. - Disable parsing the delete station event, due to many false events. - Ensure that there is only one transfer queue for each endpoint, so that packets transmitted don't get out of order.
MFC after: 1 week
|
266969 |
02-Jun-2014 |
hselasky |
Change type of the DMA address so that on PAE platforms we get can 64-bit DMA addresses even though the USB stack currently only uses 32-bit DMA.
Suggested by: Kohji Okuno <okuno.kohji@jp.panasonic.com>
|
266946 |
01-Jun-2014 |
hselasky |
Add basic support for isochronous transfers in host mode to the ISP/SAF1761 driver.
Sponsored by: DARPA, AFRL
|
266892 |
30-May-2014 |
hselasky |
It appears the ISP/SAF1761 sometimes is busy when reading the status word of the PTD and simply returns a value of zero. Retry a few times before giving up.
Sponsored by: DARPA, AFRL
|
266884 |
30-May-2014 |
hselasky |
Make driver detach code in USB mass storage test optional.
Sponsored by: DARPA, AFRL
|
266883 |
30-May-2014 |
hselasky |
Add ISP/SAF1761 bootloader bus interface file.
Sponsored by: DARPA, AFRL
|
266873 |
30-May-2014 |
hselasky |
Add support for basic read, write and read capacity disk operations to the USB mass storage test utility file.
Sponsored by: DARPA, AFRL
|
266833 |
29-May-2014 |
hselasky |
Add some more spinlocks to protect the state of the USB transfer queue. Rename some functions to indicate locking requirements.
MFC after: 1 week
|
266832 |
29-May-2014 |
hselasky |
Hook the ISP/SAF1761 driver into MIPS kernel builds. - Update FDT file for BERI DE4 boards. - Add needed kernel configuration keywords. - Rename module to saf1761otg so that the device unit number does not interfere with the hardware ID in dmesg.
Sponsored by: DARPA, AFRL
|
266831 |
29-May-2014 |
hselasky |
Optimise the ISP/SAF1761 driver: - Use an interrupt filter for handling the data path interrupts. This increases the throughput significantly. - Implement support for USB suspend and resume in USB host mode.
Sponsored by: DARPA, AFRL
|
266812 |
28-May-2014 |
hselasky |
Fixes for ISP/SAF1761 host mode: - Make the USB hardware skip PTDs which are not allocated. - Peek host memory twice. Sometimes the PTD status is incorrectly returned as zero. - Ensure the host channel is always freed when software TD is completing. - Add correct configuration of interrupt polarity and type. - Set CERR to 2 for asynchronous traffic to avoid having to reactivate the PTD when a NAK token is received. - Fix detection of STALL PID.
Sponsored by: DARPA, AFRL
|
266742 |
27-May-2014 |
hselasky |
- Correct bus space resource type for register access. - Add configuration of interrupt type and polarity via FDT.
Sponsored by: DARPA, AFRL
|
266741 |
27-May-2014 |
hselasky |
Multiple fixes and improvements: - Put "_LE_" into the register access macros to indicate little endian byte order is expected by the hardware. - Avoid using the bounce buffer when not strictly needed. Try to move data directly using bus-space functions first. - Ensure we preserve the reserved bits in the power down mode register. Else the hardware goes into a non-recoverable state. - Always use 32-bit access when writing or reading registers or FIFOs, because the hardware is 32-bit oriented and don't really understand 8- and 16-bit access. - Correct writes to the memory address register. There is no need to shift the register offset. - Correct interval for interrupt endpoints. - Optimise 90ns internal memory buffer read delay. - Rename PDT into PTD, which is how the datasheet writes it. - Add missing programming for activating host controller PTDs.
Sponsored by: DARPA, AFRL
|
266738 |
27-May-2014 |
kevlo |
- Improve performance by fixing incorrect Rx/Tx handling - Rename definition of AXGE_* to reflect reality - Add new USB IDs
|
266721 |
27-May-2014 |
kevlo |
Remove r264317 by accident.
Spotted by: Kuan-Chung Chiu
|
266644 |
25-May-2014 |
hselasky |
Make SAF1761 driver endian safe.
Sponsored by: DARPA, AFRL
|
266542 |
22-May-2014 |
hselasky |
- Give firmware loading more time.
MFC after: 3 days
|
266541 |
22-May-2014 |
hselasky |
- Fix a bug where the TLBPC value was forced to being odd for IN direction isochronous transfers. - Remove setting of fields which does not belong to the respective TRBs. These fields are currently set as zero and this is more a cosmetic change.
MFC after: 3 days Submitted by: Horse Ma <HMa@wyse.com>
|
266535 |
22-May-2014 |
hselasky |
- Stop transfers when RSU init fails. - Make sure TX/RX lists don't leak and are only allocated once. - Fix off-by one transfer index computation. - Give firmware loading more time.
MFC after: 3 days
|
266508 |
21-May-2014 |
hselasky |
Implement interrupt endpoint methods for host mode transfers.
Sponsored by: DARPA, AFRL
|
266505 |
21-May-2014 |
hselasky |
- Split transmit queue into one for each type. Apparently there will be a race when using a single active queue for all transmit types. - Last argument of usb_pause_mtx() is ticks and not milliseconds. - Remove unused watchdog. - Remove some unused fields from the RSU softc structure. - Workaround usbd_transfer_start() recursion from inside of completion callback.
MFC after: 3 days
|
266493 |
21-May-2014 |
hselasky |
- Replace some constants with macros. - Need to set the pre-fetch memory address when reading the host memory. - We currently assume that no endianness conversion is needed.
Sponsored by: DARPA, AFRL
|
266490 |
21-May-2014 |
kevlo |
- Configure Rx bulk - Announce flow control capability to PHY drivers
|
266484 |
21-May-2014 |
hselasky |
Avoid starting a USB transfer inside the callback function, right after its been submitted.
MFC after: 3 days
|
266472 |
20-May-2014 |
hselasky |
- The DELAY() should not be used in USB drivers. - The usb_pause_mtx() function takes ticks and not milliseconds as last argument.
MFC after: 3 days
|
266471 |
20-May-2014 |
hselasky |
- The DELAY() should not be used in USB drivers. - The usb_pause_mtx() function takes ticks and not milliseconds as last argument.
MFC after: 3 days
|
266467 |
20-May-2014 |
hselasky |
Correct some programming details. The layout of the PDTs were different from what was initially thought. Fix re-programming of hardware mode register after reset.
Sponsored by: DARPA, AFRL
|
266466 |
20-May-2014 |
hselasky |
Make sure detach code is executed in all cases. This fixes a panic when debugging is enabled.
Reported by: Idwer Vollering <vidwer@gmail.com> MFC after: 3 days
|
266395 |
18-May-2014 |
hselasky |
- Remove no longer used file. FDT is used to attach device drivers.
|
266394 |
18-May-2014 |
hselasky |
- Add softc pointer argument to FIFO functions as an optimisation. - Implement support for interrupt filters in the DWC OTG driver, to reduce the amount of CPU task switching when only feeding the FIFOs. - Add common spinlock to the USB bus structure.
MFC after: 2 weeks
|
266270 |
16-May-2014 |
brueffer |
Remove some unused variables.
Found with: Clang Static Analyzer MFC after: 2 weeks
|
266262 |
16-May-2014 |
hselasky |
Enable host controller interrupts.
Sponsored by: DARPA, AFRL
|
266249 |
16-May-2014 |
hselasky |
Remove old files.
Sponsored by: DARPA, AFRL
|
266246 |
16-May-2014 |
hselasky |
Fix a compile warning about unused variable.
Sponsored by: DARPA, AFRL
|
266244 |
16-May-2014 |
hselasky |
Rename "saf1761_dci_xxx" into "saf1761_otg_xxx" to reflect that this driver supports both host and device side mode.
Sponsored by: DARPA, AFRL
|
266241 |
16-May-2014 |
hselasky |
Implement basic support for the USB host controller found in the SAF1761 chip, supporting BULK and CONTROL endpoints. This code is not yet tested.
Sponsored by: DARPA, AFRL
|
266216 |
16-May-2014 |
hselasky |
- Allow the SAF1761 driver to attach to the root HUB USB driver.
Sponsored by: DARPA, AFRL
|
266215 |
16-May-2014 |
hselasky |
- Add flattended device tree probe-, attach- and detach code for the SAF1761 driver, compatible to existing Linux based FDT tables for the same hardware.
Sponsored by: DARPA, AFRL
|
266214 |
16-May-2014 |
hselasky |
- Correct some programming details for the SAF1761 driver. - Add some more register details.
Sponsored by: DARPA, AFRL
|
266051 |
14-May-2014 |
hselasky |
Implement USB device side driver code for SAF1761 and compatible chips, based on datasheet and existing USS820 DCI driver. This code is not yet tested.
Sponsored by: DARPA, AFRL
|
266012 |
14-May-2014 |
hselasky |
Disable configuration of the host frame interval register until further, hence it breaks USB support on some non-RPI platforms.
|
265949 |
13-May-2014 |
hselasky |
- Isochronous transfers should use the alternate next transfer descriptor upon receiving a short packet, in host and device mode. - Correct some comments.
|
265908 |
12-May-2014 |
hselasky |
Create driver file templates, kernel module Makefile and add initial version of register definitions for ISP1761 and SAF1761 compatible chips.
Sponsored by: DARPA, AFRL
|
265872 |
11-May-2014 |
hselasky |
Optimise host mode data roundtrip time. When BULK data is submitted to the main processing queue, clear the NAK counter for any associated BULK or CONTROL transfers and poll the endpoint(s) for 1 millisecond at 125us rate interval, before going into slow, 10ms, NAK polling mode again. This has the effect that typical ping-ping protocols respond quicker when initiated from the USB host.
MFC after: 2 weeks
|
265806 |
10-May-2014 |
hselasky |
Optimise host channel disabling: - For non-periodic traffic we only need to wait two SOFs before disabling the channel. - Make sure we release the TX FIFO tracking level after the host channel is disabled. - Make sure the host channel state gets reset/disabled initially. - Two minor code style changes.
MFC after: 2 weeks
|
265783 |
09-May-2014 |
hselasky |
Fix a regression issue: - ACK can be received before data arrives in RX FIFO. Handle this. - Remove obsolete comment. - Some minor code styling.
MFC after: 2 weeks
|
265779 |
09-May-2014 |
hselasky |
Fix for NULL pointer.
MFC after: 1 week
|
265777 |
09-May-2014 |
hselasky |
Multiple DWC OTG host mode related fixes and improvements:
- Rework how we allocate and free USB host channels, so that we only allocate a channel if there is a real packet going out on the USB cable.
- Use BULK type for control data and status, due to instabilities in the HW it appears.
- Split FIFO TX levels into one for the periodic FIFO and one for the non-periodic FIFO.
- Use correct HFNUM mask when scheduling host transactions. The HFNUM register does not count the full 16-bit range.
- Correct START/COMPLETION slot for TT transactions. For INTERRUPT and ISOCHRONOUS type transactions the hardware always respects the ODDFRM bit, which means we need to allocate multiple host channels when processing such endpoints, to not miss any so-called complete split opportunities.
- When doing ISOCHRONOUS OUT transfers through a TT send all data payload in a single ALL-burst. This deacreases the likelyhood for isochronous data underruns.
- Fixed unbalanced unlock in case of "dwc_otg_init_fifo()" failure.
- Increase interrupt priority.
MFC after: 2 weeks
|
265427 |
06-May-2014 |
hselasky |
Reduce the number of interrupts in USB host mode for the DWC OTG controller driver by piggybacking the SOF interrupt when issuing new and checking old transfers. Number of interrupts was reduced by 30% when doing Isochronous transfers.
Use correct GINTMSK_XXX macros when accessing the DWC OTG interrupt mask register.
Add code to adjust the frame interval register which influences the SOF rate.
MFC after: 2 weeks
|
265371 |
05-May-2014 |
tuexen |
Fill in csum_data only for UDP or TCP packets. This fixes a bug where SCTP were reported to have always a correct checksum if they don't contain any ethernet padding.
MFC after: 3 days
|
265358 |
05-May-2014 |
hselasky |
Improve DWC OTG USB host side support for isochronous FULL and HIGH speed data traffic going directly to a USB device or through a so-called USB transaction translator.
Add checks that we are not overusing the TX FIFO.
MFC after: 2 weeks
|
265015 |
27-Apr-2014 |
hselasky |
Setting the IMOD value below 0x3F8 can cause IRQ lockups in the Intel LynxPoint USB 3.0 controllers found in MacBookPro 2013's.
MFC after: 2 days Tested by: Huang Wen Hui <huanghwh@gmail.com>
|
264982 |
26-Apr-2014 |
andreast |
Fix gcc build, initialize off variable.
|
264977 |
26-Apr-2014 |
ian |
Stop calling imx51_ccm_foo() clock functions from imx6 code. Instead define a few imx_ccm_foo() functions that are implemented by the imx51 or imx6 ccm code. Of course, the imx6 ccm code is still more a wish than reality, so for now its implementations just return hard-coded numbers.
|
264972 |
26-Apr-2014 |
kevlo |
Initialize rssi variable.
|
264934 |
25-Apr-2014 |
ian |
The FTDI product ID we've been calling BEAGLEBONE is actually TI XDS100V2, a jtag debugging product, which was used on early Beaglebone boards (later boards used a standard FTDI 2232C product ID). Change the name accordingly, and also add an entry for XDS100V3, the latest version of that product which has its own new product ID number.
|
264923 |
25-Apr-2014 |
ian |
Remove device type from the uftdi_devs table, enhance the jtag-skip feature.
Device type and revision is now determined from the bcdDevice field and doesn't need to be in the table at all. The feature that skips creation of /dev/ttyU* entries for jtag and gpio interfaces is enhanced:
- The feature is now optional, but enabled by default. A tunable and sysctl are available to control it: hw.usb.uftdi.skip_jtag_interfaces. - We no longer assume interface #0 is the only jtag interface. Up to eight interfaces per chip can be flagged as jtag. (Current ftdi chips support a max of 4 interfaces; this leaves room for growth.) - Some manufacturers don't change the product ID or use the same ID for different devices intended for both serial-comms and jtag/gpio use. Often while the product ID is the same, the product name string is different, so it's now possible to search for the product name in a table of strings and get the set of non-tty interfaces from that table.
|
264912 |
25-Apr-2014 |
kevlo |
Add preliminary support for the Realtek RTL8188EUS and RTL8188ETV chipsets.
Committed over the TP-LINK TL-WN725N v2 (RTL8188EUS) on amd64 with WPA.
|
264864 |
24-Apr-2014 |
kevlo |
Fix panic by adding mtx_assert() to urtwn_init_locked() and urtwn_stop_locked().
Tested by: Anthony Jenkins <scoobi_doo at yahoo dot com>
|
264802 |
23-Apr-2014 |
kevlo |
Oops, revert r264801.
|
264801 |
23-Apr-2014 |
kevlo |
Add a missing break.
|
264800 |
23-Apr-2014 |
hselasky |
- Get transmit loop more in line with the other serial drivers. - Add a comment about FTDI and ZLPs. - Correctly check odditiy of baud rate divisor. - Correct IOCTL handling for "error" and "event" char.
MFC after: 1 weeks
|
264653 |
18-Apr-2014 |
hselasky |
Add new USB quirk.
Submitted by: kwm @ MFC after: 1 week
|
264642 |
18-Apr-2014 |
hselasky |
Add support for specifying USB controller mode via FDT. Add FDT support to the DWC OTG kernel module.
Submitted by: John Wehle <john@feith.com> PR: usb/188683 MFC after: 1 week
|
264340 |
11-Apr-2014 |
hselasky |
Correct IMOD default value according to comment.
Reported by: Daniel O'Connor <doconnor@gsoft.com.au> MFC after: 1 week
|
264317 |
10-Apr-2014 |
kevlo |
Add the Asus USB-N10 NANO.
Tested by: Kuan-Chung Chiu <buganini@gmail.com>
|
264294 |
09-Apr-2014 |
hselasky |
Fix for infinite XHCI reset loops when the set address USB request fails.
MFC after: 2 days
|
264149 |
05-Apr-2014 |
ian |
Add ioctl(2) calls to uftdi(4) to access bitbang, MPSSE, CPU_FIFO, and other modes supported by the FTDI serial adapter chips.
In addition to adding the new ioctls, this change removes all the code that reset the chip at attach and open/close time, and also the code that turned on RTS/CTS flow control on open without any permission to do so (that was just always a bug in the driver).
When FTDI chips are configured as GPIO or MPSSE or other special-purpose uses by an attached serial eeprom, the chip will power on with certain pins driven or floating, and it's important that the driver not do anything to the chip to perturb that unless it receives a specific command to do so. When used for "plain old serial comms" the chip powers on into the right mode and never needs to be reset while it's running to operate properly, so this change is transparent to most users.
|
264084 |
03-Apr-2014 |
joerg |
Add the Dresden Elektronik "USB Levelshifter Stick Low Cost" to the list of known FTDI devices.
https://shop.dresden-elektronik.de/accessories/levelshifter/usb-pegelwandler-stick-basic.html
MFC after: 1 week
|
264062 |
03-Apr-2014 |
yongari |
Correct endianness handling in getting station address from EEPROM. While I'm here, remove aue_eeprom_getword() as its only usage is to read station address and make it more readable. This change is inspired by NetBSD. With this change, aue(4) should work on big endian architectures.
PR: 188177
|
264031 |
02-Apr-2014 |
ian |
Use 2K buffers for IO to help achieve full device speed, rather than the default wMaxPacketSize (64 or 512 bytes). This actually helps older FTDI devices (which were USB 1/full speed) more than the new H-series high speed, but even for the new chips it helps cut the number of interrupts when doing very high speed (3-12mbaud).
|
264010 |
01-Apr-2014 |
ian |
Support serial speeds up to 12mbaud with newer FTDI chips.
Recent FDTI chips have the ability to operate at up to 12mbps. The newer chips with faster clocks have the same usb vendor/product IDs as the older chips; the bcdDevice field must be used to detect the newer versions. This change includes a new function to do that instead of using just the IDs from the vendor/product table.
The code to choose the baud clock divisor is completely rewritten. In addition to supporting the new higher clock rates, the rewrite fixes a longstanding bug in the old code which put the high bits of the fractional part of the divisor into the wrong place in the wIndex field. That bug was mostly harmless -- it accidentally didn't affect standard baud rates and would only show up when using relatively fast non-standard rates.
|
263985 |
01-Apr-2014 |
hselasky |
Add new USB ID.
Submitted by: Tuomo Latto <djv+fbpr@iki.fi> PR: usb/188046 MFC after: 1 week
|
263423 |
20-Mar-2014 |
hselasky |
Try to resolve a possible deadlock when detaching USB devices which create character devices. The deadlock can happen if an application is issuing IOCTLs which require USB refcounting, at the same time the USB device is detaching.
There is already a counter in place in the USB device structure to detect this situation, but it was not always checked ahead of invoking functions that might destroy character devices, like detach, set configuration, set alternate interface or detach active kernel driver.
Reported by: Daniel O'Connor <doconnor@gsoft.com.au> MFC after: 1 week
|
263289 |
18-Mar-2014 |
emaste |
Update NetBSD Foundation copyrights to 2-clause BSD
The NetBSD Foundation states "Third parties are encouraged to change the license on any files which have a 4-clause license contributed to the NetBSD Foundation to a 2-clause license."
This change removes clauses 3 and 4 from copyright / license blocks that list The NetBSD Foundation as the only copyright holder.
Sponsored by: The FreeBSD Foundation
|
263262 |
17-Mar-2014 |
hselasky |
Fix spelling.
Reported by: Kevin P. Neal <kpneal@pobox.com>
|
263159 |
14-Mar-2014 |
hselasky |
Workaround for USB MIDI adapters which use non-supported values of wMaxPacketSize for BULK endpoints.
MFC after: 1 week
|
263154 |
14-Mar-2014 |
kevlo |
Reset the bit of the R92C_MCUFWDL associated with checksum report before loading firmware page. It may fix this problem: "urtwn0: timeout waiting for checksum report"
|
263153 |
14-Mar-2014 |
kevlo |
Similar to r246614, fix panic on removing urtwn(4). It happens because nodes are freed after the adapter is gone.
|
262972 |
10-Mar-2014 |
hselasky |
Ignore USB keyboard driver calls from critical sections.
Reported by: Oliver Pinter <oliver.pntr@gmail.com> MFC after: 1 week
|
262822 |
06-Mar-2014 |
kevlo |
Fix a logic error when enabling MAC.
|
262795 |
05-Mar-2014 |
hselasky |
- Temporary fix for race in RUN driver which can cause freed memory to be accessed. - Properly lock callout_reset()'s.
MFC after: 1 week
|
262732 |
04-Mar-2014 |
hselasky |
Add new quirk.
MFC after: 1 week PR: usb/187188 Submitted by: Hiroo Ono <hiroo.ono+freebsd@gmail.com>
|
262663 |
01-Mar-2014 |
hselasky |
- Make pointer easier to control when moving slowly. - Increase chance of vertical scrolling as vertical scrolling is used more often.
Submitted by: Huang Wen Hui <huanghwh@gmail.com> MFC after: 2 weeks
|
262601 |
28-Feb-2014 |
imp |
Add device and gadget bindings for fdt. These are preliminary and will need work before they work, especially the gadget bindings.
|
262554 |
27-Feb-2014 |
hselasky |
Clear the knote list before destroying it. Add seldrain() to wakeup any pollers.
Submitted by: Kohji Okuno <okuno.kohji@jp.panasonic.com> MFC after: 2 weeks
|
262551 |
27-Feb-2014 |
hselasky |
Add missing call to "knlist_destroy()".
Found by: John-Mark Gurney <jmg@funkthat.com> MFC after: 2 weeks
|
262550 |
27-Feb-2014 |
hselasky |
Add support for kqfilter to USB character devices.
Submitted by: Kohji Okuno <okuno.kohji@jp.panasonic.com> MFC after: 2 weeks
|
262478 |
25-Feb-2014 |
hselasky |
Don't generate devd rules for WSP device ID's found in the ATP driver yet.
MFC after: 2 weeks
|
262477 |
25-Feb-2014 |
hselasky |
Updates for WSP driver:
1) Add support for page back/forward. 2) While doing HOR scrolling, disable VER scrolling. 3) Checking dx_sum and dy_sum before emulate right button, this can avoids unexpected right button press. 4) Fix stable pointer operation when emulating middle button.
Submitted by: Huang Wen Hui <huanghwh@gmail.com> MFC after: 2 weeks
|
262465 |
25-Feb-2014 |
kevlo |
Add a flag to run's device list which uses a standard scsi eject. The flag indicates that the mcu doesn't need to load firmware.
Tested by: Alex Deiter <alex dot deiter at gmail.com>, myself Tested on: ASUS USB-N66
|
262454 |
24-Feb-2014 |
hselasky |
Fix compiler warning.
Reported by: David Wolfskill <david@catwhisker.org> MFC after: 2 weeks
|
262439 |
24-Feb-2014 |
hselasky |
Update ATP driver: - Add support for emulating a mouse wheel, Z-axis.
Submitted by: Rohit Grover <rgrover1@gmail.com> MFC after: 2 weeks
|
262417 |
23-Feb-2014 |
hselasky |
Update ATP driver: - Support for double-tap and drag. - Support for 2-finger horizontal scrolling which translates to page-back/forward events. - Single finger tap is equivalent to a left-button press. - Two-finger taps are mapped to the right-button click. - Three fingers are mapped to middle button. - Add sysctl to disable single finger tapping. - Fix for multiple open of /dev/atp0 - Enhanced support for the Fountain/Geyser family by adding Geyser4. - Update manual page.
Submitted by: Rohit Grover <rgrover1@gmail.com> MFC after: 2 weeks
|
262142 |
18-Feb-2014 |
rodrigc |
In ue_attach_post_task(), initialize curvnet to vnet0 before calling if_attach(). Before this patch, curvnet was NULL. When the VIMAGE kernel option is enabled, this eliminates kernel panics when USB ethernet devices are plugged in.
PR: 183835 Submitted by: Hiroo Oono <hiroo.ono at gmail dot com>
|
262129 |
17-Feb-2014 |
hselasky |
Our quirk table is almost full. Add some room for more quirks.
MFC after: 1 week
|
262128 |
17-Feb-2014 |
hselasky |
Adjust USB quirk.
MFC after: 1 week Submitted by: Volodymyr Kostyrko <arcade@b1t.name>
|
262125 |
17-Feb-2014 |
dim |
In sys/dev/usb/controller/uss820dci.c, similar to r261977, fix a warning about uss820dci_odevd being unused, by adding it to the part that handles getting descriptors.
Reported by: loos Reviewed by: hselasky MFC after: 3 days
|
261981 |
16-Feb-2014 |
hselasky |
Add new PCI ID for hardware which needs port routing for USB 3.0.
PR: usb/186811 MFC after: 1 week Submitted by: Philipp Maechler <philipp.maechler@mamo.li>
|
261977 |
16-Feb-2014 |
dim |
In sys/dev/usb/controller/musb_otg.c, fix a warning about musbotg_odevd being unused, by adding it to the part that handles getting descriptors.
Reviewed by: hselasky MFC after: 3 days
|
261872 |
14-Feb-2014 |
hselasky |
Fix minor logical error in the XHCI driver. Set correct SETUP packet direction value.
MFC after: 2 days Reported by: Horse Ma <HMa@wyse.com>
|
261863 |
14-Feb-2014 |
rpaulo |
Add urtwn_start_locked() to avoid unlocking during TX.
|
261827 |
13-Feb-2014 |
hselasky |
- 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.
MFC after: 1 week
|
261795 |
12-Feb-2014 |
hselasky |
Issue doorbell twice before finally freeing the DMA descriptors. This should fix DMA descriptor caching issues seen with the EHCI controller found in Google Chromebook C720 during removal and insertion of USB devices.
MFC after: 1 week Reported by: Matthew Dillon at DragonFlyBSD
|
261616 |
08-Feb-2014 |
imp |
Remove FreeBSD 6 support
|
261544 |
06-Feb-2014 |
hselasky |
Resolve probe conflict for now.
MFC after: 2 weeks
|
261543 |
06-Feb-2014 |
hselasky |
Fix kernelbuild when full debugging features are enabled.
Pointyhat: hselasky @ MFC after: 2 weeks
|
261541 |
06-Feb-2014 |
hselasky |
Import USB RNDIS driver to FreeBSD from OpenBSD. Useful for so-called USB tethering. - Imported code from OpenBSD - Adapted code to FreeBSD - Removed some unused functions - Fixed some buffer encoding and decoding issues - Optimised data transport path a bit, by sending multiple packets at a time - Increased receive buffer to 16K
Obtained from: OpenBSD Requested by: eadler @ MFC after: 2 weeks
|
261506 |
05-Feb-2014 |
kevlo |
Correct setting R92C_TXAGC_MCS11_MCS08 register.
|
261505 |
05-Feb-2014 |
hselasky |
Fix a regression issue. Contiguous single segment allocations above PAGE_SIZE bytes should only use one USB page structure. Fixes a problem with some external drivers.
MFC after: 2 days
|
261410 |
02-Feb-2014 |
ian |
Follow r261352 by updating all drivers which are children of simplebus to check the status property in their probe routines.
Simplebus used to only instantiate its children whose status="okay" but that was improper behavior, fixed in r261352. Now that it doesn't check anymore and probes all its children; the children all have to do the check because really only the children know how to properly interpret their status property strings.
Right now all existing drivers only understand "okay" versus something- that's-not-okay, so they all use the new ofw_bus_status_okay() helper.
|
261343 |
01-Feb-2014 |
hselasky |
Add a comment about the origin of some structures, defines and so on.
MFC after: 1 week
|
261330 |
31-Jan-2014 |
hselasky |
Fix a range check for maximum transmit length. The existing code was off by 4 bytes in one case.
Approved by: kevlo @ MFC after: 2 weeks
|
261315 |
31-Jan-2014 |
hselasky |
Fix for unexpected selection with two fingers sometimes. Fix for unexpected scrolling when click with two fingers.
Submitted by: Huang Wen Hui <huanghwh@gmail.com> MFC after: 1 week
|
261270 |
29-Jan-2014 |
n_hibma |
Fix the ordering of the arguments to printf in uhub_child_location_string(). This produced bogus information in
dev.<USB driver>.<id>.%location
output from sysctl.
MFC after: 2 weeks
|
261262 |
29-Jan-2014 |
hselasky |
- Remove some dead code. - Use system provided functions for HID report requests. - Nice the mode setting, because the USB hardware does appear to handle the commands right away.
MFC after: 1 week
|
261260 |
29-Jan-2014 |
hselasky |
Add support for trackpads found in Apple MacBook products. While at it add some missing devd entries.
Submitted by: Huang Wen Hui <huanghwh@gmail.com> MFC after: 1 week
|
261228 |
28-Jan-2014 |
hselasky |
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.
MFC after: 1 week
|
261226 |
28-Jan-2014 |
hselasky |
Revert r260622: To be implemented a bit differently.
|
261134 |
24-Jan-2014 |
hselasky |
Add more USB quirks.
Submitted by: Gerrit Kuehn <gerrit.kuehn@aei.mpg.de> MFC after: 1 week
|
261124 |
24-Jan-2014 |
kevlo |
Fix comment.
|
261123 |
24-Jan-2014 |
hselasky |
Hide now harmless warning from dmesg.
MFC after: 1 week
|
261118 |
24-Jan-2014 |
kevlo |
Get rid of memmove(). It's not portable.
Tested on RT3071, RT3573, RT3570, RT3572, and RT5572.
Reviewed by: hselasky
|
261076 |
23-Jan-2014 |
hselasky |
Revert r261014. Let Kevin fix it.
MFC after: 1 week
|
261033 |
22-Jan-2014 |
hselasky |
We are using the old callout API and should also add one extra tick in the FreeBSD 10 case.
Suggested by: mav @ MFC after: 1 week
|
261014 |
22-Jan-2014 |
hselasky |
- Fix some non-portable code with regard to endianness. Don't use memmove(). - Fix a range check for maximum transmit length. - Fix read from missing field when transmitting data.
MFC after: 2 weeks
|
261005 |
22-Jan-2014 |
hselasky |
Ensure that the DMA delay does not get rounded down to zero ticks when a timeout value of a single tick is given. With FreeBSD-10 and newer the current system time is used as a starting point, and the minimum callout time of a single tick will be guaranteed. This patch mostly affect the DMA delay timeouts, which are typically in the range from 0.125 to 2ms.
MFC after: 1 week
|
261004 |
22-Jan-2014 |
hselasky |
Wait a bit more before we free any EHCI DMA descriptors. Some USB controllers need more time than others.
MFC after: 1 week
|
261003 |
22-Jan-2014 |
hselasky |
Add new quirk.
PR: usb/185968 MFC after: 1 week
|
260903 |
20-Jan-2014 |
hselasky |
Add support for GPS ports to UHSO driver.
Submitted by: Lundberg, Johannes <johannes@brilliantservice.co.jp> MFC after: 1 week
|
260814 |
17-Jan-2014 |
hselasky |
Fix a possible memory use after free and leak situation associated with USB device detach when using character device handles. This also includes LibUSB. It turns out that "usb_close()" cannot always get a reference to clean up its USB transfers and such, if called during the kernel USB device detach.
Analysis by: hselasky @ Reported by: Juergen Lock <nox@jelal.kn-bremen.de> MFC after: 1 week
|
260808 |
17-Jan-2014 |
hselasky |
Close a minor deadlock.
MFC after: 1 week
|
260622 |
14-Jan-2014 |
hselasky |
Don't output any modifier keys before we see a valid non-modifier key press. This prevents so-called "ghost keyboards" keeping modifier keys pressed while not actually seen as a real keyboard.
MFC after: 2 weeks
|
260589 |
13-Jan-2014 |
hselasky |
Implement better error recovery for Transaction Translators, TTs, found in High Speed USB HUBs which translate from High Speed USB into FULL or LOW speed USB. In some rare cases SPLIT transactions might get lost, which might leave the TT in an unknown state. Whenever we detect such an error try to issue either a clear TT buffer request, or if that is not possible reset the whole TT.
MFC after: 1 week
|
260588 |
13-Jan-2014 |
hselasky |
Separate I/O errors from reception of STALL PID.
MFC after: 1 week
|
260563 |
12-Jan-2014 |
hselasky |
Make sure reserved fields of the EHCI DMA descriptors are not dirty after previous transfers.
MFC after: 1 week
|
260559 |
12-Jan-2014 |
hselasky |
Don't do synchronous USB requests inside USB transfer callbacks. It is technically OK, but not recommended.
MFC after: 1 weeks
|
260542 |
11-Jan-2014 |
kevlo |
Fix a logic error when checking if Tx power entries are greater than 31.
|
260536 |
11-Jan-2014 |
hselasky |
Optimise interrupt logic. Technically writing a zero to the XHCI USB status register has no effect. Can happen when the interrupt vector is shared.
MFC after: 1 week
|
260535 |
11-Jan-2014 |
hselasky |
Force clearing of event ring interrupts. The "Intel Lynx Point" XHCI controller found in the MBP2013 has been observed to not work properly unless this operation is performed.
MFC after: 1 week Tested by: Huang Wen Hui <huanghwh@gmail.com>
|
260534 |
11-Jan-2014 |
hselasky |
Move USB ID from u3g driver to uhso driver.
Submitted by: Lundberg, Johannes <johannes@brilliantservice.co.jp> MFC after: 1 week
|
260513 |
10-Jan-2014 |
kevlo |
Use m_get2() instead of m_getcl().
Spotted by: glebius
|
260501 |
10-Jan-2014 |
kevlo |
Use m_getcl() instead of MGETHDR/MCLGET macros.
Suggested by: glebius
|
260463 |
09-Jan-2014 |
kevlo |
Replace deprecated M_DONTWAIT with M_NOWAIT.
|
260444 |
08-Jan-2014 |
kevlo |
Rename definition of IEEE80211_FC1_WEP to IEEE80211_FC1_PROTECTED.
The origin of WEP comes from IEEE Std 802.11-1997 where it defines whether the frame body of MAC frame has been encrypted using WEP algorithm or not. IEEE Std. 802.11-2007 changes WEP to Protected Frame, indicates whether the frame is protected by a cryptographic encapsulation algorithm.
Reviewed by: adrian, rpaulo
|
260388 |
07-Jan-2014 |
hselasky |
Check the XHCI event ring regardless of the XHCI status register value. The "Intel Lynx Point" XHCI controller found in the MBP2013 has been observed to not always set the event interrupt bit while there are events to consume in the event ring.
MFC after: 1 week Tested by: Huang Wen Hui <huanghwh@gmail.com>
|
260219 |
03-Jan-2014 |
kevlo |
Add support for the MediaTek/Ralink RT3593 chipset. Committed over the ZyXEL NWD2705 on amd64 with WPA.
|
260184 |
02-Jan-2014 |
hselasky |
Minor correction for the XHCI reset logic.
MFC after: 1 week Found by: Horse Ma <HMa@wyse.com>
|
260055 |
29-Dec-2013 |
dim |
In sys/dev/usb/wlan/if_urtw.c, #if 0 a static const variable, which has been unused since r198194.
MFC after: 3 days
|
259939 |
27-Dec-2013 |
kevlo |
Add D-Link DWA-140 rev D1, another RT5372/run(4). From Anton Mazunin.
|
259812 |
24-Dec-2013 |
kevlo |
Some devices have a dual mode such as Tenda W326U and ZyXEL NWD2705, add the product id and use a standard scsi eject.
Tested on the ZyXEL NWD2705 wlan dongle.
|
259675 |
21-Dec-2013 |
truckman |
Add quirks to make my old SanDisk Cruzer Mini 128MB happy.
MFC after: 1 week
|
259547 |
18-Dec-2013 |
kevlo |
Use 'val' instead of 'val & 0xff' since the last argument of run_bbp_write() is uint8_t.
Spotted by: yongari
|
259546 |
18-Dec-2013 |
kevlo |
Fix style: add tab after #define.
|
259545 |
18-Dec-2013 |
kevlo |
Fix typo in comment.
|
259544 |
18-Dec-2013 |
kevlo |
Add support to IQ calibration.
|
259462 |
16-Dec-2013 |
hselasky |
Fix regression issue after r259248:
Some Intel XHCI controlles timeout processing so-called "TRBs" when the final LINK TRB of a so-called "TD" has the CHAIN-BIT set.
MFC after: 1 week Tested by: glebius @
|
259248 |
12-Dec-2013 |
hselasky |
Set chain bit correctly. This will fix some problems sending and receiving Zero Length Packets, ZLPs. See comment in code for more information.
MFC after: 1 week Reported by: Kohji Okuno <okuno.kohji@jp.panasonic.com>
|
259218 |
11-Dec-2013 |
hselasky |
USB method structures for USB controllers and USB pipes should be constant and does not need to be modified. This also saves a small amount of RAM.
|
259095 |
08-Dec-2013 |
hselasky |
Fix typos.
Found by: remko
|
259046 |
06-Dec-2013 |
hselasky |
Fix compilation when the "USB_DEBUG" option is set.
|
259032 |
06-Dec-2013 |
kevlo |
Add support for the MediaTek/Ralink RT5572 chipset. Committed over the TP-LINK TL-WDN3200 (RT5572) on amd64 with WPA.
While here, add my copyright.
|
259031 |
06-Dec-2013 |
kevlo |
Replace the magic numbers with something more readable.
|
259030 |
06-Dec-2013 |
kevlo |
Cosmetic changes.
|
259029 |
06-Dec-2013 |
kevlo |
Remove daft KASSERT.
|
259023 |
06-Dec-2013 |
hselasky |
Improve the XHCI command timeout recovery handling code.
MFC after: 1 week
|
258961 |
05-Dec-2013 |
hselasky |
Fix external compiler warning about write-only assigned variable.
|
258921 |
04-Dec-2013 |
hselasky |
Fix what looks like a typo after r258732.
|
258919 |
04-Dec-2013 |
hselasky |
Fix external compiler warning(s). Avoid pointer dereferencing.
|
258840 |
02-Dec-2013 |
kevlo |
The RUN_MAX_TXSZ constat is defined as Tx desc + Tx wireless info + MCLBYTES + max padding. We were lucky in that run(4) working fine since both rt2860_rxwi and rt2860_txwi structure sizes are the same.
|
258780 |
30-Nov-2013 |
eadler |
Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this shifts into the sign bit. Instead use (1U << 31) which gets the expected result.
This fix is not ideal as it assumes a 32 bit int, but does fix the issue for most cases.
A similar change was made in OpenBSD.
Discussed with: -arch, rdivacky Reviewed by: cperciva
|
258733 |
29-Nov-2013 |
kevlo |
Change run_rt2870_rf_write() prototype (no functional change)
|
258732 |
29-Nov-2013 |
kevlo |
On the RT2870, rf registers are now 64-bit, not 32-bit after r257955. Committed over a Buffalo WLI-UC-AG300N (RT2870).
|
258643 |
26-Nov-2013 |
hselasky |
Style changes.
|
258641 |
26-Nov-2013 |
hselasky |
Add missing static keyword.
MFC after: 2 weeks
|
258545 |
25-Nov-2013 |
hselasky |
Comply to the XHCI specification. Certain input context fields should always be zero.
MFC after: 1 week
|
258363 |
20-Nov-2013 |
truckman |
Add alternate ID for Novatel MiFi 2200 CDMA, which is used by my Virgin Mobile branded device. It needs the U3GINIT_SCSIEJECT quirk.
Reviewed by: hselasky MFC after: 1 month
|
258331 |
19-Nov-2013 |
markj |
Import the axge(4) driver for the ASIX AX88178A and AX88179 USB Ethernet adapters. Both devices support Gigabit Ethernet and USB 2.0, and the AX88179 supports USB 3.0. The driver was written by kevlo@ and lwhsu@, with a few bug fixes from me.
MFC after: 2 months
|
258162 |
15-Nov-2013 |
mav |
Add some more IDs for Intel ATA, AHCI and USB controllers.
|
258083 |
13-Nov-2013 |
kevlo |
Remove a couple of unused macros.
|
258082 |
13-Nov-2013 |
kevlo |
- Use bit twiddling macro to set IEEE80211_MODE_11A - On the RT3572 chipset, there's no need to configure BBP register 86
|
258036 |
12-Nov-2013 |
markj |
Add IDs for the ASIX 88179 and 88178A USB to GigE adapters.
|
258028 |
12-Nov-2013 |
kevlo |
Use the real product name for Edimax rsu(4) id.
|
257958 |
11-Nov-2013 |
kevlo |
Remove r257748 by accident.
|
257955 |
11-Nov-2013 |
kevlo |
Add support for the MediaTek/Ralink RT5370/RT5372 chipset.
Tested with the TP-Link TL-WN727N (RT5370) and the D-Link DWA-140 (RT5372) on i386/amd64/arm with WPA.
|
257748 |
06-Nov-2013 |
hselasky |
Implement a working write region function to speed up loading of the firmware. You can test this change by switching the "#if 1" statement right above in the patched code to "#if 0" !
MFC after: 1 week
|
257743 |
06-Nov-2013 |
hselasky |
Check for "ieee80211_vap_setup()" failure in all USB WLAN drivers.
MFC after: 1 week
|
257732 |
06-Nov-2013 |
kevlo |
Reading the RT2860_ASIC_VER_ID register is not needed and returns completely bogus value.
|
257712 |
05-Nov-2013 |
hselasky |
Protect the "ratectl_ch" callout in the "run" driver by the "run" softc's "sc->sc_mtx" mutex. Currently the callout was marked multi-processor safe, which is fine, but it is better to start/stop/reset callouts while holding the "run" drivers own mutex. While at it add a missing "ULL" at end of the 64-bit unsigned integer constant.
MFC after: 1 week
|
257594 |
03-Nov-2013 |
hselasky |
Add description of two EHCI PCI IDs.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
|
257543 |
02-Nov-2013 |
alfred |
Add device ID for 'Sanoxy 802.11N' usb
|
257446 |
31-Oct-2013 |
adrian |
Allow the Arduino Leonardo to work by supporting CDC=0 devices.
CDC=0 simply means "no command codes", CDC=1 means "AT command codes." There's no driver change required! It's purely to tell the application layer whether to speak AT commands or not. Things are all still serial.
PR: usb/183505 Reviewed by: hps MFC after: 1 week
|
257435 |
31-Oct-2013 |
hselasky |
Fix a potential memory leak.
MFC after: 1 week
|
257429 |
31-Oct-2013 |
hselasky |
Fix some types. Compilation for external target complains that "u_int" is not idential to "uint32_t" when defining set channel prototype functions. The WLAN channel range should be from 0 to 65535 inclusivly, and u_int should be fine for this purpose.
|
257411 |
31-Oct-2013 |
kevlo |
Add RT2860_BCN_OFFSET1 and RT2860_MAX_LEN_CFG register initialization to match with the vendor driver. While here, remove unused RT2860_DEF_MAC definition.
|
257410 |
31-Oct-2013 |
kevlo |
Initialize BBP68 to improve rx sensitivity.
|
257409 |
31-Oct-2013 |
kevlo |
Enable DC filter in RT3071 Version E.
|
257393 |
30-Oct-2013 |
ian |
Rework the imx ehci driver so that it's four separate ehci units rather than one unit with four busses attached to it. This allows us to use existing fdt data which describes separate devices with separate resources. It also allows any combination of the units to be en/disabled in the board dts files.
Adjust our dts code to match what's used by linux and u-boot now that we're structured to do so.
Document lots of interesting stuff learned whiling doing this with a big comment block in the driver, so I don't have to re-learn it for the next round of changes.
|
257390 |
30-Oct-2013 |
ian |
Add a vendor entry for Freescale Semiconductor.
|
257381 |
30-Oct-2013 |
nwhitehorn |
Adjust various SCSI drivers to handle either a 32-bit or 64-bit lun_id_t, mostly by adjustments to debugging printf() format specifiers. For high numbered LUNs, also switch to printing them in hex as per SAM-5.
MFC after: 2 weeks
|
257241 |
28-Oct-2013 |
glebius |
Include necessary headers that now are available due to pollution via if_var.h.
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
257206 |
27-Oct-2013 |
hselasky |
Fix a deadlock when trying to power off a USB device. The deadlock happens because the code in question is trying to modify the parent USB port registers outside the USB explore thread.
MFC after: 3 days
|
257184 |
26-Oct-2013 |
glebius |
The MII layer shouldn't care about administrative status of an interface. Make MII drivers forget about 'struct ifnet'.
Later plan is to provide an administrative downcall from ifnet layer into drivers, to inform them about administrative status change. If someone thinks that processing MII events for an administratively down interface is a big problem, then drivers would turn MII processing off.
The following MII drivers do evil things, like strcmp() on driver name, so they still need knowledge of ifnet and thus include if_var.h. They all need to be fixed:
sys/dev/mii/brgphy.c sys/dev/mii/e1000phy.c sys/dev/mii/ip1000phy.c sys/dev/mii/jmphy.c sys/dev/mii/nsphy.c sys/dev/mii/rgephy.c sys/dev/mii/truephy.c
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
257176 |
26-Oct-2013 |
glebius |
The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare to this event, adding if_var.h to files that do need it. Also, include all includes that now are included due to implicit pollution via if_var.h
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
257132 |
25-Oct-2013 |
n_hibma |
Add id for GTM661W.
|
256955 |
23-Oct-2013 |
kevlo |
Fix the RT2860_TX_SW_CFG2 init value on older revisions of RT3070 chip.
|
256839 |
21-Oct-2013 |
ganbold |
Move and rename dwc otg driver to more generic one as it appears to work for rk3188 SoC based board too.
No objections from: hselasky@ Reviewed by: ray@
|
256782 |
20-Oct-2013 |
gavin |
Add 26 new device IDs to uslcom(4). This brings us in sync with Linux v3.12 rc5.
MFC after: 3 days
|
256750 |
18-Oct-2013 |
hselasky |
Improve XHCI stability. When a command timeout happens, the command should be aborted else the command queue can stop. Refer to section "4.6.1.2" of the XHCI specification.
MFC after: 1 week
|
256722 |
18-Oct-2013 |
kevlo |
Correct tx mixer gain value for RT3070 and RT3071.
Correctly value in EEPROM/EFUSE is one or more for RT3070 and two or more for other RT3071 chips.
|
256721 |
18-Oct-2013 |
kevlo |
Since the DAC issue has been fixed in RT3070(F), the voltage raising fix is no longer needed.
|
256720 |
18-Oct-2013 |
kevlo |
Fix lower bits of RF_R3 for RT3370 and newer. This change doesn't affect older chipsets.
|
256718 |
18-Oct-2013 |
kevlo |
Fix rf registers for RT3070.
|
256548 |
15-Oct-2013 |
hselasky |
Correct programming of XXX_MAXP register. This register is 16-bit wide and not 8-bit. Fix support for isochronous transfers in USB host mode. Fix a whitespace while at it.
MFC after: 1 week Reported by: SAITOU Toshihide <toshi@ruby.ocn.ne.jp> PR: usb/181987
|
256500 |
15-Oct-2013 |
hselasky |
Add new USB ID.
PR: usb/182936 Submitted by: Keith White <kwhite@site.uottawa.ca> MFC after: 1 week
|
255768 |
21-Sep-2013 |
hselasky |
Stability fixes for Intel LynxPoint XHCI controllers. Disable XHCI port routing if we get certain errors. Poll for command completion upon command timeouts. The XHCI error events might not generate interrupts.
MFC after: 1 week Reported by: Daniel Gerzo <danger@rulez.sk>, Antonis Anastasiadis <anastasiadis@datalive.gr> PR: usb/181159 Approved by: re (gjb)
|
255488 |
12-Sep-2013 |
hselasky |
Don't issue USB resume signalling in USB device mode, if the USB power mode is ON and suspend is detected. This confuses iPads running in USB host mode at least.
MFC after: 1 week Approved by: re (hrs)
|
255472 |
11-Sep-2013 |
hselasky |
Clear correct data structure.
MFC after: 1 week Approved by: re (hrs)
|
255471 |
11-Sep-2013 |
glebius |
Clean up SIOCSIFDSTADDR usage from ifnet drivers. The ioctl itself is extremely outdated, and I doubt that it was ever used for ifnet drivers. It was used for AF_INET sockets in pre-FreeBSD time.
Approved by: re (hrs) Sponsored by: Nginx, Inc.
|
255356 |
07-Sep-2013 |
hselasky |
Revert parts of r245132 and r245175. We don't need to write to the IMAN register to clear the pending interrupt status bits. This patch tries to solve problems seen on the MacBook Air, as reported by Johannes Lundberg <johannes@brilliantservice.co.jp>
MFC after: 1 week
|
255347 |
07-Sep-2013 |
hselasky |
Disable USB 3.0 streams mode by default, hence not all XHCI chipsets implement it to avoid undefined behaviour.
|
255238 |
05-Sep-2013 |
br |
Add support for DLINK DWA-127 Wireless Adapter
Approved by: cognet (mentor)
|
255123 |
01-Sep-2013 |
ian |
Add the device ID for a new flavor of FTDI serial adapter (model 232EX).
|
255090 |
31-Aug-2013 |
hselasky |
Sync USB bluetooth product list with Linux.
MFC after: 1 week
|
254828 |
25-Aug-2013 |
hselasky |
Bugfix: The endpoint profile should only be checked in device mode when allocating USB transfers and not in host mode.
Reported by: George Mitchell <george+freebsd@m5p.com>
|
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
|
254438 |
17-Aug-2013 |
hselasky |
Fix some USB controller names according to pciconf output.
MFC after: 1 week Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
|
254404 |
16-Aug-2013 |
kevlo |
Bring datasheet URL up to date.
|
254243 |
12-Aug-2013 |
hselasky |
- Try to fix build of 32-bit compatibility USB support for FreeBSD and Linux targets without breaking the existing IOCTL API.
- Remove some not-needed header file inclusions.
- Wrap a long line.
MFC after: 1 week Reported by: Damjan Jovanovic <damjan.jov@gmail.com>
|
254238 |
12-Aug-2013 |
hselasky |
Correct an EHCI register write.
MFC after: 1 week Reported by: aseem.jolly@gmail.com
|
253831 |
31-Jul-2013 |
rpaulo |
Cleanup the allocations when the attachment fails.
|
253807 |
30-Jul-2013 |
rpaulo |
Unbreak sparc64 LINT. Need to fix this correctly at some point in the future.
|
253789 |
30-Jul-2013 |
rpaulo |
Import OpenBSD's rsu(4) WLAN driver. Support chipsets are the Realtek RTL8188SU, RTL8191SU, and RTL8192SU.
Many thanks to Idwer Vollering for porting/writing the man page and for testing.
Reviewed by: adrian, hselasky Obtained from: OpenBSD Tested by: kevlo, Idwer Vollering <vidwer at gmail.com>
|
253757 |
29-Jul-2013 |
hselasky |
Fix alignment of USB WLAN radiotap headers. This makes USB WLAN adapters work on ARM, MIPS and similar platforms, where alignment matters.
MFC after: 1 week Reported by: XiaoQI Ge <ghw@7axu.com>
|
253750 |
28-Jul-2013 |
avg |
Revert r253748,253749
This WIP should not have been committed yet.
Pointyhat to: avg
|
253670 |
26-Jul-2013 |
hselasky |
Assume that all Apple products using interface class 255, subclass 253 and protocol 1 are USB ethernet adapters. This avoids keeping and updating the product list every now and then. This patch will add support for the USB ethernet interface found in the IPAD.
MFC after: 1 week
|
253618 |
24-Jul-2013 |
obrien |
per style(9): Kernel include files (i.e. sys/*.h) come first; normally, include <sys/types.h> OR <sys/param.h>, but not both. <sys/types.h> includes <sys/cdefs.h>, and it is okay to depend on that.
|
253544 |
22-Jul-2013 |
hselasky |
Add some USB gadget example drivers for USB audio, USB keyboard, USB mouse and USB modem classes. Hopefully someone will find these examples useful when implementing USB device side drivers using the FreeBSD USB stack.
|
253532 |
21-Jul-2013 |
hselasky |
Fix an XHCI regression:
The Block Event Interrupts, BEI, feature does not work like expected with the Renesas XHCI chipsets. Revert feature.
While at it correct the TD SIZE computation in case of Zero Length Packet, ZLP, in the end of a multi frame USB transfer.
MFC after: 1 week PR: usb/180726
|
253477 |
19-Jul-2013 |
np |
There's nothing to free if the unit wasn't allocated.
|
253398 |
16-Jul-2013 |
kib |
Add a tunable to force disable MSI use for xhci(4).
Requested and tested by: delphij Sponsored by: The FreeBSD Foundation MFC after: 3 days
|
253340 |
14-Jul-2013 |
rpaulo |
Revert r252725 as it breaks WPA.
We need to fix wpa_supplicant because it checks whether the card has ic_cryptocaps set. Since net80211 can do software encryption this check in wpa_supplicant is wrong.
|
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.
|
253139 |
10-Jul-2013 |
hiren |
Adding urtwn(4) firmware and related changes.
Reviewed by: rpaulo Approved by: sbruno (mentor)
|
253094 |
09-Jul-2013 |
kib |
Use MSI for xhci(4), if supported.
Reviewed by: jhb Tested by: dchagin Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
252912 |
07-Jul-2013 |
gonzo |
- Add initial host mode support for Mentor Graphics USB OTG controller - Sync musb_otg_atmelarm with new core logic API
|
252725 |
04-Jul-2013 |
rpaulo |
Set ic_cryptocaps to make sure wpa_supplicant works with WEP.
|
252501 |
02-Jul-2013 |
hrs |
Add Planex MZK-UE150N.
Submitted by: Yusuke Tanaka MFC after: 3 days
|
252498 |
02-Jul-2013 |
rpaulo |
Add RealTek 8192SU product IDs.
|
252406 |
30-Jun-2013 |
rpaulo |
Fix a typo.
|
252405 |
30-Jun-2013 |
rpaulo |
Fix the RSSI calculation.
|
252403 |
30-Jun-2013 |
rpaulo |
Fix the ni_txrate calculation.
|
252401 |
30-Jun-2013 |
rpaulo |
Fix a reference count bug in urtwn_ra_init().
|
252295 |
27-Jun-2013 |
remko |
Add support for the NTT Docomo L-02C card. (This file didn't get along in the previous commit)
PR: 180017 Submitted by: Masaharu FUJITA Glanced at by: imp MFC after: 1 week
|
252294 |
27-Jun-2013 |
remko |
Add support for the NTT Docomo L-02C card.
PR: 180017 Submitted by: Masaharu FUJITA Glanced at by: imp MFC after: 1 week
|
252196 |
25-Jun-2013 |
kevlo |
Add support for D-Link DWA-131.
|
252185 |
25-Jun-2013 |
yongari |
Add Lenovo USB 2.0 Ethernet adapter.
PR: usb/179920 MFC After: 1 week
|
252143 |
24-Jun-2013 |
yongari |
When RX checksum offloading is active, AX88772B will prepend a checksum header. The header contains a received frame length but the defined length for AX88772B is different with other ASIX controllers. When the RX checksum is off, AX88772B controller does not prepend a checksum header so driver has to use normal header length mask. This change should fix RX errors when RX checksum offloading is off.
Tested by: kevlo MFC After: 1 week
|
252125 |
23-Jun-2013 |
thomas |
Revert previous change to uark.c (restore previous rev), which was committed by mistake.
|
252123 |
23-Jun-2013 |
thomas |
Fix minor typo in comment
|
251734 |
14-Jun-2013 |
kevlo |
- Use the consistenly PHY-specific reset routine PHY_RESET() rather than generic mii_phy_reset(). - Return the result of mii_mediachg() rather than blindly returning 0. - on smsc(4), driver lock should be held to get current mii_media_active/mii_media_status value.
Reviewed by: yongari
|
251679 |
13-Jun-2013 |
kevlo |
Remove unused variable sc_tx_bufsz. The variable is initialized but not used.
Reviewed by: yongari
|
251674 |
13-Jun-2013 |
kevlo |
Fix a typo: s/KLSI/CATC/
|
251596 |
10-Jun-2013 |
rpaulo |
Use STRUCT_USB_HOST_ID to make sure we have the right ELF section.
|
251538 |
08-Jun-2013 |
rpaulo |
Import Kevin Lo's port of urtwn(4) from OpenBSD. urtwn(4) is a driver for the Realtek RTL8188CU/RTL8192CU USB IEEE 802.11b/g/n wireless cards. This driver requires microcode which is available in FreeBSD ports: net/urtwn-firmware-kmod.
Hiren ported the urtwn(4) man page from OpenBSD and Glen just commited a port for the firmware.
TODO: - 802.11n support - Stability fixes - the driver can sustain lots of traffic but has trouble coping with simultaneous iperf sessions. - fix debugging
MFC after: 2 months Tested by: kevlo, hiren, gjb
|
251515 |
07-Jun-2013 |
hselasky |
Fix some recent regression issues:
1) Only multi-TD isochronous transfers should use NORMAL type after specific type as per XHCI specification.
2) BEI bit is only available in NORMAL and ISOCHRONOUS TRB types. Don't use this bit for other types to avoid hardware asserts. Reserved bits should be don't care though ...
MFC after: 1 week PR: usb/179342
|
251499 |
07-Jun-2013 |
hselasky |
Add support for polling the XHCI interrupt handler when the regular interrupt handler is not working properly or in case of MSI interrupts which are not yet supported. Remove interrupt setup code for FreeBSD versions older than 700031.
MFC after: 1 week PR: usb/179342
|
251351 |
03-Jun-2013 |
hiren |
Fixing a typo.
Approved by: sbruno (mentor) MFC after: 3 days
|
251254 |
02-Jun-2013 |
hselasky |
Correct the TD size computation. npkt should reflect the number of packets remaining after the current TRB has been executed. Refer to section 4.11.2.4 of the XHCI specification for USB.
MFC after: 1 week
|
251253 |
02-Jun-2013 |
hselasky |
Correct TRB type for multi TRB transfers of non-NORMAL type, like isochronous. Only the first TRB should be markes as special. Subsequent ones should be marked as NORMAL. Optimise away TD first variable.
MFC after: 1 week
|
251252 |
02-Jun-2013 |
hselasky |
Use the correct constant for 8000 IRQ/s.
MFC after: 1 week
|
251251 |
02-Jun-2013 |
hselasky |
Block event interrupts when we don't need it as soon as possible. Typically this feature is used for isochronous transfers. This reduces the amount of XHCI interrupting.
MFC after: 1 week
|
251249 |
02-Jun-2013 |
hselasky |
Don't set the start ISOC ASAP bit for non-isochronous TRBs.
MFC after: 1 week
|
251247 |
02-Jun-2013 |
hselasky |
Correct some XHCI streams mode transfer handling found by code inspection. The existing streams mode support is not working and has not been tested due to lack of hardware which supports the given feature.
MFC after: 1 week
|
251109 |
29-May-2013 |
eadler |
Add support for tethering on the iPhone 4S
PR: usb/179078 Submitted by: Christopher Sean Hilton <chris@vindaloo.com> MFC After: 1 week
|
251065 |
28-May-2013 |
hselasky |
Revert r251023 until a more proper solution is found for ATI based USB controllers.
MFC after: 1 week
|
251023 |
27-May-2013 |
hselasky |
Workaround for for a problem seen with ATI Technologies EHCI controller hardware most likely present on UHCI chipsets aswell. The bug manifests itself when issuing isochronous transfers and bulk transfers towards the same device simultaneously. From time to time it happens that either the completion IRQ was missing or that the completion IRQ was happening before the ITD/SITD was completely written back to memory. The workaround assumes that double buffered isochronous transfers are used, and that a second interrupt is generated at the beginning of the next isochronous transfer to complete the previous one. Possibly skipping the interrupt at the last isochronous frame is possible, but will then break single buffered isochronous transfers. For now we can live with some extra interrupts.
MFC after: 1 week
|
250986 |
25-May-2013 |
hselasky |
Fix some statical clang analyzer warnings.
|
250848 |
21-May-2013 |
hselasky |
Add new USB quirk.
MFC after: 1 week PR: usb/178771
|
250753 |
17-May-2013 |
imp |
For ARM, MIPS, and PowerPC, default to 32-byte alignment, but allow it to be as small as 8.
|
250749 |
17-May-2013 |
gavin |
o Retrive the part number (CP2103 etc) from the hardware on attach. o The CP2101 and CP2102 do not support GPIO pin use at all, enforce this. o Support reading the GPIO status on the second port of the CP2105. More work is needed before the CP2105 GPIO pins can be used as outputs.
Hardware donated by: Silicon Labs MFC after: 3 weeks
|
250576 |
12-May-2013 |
eadler |
Fix several typos
PR: kern/176054 Submitted by: Christoph Mallon <christoph.mallon@gmx.de> MFC after: 3 days
|
250212 |
03-May-2013 |
hselasky |
Fix compile warning.
|
250207 |
03-May-2013 |
hselasky |
- Add more defines to limit USB memory usage and number of allocations in reduced memory systems.
- Split allocation and freeing of the configuration descriptor into a separate function, so that the configuration descriptor can be made fixed size to save memory allocations. This applies for both device and host mode.
|
250205 |
03-May-2013 |
hselasky |
Always put space before the comma before ##__VA_ARGS__ due to subtle compiler differences.
|
250204 |
03-May-2013 |
hselasky |
Add some defines to limit USB memory usage in reduced memory systems.
|
250202 |
03-May-2013 |
hselasky |
Allow the default USB template to be specified at compile time.
|
250201 |
03-May-2013 |
hselasky |
Add new USB API to get the port path of a USB device.
MFC after: 2 weeks Requested by: emaste @
|
249925 |
26-Apr-2013 |
glebius |
Add const qualifier to the dst parameter of the ifnet if_output method.
|
249795 |
23-Apr-2013 |
hselasky |
Add convenience wrapper functions to run callbacks in the context of the USB explore thread.
|
249786 |
23-Apr-2013 |
hselasky |
Add descriptive comment.
|
249725 |
21-Apr-2013 |
hselasky |
Add OHCI controller ID.
MFC after: 2 weeks Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
|
249584 |
17-Apr-2013 |
gabor |
- Correct mispellings of word miscellaneous
Submitted by: Christoph Mallon <christoph.mallon@gmx.de> (via private mail)
|
249336 |
10-Apr-2013 |
mav |
Add ID for ASMedia ASM1042 USB 3.0 controller.
MFC after: 1 week
|
249232 |
07-Apr-2013 |
hselasky |
Fix regression issue after r248910.
PR: arm/177685 Submitted by: Christoph Mallon <christoph.mallon@gmx.de>
|
249204 |
06-Apr-2013 |
hselasky |
Add new USB ID.
PR: usb/177666 Submitted by: Nicolai Petri <nicolai@petri.dk>
|
249043 |
03-Apr-2013 |
hselasky |
Add missing ifdef's for reduced feature compilations.
|
249039 |
03-Apr-2013 |
hselasky |
Add new USB ID.
MFC after: 1 week Submitted by: Bruce Simpson <bms@fastmail.net>
|
248566 |
21-Mar-2013 |
hselasky |
Add new USB ID.
PR: usb/177173 MFC after: 1 week
|
248557 |
20-Mar-2013 |
ray |
Integrate Efika MX project back to home.
Sponsored by: The FreeBSD Foundation
|
248554 |
20-Mar-2013 |
hselasky |
Fix spelling.
|
248499 |
19-Mar-2013 |
hselasky |
Add new USB ID.
PR: usb/177105 MFC after: 1 week
|
248458 |
18-Mar-2013 |
hselasky |
Add new USB ID.
PR: usb/177013 MFC after: 1 week
|
248247 |
13-Mar-2013 |
hselasky |
Fix typo.
|
248246 |
13-Mar-2013 |
hselasky |
- Make quirk for reading device descriptor from broken USB devices. Else they won't enumerate at all: hw.usb.full_ddesc=1 - Reduce the USB descriptor read timeout from 1000ms to 500ms. Typical value for LOW speed devices is 50-100ms. - Enumerate USB device a maximum of 3 times when a port connection change event is detected, before giving up.
MFC after: 1 month
|
248175 |
11-Mar-2013 |
gavin |
Add support for Optoelectronics USB barcode readers to uftdi(4). Add entries for other Optoelectronics devices to usbdevs.
MFC after: 1 week
|
247263 |
25-Feb-2013 |
hselasky |
Fix init/uninit function type.
|
247255 |
25-Feb-2013 |
hselasky |
Add new USB ID.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
|
246944 |
18-Feb-2013 |
hselasky |
Fix bad EEPROM parsing code.
MFC after: 2 weeks
|
246789 |
14-Feb-2013 |
hselasky |
Add USB API to read power draw on USB devices. Update usbconfig to print power draw on USB devices.
MFC after: 2 weeks Submitted by: Matt Burke @ icritical.com
|
246765 |
13-Feb-2013 |
hselasky |
Remove unused variable.
MFC after: 1 week
|
246759 |
13-Feb-2013 |
hselasky |
Resolve a LOR after r246616. Protect control requests using the USB device enumeration lock. Make sure all callers of usbd_enum_lock() check the return value. Remove the control transfer specific lock. Bump the FreeBSD version number, hence external USB modules may need to be recompiled due to a USB device structure change.
MFC after: 1 week
|
246753 |
13-Feb-2013 |
hselasky |
Add new USB ID to FTDI driver.
MFC after: 1 week PR: kern/175893 Submitted by: Tomek
|
246616 |
10-Feb-2013 |
hselasky |
- Move scratch data from the USB bus structure to the USB device structure so that simultaneous access cannot happen. Protect scratch area using the enumeration lock. Also reduce stack usage in usbd_transfer_setup() by moving some big stack members to the scratch area. This saves around 200 bytes of stack. - Fix a whitespace.
MFC after: 1 week
|
246615 |
10-Feb-2013 |
hselasky |
Fix correct use of USB header files.
|
246614 |
10-Feb-2013 |
hselasky |
- Streamline detach logic in wlan drivers, so that freed memory cannot be used during detach. - Remove all panic() calls from the urtw driver because panic() is not appropriate here. - Remove redundant checks for device detached in device detach callbacks. - Use DEVMETHOD_END to mark end of device methods.
MFC after: 2 weeks
|
246570 |
08-Feb-2013 |
hselasky |
Make sure we don't leak command buffers when a USB command transfer fails.
MFC after: 1 week Reported by: Ian FREISLICH
|
246565 |
08-Feb-2013 |
hselasky |
Fix regression issue after r244503: Correct init order to fix a NULL pointer access.
MFC after: 1 week Reported by: Ian FREISLICH
|
246363 |
05-Feb-2013 |
hselasky |
Add defines to more easily allow a single threaded version of the FreeBSD USB stack. This is useful for non-kernel purposes, like the loader.
|
246360 |
05-Feb-2013 |
hselasky |
Fix some nits.
|
246196 |
01-Feb-2013 |
hselasky |
Fix for hardware checksum offloading in SMSC driver. This also fixes IPv6 support for this particular hardware.
Submitted by: Daisuke Aoyama
|
246194 |
01-Feb-2013 |
hselasky |
Make use of USB ID sections configurable.
|
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
|
246126 |
30-Jan-2013 |
hselasky |
Do not unnecessarily split a string literal, because splitting it makes it hard to grep.
Submitted by: Christoph Mallon
|
246125 |
30-Jan-2013 |
hselasky |
Use string literals in string descriptors for marginally better readability.
Submitted by: Christoph Mallon
|
246124 |
30-Jan-2013 |
hselasky |
Use an anonymous struct for generated string descriptors.
Submitted by: Christoph Mallon
|
246123 |
30-Jan-2013 |
hselasky |
Provide one global language string descriptor for american english instead of giving each module its own.
Submitted by: Christoph Mallon
|
246122 |
30-Jan-2013 |
hselasky |
Modify the FreeBSD USB kernel code so that it can be compiled directly into the FreeBSD boot loader, typically for non-USB aware BIOSes, EFI systems or embedded platforms. This is also useful for out of the system compilation of the FreeBSD USB stack for various purposes. The USB kernel files can now optionally include a global header file which should include all needed definitions required to compile the FreeBSD USB stack. When the global USB header file is included, no other USB header files will be included by default.
Add new file containing the USB stack configuration for the FreeBSD loader build.
Replace some __FBSDID()'s by /* $FreeBSD$ */ comments. Now all USB files follow the same style.
Use cases: - console in loader via USB - loading kernel via USB
Discussed with: Hiroki Sato, hrs @ EuroBSDCon
|
246115 |
30-Jan-2013 |
hselasky |
Add missing header file inclusion guard.
|
246113 |
30-Jan-2013 |
hselasky |
Add missing NULL pointer check.
Reported by: Lars Engels MFC after: 1 week
|
246037 |
28-Jan-2013 |
jhb |
Mark 'ticks', 'time_second', and 'time_uptime' as volatile to prevent the compiler from caching their values in tight loops.
Reviewed by: bde MFC after: 1 week
|
246027 |
28-Jan-2013 |
hselasky |
Remove some extra and not needed space characters.
MFC after: 1 week
|
246021 |
28-Jan-2013 |
hselasky |
Add new USB ID.
Submitted by: Ramil PR: usb/175639 MFC after: 1 week
|
245995 |
27-Jan-2013 |
hselasky |
Fix regression issue after r244500 and r244503:
If a BUSDMA load operation results in a single segment which is greater than the PAGE_SIZE, the USB computed physical addresses will not be correct. Make sure that the first segment is unfolded like the sub-sequent segments are into USB_PAGE_SIZE big ranges.
Found by: Alexander Nedotsukov MFC after: 1 week
|
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
|
245647 |
19-Jan-2013 |
kan |
Do not pretend to have autosense data when no such data is available.
Make umass return an error code if SCSI sense retrieval request has failed. Make sure scsi_error_action honors SF_NO_RETRY and SF_NO_RECOVERY in all cases, even if it cannot parse sense bytes.
Reviewed by: hselasky (umass), scottl (cam)
|
245427 |
14-Jan-2013 |
hselasky |
Add new u3g device quirk.
Submitted by: Lowell Gilbert MFC after: 1 week
|
245328 |
12-Jan-2013 |
mav |
Freeze device queue before returning errors to CAM. This is required for proper error recovery, including keeping original request order.
Reviewed by: hselasky
|
245249 |
10-Jan-2013 |
hselasky |
Bugfix: Fix sizeof() argument.
Found by: Haakon Loevdal MFC after: 1 week
|
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
|
245175 |
08-Jan-2013 |
hselasky |
Shave off another register write to save some more microseconds of PCI access time.
Tested by: sos @ Submitted by: sos @ MFC after: 1 week
|
245132 |
07-Jan-2013 |
hselasky |
Optimise the XHCI interrupt handling. This patch will save CPU time when the XHCI interrupt is shared with other devices. Only check event rings when interrupt bits are set. Otherwise would indicate hiding possible hardware fault(s).
Tested by: sos @ Submitted by: sos @ MFC after: 1 week
|
245047 |
04-Jan-2013 |
hselasky |
Fix for "run0: wcid=xx out of range" error message.
MFC after: 1 week PR: usb/174963 Submitted by: PseudoCylon <moonlightakkiy@yahoo.ca>
|
244837 |
29-Dec-2012 |
hselasky |
Add new USB ID.
PR: usb/174814 Submitted by: Andy Balholm 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
|
244650 |
24-Dec-2012 |
hselasky |
Fix more regression issue after r244503.
usbd_transfer_setup() does not set a default length for USB transfers. Only the number of frames is automatically setup.
MFC after: 1 week
|
244607 |
23-Dec-2012 |
hselasky |
Fix regression issue after r244503.
MFC after: 1 week
|
244535 |
21-Dec-2012 |
hselasky |
Regression issue: Use a boundary of zero, hence a PAGE_SIZE boundary is implied by all memory allocations.
Background: Busdma has problems to allocate more than PAGE_SIZE bytes when the boundary is PAGE_SIZE bytes too. Initially it was thought that a boundary of PAGE_SIZE bytes will only affect loading of DMA memory, so that segments get split correctly, but it also affects allocation of DMA'able memory.
Solution: USB can detect big segments and split them as required by the USB code.
MFC after: 1 week Reported by: gonzo
|
244503 |
20-Dec-2012 |
hselasky |
Make sure all USB drivers allocate buffer memory through the USB API and/or busdma.
The following assumptions have been made: umass - buffers passed from CAM/SCSI layer are OK network - mbufs are OK.
Some other nits while at it.
MFC after: 1 week Suggested by: imp
|
244500 |
20-Dec-2012 |
hselasky |
Allocate separate USB buffers for DMA'ed data, so that DMA data does not reside next to non DMA data. This might cause more memory to be allocated, but solves problems on platforms using manual cache synchronization.
Add a convenience function to get the buffer only from a USB transfer's page cache structure.
MFC after: 1 week Suggested by: imp
|
244491 |
20-Dec-2012 |
hselasky |
Add support for throttling UMASS. Mostly useful for debugging purposes.
MFC after: 1 week
|
244489 |
20-Dec-2012 |
hselasky |
Make sure we block recursion on TTY's inwakeup callback
Suggested by: davide MFC after: 1 week
|
244047 |
09-Dec-2012 |
hselasky |
Add new USB ID.
MFC after: 1 week Submitted by: Artyom Mirgorodskiy
|
243857 |
04-Dec-2012 |
glebius |
Mechanically substitute flags from historic mbuf allocator with malloc(9) flags in sys/dev.
|
243780 |
01-Dec-2012 |
hselasky |
- Add support for Etron EJ168 USB 3.0 Host Controllers. This brand of controllers expects that the number of contexts specified in the input slot context points to an active endpoint context, else it refuses to operate.
- Ring the correct doorbell when streams mode is used. - Wrap one or two long lines.
Tested by: Markus Pfeiffer (DragonFlyBSD) MFC after: 1 week
|
243663 |
29-Nov-2012 |
eadler |
Add support for AT&T Sierra Wireless USB 3G adapter
PR: kern/173982 Submitted by: Eric Camachat <eric@camachat.org> Approved by: cperciva (implicit) MFC after: 1 week
|
243435 |
23-Nov-2012 |
hselasky |
Remove no longer needed quirk.
Submitted by: Mark Johnston
|
243421 |
23-Nov-2012 |
gonzo |
Look for MAC address in FDT tree nodes that are usb network devices and have either "mac-address" or "local-mac-addrress" property.
|
243380 |
21-Nov-2012 |
hselasky |
Fix uplcom clear stall logic for PL2303HX.
Submitted by: Mark Johnston MFC after: 1 week
|
242906 |
12-Nov-2012 |
hselasky |
Add new USB IDs.
MFC after: 1 week PR: usb/173503
|
242829 |
09-Nov-2012 |
hselasky |
Fix LOW and FULL speed USB INTERRUPT endpoint support for the DWC OTG driver. Fix a hang issue when using LOW and FULL speed BULK traffic. Make sure we don't ask for data in the last microframe. This allows using devices like USB mice and USB keyboards connected to the RPI-B.
Suggested by: gonzo @
|
242777 |
08-Nov-2012 |
hselasky |
Make the USB ethernet methods constant again in if_udav.c, so that both adapter variants can be attached at the same time.
MFC after: 0 days
|
242748 |
08-Nov-2012 |
kevlo |
Add new USB device ID.
|
242703 |
07-Nov-2012 |
hselasky |
Add lock asserts instead of "auto-locking".
MFC after: 1 weeks Suggested by: ed @
|
242702 |
07-Nov-2012 |
hselasky |
The tty_inwakeup callback appears to be called both locked and unlocked. Handle the required locking automatically for now.
MFC after: 1 weeks
|
242695 |
07-Nov-2012 |
hselasky |
Patch to improve USB serial console.
MFC after: 1 weeks Submitted by: Bruce Evans
|
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@
|
242619 |
05-Nov-2012 |
hselasky |
Add a jitter buffer in the common USB serial driver code which temporarily stores characters if the TTY buffer is full when used a as a console. This can happen when a console is suspended. Also properly do the flow stop signalling when this happens and flow start when the condition changes back to normal again.
Bump __FreeBSD_version to force external kernel modules to be recompiled. No kernel API changes.
MFC after: 1 week Suggested by: ed @
|
242523 |
03-Nov-2012 |
marcel |
Allow using the embedded EHCI host controller in Freescale SoCs by adding the missing bits. See ehci_fsl.c for their use.
|
242364 |
30-Oct-2012 |
hselasky |
If a USB mass storage device doesn't respond properly to the initial SCSI INQUIRY command, enable all quirks. This fixes detection of some Transcend TS2GUFM devices.
MFC after: 1 week Reported by: Michael Dexter
|
242127 |
26-Oct-2012 |
hselasky |
Add support for Fast Track Ultra 8R from M-audio.
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
|
241987 |
24-Oct-2012 |
hselasky |
Make several timing parameters of the USB enumeration sequence tuneable. Also update the port reset time from 250ms to 50ms. Some USB devices have a hard limit in hardware at 222ms for the port reset time and will not enumerate unless this delay is closer to the usb.org defined value. This patch can fix enumeration with some USB devices.
Tested by: Guido van Rooij Submitted by: Nick Hibma MFC after: 1 week
|
241844 |
22-Oct-2012 |
eadler |
remove duplicate semicolons where possible.
Approved by: cperciva 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
|
241793 |
21-Oct-2012 |
eadler |
Add support for iPhone 5 tethering.
PR: usb/172172 Submitted by: Ali Mashtizadeh <mashtizadeh@gmail.com> Approved by: cperciva MFC after: 1 week
|
241610 |
16-Oct-2012 |
glebius |
Make the "struct if_clone" opaque to users of the cloning API. Users now use function calls:
if_clone_simple() if_clone_advanced()
to initialize a cloner, instead of macros that initialize if_clone structure.
Discussed with: brooks, bz, 1 year ago
|
241555 |
14-Oct-2012 |
n_hibma |
Implement modem control in u3g. Tested on Option GTM382W, Huawei E220, and Sierra Wireless MC8790V. Also implement the .ucom_poll method.
Note: This makes it possible to use lqr/echo in ppp.conf. And it resolves ppp hanging during the PPp> phase.
Reviewed by: hps 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
|
241432 |
10-Oct-2012 |
mav |
- Remove ancient checks for sim->softc == NULL. It can't be NULL, as it is set not-NULL during SIM registration and set to UMASS_GONE on destruction. Debug messages there look broken for at least 9 years, as they dereference softc value that was just checked to be equal to NULL. - Remove magic pointer value UMASS_GONE and use simple NULL instead.
Found by: Clang Static Analyzer
|
241394 |
10-Oct-2012 |
kevlo |
Revert previous commit...
Pointyhat to: kevlo (myself)
|
241370 |
09-Oct-2012 |
kevlo |
Prefer NULL over 0 for pointers
|
241128 |
02-Oct-2012 |
hselasky |
Style.
MFC after: 1 week
|
241127 |
02-Oct-2012 |
hselasky |
Remove unused field.
MFC after: 1 week
|
241082 |
01-Oct-2012 |
hselasky |
Inherit USB mode from RootHUB port where the USB device is connected. Only RootHUB ports can be dual mode. Disallow OTG ports on external HUBs. This simplifies some checks in the USB controller drivers.
MFC after: 1 week
|
241050 |
29-Sep-2012 |
kevlo |
If devclass_get_devices(9) returns success but a count of 0, free the pointer.
|
241034 |
28-Sep-2012 |
hselasky |
Make sure we don't leak a mbuf in a fail case.
|
241033 |
28-Sep-2012 |
hselasky |
Remove some trailing bytes which are not part of the ethernet packet.
Discussed with: bgray @
|
241032 |
28-Sep-2012 |
hselasky |
Correct NYET handling. Remove superfluous transfer complete interrupt mask.
|
240999 |
27-Sep-2012 |
hselasky |
Make sure the "wMaxPacketSize" limitations are respected.
|
240998 |
27-Sep-2012 |
hselasky |
Make sure we record NAK tokens in the TD structure for IN direction. Improve host channel disabling. Wait two times 125us for channel to be disabled. The DWC OTG doesn't like when channels are re-used too early.
|
240969 |
26-Sep-2012 |
hselasky |
Make sure the DWC OTG host mode channels are given enough time to disable.
|
240890 |
24-Sep-2012 |
hselasky |
DWC OTG host mode improvements: - Make HSIC selection dynamic. - Make LOW speed USB devices work through HIGH speed USB HUB.
|
240857 |
23-Sep-2012 |
hselasky |
DWC OTG host mode improvements. Add support for the 3-strikes and you are gone rule. Optimise use of channels so that when a channel is not ready another channel is used. Instead of using the SOF interrupt use the system timer to drive the host statemachine. This might give lower throughput and higher latency, but reduces the CPU usage significantly. The DWC OTG host mode support should not be considered for serious USB host controller applications. Some problems are still seen with LOW speed USB devices.
|
240856 |
23-Sep-2012 |
hselasky |
Correct driver name.
MFC after: 1 weeks
|
240806 |
22-Sep-2012 |
hselasky |
Apply some more casting.
|
240804 |
22-Sep-2012 |
hselasky |
Apply correct casting.
|
240750 |
20-Sep-2012 |
hselasky |
Fix typo.
|
240743 |
20-Sep-2012 |
kevlo |
Fix typo: s/protocl/protocol
|
240683 |
18-Sep-2012 |
gavin |
Add entries for two USB devices I have locally.
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
|
240597 |
17-Sep-2012 |
kevlo |
Remove unused variable cd. This variable is initialized but not used.
|
240482 |
14-Sep-2012 |
hselasky |
DWC OTG improvements. Implement full support for SPLIT transactions, in other words FULL/LOW speed devices through HIGH speed HUBs. Improve support for suspend and resume in host mode.
|
240419 |
12-Sep-2012 |
hselasky |
Fix TX FIFO sizes. Correct FIFO handling in Host mode.
|
240382 |
12-Sep-2012 |
kevlo |
Restart the USB transfer if the error is not USB_ERR_CANCELLED.
|
240381 |
12-Sep-2012 |
hselasky |
Reduce DWC OTG polling rate by using the SOF interrupt.
|
240374 |
11-Sep-2012 |
hselasky |
Fix missing parts of DWC OTG host mode support. The host mode support of the DWC OTG is very simple in PIO mode, and we need to re-transmit data when NAK is received among other things. We probably will need to implement some kind of rate limitation on the NAK-ing.
|
240314 |
10-Sep-2012 |
hselasky |
Poll VBUS status every second, hence the AT91 GPIO library doesn't support registering interrupt handlers yet for GPIO events.
|
240312 |
10-Sep-2012 |
hselasky |
Fix for IRQ hang in DWC OTG host mode.
|
240302 |
10-Sep-2012 |
hselasky |
Cleanup interrupt handling in Host Mode.
|
240282 |
09-Sep-2012 |
hselasky |
Implement missing USB suspend and resume support for DWC OTG driver.
|
240281 |
09-Sep-2012 |
hselasky |
Add support for DWC OTG.
|
240279 |
09-Sep-2012 |
hselasky |
Add support for host mode to the DWC OTG controller driver. The DWC OTG host mode support should still be considered experimental. Isochronous support for DWC OTG is not fully implemented. Some code added derives from Aleksandr Rybalko's dotg.c driver.
|
240118 |
04-Sep-2012 |
gavin |
Support another uchcom(4) device.
MFC after: 1 week
|
240074 |
03-Sep-2012 |
hselasky |
Add more DWC OTG register definitions.
Submitted by: Nick Hudson
|
239909 |
30-Aug-2012 |
hselasky |
Preparations for adding USB HOST mode to the DWC OTG driver. Merge register file with external one and put all register definitions in a separate file.
Submitted by: ray @
|
239617 |
23-Aug-2012 |
hselasky |
Add tunable for XHCI port routing.
MFC after: 1 week
|
239567 |
22-Aug-2012 |
hselasky |
Add new USB device ID.
Submitted by: Dmitry Luhtionov MFC after: 1 week
|
239532 |
21-Aug-2012 |
hselasky |
Style.
|
239531 |
21-Aug-2012 |
hselasky |
Fix USB drivers for KB920X target. Add missing clock settings. VBUS GPIO IRQ is still missing (TODO).
|
239358 |
17-Aug-2012 |
hselasky |
Add new USB device ID.
PR: usb/170688 MFC after: 1 week
|
239299 |
15-Aug-2012 |
hselasky |
Revert r239178 and implement two new functions, namely "device_free_softc()" and "device_claim_softc()", to allow USB serial drivers refcounting the softc. These functions are used to grab the softc from auto-free and to free the softc back to the correct malloc type, respectivly.
Discussed with: jhb MFC after: 2 weeks
|
239298 |
15-Aug-2012 |
hselasky |
Add new USB device quirk.
Submitted by: Kra OTN MFC after: 2 weeks
|
239275 |
15-Aug-2012 |
gonzo |
Merging of projects/armv6, part 5
- Driver for SMSC LAN95XX and LAN8710A ethernet controllers - Driver for LAN8710A PHY
Submitted by: Ben Gray, Damjan Marion, Tim Kientzle
|
239260 |
14-Aug-2012 |
gavin |
Rename command defines to match names used in the datasheet, in order to make maintaining this driver from the documentation easier in the future. This is a mostly mechanical change.
In uslcom_param(), move the zeroing of the final two fields of the flowctrl structure outside of the "if CRTSCTS" section - not only were they being zeroed in both the clauses, but these two fields have nothing to do with hardware flow control anyway.
|
239240 |
13-Aug-2012 |
hselasky |
Fix for missing locks due to recent change.
PR: usb/170606 MFC after: 2 weeks
|
239238 |
13-Aug-2012 |
hselasky |
Rename new IOCTL to singular form of the noun "streams".
MFC after: 2 weeks
|
239237 |
13-Aug-2012 |
hselasky |
Improve auto-quirks detection for certain Kingston memory sticks.
MFC after: 2 weeks
|
239215 |
12-Aug-2012 |
hselasky |
Compile fix.
MFC after: 2 weeks
|
239214 |
12-Aug-2012 |
hselasky |
Add support for the so-called streams feature of BULK endpoints in SUPER-speed mode, USB 3.0.
This feature has not been tested yet, due to lack of hardware.
This feature is useful when implementing protocols like UASP, USB attached SCSI which promises higher USB mass storage throughput.
This patch also implements support for hardware processing of endpoints for increased performance. The switching to hardware processing of an endpoint is done via a callback to the USB controller driver. The stream feature is implemented like a variant of a hardware USB protocol.
USB controller drivers implementing device mode needs to be updated to implement the new "xfer_stall" USB controller method and remove the "xfer" argument from the "set_stall" method.
The API's toward existing USB drivers are preserved. To setup a USB transfer in stream mode, set the "stream_id" field of the USB config structure to the desired value.
The maximum number of BULK streams is currently hardcoded and limited to 8 via a define in usb_freebsd.h.
All USB drivers should be re-compiled after this change.
LibUSB will be updated next week to support streams mode. A new IOCTL to setup BULK streams as already been implemented. The ugen device nodes currently only supports stream ID zero.
The FreeBSD version has been bumped.
MFC after: 2 weeks
|
239182 |
10-Aug-2012 |
hselasky |
Style.
MFC after: 2 weeks
|
239181 |
10-Aug-2012 |
hselasky |
Remove unused structure field.
MFC after: 2 weeks
|
239180 |
10-Aug-2012 |
hselasky |
Take advantage of new UCOM and bus functionality so that the device_detach() function doesn't block on UCOM device drivers until the TTY handle is closed by the userspace application. This is implemented by a postpone of the softc free where the UCOM structures reside until the TTY references are gone.
Discussed with: kib, ed MFC after: 2 weeks
|
239179 |
10-Aug-2012 |
hselasky |
Switch unit management in UCOM to unrhdr.
Extend the callback table of UCOM to include a "ucom_free" function pointer which is called when all refs on a UCOM super structure is gone.
Implement various helper functions to handle refcounting and draining on the UCOM super structure.
Implement macro which can be used in device drivers to avoid module unload before all pending TTY references are gone.
The UCOM API is backwards compatible after this change and device drivers require no changes to function with this change. Only a recompilation of UCOM device drivers is required. The FreeBSD version has been bumped in that regard.
Discussed with: kib, ed MFC after: 2 weeks
|
239177 |
10-Aug-2012 |
hselasky |
Style.
MFC after: 2 weeks
|
239176 |
10-Aug-2012 |
hselasky |
Fix spelling.
MFC after: 2 weeks
|
239055 |
05-Aug-2012 |
hselasky |
Update the list of devices supported by the FTDI driver. It might be that the wrong UART reference clock will be used for a few of the IDs. It is currently not possible to figure that out because the Linux FTDI driver detects this run-time and not compile time based on the bcdDevice field of the USB device descriptor. Some of the ID's in usbdevs are not sorted according to the product ID value. Please feel free to fix this. I'm out of my xemacs magic today.
This syncronises us with the linux kernel at kernel.org (HEAD).
MFC after: 2 weeks
|
239050 |
05-Aug-2012 |
hselasky |
Minor style nit: Use the interface number from the USB interface descriptor like in the other USB serial drivers. These numbers are not supposed to be different, though in theory they can. Make sure that the driver then uses the interface number given by the USB descriptor, and not the logical index of the USB stack.
For the future: Whenever the term "index" is used in the USB code, it refers to a number computed by the USB stack. Whenever the term "number" is used in the USB code, it refers to a number in a USB descriptor.
MFC after: 2 weeks
|
239037 |
04-Aug-2012 |
gavin |
Support multiple interface devices. The driver had previously hardcoded support for only the first port, but the CP2105 can have multiple ports. Although this allowed the first port to mostly work on multi port devices, there could be issues with this arrangement.
Update the man page to reflect support for both ports and the CP2105.
Many thanks to Silicon Labs (www.silabs.com) for providing a CP2105-EK dev board for testing.
MFC after: 2 weeks
|
238848 |
27-Jul-2012 |
imp |
Make this compile again. Also note that it is AT91RM9200+KB9202B specific still and needs some love to make it work on anything else.
|
238819 |
27-Jul-2012 |
imp |
Minor style(9) nit.
|
238804 |
26-Jul-2012 |
gavin |
Improve descriptions for several devices supported by uslcom(4). Correct the spelling of the company Telegesis. Move MpMan to the correct location alphabetically.
MFC after: 2 weeks
|
238803 |
26-Jul-2012 |
gavin |
Add support for more devices to uslcom(4). This commit syncronises the list of supported devices with the union of:
NetBSD src/sys/dev/usb/uslsa.c 1.18 OpenBSD src/sys/dev/usb/uslcom.c 1.24 Linux source/drivers/usb/serial/cp210x.c HEAD
Remove duplicate JABLOTRON PC60B entry.
Note that some of the devices added here are multi-port devices. The uslcom(4) driver currently only supports the first port on such devices.
Update the man page to reflect the full list of supported devices. Remove two caveats from the CAVEATS section, as both listed caveats no longer apply. Add a caveat about multi-port devices.
MFC after: 2 weeks
|
238779 |
25-Jul-2012 |
gavin |
Add vendor.product for a mouse I have laying around
|
238778 |
25-Jul-2012 |
gavin |
The baud rate on CP1201/2/3 devices can be set in one of two ways: - The USLCOM_SET_BAUD_DIV command (0x01) - The USLCOM_SET_BAUD_RATE command (0x13)
Devices based on the CP1204 will only accept the latter command, and ignore the former. As the latter command works on all chips that this driver supports, switch to always using it.
A slight confusion here is that the previously used command was incorrectly named USLCOM_BAUD_RATE - even though we no longer use it, rename it to USLCOM_SET_BAUD_DIV to closer match the name used in the datasheet.
This change reflects a similar change made in the Linux driver, which was submitted by preston.fick at silabs.com, and has been tested on all of the uslcom(4) devices I have to hand.
MFC after: 2 weeks
|
238766 |
25-Jul-2012 |
gavin |
Update the list of devices supported by uplcom. Although this only adds one device (support for Motorola cables), this syncronises us with:
OpenBSD src/sys/dev/usb/uplcom.c 1.56 NetBSD src/sys/dev/usb/uplcom.c 1.73 Linux kernel.org HEAD
MFC after: 1 week
|
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@
|
238717 |
23-Jul-2012 |
rea |
u3g: add support for Huawei E392 LTE modem
I am using it rebranded and it carries the label "Megafon" (it is Russian mobile operator); works fine with my 3G network.
Approved by: hselasky
|
238551 |
17-Jul-2012 |
mav |
For Intel Panther/Lynx Point USB 3.0 xHCI controllers enable SuperSpeed USB capability and reroute USB 2.0 ports to the xHCI controller.
Reviewed by: hselasky
|
238529 |
16-Jul-2012 |
hselasky |
Add new USB device ID.
PR: usb/169789 Submitted by: Ruslan Bukin MFC after: 1 week
|
238526 |
16-Jul-2012 |
hselasky |
Add new USB device ID.
PR: usb/169789 MFC after: 1 week
|
238493 |
15-Jul-2012 |
hselasky |
Add new USB device ID.
PR: usb/169789 MFC after: 1 week
|
238466 |
15-Jul-2012 |
rpaulo |
The JP1082 device doesn't respond to the MII_BMSR command and it turns out that it has an unusable PHY. It still works, although very slowly, without a PHY, so I implemented non-PHY support in the udav driver.
|
238361 |
11-Jul-2012 |
hrs |
Merge from r234532:
- Fix an ifname matching issue which prevented "ifconfig wlan0 create" from working. - Return non-zero status when unit < 0.
Spotted by: dhw
|
238279 |
09-Jul-2012 |
hrs |
Make usbusN logging pseudo-interface used by usbdump(8) clonable. One is now created/destroyed automatically by usbdump(8).
Note that "hw.usb.no_pf" loader tunable is now obsolete.
Reviewed by: hselasky
|
238274 |
09-Jul-2012 |
hrs |
- Add support of the following USB devices to run(4):
* Logitec LAN-W150N/U2 * Buffalo WLI-UC-GNM2
- Add device id of Planex GW-USValue-EZ.
|
238079 |
03-Jul-2012 |
hselasky |
Add new USB device ID.
Submitted by: Erich Dollansky MFC after: 1 week
|
238078 |
03-Jul-2012 |
hselasky |
Add more quirks for USB mass storage adapters.
Submitted by: Erich Dollansky MFC after: 1 week
|
238015 |
02-Jul-2012 |
mav |
Add IDs for some USB controllers I have around. Just a cosmetics.
MFC after: 3 days
|
237236 |
18-Jun-2012 |
marius |
Refine r237102 a bit: - Anounce JTAG interfaces deliberately skipped. - Bring back empty lines too eagerly removed.
MFC after: 3 days
|
237102 |
14-Jun-2012 |
marius |
- Add support for the FT2232 based egnite Turtelizer 2 JTAG/RS232 Adapter. This includes adding support for skipping FTDI interfaces used for JTAG leaving them for userland and just attaching to the RS232 half, similarly to how the corresponding Linux drivers handles these kind of adapters. While at it, sort uftdi_devs and return BUS_PROBE_SPECIFIC (because uftdi_probe() alters the instance variables for better or worse as do other probe routines of USB drivers) instead of 0. - Remove duplicated entries for BeagleBone. - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers. - Remove some stray lines.
MFC after: 3 days
|
237079 |
14-Jun-2012 |
hselasky |
Add more quirks for USB MIDI adapters.
Obtained from: Clemens Ladisch MFC after: 1 week
|
236439 |
02-Jun-2012 |
hselasky |
Add appropriate checks for ic_bsschan being set to IEEE80211_CHAN_ANYC in some of the USB WLAN drivers. This fixes a panic when using monitor mode.
MFC after: 1 week Submitted by: PseudoCylon
|
236407 |
01-Jun-2012 |
hselasky |
Improve support for detaching kernel drivers on a per interface basis.
MFC after: 1 week
|
236120 |
26-May-2012 |
raj |
Import EHCI attachment driver for Freescale integrated controller.
Obtained from: Freescale, Semihalf. Written by: Michal Dubiel
|
236073 |
26-May-2012 |
marius |
Make the VIA workaround application somewhat more consistent with the ATI one.
|
236070 |
26-May-2012 |
marius |
Consistently use USB_PAGE_SIZE. Currently, this is cosmetic.
MFC after: 3 days
|
236069 |
26-May-2012 |
marius |
Make the VIA workaround actually do its intended job.
MFC after: 3 days
|
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
|
235510 |
16-May-2012 |
mav |
HID Report ID is unsigned value, so clear the rest of bits from possible sign expansion.
|
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
|
235255 |
11-May-2012 |
marius |
- Change the module order of these MAC drivers to be last so they are deterministically handled after the corresponding PHY drivers when loaded as modules. Otherwise, when these MAC/PHY driver pairs are compiled into a single module probing the PHY driver may fail. This makes r151438 and r226154 actually work. [1] Reported and tested by: yongari (fxp(4)) - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers.
Submitted by: jhb [1] MFC after: 3 days
|
234961 |
03-May-2012 |
hselasky |
Make sure the EHCI bandwidth allocation algorithm for FULL speed SPLIT transactions works fully.
MFC after: 1 week
|
234803 |
29-Apr-2012 |
hselasky |
Add support for Multi-TT mode of modern USB HUBs. This will give you more bandwidth for isochronous FULL speed applications connected through a High Speed HUB.
This patch has been tested with XHCI and EHCI.
MFC after: 1 week
|
234541 |
21-Apr-2012 |
kevlo |
Add support for the SIMCom SIM5218, tested by me.
|
234418 |
18-Apr-2012 |
thomas |
Fix typo in comment
|
233774 |
02-Apr-2012 |
hselasky |
Fix compiler warnings, mostly signed issues, when USB modules are compiled with WARNS=9.
MFC after: 1 weeks
|
233771 |
02-Apr-2012 |
hselasky |
Add definitions and structures for USB 2.0 Link Power Management, LPM.
MFC after: 2 weeks
|
233283 |
21-Mar-2012 |
bschmidt |
Load the firmware during init not attach, as a root filesystem might not yet be available. While here, also print the firmware version.
Submitted by: PseudoCylon MFC after: 3 days
|
232684 |
08-Mar-2012 |
hselasky |
Add new USB device IDs.
PR: usb/165815 MFC after: 1 week
|
232539 |
05-Mar-2012 |
hselasky |
Fix for DWC OTG interrupt register programming. Fix a compiler warning. Add missing header file.
MFC after: 1 week
|
232448 |
03-Mar-2012 |
hselasky |
Make sure that the USB system suspend event is executed synchronously and not asynchronously. This fixes problems related to USB system suspend and resume. It is assumed that we are always allowed to sleep from the device_suspend() method.
MFC after: 1 week Submitted by: jkim
|
232361 |
01-Mar-2012 |
hselasky |
Style change: Expand redundant #if's. Remove a couple of empty lines.
MFC after: 1 week
|
232358 |
01-Mar-2012 |
hselasky |
Close a detach race. Make sure all pending CCB's get canceled at device detach.
MFC after: 1 week
|
232257 |
28-Feb-2012 |
kevlo |
Add support for the MCS7832
Obtained from: OpenBSD
|
231713 |
14-Feb-2012 |
hselasky |
Add new USB device ID.
MFC after: 3 days PR: usb/165154
|
231378 |
10-Feb-2012 |
ed |
Remove direct access to si_name.
Code should just use the devtoname() function to obtain the name of a character device. Also add const keywords to pieces of code that need it to build properly.
MFC after: 2 weeks
|
230643 |
28-Jan-2012 |
attilio |
Avoid to check the same cache line/variable from all the locking primitives by breaking stop_scheduler into a per-thread variable. Also, store the new td_stopsched very close to td_*locks members as they will be accessed mostly in the same codepaths as td_stopsched and this results in avoiding a further cache-line pollution, possibly.
STOP_SCHEDULER() was pondered to use a new 'thread' argument, in order to take advantage of already cached curthread, but in the end there should not really be a performance benefit, while introducing a KPI breakage.
In collabouration with: flo Reviewed by: avg MFC after: 3 months (or never) X-MFC: r228424
|
230424 |
21-Jan-2012 |
hselasky |
Add support for the DesignWare USB 2.0 OTG controller chipset. Currently the code is not built by any modules. That will be fixed later. The Atmel ARM bus interface file part of this commit is just for sake of example. All registers and bits are declared like macros and not C-structures like in official Synopsis header files. This driver mostly origins from the musb_otg.c driver in FreeBSD except that the chip specific programming has been replaced by the one for DWC 2.0 USB OTG. Some parts related to system suspend and resume have been left like empty functions for the future. USB suspend and resume is fully supported.
|
230333 |
19-Jan-2012 |
hselasky |
Add support for new USB device.
PR: usb/164275 MFC after: 3 days
|
230242 |
16-Jan-2012 |
stas |
- Add ID for the BeagleBone FTDI serial over usb port.
MFC after: 3 days
|
230238 |
16-Jan-2012 |
hselasky |
Add support for more USB devices.
Submitted by: pav @ MFC after: 1 week
|
230209 |
16-Jan-2012 |
hselasky |
Export ttyname instead of ttyunit via the sysctl interface.
Submitted by: Mykhaylo Yehorov PR: usb/164090 MFC after: 1 week
|
230204 |
16-Jan-2012 |
hselasky |
Export information about USB serial port unit and port numbers directly via the sysctl interface.
Submitted by: Mykhaylo Yehorov PR: usb/164090 MFC after: 1 week
|
230179 |
15-Jan-2012 |
kientzle |
BeagleBone uses an FTDI chip with an altered Product ID.
|
230132 |
15-Jan-2012 |
uqs |
Convert files to UTF-8
|
230091 |
13-Jan-2012 |
hselasky |
Improve support for USB 3.0 HUBs. In certain states we should do a warm reset instead of the default reset.
MFC after: 5 days
|
230090 |
13-Jan-2012 |
hselasky |
Bugfix: Make sure the XHCI driver doesn't clear the route string field. Else USB 3.0 HUBs won't work.
MFC after: 5 days
|
230050 |
13-Jan-2012 |
hselasky |
Correct use of USB 3.0 POWER bit in the port status register, hence it was overlapping the USB 3.0 root HUB's speed bits.
Reported by: Kohji Okuno MFC after: 1 week
|
230032 |
12-Jan-2012 |
hselasky |
- Try to fix support for USB 3.0 HUBs. - Try to fix support for USB 3.0 suspend and resume.
MFC after: 1 week
|
229767 |
07-Jan-2012 |
kevlo |
ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again
Reviewed by: yongari
|
229317 |
02-Jan-2012 |
hselasky |
Make sure we probe and attach the root HUB after resume else no devices will appear again.
MFC after: 1 day
|
229086 |
31-Dec-2011 |
hselasky |
Add missing change to XHCI driver similar to changes in r228483.
MFC after: 0 days
|
228854 |
24-Dec-2011 |
gonzo |
- Enable usbus on octusb
|
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
|
228760 |
21-Dec-2011 |
avg |
adapt usb transfer code for SCHEDULER_STOPPED
When SCHEDULER_STOPPED() is true the mtx_owned() call may return an unexpected and thus meaningless result. So, in the code paths that can be reached when SCHEDULER_STOPPED() is true we need to protect the mtx_owned() calls with the SCHEDULER_STOPPED() checks and ensure that an appropriate branch is taken in each case.
Reviewed by: hselasky MFC after: 3 months X-MFC after: r228424
|
228758 |
21-Dec-2011 |
hselasky |
Fix for race against user-space applications trying to change the configuration on USB HUBs.
PR: kern/163091 MFC after: 1 week
|
228723 |
19-Dec-2011 |
hselasky |
Make the recently added "no_shutdown_wait" sysctl writeable.
Suggested by: avg @ MFC after: 3 days
|
228711 |
19-Dec-2011 |
hselasky |
Add code to wait for USB shutdown to be executed at system shutdown. Add sysctl which can be used to skip this waiting.
MFC after: 3 days
|
228709 |
19-Dec-2011 |
hselasky |
Add missing unlock of USB controller's lock, when doing shutdown, suspend and resume.
Suggested by: avg @ MFC after: 3 days
|
228637 |
17-Dec-2011 |
kevlo |
Another axe(4), found in ASUS zenbook.
|
228631 |
17-Dec-2011 |
avg |
kern cons: introduce infrastructure for console grabbing by kernel
At the moment grab and ungrab methods of all console drivers are no-ops.
Current intended meaning of the calls is that the kernel takes control of console input. In the future the semantics may be extended to mean that the calling thread takes full ownership of the console (e.g. console output from other threads could be suspended).
Inspired by: bde MFC after: 2 months
|
228621 |
17-Dec-2011 |
bschmidt |
Fix some net80211 enum nits: - ic_vap_create() uses an ieee80211_opmode argument - ieee80211_rate2media() takes an ieee80211_phymode argument - ieee80211_plcp2rate() takes an ieee80211_phytype argument - cast to enum ieee80211_protmode and ieee80211_roamingmode to silence compiler warnings
Submitted by: arundel@
|
228508 |
14-Dec-2011 |
hselasky |
Improve fix for random USB transfer time out.
Suggested by: YougHyeon MFC after: 3 days
|
228494 |
14-Dec-2011 |
hselasky |
Fix for random USB transfer time out.
Submitted by: PseudoCylon MFC after: 3 days
|
228493 |
14-Dec-2011 |
hselasky |
Fix definition of XHCI port power bit.
Reported by: Kohji Okuno MFC after: 3 days
|
228483 |
14-Dec-2011 |
hselasky |
Implement better support for USB controller suspend and resume.
This patch should remove the need for kldunload of USB controller drivers at suspend and kldload of USB controller drivers at resume.
This patch also fixes some build issues in avr32dci.c
MFC after: 2 weeks
|
228304 |
06-Dec-2011 |
hselasky |
Correct some bInterval USB template descriptor values.
MFC after: 3 days
|
228303 |
06-Dec-2011 |
hselasky |
Fix compile warning when using clang to compile the code.
Submitted by: arundel @ MFC after: 3 days
|
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@
|
228232 |
03-Dec-2011 |
hselasky |
Fix a compile warning with clang.
Reported by: arundel @ MFC after: 3 days
|
228195 |
02-Dec-2011 |
kevlo |
Fix checks for error return from urtw_alloc_rx_data_list() and urtw_alloc_tx_data_list().
|
228056 |
28-Nov-2011 |
hselasky |
This commit marks the beginning of a new internal USB transfer statemachine. This work is about using a single state variable instead of multiple state bits as input for the USB statemachine to determine what to do in the various parts of the code. No APIs towards USB device drivers or USB host controller drivers will be changed.
MFC after: 1 month
|
227908 |
23-Nov-2011 |
marius |
Use DEVMETHOD_END.
|
227849 |
22-Nov-2011 |
hselasky |
Rename device_delete_all_children() into device_delete_children().
Suggested by: jhb @ and marius @ MFC after: 1 week
|
227843 |
22-Nov-2011 |
marius |
- There's no need to overwrite the default device method with the default one. Interestingly, these are actually the default for quite some time (bus_generic_driver_added(9) since r52045 and bus_generic_print_child(9) since r52045) but even recently added device drivers do this unnecessarily. Discussed with: jhb, marcel - While at it, use DEVMETHOD_END. Discussed with: jhb - Also while at it, use __FBSDID.
|
227781 |
21-Nov-2011 |
hselasky |
Add new USB IDs to RUN driver.
PR: usb/162712 MFC after: 1 week
|
227751 |
20-Nov-2011 |
miwi |
- Add support for Add LOGITECH Webcam C100 - While here whitespace fixes
PR: usb/161559 Submitted by: Sergey Zaykov <mail_of_sergey@mail.ru> Reviewed by: hselasky Approved by: hselasky, rwatson (mentor)
|
227706 |
19-Nov-2011 |
hselasky |
Simplify the usb_pause_mtx() function by factoring out the generic parts to the kernel's pause() function. The pause() function can now be used when cold != 0. Also assert that the timeout in system ticks must be positive.
Suggested by: Bruce Evans MFC after: 1 week
|
227701 |
19-Nov-2011 |
hselasky |
Move the device_delete_all_children() function from usb_util.c to kern/subr_bus.c. Simplify this function so that it no longer depends on malloc() to execute. Identify a few other places where it makes sense to use device_delete_all_children().
MFC after: 1 week
|
227654 |
18-Nov-2011 |
hselasky |
Make some XHCI command timeouts less strict.
Reported by: Jan Henrik Sylvester MFC after: 1 week
|
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
|
227541 |
15-Nov-2011 |
hselasky |
Some brands of XHCI controllers needs more time to reset.
Reported by: Jan Henrik Sylvester MFC after: 1 week
|
227463 |
12-Nov-2011 |
hselasky |
- This patch adds custom IOCTLs to read and write the 4 GPIO pins on the cp2103 usb-to-serial chip. - This patch also makes the line status polling asynchronous, to reduce the time needed to change the GPIO pins.
Submitted by: JD Louw MFC after: 1 week
|
227462 |
12-Nov-2011 |
hselasky |
Enable power save mode for the USB storage device driver.
MFC after: 1 week
|
227461 |
12-Nov-2011 |
hselasky |
Style change. - Make it easier to port the USB code to other platforms by only using one set of memory functions for clearing and copying memory. None of the memory copies are overlapping. This means using bcopy() is not required. - Fix a compile warning when USB_HAVE_BUSDMA=0 - Add missing semicolon in avr32dci. - Update some comments.
MFC after: 1 week
|
227401 |
09-Nov-2011 |
hselasky |
Fix size of USB 3.0 descriptor field.
MFC after: 3 days
|
227396 |
09-Nov-2011 |
hselasky |
Fix size of USB 3.0 descriptor field.
MFC after: 3 days
|
227383 |
09-Nov-2011 |
hselasky |
Some minor corrections to a modem driver.
PR: usb/162307 MFC after: 3 days
|
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.
|
227286 |
06-Nov-2011 |
hselasky |
Fix build breakage for 8-stable and older.
MFC after: 0 days
|
227285 |
06-Nov-2011 |
hselasky |
Add support for new USB modem protocol.
PR: usb/159919 MFC after: 1 week
|
227108 |
05-Nov-2011 |
hselasky |
Implement support for modem control lines. Don't short terminate transmitted BULK data. Assume that the chip reads one USB packet at a time.
PR: usb/162307 MFC after: 3 days
|
227075 |
04-Nov-2011 |
hselasky |
Fix for panic at USB controller attach failure during cold boot.
Reported by: Jan Henrik Sylvester, Xin LI and more. MFC after: 3 days
|
226903 |
29-Oct-2011 |
hselasky |
Improve USB mass storage quirk auto detection.
MFC after: 3 days
|
226803 |
26-Oct-2011 |
hselasky |
Fix suspend and resume of FULL and HIGH speed USB devices in the generic XHCI driver. There appears to be some minor logic missing for this feature to work.
MFC after: 3 days
|
226743 |
25-Oct-2011 |
yongari |
Implement TX/RX checksum offloading support for ASIX AX88772B controller.
AX88772B data sheet does not show detailed information about checksum offloading related things. It seems the controller has lots of options to support checksum offloading but I failed to understand why this feature requires so much complex controller configuration and status bits. One of major difference between AX88772B and its predecessor is AX88772B uses a new RX header format when RX checksum offloading is enabled. It also requires the received length of a frame should be multiple of 4. Controller will pad necessary bytes to make the length of received frame to be multiple of 4. It is driver's responsibility to offset this pad bytes. Note, AX88772B could be configured to get partial checksum value in in RX header. This mode uses different RX header format and currently we don't use that fature.
This change makes axe(4) use driver specific MII attach handler to override uether(9)'s default MII attach and announce flow-control capability for AX88178/AX88772A/AX88772B to PHY drivers. It seems original AX88772 also supports flow-control but I didn't enable it due to lack of test/access to the controller. The flow-control threshold parameter is loaded from EEPROM and there is no way to override this value without reprogramming EEPROM. For AX88772B, TX/RX IP/TCP/UDP checksum offloading is announced to network stack. IPv6 and PPPoE checksum offloading is also supported by controller but we have no way to take advantage of these features. Driver already knows PHY address so make PHY driver know that information and remove unnecessary PHY address check used in miibus_readreg/miibus_writereg callbacks. Also announce AX88178, AX88772A and AX88772B support VLAN over-sized frame.
While I'm here clean up headers and remove axe_start() in axe_init() because the link wouldn't be available right after media change.
|
226709 |
24-Oct-2011 |
yongari |
This change makes it possible to define driver specific attach handler such that driver can announce interface capabilities and can do its own MII attach. Currently all USB ethernet controllers have no way to establish a link with pause capabilities. Lack of checksum offloading support also was one of reason to bring this change in.
This change adds a couple of wrappers to USB ethernet drivers (uether_ifmedia_upd, uether_init and uether_start). All exported functions in uether has prefix uether_ so I think it's more consistent to have wrappers that follow the convention. This change preserves ABI/KPI so it should be safe to merge this change to stable/8.
While I'm here add missing __FBSDID and clean up headers.
Reviewed by: hselasky
|
226534 |
19-Oct-2011 |
hselasky |
Add new USB IDs to RUN driver. Update usb.conf.
PR: usb/161798 MFC after: 3 days
|
226479 |
17-Oct-2011 |
yongari |
Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. Because driver is accessing a common MII structure in mii_pollstat(), updating user supplied structure should be done before dropping a driver lock.
Reported by: Karim (fodillemlinkarimi <> gmail dot com)
|
226467 |
17-Oct-2011 |
bz |
Fix build after r226465. Cast void * to char * for arithmetics and make function return "no error".
MFC after: 3 days
|
226465 |
17-Oct-2011 |
adrian |
Fix an issue with 11g beacon frames which looks to be a limitation on the largest multi-write size.
From the submitter:
== I looked further into the magic 88-byte threshold after which the bug occurs. It turns out that figure included the 24-byte tx_desc, and up to 64 bytes of beacon frame (header+data).
rum_write_multi doesn't seem happy with writing >64 bytes at a time to the MAC register. If I break it up into separate calls (e.g. bytes 0-63, then bytes 64-65, written at the appropriate offset) I see the proper beacon frames being transmitted now. ==
Submitted by: Steven Chamberlain <steven@pyro.eu.org> MFC after: 3 days
|
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
|
226219 |
10-Oct-2011 |
hselasky |
Bugfix: The ucom detach function is sometimes called on zeroed structures. Check for this case and just return, so that the UCOM unit number zero is not accidentially freed.
Submitted by: Danish FreeBSD user at EuroBSDcon 2011 MFC after: 3 days
|
226154 |
08-Oct-2011 |
marius |
- Follow the lead of dcphy(4) and pnphy(4) and move the reminder of the PHY drivers that only ever attach to a particular MAC driver, i.e. inphy(4), ruephy(4) and xlphy(4), to the directory where the respective MAC driver lives and only compile it into the kernel when the latter is also there, also removing it from miibus.ko and moving it into the module of the respective MAC driver. - While at it, rename exphy.c, which comes from NetBSD where the MAC driver it corresponds to also is named ex(4) instead of xl(4) but that in FreeBSD actually identifies itself as xlphy(4), and its function names accordingly for consistency. - Additionally while at it, fix some minor style issues like whitespace in the register headers and add multi-inclusion protection to inphyreg.h.
|
225950 |
03-Oct-2011 |
ken |
Add descriptor sense support to CAM, and honor sense residuals properly in CAM.
Desriptor sense is a new sense data format that originated in SPC-3. Among other things, it allows for an 8-byte info field, which is necessary to pass back block numbers larger than 4 bytes.
This change adds a number of new functions to scsi_all.c (and therefore libcam) that abstract out most access to sense data.
This includes a bump of CAM_VERSION, because the CCB ABI has changed. Userland programs that use the CAM pass(4) driver will need to be recompiled.
camcontrol.c: Change uses of scsi_extract_sense() to use scsi_extract_sense_len().
Use scsi_get_sks() instead of accessing sense key specific data directly.
scsi_modes: Update the control mode page to the latest version (SPC-4).
scsi_cmds.c, scsi_target.c: Change references to struct scsi_sense_data to struct scsi_sense_data_fixed. This should be changed to allow the user to specify fixed or descriptor sense, and then use scsi_set_sense_data() to build the sense data.
ps3cdrom.c: Use scsi_set_sense_data() instead of setting sense data manually.
cam_periph.c: Use scsi_extract_sense_len() instead of using scsi_extract_sense() or accessing sense data directly.
cam_ccb.h: Bump the CAM_VERSION from 0x15 to 0x16. The change of struct scsi_sense_data from 32 to 252 bytes changes the size of struct ccb_scsiio, but not the size of union ccb. So the version must be bumped to prevent structure mis-matches.
scsi_all.h: Lots of updated SCSI sense data and other structures.
Add function prototypes for the new sense data functions.
Take out the inline implementation of scsi_extract_sense(). It is now too large to put in a header file.
Add macros to calculate whether fields are present and filled in fixed and descriptor sense data
scsi_all.c: In scsi_op_desc(), allow the user to pass in NULL inquiry data, and we'll assume a direct access device in that case.
Changed the SCSI RESERVED sense key name and description to COMPLETED, as it is now defined in the spec.
Change the error recovery action for a number of read errors to prevent lots of retries when the drive has said that the block isn't accessible. This speeds up reconstruction of the block by any RAID software running on top of the drive (e.g. ZFS).
In scsi_sense_desc(), allow for invalid sense key numbers. This allows calling this routine without checking the input values first.
Change scsi_error_action() to use scsi_extract_sense_len(), and handle things when invalid asc/ascq values are encountered.
Add a new routine, scsi_desc_iterate(), that will call the supplied function for every descriptor in descriptor format sense data.
Add scsi_set_sense_data(), and scsi_set_sense_data_va(), which build descriptor and fixed format sense data. They currently default to fixed format sense data.
Add a number of scsi_get_*() functions, which get different types of sense data fields from either fixed or descriptor format sense data, if the data is present.
Add a number of scsi_*_sbuf() functions, which print formatted versions of various sense data fields. These functions work for either fixed or descriptor sense.
Add a number of scsi_sense_*_sbuf() functions, which have a standard calling interface and print the indicated field. These functions take descriptors only.
Add scsi_sense_desc_sbuf(), which will print a formatted version of the given sense descriptor.
Pull out a majority of the scsi_sense_sbuf() function and put it into scsi_sense_only_sbuf(). This allows callers that don't use struct ccb_scsiio to easily utilize the printing routines. Revamp that function to handle descriptor sense and use the new sense fetching and printing routines.
Move scsi_extract_sense() into scsi_all.c, and implement it in terms of the new function, scsi_extract_sense_len(). The _len() version takes a length (which should be the sense length - residual) and can indicate which fields are present and valid in the sense data.
Add a couple of new scsi_get_*() routines to get the sense key, asc, and ascq only.
mly.c: Rename struct scsi_sense_data to struct scsi_sense_data_fixed.
sbp_targ.c: Use the new sense fetching routines to get sense data instead of accessing it directly.
sbp.c: Change the firewire/SCSI sense data transformation code to use struct scsi_sense_data_fixed instead of struct scsi_sense_data. This should be changed later to use scsi_set_sense_data().
ciss.c: Calculate the sense residual properly. Use scsi_get_sense_key() to fetch the sense key.
mps_sas.c, mpt_cam.c: Set the sense residual properly.
iir.c: Use scsi_set_sense_data() instead of building sense data by hand.
iscsi_subr.c: Use scsi_extract_sense_len() instead of grabbing sense data directly.
umass.c: Use scsi_set_sense_data() to build sense data.
Grab the sense key using scsi_get_sense_key().
Calculate the sense residual properly.
isp_freebsd.h: Use scsi_get_*() routines to grab asc, ascq, and sense key values.
Calculate and set the sense residual.
MFC after: 3 days Sponsored by: Spectra Logic Corporation
|
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.
|
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
|
225695 |
20-Sep-2011 |
hselasky |
Avoid starting the USB transfer if an error is already pending. This change fixes a race in device side mode during clear-stall from host, which can cause data to be sent too early on the given endpoint.
Approved by: re (kib) MFC after: 1 week
|
225617 |
16-Sep-2011 |
kmacy |
In order to maximize the re-usability of kernel code in user space this patch modifies makesyscalls.sh to prefix all of the non-compatibility calls (e.g. not linux_, freebsd32_) with sys_ and updates the kernel entry points and all places in the code that use them. It also fixes an additional name space collision between the kernel function psignal and the libc function of the same name by renaming the kernel psignal kern_psignal(). By introducing this change now we will ease future MFCs that change syscalls.
Reviewed by: rwatson Approved by: re (bz)
|
225556 |
14-Sep-2011 |
hselasky |
Reduce USB memory usage during enumeration.
We are allocating some kilobytes of extra memory during USB device enumeration. This does not change alot under FreeBSD, but makes sense for various embedded operating systems using the FreeBSD USB stack, which have less memory resources available.
Approved by: re (kib) 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
|
225400 |
05-Sep-2011 |
hselasky |
Some USB mass storage devices requires that the sense information is retrieved after a failed SCSI command to continue normal operation. Else this sense information is retrived at the next SCSI command.
Approved by: re (kib) Reported by: Alex Kozlov MFC after: 1 week PR: usb/160299
|
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
|
225041 |
20-Aug-2011 |
hselasky |
Add new USB ID to u3g driver.
Approved by: re (kib) MFC after: 1 week PR: usb/159919
|
225038 |
20-Aug-2011 |
hselasky |
Fix for recursive locking in usb_close() after change 224777.
Approved by: re (kib) MFC after: 3 days Reported by: kwm @
|
225037 |
20-Aug-2011 |
hselasky |
Add new USB ID.
Approved by: re (kib) MFC after: 1 week PR: usb/159836
|
225000 |
19-Aug-2011 |
hselasky |
Add sysctl to not reset the device on clear stall failures, to temporarily mitigate problems with VMs.
Approved by: re (kib) MFC after: 1 week
|
224777 |
11-Aug-2011 |
hselasky |
Use synchronous device destruction instead of asynchronous, so that a new device having the same name like a previous one is not created before the old one is gone. This fixes some panics due to asserts in the devfs code which were added recently.
Approved by: re (kib) MFC after: 1 week
|
224728 |
09-Aug-2011 |
mav |
Do not block zero report ID. It is correct value for devices with single ID. This fixes USB_SET_IMMED call (synchronous operation) of the uhid(4) driver on devices with single report ID.
Reviewed by: hselasky Approved by: re (kib) MFC after: 1 week
|
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)
|
224239 |
21-Jul-2011 |
hselasky |
Add new USB ID to u3g driver.
Approved by: re (kib) Submitted by: Nick Hibma MFC after: 3 days
|
224180 |
18-Jul-2011 |
hselasky |
Only the USB root HUB thread is allowed to attach and detach drivers to and from USB devices. Remove related DEVMETHOD() lines from USB drivers.
Reported by: YongHyeon PYUN MFC after: 3 days
|
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.
|
224095 |
16-Jul-2011 |
hselasky |
Fix for VirtualBox 4.x and other virtual machines that fail to generate a port reset change event.
MFC after: 1 weeks
|
224020 |
14-Jul-2011 |
yongari |
Add initial support for AX88772B USB Fast Ethernet. AX88772B supports IPv4/IPv6 checksum offloading and VLAN tag insertion/ stripping as well as WOL. Because uether does not provide a way to announce driver specific offload capabilities to upper stack, checksum offloading support needs more work and will be done in future. Special thanks to ASIX for donating sample hardware.
H/W donated by: ASIX Electronics Reviewed by: hselasky
|
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
|
223896 |
09-Jul-2011 |
hselasky |
Remove reviewed line from copyright header.
Suggested by: joel @
|
223864 |
08-Jul-2011 |
hselasky |
Add new USB 3G driver.
Submitted by: PseudoCylon <moonlightakkiy@yahoo.ca> MFC after: 14 days
|
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
|
223741 |
03-Jul-2011 |
bz |
Tag mbufs of all incoming frames or packets with the interface's FIB setting (either default or if supported as set by SIOCSIFFIB, e.g. from ifconfig).
Submitted by: Alexander V. Chernikov (melifaro ipfw.ru) Reviewed by: julian MFC after: 2 weeks
|
223736 |
03-Jul-2011 |
hselasky |
Introduce a quirk for broken USB MIDI hardware instead of limiting performance in general.
MFC after: 1 week
|
223728 |
02-Jul-2011 |
hselasky |
Fix for "nomatch" event for ums and ukbd drivers when uhid is loaded.
MFC after: 3 days
|
223624 |
28-Jun-2011 |
kevlo |
Remove duplicate header includes
|
223566 |
26-Jun-2011 |
gavin |
The SMCWUSBG is a zyd(4) device, not an uath(4) device. Remove from the latter.
It appears that the addition to uath(4) came in through PR kern/135009, which had tested another device, the SMCWUSBTG2, successfully with uath(4) and included the SMCWUSBG as it "has the same chipset". I can find no other evidence that these two do actually share the same chipset. Moreover, Linux treats the SMCWUSBG as a zyd(4) device also.
This reverts r223537.
Discussed with: hselasky, kevlo MFC after: 1 week
|
223538 |
25-Jun-2011 |
hselasky |
- Export the USB device ID format to userspace tools.
MFC after: 14 days
|
223537 |
25-Jun-2011 |
hselasky |
- Remove duplicate USB ID.
MFC after: 3 days
|
223521 |
24-Jun-2011 |
hselasky |
- Export more USB device ID's. - Update bus_auto.conf accordingly.
MFC after: 3 days
|
223515 |
24-Jun-2011 |
hselasky |
- Export more USB device ID's.
MFC after: 3 days
|
223513 |
24-Jun-2011 |
hselasky |
- Ensure that we get all the required nomatch devd events.
MFC after: 3 days
|
223512 |
24-Jun-2011 |
hselasky |
- Move execution of event handlers into the probe and attach function so that dynamically loaded device drivers get a chance to run their event hooks.
- Decouple the USB suspend and resume lock from witness. It produces some false warnings due to reusing the lock name among multiple devices.
MFC after: 3 days
|
223511 |
24-Jun-2011 |
hselasky |
- Export the URIO USB device ID's. - Add checks for configuration and interface index.
MFC after: 3 days
|
223489 |
24-Jun-2011 |
hselasky |
- Add additional information to the PnP info of USB HUBs children which is now required by bus_autoconf. - Allow interface class matching even if device class is vendor specific. - Update bus_autoconf tool to not generate system and subsystem match lines for the nomatch event.
PR: misc/157903 MFC after: 14 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
|
223472 |
23-Jun-2011 |
hselasky |
- Add some comments about the origin of some USB descriptors.
MFC after: 7 days
|
223467 |
23-Jun-2011 |
hselasky |
- Add more USB templates for various USB device classes - Add basic template support for USB 3.0 - Export definition of template sysctl numbers through usb_ioctl.h
MFC after: 7 days
|
223446 |
22-Jun-2011 |
gavin |
Use USB_VENDOR_OVISLINK define rather than the vendor ID.
PR: usb/158142 Submitted by: Robert Millan <rmh debian.org> MFC after: 1 week
|
223288 |
19-Jun-2011 |
hselasky |
Add new USB ID to UDAV driver.
Submitted by: Luiz Gustavo S. Costa <lgcosta@pfsense.org> MFC after: 7 days
|
222790 |
06-Jun-2011 |
hselasky |
Reset clear-stall error counter before setting up the USB control transfers.
MFC after: 14 days
|
222786 |
06-Jun-2011 |
hselasky |
Improve enumeration of Low- and Full-speed devices connected through a High-speed USB HUB by resetting the transaction translator (TT) before trying re-enumeration. Also when clear-stall fails multiple times try a re-enumeration.
Suggested by: Trevor Blackwell MFC after: 14 days
|
222696 |
04-Jun-2011 |
hselasky |
Rename recently added USB serial driver.
Suggested by: YongHyeon PYUN MFC after: 7 days
|
222581 |
01-Jun-2011 |
yongari |
Poke correct GPIO pins for newer axe(4) controllers with Marvell PHY. Newer models seem to use different LED mode that requires enabling both GPIO1 and GPIO2.
Tested by: marcel
|
222578 |
01-Jun-2011 |
hselasky |
Add support for new USB serial driver.
Submitted by: Lev Serebryakov, lev @ 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
|
222018 |
17-May-2011 |
ru |
Renamed PCI_INTERFACE_XHCI to PCIP_SERIALBUS_USB_XHCI and moved it to <dev/pci/pcireg.h>.
Reviewed by: hselasky MFC after: 3 days
|
221883 |
14-May-2011 |
hselasky |
Add new USB ID's.
Submitted by: Jim Bryant MFC after: 3 days
|
221720 |
10-May-2011 |
bms |
Add VID for Simtec Electronics. Add PID for Simtec Electronics EntropyKey, a hardware random number generator.
|
221623 |
08-May-2011 |
hselasky |
Cleanup usb_notify_addq_compat(). It should not be needed any more.
MFC after: 7 days
|
221605 |
07-May-2011 |
hselasky |
Add new USB ID.
Submitted by: Dmitry Luhtionov MFC after: 7 days
|
221407 |
03-May-2011 |
marius |
- Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP (reporting IFM_LOOP based on BMCR_LOOP is left in place though as it might provide useful for debugging). For most mii(4) drivers it was unclear whether the PHYs driven by them actually support loopback or not. Moreover, typically loopback mode also needs to be activated on the MAC, which none of the Ethernet drivers using mii(4) implements. Given that loopback media has no real use (and obviously hardly had a chance to actually work) besides for driver development (which just loopback mode should be sufficient for though, i.e one doesn't necessary need support for loopback media) support for it is just dropped as both NetBSD and OpenBSD already did quite some time ago. - Let mii_phy_add_media() also announce the support of IFM_NONE. - Restructure the PHY entry points to use a structure of entry points instead of discrete function pointers, and extend this to include a "reset" entry point. Make sure any PHY-specific reset routine is always used, and provide one for lxtphy(4) which disables MII interrupts (as is done for a few other PHYs we have drivers for). This includes changing NIC drivers which previously just called the generic mii_phy_reset() to now actually call the PHY-specific reset routine, which might be crucial in some cases. While at it, the redundant checks in these NIC drivers for mii->mii_instance not being zero before calling the reset routines were removed because as soon as one PHY driver attaches mii->mii_instance is incremented and we hardly can end up in their media change callbacks etc if no PHY driver has attached as mii_attach() would have failed in that case and not attach a miibus(4) instance. Consequently, NIC drivers now no longer should call mii_phy_reset() directly, so it was removed from EXPORT_SYMS. - Add a mii_phy_dev_attach() as a companion helper to mii_phy_dev_probe(). The purpose of that function is to perform the common steps to attach a PHY driver instance and to hook it up to the miibus(4) instance and to optionally also handle the probing, addition and initialization of the supported media. So all a PHY driver without any special requirements has to do in its bus attach method is to call mii_phy_dev_attach() along with PHY-specific MIIF_* flags, a pointer to its PHY functions and the add_media set to one. All PHY drivers were updated to take advantage of mii_phy_dev_attach() as appropriate. Along with these changes the capability mask was added to the mii_softc structure so PHY drivers taking advantage of mii_phy_dev_attach() but still handling media on their own do not need to fiddle with the MII attach arguments anyway. - Keep track of the PHY offset in the mii_softc structure. This is done for compatibility with NetBSD/OpenBSD. - Keep track of the PHY's OUI, model and revision in the mii_softc structure. Several PHY drivers require this information also after attaching and previously had to wrap their own softc around mii_softc. NetBSD/OpenBSD also keep track of the model and revision on their mii_softc structure. All PHY drivers were updated to take advantage as appropriate. - Convert the mebers of the MII data structure to unsigned where appropriate. This is partly inspired by NetBSD/OpenBSD. - According to IEEE 802.3-2002 the bits actually have to be reversed when mapping an OUI to the MII ID registers. All PHY drivers and miidevs where changed as necessary. Actually this now again allows to largely share miidevs with NetBSD, which fixed this problem already 9 years ago. Consequently miidevs was synced as far as possible. - Add MIIF_NOMANPAUSE and mii_phy_flowstatus() calls to drivers that weren't explicitly converted to support flow control before. It's unclear whether flow control actually works with these but typically it should and their net behavior should be more correct with these changes in place than without if the MAC driver sets MIIF_DOPAUSE.
Obtained from: NetBSD (partially) Reviewed by: yongari (earlier version), silence on arch@ and net@
|
221199 |
29-Apr-2011 |
kevlo |
Guard against default ni_chan
PR: kern/144642 Submitted by: Arthur Hartwig <a_hartwig at fastmaildot fm>
|
221179 |
28-Apr-2011 |
jhb |
Trim some additional unnecessary <linker_set.h> includes.
MFC after: 1 week
|
221077 |
26-Apr-2011 |
hselasky |
The maximum NCM frame size must be so that it will generate a short terminated USB transfer if the maximum NCM frame size is greater than what the driver can handle.
Reported by: Matthias Benesch MFC after: 7 days Approved by: thompsa (mentor)
|
221073 |
26-Apr-2011 |
hselasky |
Fix for missing EHCI datatoggle change case.
Reported by: Mike Tancsa MFC after: 3 days Approved by: thompsa (mentor)
|
220558 |
12-Apr-2011 |
hselasky |
We don't need to call EOWRITE4(sc, EHCI_USBINTR, 0) directly from each EHCI bus driver at detach, hence ehci_detach() does exactly this since r199718.
Submitted by: Luiz Otavio O Souza MFC after: 7 days Approved by: thompsa (mentor)
|
220535 |
11-Apr-2011 |
mav |
Rework change made at r203146. Instead of reporting all wire errors as SCSI status errors to CAM (that was wrong, as it too often turned retriable wire errors into non-retriable REQUEST SENSE errors), do it only for STALL errors on control pipe of the CBI devices. STALL on control pipe is just a one of the ways to report error for CBI devices.
PR: usb/150401, usb/154593. Reviewed by: hselasky MFC after: 1 week
|
220304 |
03-Apr-2011 |
hselasky |
- Fix for missing event if a libUSB USB transfer is started and stopped rapidly in succession.
Reported by: J.R. Oldroyd MFC after: 7 days Approved by: thompsa (mentor)
|
220303 |
03-Apr-2011 |
hselasky |
- Correct EHCI interrupt disabling at detach.
Submitted by: Luiz Otavio O Souza MFC after: 7 days Approved by: thompsa (mentor)
|
220301 |
03-Apr-2011 |
hselasky |
- Improvements to USB PF solution - Add more fields for USB device and host mode - Add more information to USB PF header so that decoding can easily be done by software analyzer tools like Wireshark. - Optimise usbdump to display USB streams in text format more efficiently. - Software using USB PF must be recompiled after this commit, due to structure changes.
MFC after: 7 days Approved by: thompsa (mentor)
|
220235 |
01-Apr-2011 |
kevlo |
- Minor style(9) cleanup - Make functions static
|
219983 |
25-Mar-2011 |
hselasky |
Fix initialisation order with regard to debug prints.
Reported by: Luiz Otavio O Souza MFC after: 14 days Approved by: thompsa (mentor)
|
219982 |
25-Mar-2011 |
kevlo |
Fix panic while associating access point. While here, add the SMC SMCWUSB-G
|
219949 |
24-Mar-2011 |
hselasky |
Fix typo.
Reported by: Garrett Cooper MFC after: 14 days Approved by: thompsa (mentor)
|
219930 |
23-Mar-2011 |
hselasky |
Comply with style(9).
Reported by: gavin MFC after: 14 days Approved by: thompsa (mentor)
|
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)
|
219845 |
21-Mar-2011 |
hselasky |
- Bugfix: Fix a EHCI hardware race, where the hardware computed data toggle value is updated after that we read it in the queue-head. This patch can fix problems with BULK timeouts. The issue was found on a Nvidia chipset.
MFC after: 14 days Approved by: thompsa (mentor)
|
219395 |
08-Mar-2011 |
hselasky |
- Bugfix: Root HUBs do not support re-enumeration.
MFC after: 14 days Approved by: thompsa (mentor)
|
219257 |
04-Mar-2011 |
daichi |
Add the Buffalo (Melco Inc.) WLI-UC-G301N
PR: usb/155229 Submitted by: Yoshiaki UCHIKAWA MFC after: 1 week
|
219221 |
03-Mar-2011 |
hselasky |
- Remove dependency to ucom from ulpt.
MFC after: 14 days Approved by: thompsa (mentor)
|
219100 |
28-Feb-2011 |
hselasky |
- Add support for software pre-scaling of ISOCHRONOUS transfers.
MFC after: 14 days Approved by: thompsa (mentor)
|
219048 |
26-Feb-2011 |
hselasky |
- Correct USB 3.0 wire-speed to 5.0Gbps
MFC after: 3 days Approved by: thompsa (mentor)
|
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)
|
218909 |
21-Feb-2011 |
brucec |
Fix typos - remove duplicate "the".
PR: bin/154928 Submitted by: Eitan Adler <lists at eitanadler.com> MFC after: 3 days
|
218864 |
19-Feb-2011 |
hselasky |
Add more udav device ID's.
Submitted by: Rick van der Zwet <info@rickvanderzwet.nl> MFC after: 7 days Approved by: thompsa (mentor)
|
218765 |
17-Feb-2011 |
hselasky |
- Fix build of manual page and inclusion of mos driver into kernel config file. - Fix style compliancy by wrapping some long lines in if_mos.c
Approved by: thompsa (mentor)
|
218730 |
16-Feb-2011 |
hselasky |
Fix build breakage in if_mos.c when USB_DEBUG option is set.
Approved by: thompsa (mentor)
|
218729 |
16-Feb-2011 |
hselasky |
Add support for new USB to ethernet controller: Moschip MCS7730/MCS7830
Submitted by: Rick van der Zwet <info@rickvanderzwet.nl> Approved by: thompsa (mentor)
|
218676 |
14-Feb-2011 |
hselasky |
* Fix page fault caused by referring freed node.
While updating Tx stats, already freed node could be referred and cause page fault. To avoid such panic, spool Tx stats in driver's softc. Then, on every ratectl interval, grab node though ieee80211_iterate_nodes() and update ratectl stats.
* Simplify some code in run_iter_func().
* Fix typo
* Use memset instead of bzero (hselasky @)
PR: kern/153938 Submitted by: PseudoCylon <moonlightakkiy@yahoo.ca> Approved by: thompsa (mentor)
|
218492 |
09-Feb-2011 |
bschmidt |
Rework beacon handling re-enable run_updateslot().
Drivers which rely on net80211 to create the beacon need to call ieee80211_beacon_update() on iv_update_beacon() calls. This is required that certain bits, e.g. TIM, get updated. A call to ieee80211_beacon_alloc() is not enough because it does not care about flags which can only change during runtime. By design a beacon is supposed to be allocated only once while moving into RUN state.
To handle all possible calls to iv_update_beacon() the run_updateslot() function has been revived and run_updateprot() has been added. run_updateslot() handles slot time changes and run_updateprot() changes to protection, both can change while nodes associate/leave.
Submitted by: Alexander Zagrebin <alex at zagrebin.ru>, PseudoCylon <moonlightakkiy atyahoo.ca> MFC after: 3 weeks
|
218475 |
09-Feb-2011 |
hselasky |
Minor cleanup: - use device_printf() instead of printf() to give more accurate warnings. - use memcpy() instead of bcopy(). - add missing #if's for non-FreeBSD compilation.
Approved by: thompsa (mentor)
|
218461 |
08-Feb-2011 |
marcel |
Improve the error interrupt handler. In particular, read the error address on a decoding error to unlatch it and to allow us to print a better diagnostics message. This also has the side effect of clearing the condition, which prevents an interrupt storm.
|
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
|
218229 |
03-Feb-2011 |
hselasky |
Fix for detection of MTK 3329 GPS USB devices.
Submitted by: Mykhaylo Yehorov PR: usb/153929 Approved by: thompsa (mentor)
|
218178 |
01-Feb-2011 |
n_hibma |
New ID for the Novatel MC547
PR: 154127 Submitted by: Mike Tancsa MFC after: 1 day
|
218165 |
01-Feb-2011 |
hselasky |
Use correct kernel types for all fields in USB PF code and headers.
Approved by: thompsa (mentor)
|
217793 |
24-Jan-2011 |
hselasky |
Add more sanity checks for USB_HOST_ALIGN input values. Re-factor existing checks for readability.
Approved by: thompsa (mentor)
|
217718 |
22-Jan-2011 |
hselasky |
Allow USB_HOST_ALIGN to be configured at compile time. This patch is necessary for MIPS based RouterStation Pro board and maybe other MIPS based boards as well.
Submitted by: Milan Obuch Approved by: thompsa (mentor)
|
217637 |
20-Jan-2011 |
n_hibma |
Add another ID for the ZTE MF190 Surf Stick
Submitted by: nagilum MFC after: 1 day
|
217558 |
18-Jan-2011 |
hselasky |
Make USB packet filtering code optional.
Approved by: thompsa (mentor)
|
217556 |
18-Jan-2011 |
mdf |
Specify a CTLTYPE_FOO so that a future sysctl(8) change does not need to rely on the format string.
|
217511 |
17-Jan-2011 |
bschmidt |
Pull ieee80211_ratectl_node_init() calls from drivers into net80211. This fixes hostap mode for at least ral(4) and run(4), because there is no sufficient call into drivers which could be used initialize the node related ratectl variables.
MFC after: 3 days
|
217374 |
13-Jan-2011 |
hselasky |
- Add support for 64-byte contexts to XHCI driver. - Remove some dead code. - Fixed one instance of missing endian conversion.
Approved by: thompsa (mentor)
|
217350 |
13-Jan-2011 |
jhb |
Use software interrupt priorities for USB kthreads instead of hardware interrupt priorities.
Reviewed by: hps MFC after: 2 weeks
|
217323 |
12-Jan-2011 |
mdf |
sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly.
Commit the rest of the devices.
|
217274 |
11-Jan-2011 |
gavin |
Improve or fix some comments. No functional change.
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
|
217202 |
09-Jan-2011 |
gavin |
Add support for the Zeagle N2iTion3 Dive Computer to uplcom(4). This brings the list of supported devices in sync with kernel.org git revision f36ecd5de93e4c85a9e3d25100c6e233155b12e5, and OpenBSD uplcom.c r1.54
|
217200 |
09-Jan-2011 |
gavin |
Sync the list of devices supported by uslcom(4) with Linux, bringing in all new devices added between our r211022 and their git revision 93ad03d60b5b18897030038234aa2ebae8234748
Also correct a Foxconn entry.
MFC after: 1 week
|
217072 |
06-Jan-2011 |
jhb |
Remove bogus usage of INTR_FAST. "Fast" interrupts are now indicated by registering a filter handler rather than a threaded handler. Also remove a bogus use of INTR_MPSAFE for a filter.
|
217061 |
06-Jan-2011 |
gavin |
Support the Uniform Industrial Corp (UIC) MSR206 Magnetic Card Reader.
MFC after: 1 week
|
216284 |
08-Dec-2010 |
yongari |
r184610 changed the way how TX frames are handled on AX88178 and AX88772 controllers. ASIX added a new feature for AX88178/AX88772 controllers which allows combining multiple TX frames into a single big frame. This was to overcome one of USB limitation where it can't generate more than 8k interrupts/sec which in turn means USB ethernet controllers can not send more than 8k packets per second. Using ASIX's feature greatly enhanced TX performance(more than 3~4 times) compared to 7.x driver. However it seems r184610 removed boundary checking for buffered frames which in turn caused instability issues under certain conditions. In addition, using ASIX's feature triggered another issue which made USB controller hang under certain conditions. Restarting ethernet controller didn't help under this hang condition and unplugging and replugging the controller was the only solution. I believe there is a silicon bug in TX frame combining feature on AX88178/AX88772 controllers.
To address these issues, reintroduce the boundary checking for both AX88178 and AX88772 after copying a frame to USB buffer and do not use ASIX's multiple frame combining feature. Instead, use USB controller's multi-frame transmit capability to enhance TX performance as suggested by Hans[1]. This should fix a long standing axe(4) instability issues reported on AX88772 and AX88178 controllers. While I'm here remove unnecessary TX frame length check since upper stack always guarantee the size of a frame to be less than MCLBYTES.
Special thanks to Derrick Brashear who tried numerous patches during last 4 months and waited real fix with patience. Without this enthusiastic support, patience and H/W donation I couldn't fix it since I was not able to trigger the issue on my box.
Suggested by: hselasky [1] Tested by: Derrick Brashear (shadow <> gmail dot com> H/W donated by: Derrick Brashear (shadow <> gmail dot com> PR: usb/140883
|
216267 |
07-Dec-2010 |
weongyo |
Introduces IFF_CANTCONFIG interface flag to point that the interface isn't configurable in a meaningful way. This is for ifconfig(8) or other tools not to change code whenever IFT_USB-like interfaces are registered at the interface list.
Reviewed by: brooks No objections: gavin, jkim
|
216249 |
07-Dec-2010 |
hselasky |
Re-add a status check which sneaked out during r214804. This change can fix some USB error messages showing up during bootup.
MFC after: 3 days Approved by: thompsa (mentor)
|
216091 |
01-Dec-2010 |
weongyo |
Explicitly UP and DOWN the usbus interfaces (IFT_USB) when it's attached or detached. Normally it should be changed through user land ioctl(2) system calls but it looks there's no apps for USB and no need.
With this patch, libpcap would detect the usbus interfaces correctly and tcpdump(1) could dump the USB packets into PCAP format with -w option. However it couldn't print the output to console because there's no printer-routine at tcpdump(1).
|
216072 |
30-Nov-2010 |
hselasky |
We need to define a cdev variable associated with each USB device, hence existing applications like webcamd are expecting that. This problem was introduced by SVN change 214221 where cdev= was replaced by ugen= by accident. Solve this problem by redefining cdev= in devd notifications.
MFC after 3 days.
Approved by: thompsa (mentor)
|
216057 |
29-Nov-2010 |
sanpei |
Add new device ids. Buffalo (Melco Inc.) WLI-UC-G
PR: 141777
|
216045 |
29-Nov-2010 |
gavin |
Support the Falcom Twist USB GSM/GPRS modem in uftdi(4)
PR: usb/151862 Submitted by: Alessandro de Manzano <demanzano dqmicro.it> MFC after: 1 week
|
215969 |
28-Nov-2010 |
yongari |
Add initial AX88772A support.
H/W donated by: Derrick Brashear (shadow <> gmail dot com)
|
215968 |
28-Nov-2010 |
yongari |
Introduce new macro AXE_IS_178_FAMILY and AXE_IS_772. Include AX88772A and AX88772B for future extension. While here add TX buffer size for 178 family controllers.
|
215966 |
28-Nov-2010 |
yongari |
Do full controller initialization in axe_reset() for controllers that require special configuration from EEPROM. This will put controllers into known sane state.
|
215964 |
28-Nov-2010 |
yongari |
Make sure to change to currently selected media.
|
215963 |
28-Nov-2010 |
yongari |
Do not reinitialize controller if it's already running.
|
215962 |
28-Nov-2010 |
yongari |
Move axe_reset() to axe_init().
|
215960 |
28-Nov-2010 |
yongari |
Apply GPIO configuration for all CICADA PHYs. While I'm here show selected phymode to ease of debugging.
|
215846 |
25-Nov-2010 |
weongyo |
Removes a unused function `usb_bus_find'.
|
215812 |
25-Nov-2010 |
weongyo |
Handles the unit number correctly that the previous commit had a problem (wrong unit number for a host controller) when the module is load / unloaded repeatly. Attaching the USB pf is moved to usbus device's attach.
Pointed by: yongari
|
215810 |
25-Nov-2010 |
weongyo |
Assigning the unit number for each interfaces could not use ubus->parent because it could differ depending on the host controller type. It could lead the duplicate unit number assignment.
|
215804 |
24-Nov-2010 |
weongyo |
Fixes a compiler warning when it's compiled with INVARIANTS.
Pointy hat to: me
|
215802 |
24-Nov-2010 |
weongyo |
Removes all duplicated code with BPF that it's greatly simplified and take all benefits whenever BPF code is improved.
Pointed by: jkim Reviewed by: thompsa
|
215764 |
23-Nov-2010 |
weongyo |
Fixes a kernel crash when usb module is reloaded after unload that it didn't destroy the cdev properly.
Pointy hat to: me Reported by: Brandon Gooch <jamesbrandongooch at gmail dot com>, jkim
|
215734 |
23-Nov-2010 |
n_hibma |
Make the Huawei E1820 work (Emile Coetzee). Shorten the descriptive strings for Huawei devices. The vendor or operator name should not be included in the device name.
Submitted by: Emile Coetzee MFC after: 3 days
|
215649 |
22-Nov-2010 |
weongyo |
Adds a USB packet filter feature to the stack that it could capture packets which go through each USB host controllers. Its implementations are almost based on BPF code and very similar with it except it's little bit customized for USB packet only. The userland program usbdump(8) would be committed soon.
Discussed with: hps, thompsa, yongari
|
215335 |
15-Nov-2010 |
kevlo |
Remove unused struct rue_type
|
215330 |
15-Nov-2010 |
thompsa |
Add the Sierra MC8700.
|
215326 |
14-Nov-2010 |
dd |
Add a special INIT product ID used by some models of the HUAWEI K3765 datacard. After ejecting this device, it reappears using the normal K3765 ID. It does not switch automatically
Reviewed by: n_hibma Obtained from: OpenBSD MFC after: 2 weeks
|
215258 |
13-Nov-2010 |
n_hibma |
Add the switch config for the XS Stick.
It speaks AT commands on 2 out of 3 serial ports, but it has not been verified to work at all speaking PPP yet.
|
215254 |
13-Nov-2010 |
hselasky |
Fix compiler warnings.
Submitted by: Alexander Best (arundel) Approved by: thompsa (mentor)
|
215104 |
10-Nov-2010 |
n_hibma |
Add a man page for usb_quirk module, plus references in other man pages, and updated comments in the usb_quirk.h header file.
The main purpose of this is to expose the quirks for ejecting 3G modules. usb_modeswitch in Linux does a great job of collecting information on these, and with the quirks module people can try out the modeswitch config file entries on FreeBSD, hence the SCSI strings in the man page.
MFC after: 2 weeks
|
215095 |
10-Nov-2010 |
n_hibma |
Allow specification of eject method through quirks, so people can test drive eject methods before supplying patches.
|
214919 |
07-Nov-2010 |
n_hibma |
Bugfix: Set the bit that marks a device number in use. This would cause a panic when disconnecting the second serial device.
Submitted by: Lucius Windschuh
|
214894 |
06-Nov-2010 |
bschmidt |
Instead of using the AMRR ratectl algo as default for drivers which have the IEEE80211_C_RATECTL flag set, default to NONE for all drivers. Only if a driver calls ieee80211_ratectl_init() check if the NONE algo is still selected and try to use AMRR in that case. Drivers are still free to use any other algo by calling ieee80211_ratectl_set() prior to the ieee80211_ratectl_init() call.
After this change it is now safe to assume that a ratectl algo is always available and selected, which renders the IEEE80211_C_RATECTL flag pretty much useless. Therefore revert r211314 and 211546.
Reviewed by: rpaulo MFC after: 2 weeks
|
214852 |
05-Nov-2010 |
n_hibma |
Bugfix: In rev 213509 Alexander committed a duplicate ID for ZTE STOR based devices (QUALCOMMINC 0x2000). He made it use SCSI eject instead of ZTE STOR eject. This prevented my ZTE MF626 dongle from switching.
- Apply both eject methods for ZTE STOR based devices. Works on my as well as mav's device. - Remove the duplicate. - Sort the usbdevs entries for Qualcomm so this won't happen again. - Add bootverbose message displaying the fact that we are ejecting (and how).
Reviewed by: mav MFC after: 2 weeks
|
214843 |
05-Nov-2010 |
n_hibma |
Implement ucom_set_pnpinfo_usb() providing ttyname and port number information through devd. My E220 now produces the notification (1 line):
+u3g0 at bus=1 hubaddr=1 port=0 devaddr=2 interface=0 \ vendor=0x12d1 product=0x1003 devclass=0x00 devsubclass=0x00 \ sernum="" release=0x0000 intclass=0xff intsubclass=0xff \ ttyname=U0 ttyports=2 on uhub0
Note: serial/ufoma and net/uhso still provide port number and tty name (uhso only) information through sysctls, which should now be removed.
Reviewed by: hpselasky
|
214831 |
05-Nov-2010 |
n_hibma |
- Remove an unused entry from the softc (only used in a debugging printf). - Fix the loop count on detach (causing a panic on detaching a serial dongle). - Increase a buffer in case some driver want extra long tty device names (postfixing the purpose of the tty for example, e.g. u3g.ppp).
|
214830 |
05-Nov-2010 |
n_hibma |
Bugfix: Move the 'at <location string' to the beginning of the attach notification. devd would stop evaluating at 'at' (not '<k>=<v>') and hence prevent 'port=X' (and 'bus=<"on" string>) from making it into the environment for the devd action.
Reviewed by: hselasky MFC after: 2 weeks
|
214809 |
04-Nov-2010 |
n_hibma |
Don't terminate the notification with \n. This is done in usb_device.c:devctl_notify_f().
|
214804 |
04-Nov-2010 |
hselasky |
Add code to warm reset a USB 3.0 port.
Approved by: thompsa (mentor)
|
214800 |
04-Nov-2010 |
hselasky |
Add new USB quirk.
Submitted by: Dmitry Luhtionov Approved by: thompsa (mentor)
|
214761 |
03-Nov-2010 |
n_hibma |
- Simplify the way unit/subunit allocation is done in ucom. - hw.usb.ucom.cons_unit is now split into hw.usb.ucom.cons_unit/...cons_subunit.
Note: The tunable/sysctl hw.usb.ucom.cons_unit needs to be reviewed if
a) a console was defined a USB serial devices, and a USB device with more than 1 subunit is present, and this device is attached before the device functioning as a console
or
b) a console was defined on a USB device with more than 1 subunit
Reviewed by: hps MFC after: 2 weeks
|
214726 |
03-Nov-2010 |
hselasky |
Clean up leftover USB device ID after r213856. This fixes: options USB_VERBOSE
Submitted by: Lucius Windschuh Approved by: thompsa (mentor)
|
214429 |
27-Oct-2010 |
hselasky |
Add support for setting per-interface PnP information.
Submitted by: Nick Hibma Approved by: thompsa (mentor)
|
214349 |
25-Oct-2010 |
nwhitehorn |
The EHCI_CAPLENGTH and EHCI_HCIVERSION registers are actually sub-registers within the first 4 bytes of the EHCI memory space. For controllers that use big-endian MMIO, reading them with 1- and 2-byte reads would then return the wrong values. Instead, read the combined register with a 4-byte read and mask out the interesting quantities.
|
214221 |
22-Oct-2010 |
hselasky |
Add possibility to generate devctl notifications regardless of UGEN presence.
Submitted by: Nick Hibma Approved by: thompsa (mentor)
|
213931 |
16-Oct-2010 |
mav |
Allow umass to use bigger transactions for USB 3.0 devices. It is less important for USB 2.0 devices and some of them reported to have problems with large transactions. But USB 3.0 benchmarks show that limited number of transactions per second on USB makes impossible to reach high transfer speeds without using bigger transactions.
On my tests this change allows to read up to 220MB/s from USB-attached SSD (at block size of 256-512KB), comparing to only 113MB/s without it.
Reviewed by: hselasky
|
213894 |
15-Oct-2010 |
marius |
Converted the remainder of the NIC drivers to use the mii_attach() introduced in r213878 instead of mii_phy_probe(). Unlike r213893 these are only straight forward conversions though.
Reviewed by: yongari
|
213880 |
14-Oct-2010 |
hselasky |
Add new USB device IDs to the list of supported devices.
PR: usb/151043 Approved by: thompsa (mentor)
|
213879 |
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)
|
213876 |
14-Oct-2010 |
hselasky |
Add more USB device IDs to supported list of devices.
Submitted by: Nick Hibma PR: usb/149900 Approved by: thompsa (mentor)
|
213872 |
14-Oct-2010 |
hselasky |
Fix forwarding of Line Register Status changes to TTY layer.
PR: usb/149675 Approved by: thompsa (mentor)
|
213871 |
14-Oct-2010 |
hselasky |
Remove unused EHCI register definition. Define reserved EHCI register.
Approved by: thompsa (mentor)
|
213869 |
14-Oct-2010 |
hselasky |
Revert most of r197682 (EHCI Hardware BUG workaround). Implement proper solution which is to not use the TERMINATE pointer, but rather link to a halted TD. The initial fix was due to a misunderstanding about how the EHCI hardware works. Thanks to Alan Stern for clearing this up. This patch can increase mass storage read performance significantly when the IRQ rate is less than 8000 IRQ/s.
Approved by: thompsa (mentor)
|
213864 |
14-Oct-2010 |
hselasky |
Avoid using endless retransmission at EHCI hardware level, hence this hide errors from the applications. Only use endless retransmission while in the non-addressed state on a High-Speed device.
Approved by: thompsa (mentor)
|
213861 |
14-Oct-2010 |
hselasky |
Correct EHCI root HUB interface descriptor.
Approved by: thompsa (mentor)
|
213857 |
14-Oct-2010 |
hselasky |
Correct EHCI port register read.
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)
|
213852 |
14-Oct-2010 |
hselasky |
- Add support for LibUSB in 32-bit compatibility mode.
Approved by: thompsa (mentor)
|
213809 |
13-Oct-2010 |
hselasky |
USB network (NCM driver): - correct the ethernet payload remainder which must be post-offseted by -14 bytes instead of 0 bytes. This is not very clearly defined in the NCM specification. - add development feature about limiting the maximum datagram count in each NCM payload. - zero-pad alignment data - add TX-interval tuning sysctl
Approved by: thompsa (mentor)
|
213805 |
13-Oct-2010 |
hselasky |
USB Network: - Add new driver for iPhone tethering - Supports the iPhone 3G/3GS/4G ethernet protocol
Approved by: thompsa (mentor)
|
213804 |
13-Oct-2010 |
hselasky |
USB WLAN: - Add new device ID
PR: usb/150989 Approved by: thompsa (mentor)
|
213803 |
13-Oct-2010 |
hselasky |
USB network (UHSO): - Correct network interface flags.
PR: usb/149039 Submitted by: Fredrik Lindberg Approved by: thompsa (mentor)
|
213802 |
13-Oct-2010 |
hselasky |
Correct some root HUB descriptor fields in multiple controller drivers. Remove an unused structure.
Approved by: thompsa (mentor)
|
213717 |
12-Oct-2010 |
glebius |
We already have dummy receive buffer in sc->buffer.
Suggested by: hselasky
|
213696 |
11-Oct-2010 |
yongari |
Do not setup interrupt endpoint for axe(4). It seems axe(4) controllers support interrupt endpoint such that enabling interrupt endpoint generates about 1000 interrupts/sec. Controllers transfer 8 bytes data through interrupt endpoint and the data include link UP/DOWN state as well as some PHY related information. Previously axe(4) didn't use the transferred data and didn't even try to read the data. Because axe(4) counts on mii(4) to detect link state changes there is no need to use interrupt endpoint here.
This change fixes generation of unnecessary interrupts which was seen when interface is brought to UP.
No objections from: hselasky
|
213537 |
08-Oct-2010 |
emaste |
In r207768 I silenced a console warning from rum(4). There was legitimate opposition to the change, since really we need to implement missing functionality in drivers or the 802.3 layer.
For now, restore a reminder message for a missing rum_update_mcast, but print it only once.
|
213509 |
07-Oct-2010 |
mav |
Add ID for Vodafone (ZTE) Mobile Broadband K3565-Z modem.
Reviewed by: hselasky
|
213481 |
06-Oct-2010 |
glebius |
Remove extra assignment.
|
213480 |
06-Oct-2010 |
glebius |
Add support to Alcatel/TCTMobile X080S USB 3G modem. The device needs special eject command to reappear as modem. It also requires DIR_IN flag in the command message, so we supply some dummy data along with the command.
Feedback from X080S owners appreciated. I have not a pure Alcatel/TCTMobile device, but another one under "Svyaznoy" (Связной) brand, and I didn't yet managed to get it working. It is successfully recognized, it responds to AT commands, but it shuts up right after successfull CONNECT response.
Reviewed by: hps
|
213439 |
04-Oct-2010 |
hselasky |
Print out correct USB connection speed for USB 3.0 mass storage devices.
Approved by: thompsa (mentor)
|
213438 |
04-Oct-2010 |
yongari |
RX buffer allocation failure is not an input error. Controller successfully received a frame but we failed to pass it to upper stack due to lack of resources. So update if_iqdrops counter instead of updating if_ierrors counter.
|
213436 |
04-Oct-2010 |
yongari |
Don't count input error twice. uether_rxbuf() already updated that counter.
|
213435 |
04-Oct-2010 |
hselasky |
This commit adds full support for USB 3.0 devices in host and device mode in the USB core. The patch mostly consists of updating the USB HUB code to support USB 3.0 HUBs. This patch also add some more USB controller methods to support more active-alike USB controllers like the XHCI which needs to be informed about various device state events.
USB 3.0 HUBs are not tested yet, due to lack of hardware, but are believed to work.
After this update the initial device descriptor is only read twice when we know that the bMaxPacketSize is too small for a single packet transfer of this descriptor.
Approved by: thompsa (mentor)
|
213434 |
04-Oct-2010 |
hselasky |
Add missing #if's
Approved by: thompsa (mentor)
|
213433 |
04-Oct-2010 |
hselasky |
Add more strict USB string filtering.
Approved by: thompsa (mentor)
|
213432 |
04-Oct-2010 |
hselasky |
Serialise USB re-enumeration with the USB explore thread. This patch can solve problems when multiple USB devices are re-enumerated at the same time on the same bus.
Approved by: thompsa (mentor)
|
213431 |
04-Oct-2010 |
hselasky |
Correct IOCTL return code.
Approved by: thompsa (mentor)
|
213427 |
04-Oct-2010 |
hselasky |
Add missing USB 3.0 definitions. Correct some wrong ones.
Approved by: thompsa (mentor)
|
213426 |
04-Oct-2010 |
hselasky |
Add missing DRIVER_MODULE() entry for the musbotg driver. Add some more comments.
Approved by: thompsa (mentor)
|
213425 |
04-Oct-2010 |
hselasky |
The root mount hold reference was not released on USB controller attach failures during boot. Fix this.
Approved by: thompsa (mentor)
|
213424 |
04-Oct-2010 |
yongari |
Make upper stack know driver's output status. This change increased TX performance from 221kpps to 231kpps.
|
213423 |
04-Oct-2010 |
yongari |
Move updating TX packet counter to the inside of send loop. axe(4) controllers combine multiple TX requests into single one if there is room in TX buffer of controller. Updating TX packet counter at the end of TX completion resulted in incorrect TX packet counter as axe(4) thought it sent 1 packet. There is no easy way to know how many combined TX were completed in the callback. Because this change updates TX packet counter before actual transmission, it may not be ideal one. But I believe it's better than showing fake 8kpps under high TX load. With this change, TX shows 221kpps on Linksus USB200M.
|
213379 |
03-Oct-2010 |
hselasky |
Commit initial version of new XHCI driver which was written from scratch. This driver adds support for USB3.0 devices. The XHCI interface is also backwards compatible to USB2.0 and USB1.0 and will evntually replace the OHCI/UHCI and EHCI drivers.
There will be follow-up commits during the coming week to link the driver into the default kernel build and add missing USB3.0 functionality in the USB core. Currently only the driver files are committed.
Approved by: thompsa (mentor)
|
212980 |
21-Sep-2010 |
sanpei |
Add new device ids. Buffalo (Melco Inc.) LUA3-U2-AGT Logitec LAN-GTJ/U2A(usb/119981)
PR: usb/119981 and me Submitted by: "Y.Okabe" <be_works_us at yahoo.com>, hiroo at oikumene.gcd.org Reviewed by: thompsa MFC after: 3 days
|
212830 |
18-Sep-2010 |
n_hibma |
Cleanup white space and typos.
|
212621 |
14-Sep-2010 |
marius |
Use saner nsegments and maxsegsz parameters when creating certain DMA tags; tags for 1-byte allocations cannot possibly be split across 2 segments and maxsegsz must not exceed maxsize.
|
212136 |
02-Sep-2010 |
thompsa |
Reduce the need to accesss struct usb_device by providing functions to access the product, manufacturer and serial strings.
Submitted by: Hans Petter Selasky
|
212135 |
02-Sep-2010 |
thompsa |
Add support for power mode filtering as some USB hardware does not support power saving.
Submitted by: Hans Petter Selasky
|
212134 |
02-Sep-2010 |
thompsa |
Change argument for usbd_get_dma_delay() from USB bus to USB device, some embedded hardware needs to know exactly which device is in question before it exactly can decide the required delay.
Submitted by: Hans Petter Selasky
|
212133 |
02-Sep-2010 |
thompsa |
Fix setting of the rx_max and tx_max variables. If the expected buffer size is greater than 65535 bytes then the CDC driver might not work as expected, which is not likely with the existing USB speeds.
Submitted by: Hans Petter Selasky
|
212132 |
02-Sep-2010 |
thompsa |
Fix UMS_BUTTON_MAX define name
|
212131 |
02-Sep-2010 |
thompsa |
Fix build breakage from r212127
|
212130 |
02-Sep-2010 |
thompsa |
Add GPIO programming for more PHY hardware.
Submitted by: yongari
|
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
|
212127 |
02-Sep-2010 |
thompsa |
We need to grab a node reference count to vap->iv_bss before using it as it is possible for the node to be replaced and freed at any time by ieee80211_sta_join1().
|
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
|
211314 |
14-Aug-2010 |
bschmidt |
Introduce IEEE80211_C_RATECTL, drivers which use the ratectl framework should set this capability.
MFC after: 2 weeks
|
211153 |
10-Aug-2010 |
gavin |
Now that the uplcom(4) driver can autodetect the chipset type, sync the list of devices supported by uplcom(4) with the following sources:
NetBSD src/sys/dev/usb/uplcom.c 1.70 OpenBSD src/sys/dev/usb/uplcom.c 1.52 Linux drivers/usb/serial/pl2303.h from kernel 2.6.35 BeOS usb_serial/driver.c 1.32
Give several devices better descriptions, and rename PROLIFIC2 -> NETINDEX while here to match everybody else.
MFC after: 6 weeks (after r211111)
|
211111 |
09-Aug-2010 |
gavin |
Attempt to autodetect the cype of chipset, rather than storing this within the device table. This code uses the same algorithm as used in the Linux, NetBSD and DragonflyBSD driver.
While investigating this, it became apparent that the Linux driver always initialises the device, and not just in the PL2303HX case. Change uplcom(4) to do the same.
This change allows us to synchronize our device ID list with Linux and NetBSD, without requiring knowledge of the chipset in use.
Reviewed by: hselasky MFC after: 6 weeks
|
211104 |
09-Aug-2010 |
gavin |
Add entries for some devices I have locally.
|
211083 |
08-Aug-2010 |
gavin |
The PL2302X can support any baud rate <= 6Mbps, allow any rate to be set.
PR: usb/128324 Submitted by: Mike Durian <durian shadetreesoftware.com> (original patch) MFC after: 2 weeks
|
211022 |
07-Aug-2010 |
gavin |
Sync the list of devices supported by uslcom(4) with NetBSD, Linux, OpenBSD and BeOS. The devices supported by uslcom(4) are now in sync with:
NetBSD src/sys/dev/usb/uslsa.c 1.11 OpenBSD src/sys/dev/usb/uslcom.c 1.20 Linux source/drivers/usb/serial/cp210x.c from kernel 2.6.35 BeOS usb_serial/driver.c 1.32
Two vendor/product IDs from Linux have not been added to uslcom(4): SILABS SAEL - This device has special code in u3g to support it SILABS GSM2228 - I suspect this should also be covered by u3g(4).
MFC after: 1 week
|
211021 |
07-Aug-2010 |
gavin |
Sort this file a little better: the vendors are supposed to be sorted by vendor ID in the vendor section, and by symbolic name in the product section. Products are sorted by product ID. While here, get rid of a duplicate Microsoft Mouse entry, revealed by sorting.
MFC after: 1 week
|
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
|
210575 |
28-Jul-2010 |
gavin |
Provide descriptions for three vendors and four devices in usbdevs. Use the official vendor listed for 0x076b, rather than Omnikey, as in the PR.
PR: usb/123351 Submitted by: Marcin Cieslak <saper SYSTEM.PL> MFC after: 1 week
|
210571 |
28-Jul-2010 |
gavin |
Add support for the Corega CG-USBRS232R to uplcom(4)
PR: usb/129173 Submitted by: SHIMAOKA Shunsuke <shimaoka.shunsuke gmail.com> MFC after: 1 week
|
210556 |
28-Jul-2010 |
gavin |
Support the Pyramid KBS USB LCD under uftdi(4)
PR: usb/129758 Submitted by: joao lima <jlima visionware.pt> MFC after: 1 week
|
210553 |
27-Jul-2010 |
thompsa |
Fix the entry for the Option ICON452 where an underscore was used instead of whitespace.
Submitted by: Lucius Windschuh
|
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
|
210534 |
27-Jul-2010 |
gavin |
Add support for the Longcheer WM66 USB HSDPA Modem to u3g(4)
This patch is different to that provided in the PR, due to the changes in this driver since 7.x.
PR: usb/129945 Submitted by: Antonio Hilario <avahilario gmail.com> MFC after: 1 week
|
210524 |
27-Jul-2010 |
gavin |
- Support two devices made by West Mountain Radio in uslcom(4) [1]
- Bring in several other devices from OpenBSD while here. Use the official manufacturer name over the OpenBSD name in the case of GEMALTO. Reorder list slightly to aid future syncing.
- Remove duplicate SILABS CP2102 define from usbdevs
PR: usb/131912 [1] Submitted by: Jack Twilley <mathuin gmail.com> [1] 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
|
210469 |
25-Jul-2010 |
gavin |
Give a name to the HTC Wizard Smartphone
PR: usb/135575 Submitted by: lioux
|
210275 |
20-Jul-2010 |
thompsa |
- Support for Globetrotter iCON 452. - Fixed the interface probe routine to only attach to USB interfaces the driver actually supports. This allows other drivers to attach to things like MicroSD slots etc. - Fixed network interface enumeration to be globally sequential instead of relying on the USB interface numbers. This make sure the first network interface always is at uhso0 and the second at usho1 and so on. - Added a radio kill switch; exposed through sysctl. - Updated the manual page to be verbose about the number of serial ports and include iCON 452 in the set of tested hardware.
Submitted by: Fredrik Lindberg
|
210018 |
13-Jul-2010 |
remko |
Add a 4 and 7 port USB hub from NEC.
PR: 148189 MFC after: 1 week
|
209968 |
13-Jul-2010 |
takawata |
Fix comment.
Pointed out by: hrs
|
209967 |
13-Jul-2010 |
takawata |
One more Prolific serial device ID.
Submitted by: Kouichi Hirabayashi on FreeBSD-users-jp MFC after: 1 week.
|
209918 |
11-Jul-2010 |
thompsa |
Use more compact deviceid table.
Submitted by: Akinori Furukoshi
|
209917 |
11-Jul-2010 |
thompsa |
Update for style(9).
Submitted by: Akinori Furukoshi (author)
|
209447 |
22-Jun-2010 |
thompsa |
Add new device id.
PR: usb/147190
|
209445 |
22-Jun-2010 |
thompsa |
Add a mass storage quirk.
PR: usb/147196
|
209444 |
22-Jun-2010 |
thompsa |
Add new device id.
PR: usb/146907
|
209443 |
22-Jun-2010 |
thompsa |
Add support for LOW speed BULK transfers. This mode is not recommended by the USB 2.0 standard, though some USB devices use it anyway.
Submitted by: Hans Petter Selasky
|
209189 |
14-Jun-2010 |
jkim |
Fix typos that broke duration calculations on protection frames. A similar fix was done for ral(4) long ago and it must be copy-and-paste bugs.
Found by: clang
|
209144 |
14-Jun-2010 |
thompsa |
- Because hostapd calls iv_key_set() before if_init(), make sure key_set callback function will be executed, and that the key won't be deleted during the init process. - txmic and rxmic are written into the chip the same place regardless of opmode. - Make the hardware generate 802.11 sequence numbers.
Submitted by: Akinori Furukoshi Obtained from: git://gitorious.org/run/run.git
|
209131 |
13-Jun-2010 |
raj |
Convert Marvell ARM platforms to FDT convention.
The following systems are involved:
- DB-88F5182 - DB-88F5281 - DB-88F6281 - DB-78100 - SheevaPlug
This overhaul covers the following major changes:
- All integrated peripherals drivers for Marvell ARM SoC, which are currently in the FreeBSD source tree are reworked and adjusted so they derive config data out of the device tree blob (instead of hard coded / tabelarized values).
- Since the common FDT infrastrucutre (fdtbus, simplebus) is used we say good by to obio / mbus drivers and numerous hard-coded config data.
Note that world needs to be built WITH_FDT for the affected platforms.
Reviewed by: imp Sponsored by: The FreeBSD Foundation.
|
209062 |
11-Jun-2010 |
avg |
fix a few cases where a string is passed via format argument instead of via %s
Most of the cases looked harmless, but this is done for the sake of correctness. In one case it even allowed to drop an intermediate buffer.
Found by: clang MFC after: 2 week
|
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.
|
208019 |
13-May-2010 |
thompsa |
Sync run(4) driver from author's site.
Submitted by: Akinori Furukoshi Obtained from: git://gitorious.org/run/run.git
|
208018 |
12-May-2010 |
thompsa |
Reduce diffs to p4.
Add test code for delaying or failing usb control requests, disabled by default under ifdef USB_REQ_DEBUG.
Submitted by: Hans Petter Selasky
|
208017 |
12-May-2010 |
thompsa |
Fix possibly wrong bit masking.
Reported by: n_hibma Submitted by: Hans Petter Selasky
|
208016 |
12-May-2010 |
thompsa |
Add new FTDI USB device ID.
PR: kern/146483 Submitted by: Andre Albsmeier
|
208015 |
12-May-2010 |
thompsa |
Increase the max ports to 12, 3G devices exist where the ppp endpoint is #9.
Requested by: n_hibma
|
208014 |
12-May-2010 |
thompsa |
Back out r203140 which was causing problems when the first and the last microframe slot was not in the smask. The problem was that the EHCI driver was then thinking that the transfer was immediately complete in some cases. Which could lead to freeze-like situations, which can be recovered by unplugging the USB device.
Reported by: Richard Kolkovich Submitted by: Hans Petter Selasky
|
208013 |
12-May-2010 |
thompsa |
Add missing ifdefs for usb power saving support.
Submitted by: Hans Petter Selasky
|
208012 |
12-May-2010 |
thompsa |
Support getting signed and unsigned HID data.
Submitted by: Alex Deiter Reviewed by: Hans Petter Selaksy
|
208011 |
12-May-2010 |
thompsa |
Add the ASUS MyPal A730W device id.
Submitted by: Dmitry Luhtionov
|
208010 |
12-May-2010 |
thompsa |
Provide more information about the device location in the USB system.
Submitted by: Hans Petter Sekasky
|
208009 |
12-May-2010 |
thompsa |
Enable support for mouse panning wheels.
Submitted by: Henry Hu
|
208008 |
12-May-2010 |
thompsa |
If a USB device is suspended and a USB set config request is issued when the USB enumeration lock is locked, then the USB stack fails to resume the device because locking the USB enumeration lock is part of the resume procedure. To solve this issue a new lock is introduced which only protects the suspend and resume callbacks, which can be dropped inside the usbd_do_request_flags() function, to allow suspend and resume during so-called enumeration operations.
Submitted by: Hans Petter Selasky
|
208007 |
12-May-2010 |
thompsa |
Staticise usb_ref_device and usb_unref_device.
Submitted by: Hans Petter Selasky
|
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
|
207768 |
08-May-2010 |
emaste |
Add dummy function for ic_update_mcast (a la if_urtw) to avoid console spam.
|
207554 |
03-May-2010 |
sobomax |
Add new tunable 'net.link.ifqmaxlen' to set default send interface queue length. The default value for this parameter is 50, which is quite low for many of today's uses and the only way to modify this parameter right now is to edit if_var.h file. Also add read-only sysctl with the same name, so that it's possible to retrieve the current value.
MFC after: 1 month
|
207080 |
22-Apr-2010 |
thompsa |
Use a more obvious prefix for the USB control (endpoint 0) transfers rather than default_*.
|
207079 |
22-Apr-2010 |
thompsa |
Properly name the sxlocks, mutexes and condvars.
|
207078 |
22-Apr-2010 |
thompsa |
Use SX_DUPOK rather than making the string unique.
|
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
|
207027 |
21-Apr-2010 |
thompsa |
Also add the usb mode to the devd string as the usb controller can work in both host or device (gadget) modes.
Suggested by: HPS
|
207020 |
21-Apr-2010 |
thompsa |
Change usb devd events from fake attach to a notify. The ugen device is not a proper device_t so it faked the devctl event to appear like one, this is now a notify which allows more information to be passed.
We notify for both the device attach/detach and for each usb interface. A devd rule can now match on the interface properties, including composite devices which may have a uvideo interface and also usound and possibly uhid too.
An example to match a umass device with a scsi subclass and BBB protocol would be
notify 100 { match "system" "USB"; match "subsystem" "INTERFACE"; match "type" "ATTACH"; match "intclass" "0x08"; match "intsubclass" "0x06"; match "intprotocol" "0x50"; action ... };
The old attach devctl event has been retained for the moment to make merging to 8.1 easier. This was never compatible with 7.x or earlier due to the ugen regex change needed.
Reviewed by: warner 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
|
206595 |
14-Apr-2010 |
kevlo |
Eliminate duplicate comment
|
206544 |
13-Apr-2010 |
kevlo |
The Quanta Q101 modem has a different type of cdrom driver disk, add the product id and use a standard scsi eject.
Reviewed by: thompsa MFC after: 3 days
|
206417 |
09-Apr-2010 |
rpaulo |
Remove previously added if 0's.
MFC after: 1 month
|
206369 |
07-Apr-2010 |
rpaulo |
Remove debugging code that snuck in.
|
206358 |
07-Apr-2010 |
rpaulo |
net80211 rate control framework (net80211 ratectl).
This framework allows drivers to abstract the rate control algorithm and just feed the framework with the usable parameters. The rate control framework will now deal with passing the parameters to the selected algorithm. Right now we have AMRR (the default) and RSSADAPT but there's no way to select one with ifconfig, yet. The objective is to have more rate control algorithms in the net80211 stack so all drivers[0] can use it. Ideally, we'll have the well-known sample rate control algorithm in the net80211 at some point so all drivers can use it (not just ath).
[0] all drivers that do rate control in software, that is.
Reviewed by: bschmidt, thompsa, weyongo MFC after: 1 months
|
205805 |
28-Mar-2010 |
thompsa |
Do not sync cache for the PL2506
PR: usb/144915 Submitted by: Monty Hall
|
205804 |
28-Mar-2010 |
thompsa |
Do not swap Apple keys when detecting Apple-FN keyboards.
Reported by: Steven Noonan Submitted by: Hans Petter Selasky
|
205803 |
28-Mar-2010 |
thompsa |
Make sure the bsd_urb_list gets initialised and that new URB's are queued at the end of the list.
Submitted by: Hans Petter Selasky
|
205802 |
28-Mar-2010 |
thompsa |
Add PCI IDs for two more nForce controllers.
Submitted by: Dmitry Luhtionov @ gmail.com
|
205801 |
28-Mar-2010 |
thompsa |
Add a couple of usb product IDs.
Submitted by: Dmitry Luhtionov @ gmail.com
|
205681 |
26-Mar-2010 |
netchild |
- add some usb devices (scanner, printer, usb storage) - add quirks for the usb storage
Reviewed by: hselasky
|
205354 |
20-Mar-2010 |
imp |
Add support for the Samsung S3C2xx0 family of ARM SoCs written by Andrew Turner. The kernel supports the LN2410SBC evaluation board, and likely others. These parts (or similar ones) are in some open hardware designs for phones.
Submitted by: Andrew Turner
|
205043 |
11-Mar-2010 |
thompsa |
Add device ID for the NATURAL4000 keyboard
|
205042 |
11-Mar-2010 |
thompsa |
- Integrate latest driver code from OpenBSD - Drain our tasks from the ieee80211 taskqueue - Add more IDs
Submitted by: Akinori Furukoshi
|
205040 |
11-Mar-2010 |
thompsa |
extend search for Apple Function Key.
PR: usb/144414 Submitted by: Hans Petter Selasky
|
205039 |
11-Mar-2010 |
thompsa |
Add new device ID for the SMC 2514HUB
Submitted by: Alexander Best
|
205038 |
11-Mar-2010 |
thompsa |
add new vendor ID for APACER
Submitted by: Paul B Mahol
|
205036 |
11-Mar-2010 |
thompsa |
Implement USB kernel driver detach from userland.
Submitted by: Hans Petter Selasky
|
205035 |
11-Mar-2010 |
thompsa |
Make sure there is a way to reset the endpoint FIFO on transfer errors for ISOCHRONOUS transfers
Submitted by: Hans Petter Selasky
|
205034 |
11-Mar-2010 |
thompsa |
For USS820 driver we need to manually reset TX FIFO at each SETUP transaction because the chip doesn't do this by itself.
Submitted by: Hans Petter Selasky
|
205033 |
11-Mar-2010 |
thompsa |
isochronous endpoint descriptors should have two more bytes which are zero by default.
Submitted by: Hans Petter Selasky
|
205032 |
11-Mar-2010 |
thompsa |
Add new uvisor(4) device ID.
PR: usb/144201
|
205031 |
11-Mar-2010 |
thompsa |
It appears that some UVISOR devices do not handle when the clear stall command is issued at the beginning of the initial IN/OUT data transfers. Reason unknown, probably firmware fault. Now the stall is only cleared on data transfer errors.
PR: usb/144199 Submitted by: Hans Petter Selasky
|
205030 |
11-Mar-2010 |
thompsa |
- make the usb_temp_setup() and usb_temp_unsetup() functions public so that other modules can generate USB descriptors. - extend the vendor specific request function by one length pointer argument, because not all descriptors store the length in the first byte. For example HID descriptors.
Submitted by: Hans Petter Selasky
|
205029 |
11-Mar-2010 |
thompsa |
Use wMaxPacketSize for the uftdi input buffer size.
Submitted by: Hans Petter Selasky
|
205026 |
11-Mar-2010 |
thompsa |
Reapply r185998 which was overwritten at some point.
|
205005 |
11-Mar-2010 |
thompsa |
Wrap the proc wakeup special case for ddb in ifdef DDB.
Submitted by: Giovanni Trematerra
|
204632 |
03-Mar-2010 |
joel |
The NetBSD Foundation has granted permission to remove clause 3 and 4 from their software.
Obtained from: NetBSD
|
203906 |
14-Feb-2010 |
thompsa |
Add device ID for the FTDI 4232H.
PR: usb/143832 Submitted by: UEMURA Tetsuya
|
203905 |
14-Feb-2010 |
thompsa |
Add support for the E1752 3G modem and the required eject command.
Submitted by: Milan Obuch
|
203903 |
14-Feb-2010 |
thompsa |
Make umodem more tolerant for devices which modem descriptors are misplaced.
Reported by: Erick Wales Submitted by: Hans Petter Selasky
|
203899 |
14-Feb-2010 |
thompsa |
Add UQ_KBD_BOOTPROTO quirk needed in r203896
|
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
|
203693 |
09-Feb-2010 |
thompsa |
Disable the use of the IAAD usb doorbell on NVidia controllers as it can cause the hardware to stall.
Submitted by: Hans Petter Selasky
|
203507 |
05-Feb-2010 |
thompsa |
The ZTE MF633R modem has a different type of cdrom driver disk, add the product ID and use a standard scsi eject.
Reported by: Patrick Lamaiziere MFC after: 3 days
|
203506 |
04-Feb-2010 |
thompsa |
Properly name the 0x0016 ZTE product as MF633R now that its known.
|
203146 |
29-Jan-2010 |
thompsa |
Rework cam error handling to fix Mitsumi floppy drives.
Submitted by: mav
|
203145 |
29-Jan-2010 |
thompsa |
Simplify attach for UMASS_PROTO_CBI_I mode and change some switch() returns into breaks.
Submitted by: Hans Petter Selesky
|
203144 |
29-Jan-2010 |
thompsa |
Add null check on quirk lookup and add a couple of umass quirks.
Submitted by: Hans Petter Selesky
|
203143 |
29-Jan-2010 |
thompsa |
Add the Netgear WPN111
|
203142 |
29-Jan-2010 |
thompsa |
Sync usb products to perforce.
|
203141 |
29-Jan-2010 |
thompsa |
Attempt to recover on a TX error rather than stopping all transfers.
Submitted by: Hans Petter Selesky
|
203140 |
29-Jan-2010 |
thompsa |
Optimise EHCI ISOC HS done check.
Submitted by: Hans Petter Selasky
|
203139 |
29-Jan-2010 |
thompsa |
Add device ID.
PR: usb/142427
|
203138 |
28-Jan-2010 |
thompsa |
Use device_printf rather than printf + device_get_nameunit.
|
203137 |
28-Jan-2010 |
thompsa |
Release the firmware after loading to the device.
|
203134 |
28-Jan-2010 |
thompsa |
Add run(4), a driver for Ralink RT2700U/RT2800U/RT3000U USB 802.11agn devices.
This driver was written for OpenBSD by Damien Bergamini and ported over by Akinori Furukoshi.
|
203108 |
28-Jan-2010 |
mav |
MFp4: Large set of CAM inprovements.
- Unify bus reset/probe sequence. Whenever bus attached at boot or later, CAM will automatically reset and scan it. It allows to remove duplicate code from many drivers. - Any bus, attached before CAM completed it's boot-time initialization, will equally join to the process, delaying boot if needed. - New kern.cam.boot_delay loader tunable should help controllers that are still unable to register their buses in time (such as slow USB/ PCCard/ CardBus devices), by adding one more event to wait on boot. - To allow synchronization between different CAM levels, concept of requests priorities was extended. Priorities now split between several "run levels". Device can be freezed at specified level, allowing higher priority requests to pass. For example, no payload requests allowed, until PMP driver enable port. ATA XPT negotiate transfer parameters, periph driver configure caching and so on. - Frozen requests are no more counted by request allocation scheduler. It fixes deadlocks, when frozen low priority payload requests occupying slots, required by higher levels to manage theit execution. - Two last changes were holding proper ATA reinitialization and error recovery implementation. Now it is done: SATA controllers and Port Multipliers now implement automatic hot-plug and should correctly recover from timeouts and bus resets. - Improve SCSI error recovery for devices on buses without automatic sense reporting, such as ATAPI or USB. For example, it allows CAM to wait, while CD drive loads disk, instead of immediately return error status. - Decapitalize diagnostic messages and make them more readable and sensible. - Teach PMP driver to limit maximum speed on fan-out ports. - Make boot wait for PMP scan completes, and make rescan more reliable. - Fix pass driver, to return CCB to user level in case of error. - Increase number of retries in cd driver, as device may return several UAs.
|
203087 |
27-Jan-2010 |
weongyo |
adds sysctl knobs to show rate statistics that it could be useful to debug slow TX speed.
|
202609 |
19-Jan-2010 |
weongyo |
Product ID of D-Link DWA-120 after loading the firmware is incorrect.
|
202608 |
19-Jan-2010 |
weongyo |
removes a hack to attach TRENDnet TEW-504UB/EU that I think this issue is solved with r202607. Now idProduct of all uath(4) devices should be decreased after loading the firmware.
|
202270 |
14-Jan-2010 |
thompsa |
Grammar nits.
Submitted by: Ben Kaduk
|
202243 |
13-Jan-2010 |
thompsa |
Update to Fredrik's latest uhso driver. This changes port detection, adds comments and other code nits.
Submitted by: Fredrik Lindberg <fli@shapeshifter.se>
|
202181 |
13-Jan-2010 |
thompsa |
Add a driver by Fredrik Lindberg for Option HSDPA USB devices. These differ from standard 3G wireless units by supplying a raw IP/IPv6 endpoint rather than using PPP over serial. uhsoctl(1) is used to initiate and close the WAN connection.
Obtained from: Fredrik Lindberg <fli@shapeshifter.se>
|
202054 |
11-Jan-2010 |
thompsa |
Add the Globetrotter GE40x.
Submitted by: Mike Tancsa
|
201797 |
08-Jan-2010 |
trasz |
Remove unused uhci_dump_qhs().
Reviewed by: hps
|
201766 |
08-Jan-2010 |
thompsa |
Remove unneeded includes.
|
201758 |
07-Jan-2010 |
mbr |
Remove extraneous semicolons, no functional changes.
Submitted by: Marc Balmer <marc@msys.ch> MFC after: 1 week
|
201714 |
07-Jan-2010 |
thompsa |
Fix debug printf on 64bit arches.
Spotted by: b. f.
|
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
|
201681 |
06-Jan-2010 |
thompsa |
Improve u3g device ejecting by providing additional methods for the eject command in the usb_msctest routines, as well as a general tidyup.
This now properly ejects the ZTE MF636, Option Gi0322 and Novatel MC950D devices I have on my desk.
|
201680 |
06-Jan-2010 |
thompsa |
scratch_size was incorrectly passed as language ID when retrieving the language ID table, this broke string retrieval on some devices.
Submitted by: Hans Petter Selasky Reported by: Renato Botelho
|
201318 |
31-Dec-2009 |
thompsa |
Add new device ID to uipaq driver
PR: usb/141936 Submitted by: HASHI Hiroaki
|
201071 |
28-Dec-2009 |
thompsa |
Compact USB_VENDOR_X and USB_PRODUCT_Y in the quirk tables.
|
201028 |
26-Dec-2009 |
thompsa |
Use macros to strip off USB_VENDOR_ and USB_PRODUCT_ from some id tables to make them more compact and readable.
|
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
|
200885 |
23-Dec-2009 |
thompsa |
Sync usb vendor/product defines to p4
Submitted by: HPS
|
200827 |
22-Dec-2009 |
thompsa |
Add missed usb product define in r200826.
|
200826 |
22-Dec-2009 |
thompsa |
add new ID to UFTDI driver.
Submitted by: YAMAMOTO, Shigeru
|
200823 |
22-Dec-2009 |
thompsa |
Add more OHCI pci ids.
Submitted by: Hans Petter Selasky
|
200822 |
22-Dec-2009 |
thompsa |
Add more EHCI pci ids.
Submitted by: Hans Petter Selasky
|
200658 |
18-Dec-2009 |
thompsa |
Keep list sorted.
|
200657 |
18-Dec-2009 |
thompsa |
Add a bunch of new 3G ids obtained from from various operating systems and Internet sources.
Obtained from: Linux, NetBSD, OpenBSD, etc
|
200653 |
17-Dec-2009 |
thompsa |
Use the EVENTHANDLER system to hook into the usb device configuration and perform a function such as ejecting a 3G autoinstaller disk. The eventhandler system properly tracks threads and is safe to unload, remove the setting/clearing of a function pointer in the kernel by u3g(4) which included a tsleep for safety.
|
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
|
200376 |
11-Dec-2009 |
thompsa |
Revert r199331, the UM175 is in fact a cdc-acm device handled by umodem(4).
|
200308 |
09-Dec-2009 |
thompsa |
Fix hardware issue with FTDI chips: avoid sending a zero length packet due to hardware sending garbage on ZLPs.
Reported by: Corey Smith Submitted by: HPS
|
200307 |
09-Dec-2009 |
thompsa |
Fix dwSignature for NCM mode and add extra debug output.
Submitted by: HPS
|
200306 |
09-Dec-2009 |
thompsa |
Add new device ids.
PR: usb/140951, usb/140923 Submitted by: Romain Tartiere, Brett Glass
|
200305 |
09-Dec-2009 |
thompsa |
Correct name, 82801IJ -> 82801JI
Submitted by: mitya_cabletv.dp.ua
|
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>
|
200087 |
03-Dec-2009 |
thompsa |
Add uhci/ehci controller ids.
Submitted by: mitya_cabletv.dp.ua
|
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
|
199876 |
28-Nov-2009 |
ed |
Remove unneeded inclusion of <sys/termios.h>.
|
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.
|
199814 |
25-Nov-2009 |
thompsa |
Disable interrupts after doing early takeover of the usb controller in case usb isnt actually compiled in (or kldloaded) as the controller could cause spurious interrupts.
Tested by: Florian Smeets
|
199718 |
23-Nov-2009 |
thompsa |
Actually disable interrupts in ehci_detach().
Reviewed by: HPS
|
199680 |
22-Nov-2009 |
thompsa |
Make the mode setting transfer asynchronous.
Submitted by: Rohit Grover
|
199678 |
22-Nov-2009 |
thompsa |
Add missed register change in r199676.
Submitted by: Hans Petter Selasky
|
199676 |
22-Nov-2009 |
thompsa |
Correct register access for USB device side operation on the musb controller.
Submitted by: Hans Petter Selasky
|
199675 |
22-Nov-2009 |
thompsa |
Provide tunables for some of the usb sysctls that affect boot behaviour.
Submitted by: Andriy Gapon
|
199673 |
22-Nov-2009 |
thompsa |
Initialise variable before use.
Submitted by: Hans Petter Selasky
|
199672 |
22-Nov-2009 |
thompsa |
Improve High Speed slot allocation mechanism by moving the computation to the endpoint rather than per xfer and provide functions around get/free of resources.
Submitted by: Hans Petter Selasky
|
199332 |
16-Nov-2009 |
thompsa |
Sort ID list by vendor.
|
199331 |
16-Nov-2009 |
thompsa |
Add the Curitel UM175 3g device.
|
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
|
199062 |
08-Nov-2009 |
thompsa |
Correct Olympus quirk.
Submitted by: Pavel Gubin
|
199061 |
08-Nov-2009 |
thompsa |
Add missing mtx_destroy().
Submitted by: Sebastian Huber
|
199059 |
08-Nov-2009 |
thompsa |
improve support for high speed isochronous endpoints which does not run 1:1, but needs intervalling 1:2, 1:4 or 1:8
Submitted by: Hans Petter Selasky
|
199058 |
08-Nov-2009 |
thompsa |
Integrate lost interrupts patch from the old USB stack.
Some EHCI chips from VIA / ATI seem to trigger interrupts before writing back the qTD status, or miss signalling occasionally under heavy load. If the host machine is too fast, we can miss transaction completion - when we scan the active list the transaction still seems to be active. This generally exhibits itself as a umass stall that never recovers.
We work around this behaviour by setting up this callback after any softintr that completes with transactions still pending, giving us another chance to check for completion after the writeback has taken place
Submitted by: Alexander Nedotsuko MFC after: 3 days
|
199057 |
08-Nov-2009 |
thompsa |
ehci_init() will do reset and set the usbrev flag. Fix problem where ehci_reset() was called before ehci_init().
PR: usb/140242 Submitted by: Sebastian Huber
|
198862 |
03-Nov-2009 |
weongyo |
fixes a typo that value should be 0 not 10.
|
198776 |
01-Nov-2009 |
thompsa |
- Add usb_fill_bulk_urb() and usb_bulk_msg() linux compat functions [1] - Don't write actual length if the actual length pointer is NULL [2] - correct Linux Compatibility error codes for short isochronous IN transfers and make status field signed.
Submitted by: Leunam Elebek [1], Manuel Gebele [2]
|
198775 |
01-Nov-2009 |
thompsa |
Fix a corner case where usbd_transfer_drain() can return too early if the callback has dropped the mutex, leading to a panic.
Submitted by: HPS MFC after: 3 days
|
198774 |
01-Nov-2009 |
thompsa |
Check unit number and provide string name for consdev.
Submitted by: HPS
|
198501 |
26-Oct-2009 |
thompsa |
Revert r198500 for now, this will break situations when hw.pci.usb_early_takeover is set to zero and the SMM release is never done.
Pointed out by: marcel
|
198500 |
26-Oct-2009 |
thompsa |
Remove usb controller takeover code now that it is handled by the pci code.
Reminded by: jhb Reviewed by: HPS
|
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
|
198307 |
20-Oct-2009 |
thompsa |
Change from CAM_TID_INVALID to CAM_SEL_TIMEOUT error code when the usb device has been yanked, this works around a cam recounting bug when CAM_DEV_UNCONFIGURED is set late in the detach. In certain conditions the reference to the XPT device would not be released which would cause the usb explore thread to sleep forever on "simfree", preventing any new usb devices to be found/ejected on the bus.
This is intended to be a quick workaround to the problem without touching CAM so it can be merged to 8.0.
Suggested by: mav MFC after: 3 days
|
198257 |
19-Oct-2009 |
thompsa |
Add support for newer WinChipHead CH341 chips, previously in the uch341 driver.
Submitted by: HPS
|
198256 |
19-Oct-2009 |
thompsa |
Remove the newly added uch341 driver, it will be merged into uchcom instead.
Suggested by: takawata Submitted by: HPS
|
198194 |
18-Oct-2009 |
weongyo |
overhauls urtw(4) for supporting RTL8187B devices properly that there was major changes to initialize RF chipset and set H/W registers and removed a lot of magic numbers on code. Details are as follows:
- uses the endpoint 0x89 to get TX status information which used to get TX complete or retry numbers or get a beacon interrupt. It's only valuable for RTL8187B. - removes urtw_write[8|16|32]_i functions that it's useless now. - uses ic->ic_updateslot to set SLOT, SIFS, DIES, EIFS, CW_VAL registers that doesn't set these whenever the channel is changed. - code for initializing RF chipset for RTL8187B changed a lot that there was many problems on TX transfers so it doesn't work properly even if just for a ping/pong. Now it becomes more stable than before that TX throughputs using netperf(1) were about 15 ~ 17Mbps/s though sometimes it encounters packet losses. - removes a lot of magic numbers that in the previous all of representing RX and TX descriptors were consisted of magic numbers and structures. It'd be more readable rather than before. - calculates TX duration more accurately for urtw(4) devices. - style(9)
|
198153 |
15-Oct-2009 |
thompsa |
Correct offset calcluation for the NCM implementation.
Submitted by: HPS
|
198152 |
15-Oct-2009 |
thompsa |
Only poll ukbd if KDB is active.
Submitted by: HPS
|
198151 |
15-Oct-2009 |
thompsa |
Workaround buggy BIOS code in USB regard. By doing the BIOS to OS handover for all host controllers at the same time, we avoid problems where the BIOS will actually write to the USB registers of all the USB host controllers every time we handover one of them, and consequently reset the OS programmed values.
Submitted by: avg Reviewed by: jhb
|
198099 |
14-Oct-2009 |
weongyo |
fixes a TX hang that could be possible to happen when the trasfers are in the high speed that some drivers don't call if_start callback after marking ~IFF_DRV_OACTIVE.
MFC after: 3 days
|
198098 |
14-Oct-2009 |
weongyo |
fixes a TX hang bug that it could happen when if_start callback didn't be restarted by full of the output queue.
MFC after: 3 days Tested by: bsduser <bsd at acd.homelinux.org>
|
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
|
197761 |
04-Oct-2009 |
weongyo |
updates device entries supported with the product name not magic numbers and sorts entries. WUSB54GCV2 is added.
Obtained from: OpenBSD
|
197682 |
01-Oct-2009 |
thompsa |
EHCI Hardware BUG workaround
The EHCI HW can use the qtd_next field instead of qtd_altnext when a short packet is received. This contradicts what is stated in the EHCI datasheet. Also the total-bytes field in the status field of the following TD gets corrupted upon reception of a short packet! We work this around in software by not queueing more than one job/TD at a time of up to 16Kbytes! The bug has been seen on multiple INTEL based EHCI chips. Other vendors have not been tested yet.
- Applications using /dev/usb/X.Y.Z, where Z is non-zero are affected, but not applications using LibUSB v0.1, v1.2 and v2.0. - Mass Storage (umass) is affected.
Submitted by: Hans Petter Selasky MFC after: 3 days
|
197573 |
28-Sep-2009 |
thompsa |
Add back endpoint swap detection that was disabled in an earlier driver conversion.
Submitted by: Hans Petter Selasky
|
197572 |
28-Sep-2009 |
thompsa |
Add new FTDI IDs.
Submitted by: Maks Verver, Arrigo Marchiori
|
197570 |
28-Sep-2009 |
thompsa |
Add experimental support for usb serial console and polled mode during DDB.
Submitted by: Hans Petter Selasky
|
197569 |
28-Sep-2009 |
thompsa |
Add a config number quirk for the ELSA_MODEM1
Submitted by: Stefan Bethke
|
197568 |
28-Sep-2009 |
thompsa |
add more device IDs
Reported by: Mike Tancsa Submitted by: Hans Petter Selasky
|
197567 |
28-Sep-2009 |
thompsa |
Allow setting of MAC address for AXE based ethernet adapters.
Submitted by: yongari
|
197566 |
28-Sep-2009 |
thompsa |
Increase the rx buffer size to 16384 bytes, this increases RX performance from 50Mbps to 220Mbps on PLANEX GU-1000T.
Submitted by: yongari
|
197565 |
28-Sep-2009 |
thompsa |
- Remove SAMSUNG_YP_U2 now that it is in the cam layer - Add quirk from Tobias Grosser for Western Mypassword
Submitted by: Hans Petter Selasky
|
197564 |
28-Sep-2009 |
thompsa |
MFp4
Add new usbdev entries for Marvell, FTDI, Option and Western.
|
197563 |
28-Sep-2009 |
thompsa |
Add basic support for USB Network Control Model (NCM) v1.0 to if_cdce.c.
http://www.usb.org/developers/devclass_docs/NCM10.zip
Submitted by: Hans Petter Selasky
|
197562 |
28-Sep-2009 |
thompsa |
Add extra safety locking when clobbering xfer->flags_int.started in start and stop functions, because xfer->flags_int is also updated by the USB controller, under the controller lock.
Submitted by: Hans Petter Selasky
|
197561 |
28-Sep-2009 |
thompsa |
Correct buffer sizes used so that they match. The old code could give the impression that a overflow situation existed but was not possible.
Reported by: kib Submitted by: Hans Petter Selasky
|
197559 |
28-Sep-2009 |
thompsa |
Add support for USB language selection.
PR: usb/138563 Reported by: Bruce Cran Submitted by: Hans Petter Selasky
|
197558 |
28-Sep-2009 |
thompsa |
Fix NULL-pointer dereference in usb_endpoint_foreach().
PR: usb/138389 Submitted by: Patroklos Argyroudis at census, inc
|
197557 |
28-Sep-2009 |
thompsa |
Add support for ChipHead 341 serial port adapter.
Submitted by: Hans Petter Selasky
|
197556 |
28-Sep-2009 |
thompsa |
Clear all interrupts rather than just SETUP packet.
Submitted by: Hans Petter Selasky
|
197555 |
28-Sep-2009 |
thompsa |
Simplify logic around setting EHCI_QH_DTC and expand some htohc32(temp.sc, 0) statements to zero.
Submitted by: Hans Petter Selasky
|
197554 |
28-Sep-2009 |
thompsa |
Import two PCI quirks from Linux
- Add quirk for ATI SB600 and SB700 to free SMB controller - Correct schedule sleep time to 10us on the VIA ehci controller
Reported by: Dorian B<FC>ttner, Andriy Gapon Submitted by: Hans Petter Selasky
|
197553 |
28-Sep-2009 |
thompsa |
MFp4 @ 168387
- clean up USB detach logic. There seems to be some problems detaching multiple USB HUBs connected in series from the root.
- after this patch the rule is: 1) Always use device_detach() on the USB HUB first. 2) Never just device_delete_child() on the USB HUB, because that function will traverse to all the device leaves and free them first, and then the USB stack will free the devices twice which doesn't work very well.
- make sure the did DMA delay gets set after the timeout has elapsed to make logic more clear. There is no functional difference.
Submitted by: Hans Petter Selasky
|
196970 |
08-Sep-2009 |
phk |
Revert previous commit and add myself to the list of people who should know better than to commit with a cat in the area.
|
196969 |
08-Sep-2009 |
phk |
Add necessary include.
|
196826 |
04-Sep-2009 |
trasz |
Make umass(4) pass device USB serial number to CAM, making it possible to e.g. retrieve it using camcontrol(8).
Reviewed by: scottl, hps (earlier version) Obtained from: Wheel Sp. z o.o. (http://www.wheel.pl)
|
196809 |
04-Sep-2009 |
weongyo |
fix a TX issue on big endian machines like powerpc or sparc64. Now zyd(4) should work on all architectures.
Obtained from: OpenBSD
|
196547 |
25-Aug-2009 |
thompsa |
It is possible for all the kthreads to exit (hci modules unloaded) which in turn ends our usb process. This means the proc pointer becomes invalid and will panic if a new kthread is added. Count the number of threads and clear the proc pointer on the last one.
Suggested by: julian MFC after: 3 days
|
196498 |
24-Aug-2009 |
alfred |
- Patch to allow USB controller to resume operation after being polled.
- Remove the need for Giant from the USB HUB driver.
- Leave device unconfigured instead of disabling the USB port when Huawei Autoinstall disk detection triggers. This should fix problems that the Huawei device is not detected after Autoinstall eject is issued. - Reported by: Nikolay Antsiferov
- Fix memory use after free race for USB character devices. - Reported by: Lucius Windschuh
- Factor out the enumeration lock into three functions to make the coming newbus lock conversion more easy. - usbd_enum_lock - usbd_enum_unlock - usbd_enum_is_locked
Submitted by: hps
|
196497 |
24-Aug-2009 |
alfred |
Remove redundant locking.
Submitted by: hps
|
196496 |
24-Aug-2009 |
alfred |
Add a reminder comment to optimize bus_dmamap_sync calls.
Submitted by: hps
|
196495 |
24-Aug-2009 |
alfred |
Add mass storage quirks.
PR: usb/137138,usb/137226,usb/137789,usb/135372
Submitted by: hps
|
196494 |
24-Aug-2009 |
alfred |
- fix uvisor support, mostly correct buffer sizes used. - correct device info flag for SONY Cli NR70V
Reported by: Marc Fonvieille Submitted by: hps
|
196493 |
24-Aug-2009 |
alfred |
- Fix false positive uipaq probe
Reported by: Alexander Motin <mav@freebsd.org>
Submitted by: hps
|
196492 |
24-Aug-2009 |
alfred |
- fix CDC ethernet matching order so that the match flags get correct.
Reported by: Juergen Lock
Submitted by: hps
|
196491 |
24-Aug-2009 |
alfred |
We used force all of the GPIO pins low first and then enable the ones we want. This has been changed to better match the ADMtek's reference design to avoid setting the power-down configuration line of the PHY at the same time it is reset.
Submitted by: John Hood via hps
|
196490 |
24-Aug-2009 |
alfred |
- FIFO's are always opened separately in read and write direction even if the actual device is opened for read and write. Fix fflags check so that the UFM and URIO drivers work. Reported by: Krassimir Slavchev
Submitted by: hps
|
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
|
196488 |
24-Aug-2009 |
alfred |
- allow disabling "root_mount_hold()" by setting a sysctl/tunable at boot - remove some redundant initial explore code
Submitted by: hps
|
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
|
196380 |
19-Aug-2009 |
raj |
Fix USB cache sync operations for platforms with non-coherent DMA.
- usb_pc_cpu_invalidate() is called between [consecutive] reads from a device, so a sequence of BUS_DMASYNC_POSTREAD and _PREREAD should be used. Note we cannot use or'ed shorthand ( _POSTREAD | _PREREAD) for BUS_DMASYNC flags, as the low level bus dma sync operation is implementation dependent and we cannot assume the required order of operations to be guaranteed.
- usb_pc_cpu_flush() is called before writing to a device, so BUS_DMASYNC_PREWRITE should be used.
Submitted by: Grzegorz Bernacki Reviewed by: HPS, arm@, usb@ ML Tested by: HPS, Mike Tancsa Approved by: re (kib) Obtained from: Semihalf
|
196274 |
16-Aug-2009 |
thompsa |
Change the usb workers from kernel processes to threads, this is mostly a cosmetic change to reduce cruft in the proc table.
Also change the idle wait message to `-` like how taskqueues are.
Reviewed by: julian Approved by: re (kib)
|
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)
|
195978 |
30-Jul-2009 |
weongyo |
fixes a typo for DWA120 device ID.
Reported by: Alexander Kuznetsov <skritku at gmail.com> Approved by: re (kib)
|
195968 |
30-Jul-2009 |
alfred |
Missed this file for r195963: USB core: - add support for defragging of written device data. - improve handling of alternate settings in device side mode. - correct return value from usbd_get_no_alts() function. - reported by: HPS - P4 ID: 166156, 166168
- report USB device release information to devd and pnpinfo. - reported by: MIHIRA Sanpei Yoshiro - P4 ID: 166221
Submitted by: hps Approved by: re
|
195967 |
30-Jul-2009 |
alfred |
USB CORE - Improve HID parsing
See PR description for more info. Patch is implemented differently than suggested, but having the same result.
PR: usb/137188
Submitted by: hps Approved by: re
|
195966 |
30-Jul-2009 |
alfred |
USB CORE - compat Linux: - Patch request from Tim Borgeaud: - add automatic locking - add refcount for killing URB's
Submitted by: hps Approved by: re
|
195965 |
30-Jul-2009 |
alfred |
USB controller: - allow disabling "root_mount_hold()" by setting "hw.usb.no_boot_wait" sysctl
Submitted by: hps Approved by: re
|
195964 |
30-Jul-2009 |
alfred |
ULPT: - add conditional printer status checking - P4 ID: 166176
Submitted by: hps Approved by: re
|
195963 |
30-Jul-2009 |
alfred |
USB core: - add support for defragging of written device data. - improve handling of alternate settings in device side mode. - correct return value from usbd_get_no_alts() function. - reported by: HPS - P4 ID: 166156, 166168
- report USB device release information to devd and pnpinfo. - reported by: MIHIRA Sanpei Yoshiro - P4 ID: 166221
Submitted by: hps Approved by: re
|
195962 |
30-Jul-2009 |
alfred |
USB serial: - add new ID for Huawei - P4 ID: 166150
PR: usb/136761
Submitted by: hps Approved by: re
|
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
|
195958 |
30-Jul-2009 |
alfred |
USB controller: - patch from Alexander Motin <mav@freebsd.org> - add more ID's - P4 ID: 165805
Submitted by: hps Approved by: re
|
195916 |
27-Jul-2009 |
weongyo |
adds DLINK2 DWA120 device.
PR: usb/136950 Reported by: Alexander Kuznetsov <skritku at gmail.com> Approved by: re (kib)
|
195639 |
12-Jul-2009 |
marcel |
MFp4: USB CORE: busdma improvement
For single segment allocations the boundary field of the BUSDMA tag should be zero. Currently all single segment allocations are less than or equal to 4096 bytes, so the limit does not kick in. If any single segment USB allocations would be greater than 4K, then it would be a problem.
Approved by: re (kensmith) Obtained from: HPS
|
195146 |
28-Jun-2009 |
ed |
Don't pick up Giant inside ucom(4).
Giant was only used here to lock down a bit mask of allocated unit numbers. Change the code to use its own mutex.
Reviewed by: hselasky Approved by: re (kib)
|
195133 |
28-Jun-2009 |
phk |
Add ids of Sitecom USB wlan gadget.
Approved by: re (kib)
|
195121 |
27-Jun-2009 |
thompsa |
Sync to p4
- Add support for devices that handle set and clear stall in hardware. - Add missing get timestamp function - Add more xfer flags
Submitted by: Hans Petter Selasky Approved by: re (kib)
|
195080 |
26-Jun-2009 |
delphij |
Add quirks for Actions MP4 player.
Submitted by: John Hixson <john ixsystems com> Approved by: re (kib) MFC after: 2 weeks
|
195049 |
26-Jun-2009 |
rwatson |
Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ IF_ADDR_UNLOCK() across network device drivers when accessing the per-interface multicast address list, if_multiaddrs. This will allow us to change the locking strategy without affecting our driver programming interface or binary interface.
For two wireless drivers, remove unnecessary locking, since they don't actually access the multicast address list.
Approved by: re (kib) MFC after: 6 weeks
|
194939 |
25-Jun-2009 |
weongyo |
updates AMRR statistics with tx complete status that if not the tx rate always would be reduced.
|
194937 |
25-Jun-2009 |
weongyo |
uses ZYD_NOTIF_RETRYSTATUS info to count the number of retries.
|
194682 |
23-Jun-2009 |
thompsa |
Fix a typeo in the frame len function to unbreak the build, make it shorter while I am here.
|
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
|
194659 |
22-Jun-2009 |
thompsa |
Fix length check for ugen control transfer.
Submitted by: Sylvestre Gallon, HPS
|
194584 |
21-Jun-2009 |
remko |
use PROTO_DEFAULT.
Requested by: hps
|
194582 |
21-Jun-2009 |
remko |
Add support for the Myson Heden 8813. Note that I also added the usbdev to the list, because the 8813 version is not yet known there. I might have twisted the sorting there but because 8813 comes before 8818, I added it before that (with _8813 to differentiate) the item.
PR: 135628 Submitted by: Yoshikazu GOTO <goto at on-link dot jp> Approved by: imp (mentor, implicit)
|
194329 |
17-Jun-2009 |
weongyo |
reorders the sequence when the device is detached. After detaching the interface is completed then it'll process other parts to avoid a race condition.
Pointed by: jhb
|
194271 |
15-Jun-2009 |
thompsa |
Fix usb2_find_descriptor function name.
|
194230 |
15-Jun-2009 |
thompsa |
Fix _USB2_* refernces in the header protection defines.
|
194228 |
15-Jun-2009 |
thompsa |
s/usb2_/usb_|usbd_/ on all function names for the USB stack.
|
194227 |
15-Jun-2009 |
thompsa |
Remove usb2_cv_* and just use the kernel condvar implementation, it was needed earlier since condition variables didnt work with Giant but this was fixed 10 months ago.
|
194102 |
13-Jun-2009 |
sanpei |
Correct entry of vendor ID 0x0d8c. It's C-Media, not ABC.
Obtained from: NetBSD usbdevs rev.1.418
|
194099 |
13-Jun-2009 |
thompsa |
Make variables static where appropriate.
Found by: cscout
|
194072 |
12-Jun-2009 |
marcel |
Move the memory layout definitions and logic from mvreg.h to mvwin.h so that it isn't exposured unless needed. In particular this means that it's easier to tune the memory layout based on board details. While here, remove inclusion of <machine/intr.h> from mvreg.h. This also contains exposure to SoC specifics in MI drivers, because NIRQ depends on the SoC.
|
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
|
194065 |
12-Jun-2009 |
thompsa |
Free the correct memory pointer.
Submitted by: Tim Borgeaud (via HPS)
|
194064 |
12-Jun-2009 |
thompsa |
Minor device side improvement. Make sure a not complete state gets paired with a complete state in device side mode for the default control endpoint.
Submitted by: Hans Petter Selasky
|
193803 |
09-Jun-2009 |
weongyo |
unify zyd_tx_mgt() and zyd_tx_data() to simplify TX path and sorts setting TX descritor.
While I'm here fixes a bug that the management frames only sent at 2 Mbits/s.
|
193733 |
08-Jun-2009 |
thompsa |
Change driver_info to a ulong as it always stores a number and remove the only diff of the usb_device_id struct to Linux.
Reviewed by: HPS
|
193644 |
07-Jun-2009 |
thompsa |
Rename usb pipes to endpoints as it better represents what they are, and struct usb_pipe may be used for a different purpose later on.
|
193466 |
04-Jun-2009 |
thompsa |
Remove duplicate variable setting.
Spotted by: Sylvestre Gallon
|
193420 |
04-Jun-2009 |
weongyo |
reimplements RF logic for GCT chipset (as known as UW2453) to support ICIDU NI-707503 which is donated by Nick Hibma (great thanks!). Though it has a MAXIM RF (0x8) there's some success reports with using GCT RF (0x9) codes and it worked well for ICIDU NI-707503 too. So codes for MAXIM and GCT RFs are integrated.
Before this commit, if I rememeber correctly, MAXIM RF is never tested that it seems it's a first report working with FreeBSD.
|
193419 |
04-Jun-2009 |
weongyo |
cleanups the device match list.
|
193338 |
02-Jun-2009 |
thompsa |
Place the fifo and ref counting variables on the stack to prevent races.
Submitted by: Hans Petter Selasky
|
193318 |
02-Jun-2009 |
thompsa |
Reorgansise the logic for tranversing the pipe list.
Submitted by: Hans Petter Selasky
|
193317 |
02-Jun-2009 |
thompsa |
Fix compile after the removal of bsd_udev.
Submitted by: Hans Petter Selasky
|
193316 |
02-Jun-2009 |
thompsa |
Fix multithread issue where the is_uref variable was not set and cleared properly in the CDEV private data.
Submitted by: Hans Petter Selasky
|
193315 |
02-Jun-2009 |
thompsa |
Staticize ukbd_detach and fix indentation.
Submitted by: Sylvestre Gallon
|
193194 |
01-Jun-2009 |
weongyo |
ZyXEL G-202 has zd1211b chipset, not zd1211.
Tested by: Samuel Boivie <samuel at boivie.org>
|
193171 |
31-May-2009 |
deischen |
Add a NO_SYNCHRONIZE_CACHE quirk for an AIPTEK2 part identified as Sunplus Technology Inc. This happens to sit in a Rosewill RX81U-ES-25A 2.5" SATA to USB 2.0 external enclosure.
Reviewed by: Hans Petter Selasky
|
193074 |
30-May-2009 |
thompsa |
Revert the size_t part of the last commit for the moment, this blows up the USB_ADD_BYTES macro.
|
193073 |
29-May-2009 |
sam |
validate tx rate(s) in the raw xmit path
Tested by: "Paul B. Mahol" <onemda@gmail.com> (rum, bwi)
|
193068 |
29-May-2009 |
thompsa |
Fix function arguments were previously they matched the typedef by accident.
|
193045 |
29-May-2009 |
thompsa |
s/usb2_/usb_/ on all typedefs for the USB stack.
|
193042 |
29-May-2009 |
thompsa |
Free device strings.
Spotted by: HPS
|
193029 |
29-May-2009 |
weongyo |
adds new device IDs.
PR: usb/135009 Submitted by: Bill Squire <billsf at 2600.COM>
|
193018 |
29-May-2009 |
ed |
Last minute TTY API change: remove mutex argument from tty_alloc().
I don't want people to override the mutex when allocating a TTY. It has to be there, to keep drivers like syscons happy. So I'm creating a tty_alloc_mutex() which can be used in those cases. tty_alloc_mutex() should eventually be removed.
The advantage of this approach, is that we can just remove a function, without breaking the regular API in the future.
|
192984 |
28-May-2009 |
thompsa |
s/usb2_/usb_/ on all C structs for the USB stack.
|
192938 |
27-May-2009 |
thompsa |
Allocate the usb serial, manufacturer and product strings rather than use char arrays in the usb_device struct. This also eliminates USB_HAVE_STRINGS.
|
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
|
192910 |
27-May-2009 |
thompsa |
Remove empty dir.
|
192907 |
27-May-2009 |
thompsa |
move ng_ubt_var.h back to its original place
|
192906 |
27-May-2009 |
thompsa |
move ng_ubt.c back to its original place
|
192905 |
27-May-2009 |
thompsa |
move ubtbcmfw.c back to its original place
|
192873 |
27-May-2009 |
weongyo |
ports urtw(4) for USB2. Additionally it supports a 8187B chipset weakly that it needs more stabilization.
|
192857 |
26-May-2009 |
thompsa |
Unifdef __NetBSD__ here, the usb stack as a whole doesnt support NetBSD and it obsfucates the code.
|
192820 |
26-May-2009 |
thompsa |
Do not forcefully close the write transfer when closing the tty, it needs to run to completion and drain the tty queue.
|
192559 |
21-May-2009 |
thompsa |
Don't clear last usage when a new HID item is found, it improves parsing of Apple keyboard HID descriptors.
Submitted by: Hans Petter Selasky
|
192558 |
21-May-2009 |
thompsa |
Remove README.TXT as the info is in usb(4).
|
192557 |
21-May-2009 |
thompsa |
Add Sharp WILLCOM03 ipaq and Option GTHSDPA 3g device ids.
Submitted by: Hans Petter Selasky
|
192556 |
21-May-2009 |
thompsa |
Use the correct usb config number on attach.
Reported by: Greg Rivers Submitted by: Hans Petter Selasky
|
192555 |
21-May-2009 |
thompsa |
Fix a failure to report failure on stalled status stage for control transactions.
Submitted by: Hans Petter Selasky
|
192554 |
21-May-2009 |
thompsa |
Add a driver for the AVR32 series USB Device Controller. Not hooked up as FreeBSD does not yet support this platform but it makes it easier to stay in sync.
Submitted by: Hans Petter Selasky
|
192552 |
21-May-2009 |
thompsa |
Improve device mode (gadget) stall handling.
Some hardware easily comes out of sync with regard to whether the current or the next control transfer should be stalled, if a stall command is always issued before receiving the SETUP packet. After this patch the stall command will only be issued when a transfer should actually be stalled.
Submitted by: Hans Petter Selasky
|
192511 |
21-May-2009 |
thompsa |
Print out device attachment.
|
192502 |
21-May-2009 |
thompsa |
Rename the usb sysctl tree from hw.usb2.* back to hw.usb.*.
Submitted by: Hans Petter Selasky
|
192500 |
21-May-2009 |
thompsa |
Use enums for speed and rev data types.
|
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]
|
192468 |
20-May-2009 |
sam |
Overhaul monitor mode handling: o replace DLT_IEEE802_11 support in net80211 with DLT_IEEE802_11_RADIO and remove explicit bpf support from wireless drivers; drivers now use ieee80211_radiotap_attach to setup shared data structures that hold the radiotap header for each packet tx/rx o remove rx timestamp from the rx path; it was used only by the tdma support for debugging and was mostly useless due to it being 32-bits and mostly unavailable o track DLT_IEEE80211_RADIO bpf attachments and maintain per-vap and per-com state when there are active taps o track the number of monitor mode vaps o use bpf tap and monitor mode vap state to decide when to collect radiotap state and dispatch frames; drivers no longer explicitly directly check bpf state or use bpf calls to tap frames o handle radiotap state updates on channel change in net80211; drivers should not do this (unless they bypass net80211 which is almost always a mistake) o update various drivers to be more consistent/correct in handling radiotap o update ral to include TSF in radiotap'd frames o add promisc mode callback to wi
Reviewed by: cbzimmer, rpaulo, thompsa
|
192448 |
20-May-2009 |
thompsa |
Use defines for register offsets that do not change.
Submitted by: Hans Petter Selasky
|
192446 |
20-May-2009 |
thompsa |
- Add new register definitions - Enable the controller and wait for the PLL to start
Submitted by: Hans Petter Selasky
|
192444 |
20-May-2009 |
thompsa |
The register shift is not needed on this controller.
Submitted by: Hans Petter Selasky
|
192419 |
20-May-2009 |
weongyo |
try to unsetup USB xfers before calling ieee80211_ifdetach() to fix a bug referencing a destroyed lock within TX callbacks during device detach.
Submitted by: hps (original version) Tested by: Lucius Windschuh <lwindschuh at googlemail.com>
|
192258 |
17-May-2009 |
sam |
add TRENDnet TEW-504UB/EU
Submitted by: Lucius Windschuh <lwindschuh@googlemail.com>
|
192257 |
17-May-2009 |
sam |
fix 11a channel use; mark OFDM operation correctly
Submitted by: Lucius Windschuh <lwindschuh@googlemail.com>
|
192057 |
13-May-2009 |
thompsa |
Ensure the bmRequestType is the right type for the incoming control request.
Submitted by: Hans Petter Selasky
|
192056 |
13-May-2009 |
thompsa |
Add parenthesis around the xfer macro argument.
Submitted by: Hans Petter Selasky
|
192055 |
13-May-2009 |
thompsa |
Make sure collections have the usage field set.
Submitted by: Hans Petter Selasky
|
192054 |
13-May-2009 |
thompsa |
Check the correct variable for IO_NDELAY.
Submitted by: Hans Petter Selasky
|
192053 |
13-May-2009 |
thompsa |
Add debug lines for fullspeed and highspeed xfer completion.
Submitted by: Hans Petter Selasky
|
192052 |
13-May-2009 |
thompsa |
Sync to P4
Add umass quirks for Alcor AU6390, Cypress PATA 6830XX and MPMan MPF400.
Submitted by: Hans Petter Selasky
|
192051 |
13-May-2009 |
thompsa |
The transfer must return USB_ERR_CANCELLED when the device is gone due to the way usb drivers work.
Submitted by: Hans Petter Selasky
|
192006 |
12-May-2009 |
weongyo |
Add WUSB54AG and XM142 entries for upgt(4)
|
191983 |
11-May-2009 |
weongyo |
ports upgt(4) driver for USB2.
|
191892 |
07-May-2009 |
thompsa |
Use a 32 bit type for the interface mask as this equals the max interface count.
|
191870 |
07-May-2009 |
thompsa |
Add the Sierra AC885U and increase the max ports to 8.
|
191869 |
07-May-2009 |
thompsa |
- Fix the u3g port detection where it would not calculate the correct number of ports when multiple interfaces are present. - Claim all interfaces regardless of how many are attached
|
191868 |
07-May-2009 |
thompsa |
Use vendor and product macro expansion to make the device table smaller and more readable.
|
191826 |
05-May-2009 |
thompsa |
Make sure the frame list base address is re-programmed after stopping the USB schedule, in case the hardware clears the frame list base address.
Submitted by: Hans Petter Selasky Reported by: Chao Shin
|
191825 |
05-May-2009 |
thompsa |
Remove USB shutdown methods from device drivers as its the host controllers responsibility to detach the bus.
PR: usb/133896 Submitted by: Hans Petter Selasky
|
191824 |
05-May-2009 |
thompsa |
Revert part of r191494 which used the udev state to mark suspending, this needs to be set via two variables (peer_suspended and self_suspended) and can not be merged into one.
Submitted by: Hans Petter Selasky Pointy hat: me
|
191746 |
02-May-2009 |
thompsa |
Create a taskqueue for each wireless interface which provides a serialised sleepable context for net80211 driver callbacks. This removes the need for USB and firmware based drivers to roll their own code to defer the chip programming for state changes, scan requests, channel changes and mcast/promisc updates. When a driver callback completes the hardware state is now guaranteed to have been updated and is in sync with net80211 layer.
This nukes around 1300 lines of code from the wireless device drivers making them more readable and less race prone.
The net80211 layer has been updated as follows - all state/channel changes are serialised on the taskqueue. - ieee80211_new_state() always queues and can now be called from any context - scanning runs from a single taskq function and executes to completion. driver callbacks are synchronous so the channel, phy mode and rx filters are guaranteed to be set in hardware before probe request frames are transmitted.
Help and contributions from Sam Leffler.
Reviewed by: sam
|
191710 |
30-Apr-2009 |
thompsa |
We need to ref the bss node when sending the beacon since it goes through the normal tx path and will be decremented on the mbuf free.
|
191498 |
25-Apr-2009 |
thompsa |
Make the state string descriptions public.
|
191494 |
25-Apr-2009 |
thompsa |
Track the usb device state as its powered on, addressed and configured. This helps to avoid touching the device when it is not going to respond and would otherwise timeout.
Implement the suspend tracking as a udev state too.
|
191402 |
22-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@160930
Change the roothub exec functions to take the usb request and data pointers directly rather than placing them on the parent bus struct.
Submitted by: Hans Petter Selasky
|
191401 |
22-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@160708
Need to check Read/Write allowed before writing any data for non-control transfers.
Submitted by: Hans Petter Selasky
|
191400 |
22-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@160706
Resolve possible device side mode deadlock by creating another thread.
Submitted by: Hans Petter Selasky
|
191399 |
22-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@160678
Remove unused field.
Submitted by: Hans Petter Selasky
|
191398 |
22-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@160655
Fix possible issue with clear-stall and set-config happening at the same time.
Submitted by: Hans Petter Selasky
|
191397 |
22-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@160614
Fix errornous printout.
Submitted by: Hans Petter Selasky
|
191396 |
22-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@160485
Fix a bug in the USB power daemon code where connection of multiple HUBs in series would result in incorrect device suspend.
Reported by: Nicolas xxx@wanadoo.fr Submitted by: Hans Petter Selasky
|
191395 |
22-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@160413
Use direct reference to parent high-speed HUB instead of indirect, due to pointer clearing race at detach of parent USB HUB.
Reported by: kientzle Submitted by: Hans Petter Selasky PR: usb/133545
|
191346 |
21-Apr-2009 |
takawata |
Add another FTDI serial converter.
|
190878 |
10-Apr-2009 |
thompsa |
Revert r190676,190677
The geom and CAM changes for root_hold are the wrong solution for USB design quirks.
Requested by: scottl
|
190755 |
06-Apr-2009 |
thompsa |
Remove usb_sw_transfer.[ch] which are now empty after r190735.
|
190754 |
06-Apr-2009 |
thompsa |
Provide a better commit log for r190735, forced by making a whitespace change.
Refactor how we interface with the root HUB. This is achieved by making a direct call from usb2_do_request to the host controller for root hub requests, this call will perform the controller specific register read/writes and return the error code.
This cuts out a lot of code in the host controller files and saves one thread per USB bus.
Submitted by: Hans Petter Selasky
|
190749 |
05-Apr-2009 |
piso |
Remove pointeless mergeinfo that crept in from r190633.
|
190744 |
05-Apr-2009 |
thompsa |
Catch up with usb2_config struct layout changes.
|
190743 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@160056
Remove code for unused and unlikely quirk, "uq_power_claim"
Submitted by: Hans Petter Selasky
|
190742 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@160052
Wait until line configuration is complete before starting data transfers.
Submitted by: Hans Petter Selasky
|
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
|
190739 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159948
Add more debugging output on enumeration failures.
Submitted by: Hans Petter Selasky
|
190738 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159946
Some cancelable flags are always true. Substitute these away. These cancelable flags were mostly useful with the root HUB which is now handled differently.
Submitted by: Hans Petter Selasky
|
190737 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159926
Minor code factorisation in atmegadci.c
Submitted by: Hans Petter Selasky
|
190736 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159925
Cast variables properly for non-32-bit platforms.
Submitted by: Hans Petter Selasky
|
190735 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159922
Refactor how we interface with the root HUB. This cuts around 1200 lines of code totally and saves one thread per USB bus.
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
|
190733 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159908
Reduce the amount of memory used by better sizing buffer arrays.
Submitted by: Hans Petter Selasky
|
190732 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159897
Add new endpoint direction values for use with usb2_config
Submitted by: Hans Petter Selasky
|
190731 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159871
- bugfixes after the memory usage reduction patch - Use "udev->pipes_max" instead of USB_EP_MAX - Use correct "bmRequestType" for getting the config descriptor.
Submitted by: Hans Petter Selasky
|
190730 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159866
- memory usage reduction by only allocating the required USB pipes and USB interfaces. - cleanup some USB parsing functions to be more flexible.
Submitted by: Hans Petter Selasky
|
190729 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159864
Fix possible deadlock with UGEN at detach.
Submitted by: Hans Petter Selasky
|
190728 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159863
Speed up the endpoint descriptor search
Submitted by: Hans Petter Selasky
|
190727 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159811
First patch in a series of memory save patches.
Submitted by: Hans Petter Selasky
|
190726 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159806
Properly name usb2_uref_location() so that it is not confused with usb2_unref_location() .
Submitted by: Hans Petter Selasky
|
190725 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159797
Remove unused field in "struct usb2_pipe".
Submitted by: Hans Petter Selasky
|
190724 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159700
Get rid of the last CALLOUT_RETURNUNLOCKED reference.
Submitted by: Hans Petter Selasky
|
190723 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159677
Remove redundant locking.
Submitted by: Hans Petter Selasky
|
190722 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159674
Fix more corner cases around reception of SETUP packets.
Submitted by: Hans Petter Selasky
|
190721 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159673
Fix a corner case around stalling SETUP packets in device side mode.
Submitted by: Hans Petter Selasky
|
190720 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159671
Fix interrupt register setting on the atmegadci controller.
Submitted by: Hans Petter Selasky
|
190719 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159562
Reapply r190173 with compilation fixed on 64bit arches.
Submitted by: Hans Petter Selasky
|
190688 |
04-Apr-2009 |
weongyo |
Add uath(4) wireless USB driver for Atheros AR5005UG and AR5005UX chipsets.
Reviewed by: sam
|
190676 |
03-Apr-2009 |
thompsa |
Add a how argument to root_mount_hold() so it can be passed NOWAIT and be called in situations where sleeping isnt allowed.
|
190633 |
01-Apr-2009 |
piso |
Implement an ipfw action to reassemble ip packets: reass.
|
190588 |
31-Mar-2009 |
kevlo |
Add another rum(4) device found in http://www.fit-pc.com/new/whats-new.html
|
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
|
190579 |
30-Mar-2009 |
sam |
Hoist 802.11 encapsulation up into net80211: o call ieee80211_encap in ieee80211_start so frames passed down to drivers are already encapsulated o remove ieee80211_encap calls in drivers o fixup wi so it recreates the 802.3 head it requires from the 802.11 header contents o move fast-frame aggregation from ath to net80211 (conditional on IEEE80211_SUPPORT_SUPERG): - aggregation is now done in ieee80211_start; it is enabled when the packets/sec exceeds ieee80211_ffppsmin (net.wlan.ffppsmin) and frames are held on a staging queue according to ieee80211_ffagemax (net.wlan.ffagemax) to wait for a frame to combine with - drivers must call back to age/flush the staging queue (ath does this on tx done, at swba, and on rx according to the state of the tx queues and/or the contents of the staging queue) - remove fast-frame-related data structures from ath - add ieee80211_ff_node_init and ieee80211_ff_node_cleanup to handle per-node fast-frames state (we reuse 11n tx ampdu state) o change ieee80211_encap calling convention to include an explicit vap so frames coming through a WDS vap are recognized w/o setting M_WDS
With these changes any device able to tx/rx 3Kbyte+ frames can use fast-frames.
Reviewed by: thompsa, rpaulo, avatar, imp, sephe
|
190532 |
29-Mar-2009 |
sam |
o add ic_rt to track the rate table for the current channel; this enables calculation of packet transmit times to do things like check txop limits o remove equivalent driver code and convert to use net80211 state
|
190526 |
29-Mar-2009 |
sam |
Eliminate ic_myaddr so changing the mac address of a device works correctly: o remove ic_myaddr from ieee80211com o change ieee80211_ifattach to take the mac address of the physical device and use that to setup the lladdr. o replace all references to ic_myaddr in drivers by IF_LLADDR o related cleanups (e.g. kill dead code)
PR: kern/133178 Reviewed by: thompsa, rpaulo
|
190471 |
27-Mar-2009 |
thompsa |
The buffer start and end phys addresses should be 0x0 for an OHCI zero length packet, this fixes LS/FS devices on the Gateworks 2348 XScale board.
Reviewed by: HPS
|
190328 |
23-Mar-2009 |
thompsa |
Fix order of debug printf items, addr and config# were swapped.
|
190306 |
23-Mar-2009 |
kan |
Do not pass uninitialized data buffer to devctl_queue_data function. This was botched in revision 190191.
|
190269 |
22-Mar-2009 |
thompsa |
Set the endpoint on the preallocated fifo so it doesnt get matched as an endpoint fifo.
Reported by: Pieter de Goeje
|
190263 |
22-Mar-2009 |
imp |
NO_INQUIRY is wrong for this device. Alternatively, if it is right, it is right for only a tiny fraction of these devices and this wild-card entry is too broad.
# I run a kernel without this entry at all without ill effects...
|
190238 |
22-Mar-2009 |
thompsa |
Improve debugging output around ioctls.
|
190195 |
21-Mar-2009 |
thompsa |
Revert r190173 as it breaks 64bit arches.
|
190191 |
20-Mar-2009 |
thompsa |
Fix compile with USB_HAVE_BUSDMA/USB_HAVE_UGEN/USB_HAVE_STRINGS.
Submitted by: Hans Petter Selasky
|
190189 |
20-Mar-2009 |
thompsa |
Add umass quirk.
PR: usb/132799 Reported by: Yoshihiro Ota Submitted by: Hans Petter Selasky
|
190188 |
20-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb @159423, 159497
- Return a Zero Length packet on read errors. - Allow for smaller buffer size.
Submitted by: Hans Petter Selasky
|
190187 |
20-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb@159446
Remove unused and depreciated function: usb2_get_devid().
Submitted by: Hans Petter Selasky
|
190186 |
20-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb@159517
Fix warnings with the IAR compiler.
Submitted by: Hans Petter Selasky
|
190185 |
20-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb
Sync usb_core.h after header changes.
Submitted by: Hans Petter Selasky
|
190184 |
20-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb @159479,159502,159516,159522,159529
Workaround for buggy USB hardware not handling new SETUP packet before STATUS stage is complete, this allows xfers to endpoint0 to return a short frame.
Submitted by: Hans Petter Selasky Reported by: me
|
190183 |
20-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb @159479,159502,159516,159522,159529
Workaround for buggy USB hardware not handling new SETUP packet before STATUS stage is complete, this allows xfers to endpoint0 to return a short frame.
Submitted by: Hans Petter Selasky Reported by: me
|
190181 |
20-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb @159431,159437,159438
- start using the new USB typedefs in the USB core - Remove usage of USB_ADD_BYTES()
Submitted by: Hans Petter Selasky
|
190180 |
20-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb@159392
Add ifdefs for making parts of usb conditional.
Submitted by: Hans Petter Selasky
|
190174 |
20-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb @159430
- Move tunable defines into usb_core.h and dependancy towards usb_defs.h - Leave hardcoded defines in "usb_defs.h". - Allow overriding all tunable defines. - Add more customisable typedefs. - Correct maximum device number.
Submitted by: Hans Petter Selasky
|
190173 |
20-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb @159379,159380
Fixes for 8-bit and 16-bit compilation.
Submitted by: Hans Petter Selasky
|
190172 |
20-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb @159375,159376,159377
Further remove dependancy towards Giant.
Submitted by: Hans Petter Selasky
|
190102 |
19-Mar-2009 |
thompsa |
Remove empty dirs.
|
190100 |
19-Mar-2009 |
thompsa |
Remove the uscanner(4) driver, this follows the removal of the kernel scanner driver in Linux 2.6. uscanner was just a simple wrapper around a fifo and contained no logic, the default interface is now libusb (supported by sane).
Reviewed by: HPS
|
190089 |
19-Mar-2009 |
garga |
- Add Sun Type 7 keyboard - Rename Type 6 entry (following NetBSD) - Add Sun Type 7 Keyboard USB Hub
PR: usb/132811 Reviewed by: thompsa Approved by: thompsa
|
189906 |
17-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb 159225,159241,159292
Fix regression issue in the USB file system interface. - Use cdev_privdata pointer as indicator of correct file handle. - Remove redundant FIFO opened flags.
Don't send ZLP at close for ulpt and uscanner devices as this causes some models to stop working. This reverts back to the USB1 behaviour.
Submitted by: Hans Petter Selasky
|
189905 |
17-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb 159238,159275
Add umass quirks.
Submitted by: Michael Gmelin
|
189904 |
17-Mar-2009 |
thompsa |
Add Supertop IDE adapter and Quickcam entries.
|
189776 |
13-Mar-2009 |
thompsa |
HID usage minimum can be equal to the maximum.
Submitted by: Hans Petter Selasky Tested by: Andreas Tobler
|
189718 |
12-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb 159004,159053,159091
More HID parsing fixes for usb mice. - be less strict on the last HID item usage. - preserve item size and count accross items - improve default HID usage selection.
Tested by: ache Submitted by: Hans Petter Selasky
|
189699 |
11-Mar-2009 |
dfr |
Merge in support for Xen HVM on amd64 architecture.
|
189677 |
11-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb 158981,159016,159024
Sync support for ATMEGA DCI parts.
Submitted by: Hans Petter Selasky
|
189676 |
11-Mar-2009 |
thompsa |
Fix a possible NULL pointer access at controller attach.
Submitted by: Hans Petter Selasky
|
189646 |
10-Mar-2009 |
thompsa |
Make sure HID has a default usage, this fixes recent mouse problems.
Tested by: Renato Botelho Tested by: beech (earlier version) Submitted by: Hans Petter Selasky
|
189599 |
09-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb 158942,158948
Allow USB to be compiled without ugen support.
Submitted by: Hans Petter Selasky
|
189598 |
09-Mar-2009 |
thompsa |
Fix musb_otg.h include filename.
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
|
189575 |
09-Mar-2009 |
imp |
remove now-redunant cardbus attachment.
|
189547 |
08-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb@158868
Fix bugs and improve HID parsing. - fix possible memory leak found - fix possible NULL pointer access - fix possible invalid memory read - parsing improvements - reset item data position when a new report ID is detected.
Submitted by: Hans Petter Selasky
|
189546 |
08-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb@158869
Fix sael init code.
Reported by: Alberto Mijares Submitted by: Hans Petter Selasky
|
189528 |
08-Mar-2009 |
thompsa |
Move m_getcl() into its own function. This also fixes a bug where the m_adj for ETHER_ALIGN was having no effect since m_len had not been set.
|
189522 |
08-Mar-2009 |
thompsa |
Fix endian conversion from htole16 to htole32.
Tested with: ARM xscale
|
189496 |
07-Mar-2009 |
thompsa |
(re)merge r186415,186416 from the old usb stack;
o add Transaction Translator support (still missing ISOC xfers) o add EHCI_SCFLG_BIGEMMIO flag to force big-endian byte-select to be set in USBMODE o split reset work into new public routine ehci_reset so bus shim drivers can force big-endian byte-select before ehci_init o enable TT and big-endian MMIO o force a reset before ehci_init to get byte-select setup
Also go back to using USB_EHCI_BIG_ENDIAN_DESC at compile time to enable the byteswapping and reduce diffs to the original commits.
This fixes the new USB stack on the Cambria board.
|
189491 |
07-Mar-2009 |
thompsa |
Fix some missed htole32 conversions to htoehci32.
Reviewed by: hps
|
189453 |
06-Mar-2009 |
thompsa |
MFp4 //depot/projects/usb@158692
Workaround a EHCI performance problem by issuing a doorbell after queueing a bulk xfer.
Submitted by: Hans Petter Selasky
|
189452 |
06-Mar-2009 |
thompsa |
Ensure the cached rq pointer is still valid before waking up the address, the zyd_cmd function may have timed out. It wouldnt cause a panic but could wakeup someone.
Spotted by: HPS
|
189449 |
06-Mar-2009 |
joerg |
Add a couple of more things to the FTDI driver I came across:
. Dresden Elektronik "Wireless Handheld Terminal" . Atmel STK541 "Zigbee Controller"
MFC after: 1 week
|
189422 |
05-Mar-2009 |
thompsa |
Fix usb2_poll not to return an error number as the function return value is a bitmask of events.
Pointed out by: HPS
|
189405 |
05-Mar-2009 |
thompsa |
Add support for the UNION interface descriptor, used by Nokia phones.
PR: usb/117185
|
189360 |
04-Mar-2009 |
thompsa |
Add Mobile Action MA-620 Infrared Adapter.
PR: usb/125072 Submitted by: Alexander Logvinov MFC after: 1 week
|
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
|
189265 |
02-Mar-2009 |
thompsa |
Move the serial drivers from Giant to using their own mutexs.
Tested with: u3g, ubser, uplcom
|
189173 |
28-Feb-2009 |
thompsa |
A couple of style nits in the last commit - unwrap short lines - move variable initialisation out of the declaration.
|
189172 |
28-Feb-2009 |
thompsa |
- Remove the usb interface number from the device nodes as it is not needed. - Do not recreate the device nodes in set_alt_interface as the endpoints do not change.
Submitted by: Hans Petter Selasky
|
189125 |
27-Feb-2009 |
thompsa |
Change the last references to PRIV_ROOT. /dev/usb used to be world writable so further root checks were needed, this isnt the case anymore but just change it to PRIV_DRIVER until it can be investigated later.
Spotted by: rwatson
|
189124 |
27-Feb-2009 |
thompsa |
Remove ic_update_mcast calls that are not implemented.
Spotted by: sam Pointy hat: me
|
189123 |
27-Feb-2009 |
thompsa |
Partial sync to //depot/projects/usb
- Reissue the ctrl request on failure - Ensure Tx and ctrl requests are not interleaved - Add promisc callbacks
Obtained from: Hans Petter Selasky
|
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)
|
189002 |
24-Feb-2009 |
ed |
Also use proper capitalisation of FreeBSD in other source files.
Approved by: thompsa
|
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.
|
188989 |
24-Feb-2009 |
thompsa |
MFp4 //depot/projects/usb@158015
Add support for the Sael M460 3G modem.
Submitted by: Hans Petter Selasky
|
188988 |
24-Feb-2009 |
thompsa |
Fix compiler warning.
|
188987 |
24-Feb-2009 |
thompsa |
MFp4 //depot/projects/usb@157974
Add support for setting and getting the USB template value through libusb20 and usbconfig.
Submitted by: Hans Petter Selasky
|
188986 |
24-Feb-2009 |
thompsa |
MFp4 //depot/projects/usb@157958
- We don't need to exit the Giant mutex when sleeping. This is done automatically. Replace Giant by NULL mutex for all control requests in the enumeration path. - Optimise away duplicate alternate interface selection requests in USB Host mode.
Submitted by: Hans Petter Selasky
|
188985 |
24-Feb-2009 |
thompsa |
MFp4 //depot/projects/usb@157909
Changes to make implementing USB NDIS easier.
Submitted by: Hans Petter Selasky
|
188983 |
24-Feb-2009 |
thompsa |
MFp4 //depot/projects/usb@157853
Clean up old way of polling the USB hardware. The existing polling support was a bit hackish.
Submitted by: Hans Petter Selasky
|
188982 |
24-Feb-2009 |
thompsa |
MFp4 //depot/projects/usb@157847
Improvements to "usb2_transfer_setup()" and "usb2_transfer_unsetup()". Set "ppxfer[n]" when the transfer setup is complete to prevent races. Remove redundant NULL-checks from "usb2_transfer_unsetup()".
Submitted by: Hans Petter Selasky
|
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
|
188969 |
23-Feb-2009 |
thompsa |
Make sure at least two tx slots are free before sending the mbuf since an additional frame may be sent for 80211 protection.
|
188957 |
23-Feb-2009 |
thompsa |
Move the uaudio and ata-usb drivers into their correct locations.
|
188947 |
23-Feb-2009 |
thompsa |
Reintroduce r188878, provide compat typedefs for usb1.
|
188942 |
23-Feb-2009 |
thompsa |
Move the new USB stack into its new home.
|