summaryrefslogtreecommitdiff
path: root/sys/dev/usb
AgeCommit message (Collapse)Author
2014-03-28Do not declare a struct as const if we write to it, fix build on sparc64Martin Pieuchot
reported by brad@.
2014-03-28If a command is submitted when the hardware is already gone, it willMartin Pieuchot
obviously time out. That is what happen when pipes are closed after unplugging an xhci(4) express card for example. In such case, make sure the command TRB is reset.
2014-03-25Instead of matching root hubs with a custom address, that only worksMartin Pieuchot
because USB_START_ADDR is defined to 0 and the softc is M_ZERO'd, assume that root hubs are the only devices with a depth of 0. Root hubs can now happily be detached and reattached.
2014-03-25Upon resume do a full reset of the HC, including the command and eventMartin Pieuchot
rings, and rewrite all the addresses in the registers. While here don't keep a copy of our usb(4) child device, autoconf(9) knows how to reach our children.
2014-03-25Add a driver for simple usb serial devices, it attachesJonathan Gray
ucom but doesn't set any custom callbacks. John Long has a HPx9G+ device that requires this.
2014-03-25regenJonathan Gray
2014-03-25add HP-x9G+Jonathan Gray
2014-03-23Fix uhidev_detach() when detaching a device which did not claimed for allandre
report IDs, on those cases some positions on sc_subdevs[] can be null. Initial analysis by guenther@. ok mpi@
2014-03-23Revert audio key handling, requested by ratchov@Martin Pieuchot
2014-03-20add USB_PRODUCT_ITUNER_USBLCD256x64 as UQ_BAD_HID so libusb can talk viaAaron Bieber
interrupt transfers OK sthen@
2014-03-20syncAaron Bieber
2014-03-20Add ITUNER USBLCD256x64Aaron Bieber
OK sthen@
2014-03-20Add several devices we already have defined in usbdevs and are also known to beandre
UPSes. (forced commit due to previous empty commit message) ok mpi@ sthen@
2014-03-20*** empty log message ***andre
2014-03-19When BatteryPresent flag is not set, invalidate battery-dependent sensors.andre
suggested by deraadt@ ok mpi@
2014-03-19spacingTheo de Raadt
2014-03-19Removing devices supported by upd(4) from quirks.andre
ok mpi@
2014-03-19Stop abusing the rcvif pointer to pass wireless nodes down to theMartin Pieuchot
driver start routines. Instead add & use a pointer in the pkthdr since we don't want the overhead of using a mbuf_tags(9). claudio@ pointed out that other subsystems might want to use this pointer too, so here's a new cookie! ok claudio@, mikeb@, deraadt@
2014-03-19Add a temporary hack to let a subdriver claim all the reportIDs ofMartin Pieuchot
a device. This should be removed once all the drivers attaching to uhidev(4) are converted. ok andre@, sthen@
2014-03-18Properly clear and free the endpoint associated to a pipe. Do notMartin Pieuchot
forget to update the Endpoint Context with the last valid endpoint and free the device resources, including its slot, when the default pipe is closed. Device addresses can now be reused and I should be done with descriptor leaks.
2014-03-17Add upd(4) to the tree, disabled. Please do not enable it yet.andre
At this moment upd(4) exposes data from usb-based uninterruptable power systems (or just USB Power Devices), sysctl(8) sensors (read snmpd(8) friendly), it is also an "in-base" alternative to other 3rdparty UPS-monitoring software, we have plans to bring more features. This is my first "something" into the tree. Lots of thanks: sthen@ and blambert@ are the ones to blame for the idea/challenge. mpi@ is the one whom pushed me to get it correct (from uhub -> uhidev). reyk@ mentored me on OpenBSD-way with previous iked/relayd experiences. ok mpi@, deraadt@ "get it in".
2014-03-16Move the logic to deal with devices with broken descriptors into itsMartin Pieuchot
own function and don't leave the driver half-configured if a children doesn't set the interrupt function. tested by jeremy@, ok andre@
2014-03-16Convert LED page defines to the common usage names patern, noMartin Pieuchot
functionnal change. ok andre@
2014-03-16Don't use volume keys when in raw-mode (this doesn't work), and letMartin Pieuchot
Xorg driver do the translation and handle them as regular keys. Fixes confusion caused by the volume being changed twice in contradictory ways: once by X programs and once by the ukbd(4) driver. ok ratchov@
2014-03-16Add Sitecom LN-032 from/tested by Fabian Raetz.Jonathan Gray
While here add a few other AX88179 devices as well.
2014-03-16regenJonathan Gray
2014-03-16Add Sitecom LN-032 from/tested by Fabian Raetz.Jonathan Gray
While here add a few other AX88179 devices as well.
2014-03-15Starting the spring cleanup.Martin Pieuchot
2014-03-15Remove debug leftover.Martin Pieuchot
2014-03-15Unify the *hci_timeout() functions, there should be no functional change.Martin Pieuchot
2014-03-15Add usage pages from usb HID Power Devices spec.andre
ok mpi@
2014-03-14Add the ISY IWL 4000 a new urtwn(4) device, from Fabian Raetz andMartin Pieuchot
Peter J. Philipp.
2014-03-14regenMartin Pieuchot
2014-03-14Add the ISY IWL 4000 a new urtwn(4) device, from Fabian Raetz andMartin Pieuchot
Peter J. Philipp.
2014-03-14Have some style.Paul Irofti
Okay mpi@
2014-03-12If a device is babbling do a full reset of the associated endpointMartin Pieuchot
before telling the stack/driver that the responsible transfer is done. Since the request sequence requires, in the present form, to submit two commands from the interrupt handler, modify the command routine to be able to submit asynchronous commands. I can now use my crappy urtwn(4) over xhci(4). While here convert some #if -> #ifdef, pointed out by brad@.
2014-03-11Kill dead links.Martin Pieuchot
2014-03-09regenBrad Smith
2014-03-09- Add Hirose vendor id and USB-100 FastE Ethernet idoduct idBrad Smith
- Add Realtek RTL8152 / RTL8153 ids - Add Davicom DM96xx ids
2014-03-08Dumb xhci(4) implementation.Martin Pieuchot
This driver does not handle isochronous endpoint (yet) and has no logical TD representation. Each transfer is linked to the raw TRB of its related endpoint. Most of the transfer error completion codes are not handled, even with all the cheese provided by miod@ I couldn't find a proper way to reset an endpoint asynchronously when a device babbles. Or maybe it was the wine? Anyway this will come soon. In general the endpoint configuration and reset code is really crude and requires some love, but our stack should be fixed to properly open only once the default pipe of every new USB device first. This means this driver wont work as it is, our stack needs other changes first. Suspend/resume works but ports are not suspended for the moment. But even with these problems, interrupt devices: ukbd(4), ums(4) and sensors like ugold(4) work properly and USB 3.0 umass(4) devices give me a reasonnable read/write speed. Timeouts to cancel USB transfers are not enabled *on purpose*, to be able to track down potential timing issues. I'm committing now so that others can help fixing my bugs (8 All this work has been done on an ExpressCard with a NEC xHCI 0.96, other implementations/versions might trigger more bugs :)
2014-03-08Recognize super speed devices, note that this driver sill usesMartin Pieuchot
non-superspeed hub descriptors. This is the minimal change I came with to be able to properly attach and use USB 3.0 devices attached to a xHCI root hub, uhub(4) clearly needs some love.
2014-03-08Attach to host controller drivers advertising USB 3.0 support and assignMartin Pieuchot
the correct speed. This has no effect for the moment since there is no such driver in our tree, but something tells me it might change soon.
2014-03-08Add various super speed defines, mostly the same as in FreeBSD toMartin Pieuchot
keep similar userland exported API definitions.
2014-03-08Add defines for upcoming USB 3.0 support.Martin Pieuchot
2014-03-08Pass M_ZERO to malloc(9) when allocating usbd pipes to make sure toMartin Pieuchot
initialize the per-controller part. ok deraadt@, kettenis@
2014-03-07Print the wrong device descriptor's bMaxPacketSize before correcting itMartin Pieuchot
for USB2 devices.
2014-03-07Indtroduce usbd_get_hub_descriptor() to start cleaning uhub(4)'s mess.Martin Pieuchot
This will help us deal with the different hub device descriptors used by super speed devices.
2014-03-07Use the revision number for coherency. No object change.Martin Pieuchot
2014-03-07Do not define per-driver DEBUG variable when USB_DEBUG is defined. It'sMartin Pieuchot
really impossible to debug the USB stack when any single device you plug in your machine starts to vomit its own poetry,
2014-03-07Transfer descriptors already have a back pointer to the USB deviceMartin Pieuchot
descriptor they are linked to, so no need to dereference their pipe pointer. Simplify a lot of affectations, no functional change. ok pirofti@