summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Push kernel lock down to umb_rtrequest().mvs2021-04-011-1/+3
| | | | | | | | | | | | | | | We are going to unlock PF_ROUTE sockets. This means `if_rtrequest' handler will be performed without kernel lock. umb_rtrequest() calls umb_send_inet_proposal() which touches kernel lock protected `ipv{4,6}dns' array. Also umb_rtrequest() is the only handler which requires kernel lock to be held. So push the lock down to umb_rtrequest() instead of grab it around `if_rtrequest' call. This hunk was commited separately for decreases PF_ROUTE sockets unlocking diff. ok gerhard@ deraadt@
* syncsthen2021-03-312-54/+54
|
* Remove redundant "HUAWEI Mobile" in usbdevs strings, mention radiosthen2021-03-311-26/+26
| | | | technology where known. ok deraadt
* fix typos in commentssthen2021-03-301-3/+3
|
* Some cards announce support for the NTB16 format, but that support does notpatrick2021-03-303-41/+167
| | | | | | | | | | work. Hence, add support for NTB32 in the transmit path. We already have support for NTB32 in the receive path. We detect the supported format on boot and can then decide on transmit which format to use. From ehrhardt@ with gerhard@ Tested by jan@ ok sthen@
* Some umb(4) devices require the NDP pointer behind the NDP datagram.patrick2021-03-302-36/+59
| | | | | From gerhard@ "broadly OK" sthen@
* combine umb_products and umb_fccauth_devs into one umb_quirks tablesthen2021-03-291-36/+51
| | | | ok gerhard@
* Add vid/pid table to umb(4) allowing matching to alternate configsthen2021-03-281-3/+64
| | | | | | | | | Some devices present multiple configurations and the one chosen by default is not always usable - for example, some have an CDC ECM config that does not work with our cdce(4) - allow overriding to a specific config in those cases. From gerhard@ with tweaks to comments by me, ok patrick@
* syncsthen2021-03-282-4/+14
|
* add pid for Dell DW5821e and HUAWEI ME906s LTE, ok patrick@sthen2021-03-281-1/+3
|
* trim the FCS off Ethernet packets before sending them up the stack.dlg2021-03-271-1/+8
| | | | | | | | | | | | | | | | | | Jurjen Oskam on tech@ found that ure in a veb caused these extra fcs bytes to be transmitted by other veb members. the extra bytes aren't a problem usually because our network stack ignores them if they're present, eg, the ip stack reads an ip packet length and trims bytes in an mbuf if there's more. bridge(4) masked this problem because it always parses IP packets going over the bridge and trims them like the IP stack before pushing them out another port. veb(4) generally just moves packets around based on the Ethernet header, by default it doesn't look too deeply into packets, which is why this issue popped out. it is more correct for ure to just not pass the fcs bytes up. ok jmatthew@ kevlo@
* syncsthen2021-03-242-6/+6
|
* remove vendor name (Dell) repeated in product namesthen2021-03-241-2/+2
|
* Define a USB quirk for devices that need to keep their pipes open atjcs2021-03-244-14/+63
| | | | | | | | | | | | | | | all times, before the device is enabled and after the device is disabled by wscons. This was originally needed by umt for the Microsoft Surface Type Cover to avoid it resetting (or at least detaching and reattaching) when the touchpad was touched while at the console. A similar problem occurs with the Pinebook Pro's keyboard when switching from X to the console due to the touchpad getting disabled, so add it to ums as well. with and ok kurt
* regenjcs2021-03-242-4/+16
|
* add HAILUCK Keyboardjcs2021-03-241-1/+5
| | | | from kurt
* In revision 1.91 of uhidev.c, jcs@ made sure to only detach devicesanton2021-03-183-22/+3
| | | | | claiming multiple report ids once. This allows uhidpp to piggy back on the same functionality making uhidev_unset_report_dev() redundant.
* When devices have claimed multiple report ids, only detach and sendjcs2021-03-171-17/+34
| | | | | | | | DVACT_DEACTIVATE to them once when walking sc_subdevs. Fixes a regression reported and tested by Edd Barrett. Input from and previous version ok anton.
* Add another Type Cover devicejcs2021-03-081-1/+2
| | | | from Fredrik Engberg
* regenjcs2021-03-082-4/+9
|
* Add Surface Pro Type Coverjcs2021-03-081-1/+2
| | | | from Fredrik Engberg
* Allow uhidev child devices to claim selective report idsjcs2021-03-0816-57/+74
| | | | | | | | | | | | | There may be multiple matching devices on a single uhidev device but the first device that responds to UHIDEV_CLAIM_ALLREPORTID will block the others from attaching. Change this to UHIDEV_CLAIM_MULTIPLE_REPORTID and require any devices wanting some/all report ids to fill in the claimed array in uhidev_attach_arg with just the reports it needs. uhidev can then run match routines for other drivers with the available report ids. ok anton
* regenjsg2021-02-272-55/+55
|
* sort and fix RTL8713 idjsg2021-02-271-12/+12
|
* we don't have to cast to caddr_t when calling m_copydata anymore.dlg2021-02-255-14/+14
| | | | | | | | | | | | | | | | the first cut of this diff was made with coccinelle using this spatch: @rule@ type caddr_t; expression m, off, len, cp; @@ -m_copydata(m, off, len, (caddr_t)cp) +m_copydata(m, off, len, cp) i had fix it's opinionated idea of formatting by hand though, so i'm not sure it was worth it. ok deraadt@ bluhm@
* remove unused usbd_get_device_string()jsg2021-02-241-21/+1
| | | | ok mpi@
* remove unused usbdi functionsjsg2021-02-242-44/+2
| | | | ok mpi@
* remove unused xhci_cmd_evaluate_ctx()jsg2021-02-241-22/+1
| | | | ok mpi@
* Poll battery sensors less frequently. The previous period was quiteanton2021-02-161-2/+2
| | | | arbitrary and inspired by other USB drivers.
* Trim uhidpp_device_features() by extracting two pure protocol functions.anton2021-02-161-18/+52
|
* Back-out USB data toggle fix for HID devices, since we received multiplemglocker2021-02-151-43/+1
| | | | | | reports about broken devices, e.g. for ukbd(4) and fido(4). ok mpi@
* Postpone installation of the periodic sensor task until at least oneanton2021-02-141-2/+4
| | | | device has connected.
* Bail out earlier during attach if no devices are paired with theanton2021-02-141-4/+7
| | | | receiver.
* Enumerate all features supported by a device on connect.anton2021-02-141-6/+93
| | | | Should help diagnose various reports regarding missing battery sensors.
* Initialize the stack local device id variable correctly.anton2021-02-111-2/+2
| | | | CID 1501705
* Make room for handling of HID++ 1.0 devices. No functional change.anton2021-02-111-56/+69
|
* Use idx suffix consistently.anton2021-02-111-17/+17
|
* Remove unused software id macro.anton2021-02-111-2/+1
|
* Fold long line.anton2021-02-111-2/+3
|
* Stop uhidpp from claiming all report ids, instead only claim theanton2021-02-111-5/+22
| | | | | | | | | | | necessary ones. Solves a regression introduced with the arrival of uhidpp causing some Logitech HID devices from attaching to its appropriate driver. Thanks to <naszy at poczta dot fm> and Peter Kane <pwkane at gmail dot com> for reporting and trying out diffs. ok mglocker@
* Add uhidev_unset_report_dev(), doing the opposite ofanton2021-02-112-2/+13
| | | | | | uhidev_set_report_dev(). Needed by some upcoming changes to uhidpp. ok mglocker@
* If uhidev_set_report_dev() already have been invoked for the givenanton2021-02-111-4/+6
| | | | | | report id, there's no point in trying to find a matching sub device. ok mglocker@
* Prevent that when ugen(4) tries to set an alternative configurationmglocker2021-02-051-1/+5
| | | | | | | | | | descriptor (usually doesn't happen), that we continue to use an outdated cdesc pointer which still refers to the previous cdesc. Instead update the cdesc pointer to the new configuration descriptor. Reported by Thomas Jeunet <cleptho AT gmail DOT com> ok phessler@
* Add uhidpp(4), a driver for Logitech HID++ devices. Currently limited toanton2021-02-042-1/+1060
| | | | | | | | | exposing battery sensors for HID++ 2.0 devices. Most of the code is derived from the hid-logitech-hidpp Linux driver. Thanks to Ville Valkonen <weezeldinga at gmail dot com> for testing. ok mglocker@
* Add uhidev_set_report_dev() allowing usb drivers to early on install aanton2021-02-042-5/+25
| | | | | | | handler for a specific report id. Needed by an upcoming driver in order to communicate with the device already in the attach routine. ok mglocker@ as part of a larger diff
* After the rev. 1.108 commit we see some issues with ugen(4) behaviour,mglocker2021-02-031-1/+5
| | | | | | | | | | which finally makes umb(4) fail, since ugen(4) attaches to one of the umb(4) interfaces, fails, and marks the whole device dying. Therefore make usbd_device2interface_handle() backwards compatible again. Problem reported by Mikolaj Kucharski. ok edd@
* Align the mixed naming for the variables used to reference tomglocker2021-02-014-31/+31
| | | | | | | | | bInterfaceNumber and bAlternateSetting as following: ifaceidx -> ifaceno altidx -> altno Suggested and ok mpi@
* update remaining usb.org URLssthen2021-01-294-12/+12
|
* update usb.org URLssthen2021-01-293-7/+7
|
* update some usb.org URLs following reorganisation, add a new one for updsthen2021-01-296-13/+15
| | | | partly from Alessandro Ricci