History log of /src/sys/dev/usb/usb_quirks.h |
Revision | | Date | Author | Comments |
1.30 |
| 01-Oct-2021 |
macallan | add a quirk for devices that need ums::sc_alwayson
|
1.29 |
| 15-Nov-2018 |
manu | Workaround NBP PN533 USB toggle bit bugs
The PN533 is known to mishandle the USB toggle bit, causing replies to be filtered out by the host controller. As a result, the kernel sees a timed out operation.
Vendor errata suggests that userland applications should detect the situation on read timeout, and write a dumy frame to resync the toggle bit. NFC Tools's libnfc does just that, but in order to succeed, the dummy frame write must not be reported as timed out.
We therefore introduce a new USB quirk for devices known to miss output acks. When that occur, we pretend that the operation succeeded, leaving userland the duty to check that everything went okay.
This workaround lets libnfc recover from interrupted communications without the need te reboot the system.
|
1.28 |
| 08-Nov-2018 |
manu | Workaround PN533 USB descriptor corruption
During normal operation, the PN533 chip may corrupt its USB configuration, interface and endpoint descriptors. The device descriptor remains unaffected.
Since the descriptors are documented to be immutable, we can work around the problem by providing hard-coded descriptors instead of pulling them from the device.
Userland implementation such as NFC tools' libnfc use the same approach, but this kernel quirk is still necessary so that the device can be attached on reboot, after its USB descriptors got corrupted.
|
1.27 |
| 23-Apr-2016 |
skrll | branches: 1.27.10; 1.27.16; 1.27.18; Merge nick-nhusb
- API / infrastructure changes to support memory management changes. - Memory management improvements and bug fixes. - HCDs should now be MP safe - conversion to KERNHIST based debug - FS/LS isoc support on ehci(4). - conversion to kmem(9) - Some USB 3 support - mostly from Takahiro HAYASHI (t-hash). - interrupt transfers now get proper DMA operations - general bug fixes - kern/48308 - uhub status notification improvements - umass(4) probe fix (applied to HEAD already) - ohci(4) short transfer fix
|
1.26 |
| 30-Nov-2010 |
phx | branches: 1.26.20; 1.26.36; 1.26.38; 1.26.42; Support for Apple notebook keyboards, which have a few quirks. 1. On ISO-keyboard the keycodes for the key left of '1' and right of Shift are swapped. 2. Find the Apple FN key in the report descriptor and do the translations needed, before passing the keycodes to wscons. 3. Those keyboards only have the left Alt key. AltGr is missing. So it is emulated when holding down FN together with Alt.
|
1.25 |
| 01-Oct-2010 |
christos | From Anon Ymous:
Add support for the Zoom 3095 USB Fax Modem. There are some problems with this modem:
1) The CS descriptors were placed after all other descriptors rather than in the Control Interface. This is true in both configurations and is the issue this patch deals with.
2) Modem audio is not done on the modem. There is a second configuration with an extra interface (3 interfaces) which presumably is for handling audio. This patch does not support that.
3) The interrupts are raised a bit slowly. This means that pppd(8) needs to wait a bit before trying to read from the link (i.e., just before the get_input() loop in src/dist/pppd/pppd/main.c line 547). If you don't wait, then DCD will not be detected high before that first read and get_input() will drop the line. This is not a problem if you use the "local" option to pppd(8) and ignore DCD, but that is less than desirable.
4) You apparently have to toggle "RSDL (DCD) option"[1] when you initialize the modem or you will never see a second DCD high interrupt when redialing after a disconnect. Without this the pppd(8) "persist" mode will not work. Presumably, some extra initialization is missing from the driver for this chipset.
[1] Send the AT commands: AT&C0 followed by AT&C1 - doing it in one command doesn't work. The AT commands for this modem are at: http://www.zoom.com/documentation/dial_up/3095F_ATcommands.pdf
|
1.24 |
| 27-Jun-2010 |
kardel | add quirk for CDC-ACM devices that do not have a CDC UNION interface descriptor. idea gleened from Linux cdc-acm implementation (which has a long list of these devices) first tested/added device is MTK GPS receiver.
|
1.23 |
| 28-Apr-2008 |
martin | branches: 1.23.20; 1.23.22; Remove clause 3 and 4 from TNF licenses
|
1.22 |
| 03-Oct-2007 |
veego | branches: 1.22.18; 1.22.20; 1.22.22; Add support to ignore hid attachments for some devices, right now MGE and APC UPS devices. No objections on tech-kern at the end of June 2007 Patch is from PR kern/31884
|
1.21 |
| 19-Jan-2007 |
drochner | branches: 1.21.6; 1.21.20; 1.21.22; 1.21.24; In usbd_set_config_index(), remove the code which tries to draw conclusions from the attempted power state instead of the real one. The configuration descriptor is a constant thing and doesn't reflect the actual state, so this doesn't make any sense. The actual state can be read by a device status read, so use this as the first and only instance and remove the device specific quirks which were based on wrong assumptions. (It is possible that one of the 3 devices with quirk entries still needs some special treatment, but this would need better research. For now I'd prefer to avoid a quirk database which isn't maintained anyway.) Btw, don't be confused by messages about self powered hubs which don't have external power connected. This is legal, see the specs.
|
1.20 |
| 15-Apr-2001 |
augustss | branches: 1.20.38; 1.20.68; Add quirk for printers that cannot handle bidir mode (not used yet).
|
1.19 |
| 18-Jan-2001 |
jdolecek | branches: 1.19.2; constify
|
1.18 |
| 11-Jan-2001 |
explorer | Put the UQ_ASSUME_CM_OVER_DATA quirk back in. Without it, the Ricochet GS modem fails to work even with the other changes.
|
1.17 |
| 28-Dec-2000 |
augustss | Add two more quirks: UQ_AU_NO_FRAC for audio devices that cannot handle adjustment for fractional sample size. UQ_AU_INP_ASYNC for input devices that claim to be adaptive, but are in fact asynchronous (an easy mistake to make unless you read the specs carefully :)
|
1.16 |
| 11-Dec-2000 |
augustss | Get rid of UQ_ASSUME_CM_OVER_DATA quirk; it's handled differently now.
|
1.15 |
| 24-Oct-2000 |
augustss | Adda quirk for hubs that do not report bus powered status in a normal way.
|
1.14 |
| 22-Oct-2000 |
explorer | Add a new quirk: ASSUME_CM_OVER_DATA.
Set this on the Metricom Ricochet GS USB modem.
This particular modem breaks if the USB command to enable the feature CM_OVER_DATA. Since it appears to wake up in that mode already, just pretend it is already on, and don't try to set it.
Since this commit is happening over my Ricochet modem, I assume it works now.
|
1.13 |
| 24-Aug-2000 |
augustss | Add a quirk for audio devices that claim to have an extension unit, but it can't be manipulated.
|
1.12 |
| 01-Jun-2000 |
augustss | Bring the coding style into the 80s, i.e., get rid of __P and use ANSI prototypes and declarations.
|
1.11 |
| 27-Apr-2000 |
augustss | branches: 1.11.2; Change my email address.
|
1.10 |
| 18-Nov-1999 |
augustss | Cosmetic changes and some small improvements. From FreeBSD and Nick Hibma.
|
1.9 |
| 15-Nov-1999 |
augustss | Add quirk for speakers that pretend to support the audio class, but don't. Add quirk for mice that geberate spurious button up events (XXX fix not fully implemented).
|
1.8 |
| 11-Oct-1999 |
augustss | branches: 1.8.2; Add a quirk for devices that lie about how they are powered.
|
1.7 |
| 26-Jun-1999 |
augustss | branches: 1.7.2; Add a quirk for mice with reversed Z-axis.
|
1.6 |
| 14-Jun-1999 |
augustss | Get rid of a bunch of code that was part of an old USBDI proposal, but that is unused in our USB stack.
Once upon a time, when I started writing the USB stack for NetBSD, there was an effort to make a standard for how USB device drivers should interact with the rest of the USB stack. This effort had contributors from just about all Un*x camps (but not Micro$oft :). I based my design on one of their early proposals since I thought it would be a good idea if we could all share device drivers with a minimum effort. Shortly after I started my work all the free Un*x people were thrown out of the USBDI work since we did not pay the USB membership fee. Well, some time has passed now and the work of the standardization group is almost public again. But alas, the new standard has grown to be a monster! I do not want to have this as the basis for the *BSD USB stack; it is far too complicated. So, since we are not even close to being compilant with the standard, I've thrown out some old baggage.
|
1.5 |
| 29-Dec-1998 |
augustss | branches: 1.5.4; The Peracom serial converter (like some other devices) claim to have string descriptors, but gets very upset if you read them.
|
1.4 |
| 27-Dec-1998 |
augustss | Add quirk for bad version no. in audio control descriptor.
|
1.3 |
| 02-Dec-1998 |
augustss | Add configuration and interface locators.
|
1.2 |
| 25-Nov-1998 |
augustss | Make the copyright header conform to the NetBSD template.
|
1.1 |
| 12-Jul-1998 |
augustss | Add USB support. Supported so far: * UHCI and OHCI host controllers on PCI * Hubs * HID devices withe special drivers for mouse and keyboard * Printers
|
1.5.4.2 |
| 01-Jul-1999 |
thorpej | Sync w/ -current.
|
1.5.4.1 |
| 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.7.2.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.8.2.6 |
| 21-Apr-2001 |
bouyer | Sync with HEAD
|
1.8.2.5 |
| 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.8.2.4 |
| 18-Jan-2001 |
bouyer | Sync with head (for UBC+NFS fixes, mostly).
|
1.8.2.3 |
| 05-Jan-2001 |
bouyer | Sync with HEAD
|
1.8.2.2 |
| 13-Dec-2000 |
bouyer | Sync with HEAD (for UBC fixes).
|
1.8.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.11.2.1 |
| 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.19.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.20.68.1 |
| 01-Feb-2007 |
ad | Sync with head.
|
1.20.38.2 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.20.38.1 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.21.24.1 |
| 06-Oct-2007 |
yamt | sync with head.
|
1.21.22.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.21.20.1 |
| 04-Oct-2007 |
joerg | Sync with HEAD.
|
1.21.6.1 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.22.22.3 |
| 09-Oct-2010 |
yamt | sync with head
|
1.22.22.2 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.22.22.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.22.20.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.22.18.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.23.22.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.23.22.1 |
| 03-Jul-2010 |
rmind | sync with head
|
1.23.20.2 |
| 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.23.20.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.26.42.1 |
| 06-Sep-2016 |
skrll | First pass at netbsd-7 updated with USB code from HEAD
|
1.26.38.1 |
| 30-Nov-2014 |
skrll | Use C99 types. u_int{8,16,32,64}_t to uint{8,16,32,64}_t.
No functional change.
|
1.26.36.1 |
| 05-Apr-2017 |
snj | Pull up following revision(s) (requested by skrll in ticket #1395): share/man/man4/axe.4: netbsd-7-nhusb share/man/man4/axen.4: netbsd-7-nhusb share/man/man4/cdce.4: netbsd-7-nhusb share/man/man4/uaudio.4: netbsd-7-nhusb share/man/man4/ucom.4: netbsd-7-nhusb share/man/man4/uep.4: netbsd-7-nhusb share/man/man4/urtw.4: netbsd-7-nhusb share/man/man4/usb.4: netbsd-7-nhusb share/man/man4/uyap.4: netbsd-7-nhusb share/man/man4/xhci.4: netbsd-7-nhusb share/man/man9/usbdi.9: netbsd-7-nhusb sys/arch/amd64/conf/ALL: netbsd-7-nhusb sys/arch/amd64/conf/GENERIC: netbsd-7-nhusb sys/arch/amiga/dev/slhci_zbus.c: netbsd-7-nhusb sys/arch/arm/allwinner/awin_otg.c: netbsd-7-nhusb sys/arch/arm/allwinner/awin_usb.c: netbsd-7-nhusb sys/arch/arm/amlogic/amlogic_dwctwo.c: netbsd-7-nhusb sys/arch/arm/at91/at91ohci.c: netbsd-7-nhusb sys/arch/arm/broadcom/bcm2835_dwctwo.c: netbsd-7-nhusb sys/arch/arm/broadcom/bcm53xx_usb.c: netbsd-7-nhusb sys/arch/arm/ep93xx/epohci.c: netbsd-7-nhusb sys/arch/arm/gemini/obio_ehci.c: netbsd-7-nhusb sys/arch/arm/imx/files.imx23: netbsd-7-nhusb sys/arch/arm/imx/imxusb.c: netbsd-7-nhusb sys/arch/arm/imx/imxusbreg.h: netbsd-7-nhusb sys/arch/arm/omap/obio_ohci.c: netbsd-7-nhusb sys/arch/arm/omap/omap3_ehci.c: netbsd-7-nhusb sys/arch/arm/omap/omapl1x_ohci.c: netbsd-7-nhusb sys/arch/arm/omap/tiotg.c: netbsd-7-nhusb sys/arch/arm/s3c2xx0/ohci_s3c24x0.c: netbsd-7-nhusb sys/arch/arm/samsung/exynos_usb.c: netbsd-7-nhusb sys/arch/arm/xscale/pxa2x0_ohci.c: netbsd-7-nhusb sys/arch/arm/zynq/zynq_usb.c: netbsd-7-nhusb sys/arch/hpcarm/dev/nbp_slhci.c: netbsd-7-nhusb sys/arch/hpcmips/dev/plumohci.c: netbsd-7-nhusb sys/arch/i386/conf/ALL: netbsd-7-nhusb sys/arch/i386/conf/GENERIC: netbsd-7-nhusb sys/arch/i386/pci/gcscehci.c: netbsd-7-nhusb sys/arch/luna68k/conf/GENERIC: netbsd-7-nhusb sys/arch/mips/adm5120/dev/ahci.c: netbsd-7-nhusb sys/arch/mips/adm5120/dev/ahcivar.h: netbsd-7-nhusb sys/arch/mips/alchemy/dev/ohci_aubus.c: netbsd-7-nhusb sys/arch/mips/atheros/dev/ehci_arbus.c: netbsd-7-nhusb sys/arch/mips/atheros/dev/ohci_arbus.c: netbsd-7-nhusb sys/arch/mips/conf/files.adm5120: netbsd-7-nhusb sys/arch/mips/ralink/ralink_ehci.c: netbsd-7-nhusb sys/arch/mips/ralink/ralink_ohci.c: netbsd-7-nhusb sys/arch/mips/rmi/rmixl_ehci.c: netbsd-7-nhusb sys/arch/mips/rmi/rmixl_ohci.c: netbsd-7-nhusb sys/arch/playstation2/dev/ohci_sbus.c: netbsd-7-nhusb sys/arch/powerpc/booke/dev/pq3ehci.c: netbsd-7-nhusb sys/arch/powerpc/ibm4xx/dev/dwctwo_plb.c: netbsd-7-nhusb sys/arch/x68k/dev/slhci_intio.c: netbsd-7-nhusb sys/conf/files: netbsd-7-nhusb sys/dev/cardbus/ehci_cardbus.c: netbsd-7-nhusb sys/dev/cardbus/ohci_cardbus.c: netbsd-7-nhusb sys/dev/cardbus/uhci_cardbus.c: netbsd-7-nhusb sys/dev/ic/sl811hs.c: netbsd-7-nhusb sys/dev/ic/sl811hsvar.h: netbsd-7-nhusb sys/dev/isa/slhci_isa.c: netbsd-7-nhusb sys/dev/marvell/ehci_mv.c: netbsd-7-nhusb sys/dev/pci/ehci_pci.c: netbsd-7-nhusb sys/dev/pci/ohci_pci.c: netbsd-7-nhusb sys/dev/pci/uhci_pci.c: netbsd-7-nhusb sys/dev/pci/xhci_pci.c: netbsd-7-nhusb sys/dev/pcmcia/slhci_pcmcia.c: netbsd-7-nhusb sys/dev/usb/Makefile.usbdevs: netbsd-7-nhusb sys/dev/usb/TODO: netbsd-7-nhusb sys/dev/usb/TODO.usbmp: netbsd-7-nhusb sys/dev/usb/aubtfwl.c: netbsd-7-nhusb sys/dev/usb/auvitek.c: netbsd-7-nhusb sys/dev/usb/auvitek_audio.c: netbsd-7-nhusb sys/dev/usb/auvitek_dtv.c: netbsd-7-nhusb sys/dev/usb/auvitek_i2c.c: netbsd-7-nhusb sys/dev/usb/auvitek_video.c: netbsd-7-nhusb sys/dev/usb/auvitekvar.h: netbsd-7-nhusb sys/dev/usb/ehci.c: netbsd-7-nhusb sys/dev/usb/ehcireg.h: netbsd-7-nhusb sys/dev/usb/ehcivar.h: netbsd-7-nhusb sys/dev/usb/emdtv.c: netbsd-7-nhusb sys/dev/usb/emdtv_dtv.c: netbsd-7-nhusb sys/dev/usb/emdtv_ir.c: netbsd-7-nhusb sys/dev/usb/emdtvvar.h: netbsd-7-nhusb sys/dev/usb/ezload.c: netbsd-7-nhusb sys/dev/usb/ezload.h: netbsd-7-nhusb sys/dev/usb/files.usb: netbsd-7-nhusb sys/dev/usb/hid.c: netbsd-7-nhusb sys/dev/usb/hid.h: netbsd-7-nhusb sys/dev/usb/if_athn_usb.c: netbsd-7-nhusb sys/dev/usb/if_athn_usb.h: netbsd-7-nhusb sys/dev/usb/if_atu.c: netbsd-7-nhusb sys/dev/usb/if_atureg.h: netbsd-7-nhusb sys/dev/usb/if_aue.c: netbsd-7-nhusb sys/dev/usb/if_auereg.h: netbsd-7-nhusb sys/dev/usb/if_axe.c: netbsd-7-nhusb sys/dev/usb/if_axen.c: netbsd-7-nhusb sys/dev/usb/if_axenreg.h: netbsd-7-nhusb sys/dev/usb/if_axereg.h: netbsd-7-nhusb sys/dev/usb/if_cdce.c: netbsd-7-nhusb sys/dev/usb/if_cdcereg.h: netbsd-7-nhusb sys/dev/usb/if_cue.c: netbsd-7-nhusb sys/dev/usb/if_cuereg.h: netbsd-7-nhusb sys/dev/usb/if_kue.c: netbsd-7-nhusb sys/dev/usb/if_kuereg.h: netbsd-7-nhusb sys/dev/usb/if_otus.c: netbsd-7-nhusb sys/dev/usb/if_otusvar.h: netbsd-7-nhusb sys/dev/usb/if_rum.c: netbsd-7-nhusb sys/dev/usb/if_rumreg.h: netbsd-7-nhusb sys/dev/usb/if_rumvar.h: netbsd-7-nhusb sys/dev/usb/if_run.c: netbsd-7-nhusb sys/dev/usb/if_runvar.h: netbsd-7-nhusb sys/dev/usb/if_smsc.c: netbsd-7-nhusb sys/dev/usb/if_smscreg.h: netbsd-7-nhusb sys/dev/usb/if_smscvar.h: netbsd-7-nhusb sys/dev/usb/if_udav.c: netbsd-7-nhusb sys/dev/usb/if_udavreg.h: netbsd-7-nhusb sys/dev/usb/if_upgt.c: netbsd-7-nhusb sys/dev/usb/if_upgtvar.h: netbsd-7-nhusb sys/dev/usb/if_upl.c: netbsd-7-nhusb sys/dev/usb/if_ural.c: netbsd-7-nhusb sys/dev/usb/if_uralreg.h: netbsd-7-nhusb sys/dev/usb/if_uralvar.h: netbsd-7-nhusb sys/dev/usb/if_url.c: netbsd-7-nhusb sys/dev/usb/if_urlreg.h: netbsd-7-nhusb sys/dev/usb/if_urndis.c: netbsd-7-nhusb sys/dev/usb/if_urndisreg.h: netbsd-7-nhusb sys/dev/usb/if_urtw.c: netbsd-7-nhusb sys/dev/usb/if_urtwn.c: netbsd-7-nhusb sys/dev/usb/if_urtwn_data.h: netbsd-7-nhusb sys/dev/usb/if_urtwnreg.h: netbsd-7-nhusb sys/dev/usb/if_urtwnvar.h: netbsd-7-nhusb sys/dev/usb/if_urtwreg.h: netbsd-7-nhusb sys/dev/usb/if_zyd.c: netbsd-7-nhusb sys/dev/usb/if_zydreg.h: netbsd-7-nhusb sys/dev/usb/irmce.c: netbsd-7-nhusb sys/dev/usb/moscom.c: netbsd-7-nhusb sys/dev/usb/motg.c: netbsd-7-nhusb sys/dev/usb/motgvar.h: netbsd-7-nhusb sys/dev/usb/ohci.c: netbsd-7-nhusb sys/dev/usb/ohcireg.h: netbsd-7-nhusb sys/dev/usb/ohcivar.h: netbsd-7-nhusb sys/dev/usb/pseye.c: netbsd-7-nhusb sys/dev/usb/slurm.c: netbsd-7-nhusb sys/dev/usb/stuirda.c: netbsd-7-nhusb sys/dev/usb/u3g.c: netbsd-7-nhusb sys/dev/usb/uark.c: netbsd-7-nhusb sys/dev/usb/uatp.c: netbsd-7-nhusb sys/dev/usb/uaudio.c: netbsd-7-nhusb sys/dev/usb/uberry.c: netbsd-7-nhusb sys/dev/usb/ubsa.c: netbsd-7-nhusb sys/dev/usb/ubsa_common.c: netbsd-7-nhusb sys/dev/usb/ubsavar.h: netbsd-7-nhusb sys/dev/usb/ubt.c: netbsd-7-nhusb sys/dev/usb/uchcom.c: netbsd-7-nhusb sys/dev/usb/ucom.c: netbsd-7-nhusb sys/dev/usb/ucomvar.h: netbsd-7-nhusb sys/dev/usb/ucycom.c: netbsd-7-nhusb sys/dev/usb/udl.c: netbsd-7-nhusb sys/dev/usb/udl.h: netbsd-7-nhusb sys/dev/usb/udsbr.c: netbsd-7-nhusb sys/dev/usb/udsir.c: netbsd-7-nhusb sys/dev/usb/uep.c: netbsd-7-nhusb sys/dev/usb/uftdi.c: netbsd-7-nhusb sys/dev/usb/uftdireg.h: netbsd-7-nhusb sys/dev/usb/ugen.c: netbsd-7-nhusb sys/dev/usb/ugensa.c: netbsd-7-nhusb sys/dev/usb/uhci.c: netbsd-7-nhusb sys/dev/usb/uhcireg.h: netbsd-7-nhusb sys/dev/usb/uhcivar.h: netbsd-7-nhusb sys/dev/usb/uhid.c: netbsd-7-nhusb sys/dev/usb/uhidev.c: netbsd-7-nhusb sys/dev/usb/uhidev.h: netbsd-7-nhusb sys/dev/usb/uhmodem.c: netbsd-7-nhusb sys/dev/usb/uhso.c: netbsd-7-nhusb sys/dev/usb/uhub.c: netbsd-7-nhusb sys/dev/usb/uipad.c: netbsd-7-nhusb sys/dev/usb/uipaq.c: netbsd-7-nhusb sys/dev/usb/uirda.c: netbsd-7-nhusb sys/dev/usb/uirdavar.h: netbsd-7-nhusb sys/dev/usb/ukbd.c: netbsd-7-nhusb sys/dev/usb/ukbdmap.c: netbsd-7-nhusb sys/dev/usb/ukyopon.c: netbsd-7-nhusb sys/dev/usb/ukyopon.h: netbsd-7-nhusb sys/dev/usb/ulpt.c: netbsd-7-nhusb sys/dev/usb/umass.c: netbsd-7-nhusb sys/dev/usb/umass_isdata.c: netbsd-7-nhusb sys/dev/usb/umass_isdata.h: netbsd-7-nhusb sys/dev/usb/umass_quirks.c: netbsd-7-nhusb sys/dev/usb/umass_quirks.h: netbsd-7-nhusb sys/dev/usb/umass_scsipi.c: netbsd-7-nhusb sys/dev/usb/umass_scsipi.h: netbsd-7-nhusb sys/dev/usb/umassvar.h: netbsd-7-nhusb sys/dev/usb/umcs.c: netbsd-7-nhusb sys/dev/usb/umct.c: netbsd-7-nhusb sys/dev/usb/umidi.c: netbsd-7-nhusb sys/dev/usb/umidi_quirks.c: netbsd-7-nhusb sys/dev/usb/umidi_quirks.h: netbsd-7-nhusb sys/dev/usb/umodem.c: netbsd-7-nhusb sys/dev/usb/umodem_common.c: netbsd-7-nhusb sys/dev/usb/umodemvar.h: netbsd-7-nhusb sys/dev/usb/ums.c: netbsd-7-nhusb sys/dev/usb/uplcom.c: netbsd-7-nhusb sys/dev/usb/urio.c: netbsd-7-nhusb sys/dev/usb/urio.h: netbsd-7-nhusb sys/dev/usb/usb.c: netbsd-7-nhusb sys/dev/usb/usb.h: netbsd-7-nhusb sys/dev/usb/usb_mem.c: netbsd-7-nhusb sys/dev/usb/usb_mem.h: netbsd-7-nhusb sys/dev/usb/usb_quirks.c: netbsd-7-nhusb sys/dev/usb/usb_quirks.h: netbsd-7-nhusb sys/dev/usb/usb_subr.c: netbsd-7-nhusb sys/dev/usb/usbdevices.config: netbsd-7-nhusb sys/dev/usb/usbdevs: netbsd-7-nhusb sys/dev/usb/usbdevs.h: netbsd-7-nhusb sys/dev/usb/usbdevs_data.h: netbsd-7-nhusb sys/dev/usb/usbdi.c: netbsd-7-nhusb sys/dev/usb/usbdi.h: netbsd-7-nhusb sys/dev/usb/usbdi_util.c: netbsd-7-nhusb sys/dev/usb/usbdi_util.h: netbsd-7-nhusb sys/dev/usb/usbdivar.h: netbsd-7-nhusb sys/dev/usb/usbhid.h: netbsd-7-nhusb sys/dev/usb/usbhist.h: netbsd-7-nhusb sys/dev/usb/usbroothub.c: netbsd-7-nhusb sys/dev/usb/usbroothub.h: netbsd-7-nhusb sys/dev/usb/usbroothub_subr.c: delete sys/dev/usb/usbroothub_subr.h: delete sys/dev/usb/uscanner.c: netbsd-7-nhusb sys/dev/usb/uslsa.c: netbsd-7-nhusb sys/dev/usb/usscanner.c: netbsd-7-nhusb sys/dev/usb/ustir.c: netbsd-7-nhusb sys/dev/usb/uthum.c: netbsd-7-nhusb sys/dev/usb/utoppy.c: netbsd-7-nhusb sys/dev/usb/uts.c: netbsd-7-nhusb sys/dev/usb/uvideo.c: netbsd-7-nhusb sys/dev/usb/uvisor.c: netbsd-7-nhusb sys/dev/usb/uvscom.c: netbsd-7-nhusb sys/dev/usb/uyap.c: netbsd-7-nhusb sys/dev/usb/uyap_firmware.h: netbsd-7-nhusb sys/dev/usb/uyurex.c: netbsd-7-nhusb sys/dev/usb/x1input_rdesc.h: netbsd-7-nhusb sys/dev/usb/xhci.c: netbsd-7-nhusb sys/dev/usb/xhcireg.h: netbsd-7-nhusb sys/dev/usb/xhcivar.h: netbsd-7-nhusb sys/dev/usb/xinput_rdesc.h: netbsd-7-nhusb sys/external/bsd/common/conf/files.linux: netbsd-7-nhusb sys/external/bsd/common/include/linux/err.h: netbsd-7-nhusb sys/external/bsd/common/include/linux/kernel.h: netbsd-7-nhusb sys/external/bsd/common/include/linux/workqueue.h: netbsd-7-nhusb sys/external/bsd/common/linux/linux_work.c: netbsd-7-nhusb sys/external/bsd/drm2/dist/drm/radeon/atombios_encoders.c: netbsd-7-nhusb sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_encoders.c: netbsd-7-nhusb sys/external/bsd/drm2/drm/files.drmkms: netbsd-7-nhusb sys/external/bsd/drm2/i915drm/files.i915drmkms: netbsd-7-nhusb sys/external/bsd/drm2/include/linux/err.h: delete sys/external/bsd/drm2/include/linux/workqueue.h: delete sys/external/bsd/drm2/linux/files.drmkms_linux: netbsd-7-nhusb sys/external/bsd/drm2/linux/linux_work.c: delete sys/external/bsd/dwc2/dwc2.c: netbsd-7-nhusb sys/external/bsd/dwc2/dwc2.h: netbsd-7-nhusb sys/external/bsd/dwc2/dwc2var.h: netbsd-7-nhusb sys/external/bsd/dwc2/dwctwo2netbsd: netbsd-7-nhusb sys/external/bsd/dwc2/conf/files.dwc2: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_core.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_core.h: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_coreintr.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcd.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcd.h: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcdddma.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcdintr.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcdqueue.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hw.h: netbsd-7-nhusb sys/modules/drmkms_linux/Makefile: netbsd-7-nhusb sys/modules/i915drmkms/Makefile: netbsd-7-nhusb sys/rump/dev/lib/libugenhc/ugenhc.c: netbsd-7-nhusb sys/rump/dev/lib/libusb/Makefile: netbsd-7-nhusb sys/rump/dev/lib/libusb/USB.ioconf: netbsd-7-nhusb sys/rump/dev/lib/libusb/usb_at_ugenhc.c: delete sys/rump/dev/lib/libusb/opt/opt_usb.h: delete sys/rump/dev/lib/libusb/opt/opt_usbverbose.h: delete sys/sys/mbuf.h: netbsd-7-nhusb usr.sbin/usbdevs/usbdevs.8: netbsd-7-nhusb usr.sbin/usbdevs/usbdevs.c: netbsd-7-nhusb Merge netbsd-7-nhusb: - API / infrastructure changes to support memory management changes. - Memory management improvements and bug fixes. - HCDs should now be MP safe - conversion to KERNHIST based debug - FS/LS isoc support on ehci(4). - conversion to kmem(9) - Some USB 3 support - mostly from Takahiro HAYASHI (t-hash). - interrupt transfers now get proper DMA operations - general bug fixes - kern/48308 - uhub status notification improvements - umass(4) probe fix (applied to HEAD already) - ohci(4) short transfer fix - Change the SOFTINT level from NET to SERIAL for the USB softint handler. This gives the callback a chance of running when another softint handler at SOFTINT_NET has blocked holding a lock, e.g. softnet_lock and most of the network stack. - kern/49065 - ifconfig tun0 ... sequence locks up system / lockup: softnet_lock held across usb xfr - kern/50491 - unkillable wait in usbd_transfer while using usmsc0 on raspberry pi 2 - kern/51395 - USB Ethernet makes xhci hang - Various improvements to slhci(4) - Various improvements to dwc2(4)
|
1.26.20.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.27.18.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.27.16.1 |
| 26-Nov-2018 |
pgoyette | Sync with HEAD, resolve a couple of conflicts
|
1.27.10.2 |
| 20-Nov-2018 |
martin | Pull up following revision(s) (requested by manu in ticket #1099):
sys/dev/usb/usb_quirks.c: revision 1.90 sys/dev/usb/usbdi.c: revision 1.179 sys/dev/usb/usb_quirks.h: revision 1.29 sys/dev/usb/usbdi.c: revision 1.180
Workaround NBP PN533 USB toggle bit bugs
The PN533 is known to mishandle the USB toggle bit, causing replies to be filtered out by the host controller. As a result, the kernel sees a timed out operation.
Vendor errata suggests that userland applications should detect the situation on read timeout, and write a dumy frame to resync the toggle bit. NFC Tools's libnfc does just that, but in order to succeed, the dummy frame write must not be reported as timed out.
We therefore introduce a new USB quirk for devices known to miss output acks. When that occur, we pretend that the operation succeeded, leaving userland the duty to check that everything went okay.
This workaround lets libnfc recover from interrupted communications without the need te reboot the system.
-
Build fix From David H. Gutteridge
|
1.27.10.1 |
| 12-Nov-2018 |
martin | Pull up following revision(s) (requested by manu in ticket #1091):
sys/dev/usb/usb_quirks.c: revision 1.88,1.89 (via patch) sys/dev/usb/usbdi_util.c: revision 1.72 (via patch) sys/dev/usb/usb_quirks.h: revision 1.28 (via patch) sys/dev/usb/usbdi_util.h: revision 1.48 sys/dev/usb/usbdevs: revision 1.760,1.761 (via patch)
Add PN533 based NFC devices
-
Workaround PN533 USB descriptor corruption
During normal operation, the PN533 chip may corrupt its USB configuration, interface and endpoint descriptors. The device descriptor remains unaffected.
Since the descriptors are documented to be immutable, we can work around the problem by providing hard-coded descriptors instead of pulling them from the device.
Userland implementation such as NFC tools' libnfc use the same approach, but this kernel quirk is still necessary so that the device can be attached on reboot, after its USB descriptors got corrupted.
-
Fix typo
|