Commit Graph

905 Commits

Author SHA1 Message Date
augustss d6c4ac7ff2 Use ratecheck() to limit error messages on disconnect.
Break out some common functionality.
2000-03-02 12:37:50 +00:00
augustss 3218dd992d Protect the use of bpf_mtap so bpf isn't needed.
aue: Limit the number of error messages at disconnect by using ratecheck().
2000-03-01 19:00:51 +00:00
augustss 7d05674ba7 Distinguish between device and interface classes.
(I finally found a document that said that they were different.)
2000-02-29 21:37:00 +00:00
hubertf a6a5be8ccf This driver also handles the 3COM 3COM HomeConnect Ethernet USB Adapter
(3C460), rev 1.00/2.05
2000-02-29 19:08:09 +00:00
hubertf b95fbdaeb7 Regen 2000-02-29 19:07:33 +00:00
hubertf eff003f7ce add product ID for 3COM 3COM HomeConnect Ethernet USB Adapter (3C460),
rev 1.00/2.05
2000-02-29 19:06:40 +00:00
augustss 10d9610df8 Make this driver actually work in NetBSD. From Castor Fu <castor@geocast.com> 2000-02-27 22:15:24 +00:00
augustss 739151c214 Regen. 2000-02-27 20:44:22 +00:00
augustss 741c59a303 Add the QuickShot Strikepad game-pad. 2000-02-27 20:43:53 +00:00
augustss 9651e60835 Fix typos in my last commit that caused the driver to panic.
Change some (unrelated) debug messages.
2000-02-22 22:59:49 +00:00
augustss 009856b631 Save and restore a couple ofregisters in the power hook in case BIOS doesn't. 2000-02-22 16:03:42 +00:00
augustss 9056664327 Prepare a little for having USB interrupt processing done outside the hard
interrupt level (in a thread or a softintr).
No real soft processing done yet.
2000-02-22 11:30:54 +00:00
augustss 6cc37002ad Fix (mostly harmless) typo. 2000-02-22 11:25:06 +00:00
augustss 2eda3cf829 Better debug info. 2000-02-22 11:24:22 +00:00
jdolecek 5f0b3b1510 usbd_devinfo_vp(): search the know devs array also if the device
doesn't return product description (e.g. Kye's Genius NetScroll
	mouse returns vendor, but not product); the strings
	returned by device are still preferred to those in the array, though
2000-02-20 14:45:05 +00:00
jdolecek 6b93b03665 regen 2000-02-20 14:39:28 +00:00
jdolecek e710e0dfa1 Add Kye's Genius NetScroll mouse
XXX Should the name be just "NetScroll mouse" ? Kye seems to be manufacturer
XXX for the mouse licenced from Genius.
2000-02-20 14:37:48 +00:00
augustss 6fa8665eeb Handle detach that happens before attach has finished. (Reported by mycroft.) 2000-02-17 18:42:21 +00:00
augustss 1955c335af Regen. 2000-02-17 16:30:44 +00:00
augustss 536b31a5c8 Add Sony PCGA-UMS1 mouse. 2000-02-17 16:30:11 +00:00
mycroft f7ad1af2b5 Use bpf_mtap() correctly. 2000-02-17 05:41:41 +00:00
augustss b223c00cee Avoid linker error if no PHY is attached. 2000-02-14 20:29:54 +00:00
augustss 9558d7b27b Regen. 2000-02-13 23:10:22 +00:00
augustss a39279da39 Add a bunch of devices. 2000-02-13 23:10:02 +00:00
augustss 0b2e81991d Avoid panic when a non-working hub is detached. 2000-02-12 23:44:16 +00:00
augustss d3fb7161d2 Regen. 2000-02-12 22:02:01 +00:00
augustss b4fac8c7d0 Add Microsoft Internet Keyboard Pro. 2000-02-12 22:01:31 +00:00
augustss 523d157a05 Regen. 2000-02-12 15:02:56 +00:00
augustss a79d73d045 Add Corega FEther adapter. From PR 9394. 2000-02-12 15:02:21 +00:00
augustss 76c14cd322 Don't stall the control pipe on error. 2000-02-08 18:46:03 +00:00
augustss e922214fb2 Use NULL instead of 0. 2000-02-08 18:45:27 +00:00
augustss e0c519464a Add methods for ucom to call back on open/close. 2000-02-08 09:18:01 +00:00
augustss de5a3532be Fiddle with some PHY bits on the D-Link adapter as well. From FreeBSD. 2000-02-02 20:06:55 +00:00
thorpej eed75dbc26 Don't dry to diving MIIF_NOISOLATE in the PHY drivers. Instead, pass
flags down from the parent to child vi mii_attach().
2000-02-02 17:09:38 +00:00
augustss cee0dfa2d5 Add rnd_source. 2000-02-02 13:22:07 +00:00
augustss c9d8358135 Generate usb events on attach and detach.
Clean up detach a little.
2000-02-02 13:21:25 +00:00
augustss 3a1229e779 Generate usb events on attach and detach. 2000-02-02 13:20:59 +00:00
augustss aae9ac7e11 Generate usb events on attach and detach.
Handle rnd stuff correctly.
2000-02-02 13:19:44 +00:00
augustss 4b93911b25 Generate usb events on attach and detach. 2000-02-02 13:18:45 +00:00
augustss b10d6a6fc0 Support detach. 2000-02-02 11:42:29 +00:00
thorpej 84dc99fdea Bring some order to the chaos which was the MII code function naming
"conventions".
2000-02-02 08:05:26 +00:00
augustss 481e8339dc Change the USB event mechanism to include more information about devices
and drivers.  Partly from FreeBSD.
2000-02-02 07:33:59 +00:00
thorpej db8dc44033 Add support for detaching the interface. 2000-02-01 22:53:14 +00:00
augustss e7f114ba6d Make sure to use delay() in usb_delay_ms() while cold booting. 2000-02-01 17:46:17 +00:00
augustss 6393288539 Put some #ifdefs around power and shutdown hooks. 2000-02-01 05:42:52 +00:00
augustss daa36b1b58 Rename TAILMASK to HEADMASK, since it really masks the head pointer.
From FreeBSD.
2000-01-31 22:35:13 +00:00
augustss cc46ffeb91 Change where the has table for physical-to-virtual address translation
is handled.  Partly from FreeBSD.
2000-01-31 22:09:13 +00:00
augustss 964e21e33a Use ${RM} 2000-01-31 21:08:11 +00:00
augustss ae4bbc4485 Fiddle with over-current protect when turning on port power to make
things work for some OHCI controllers.
2000-01-31 20:17:25 +00:00
augustss c9aa323521 Change the way the HC done method is invoked a little. 2000-01-31 20:13:07 +00:00
augustss ef79cf035a Correct error message list. From Nick Hibma. 2000-01-28 13:32:55 +00:00
augustss 119272426a Fix typo. From Nick Hibma. 2000-01-28 10:19:48 +00:00
augustss 8cc78f4f7d Small restructuring: break out opening of pipes into its own function. 2000-01-28 00:51:25 +00:00
augustss 3eccf22362 GC a #define. 2000-01-28 00:45:55 +00:00
augustss 30f0efb4f2 Add uhci_root_ctrl_done() method. 2000-01-28 00:44:27 +00:00
augustss 9cd4bf4652 Remove the hack that handled truncated transfers. 2000-01-28 00:29:53 +00:00
augustss 4e9e8e52f4 Change the test to check if transfers are done. The old test was broken
and sometimes reported transfers as done prematurely.
This fix seems to stabilize the Ethernet drivers.
2000-01-28 00:15:54 +00:00
augustss 3c27de72ac Fix typo in tailp bit defines. From Nick Hibma. 2000-01-28 00:11:38 +00:00
augustss 10dd6e61c3 Regen. 2000-01-28 00:09:19 +00:00
augustss d4dda219e1 Fix typo. 2000-01-28 00:08:57 +00:00
augustss 57d2439d74 Try to avoid accessing the HC if it is dead. Suggested by mycroft. 2000-01-26 10:04:38 +00:00
soren 27cb56c54d Regen. 2000-01-25 21:58:59 +00:00
soren 8b39eb4d8e Add Digi International adapters. 2000-01-25 21:58:45 +00:00
augustss b9a4fe55b5 Switch the HSE and HCPE messages. Pointed out my mycroft. 2000-01-25 17:31:05 +00:00
augustss 0335569abc Make it compile even if you leave out the ucom attachment. 2000-01-25 13:56:23 +00:00
augustss a27ee91364 Remove an item. 2000-01-25 13:27:07 +00:00
augustss f0ebd281e5 Add done method for root control transfers. 2000-01-25 12:06:21 +00:00
augustss beaf3d82fc Ooops, add another ucom file. 2000-01-25 08:46:00 +00:00
augustss a2b1ac707a Split the umodem driver into two parts: the part that emulates a tty over
two bulk pipes, and the setup and status fiddling goo.
This allows the former part to be shared by other drivers that need to
look like a tty.
2000-01-25 08:12:58 +00:00
thorpej e2e27455dd Use config_pending. 2000-01-24 18:35:51 +00:00
augustss bbd7b89f19 Recognize Linksys USB10T. 2000-01-24 08:47:43 +00:00
augustss 50f87c16d8 Regen. 2000-01-24 08:44:33 +00:00
augustss 46ada10a40 Add Linksys USB10T. 2000-01-24 08:44:07 +00:00
augustss 55c5d10627 Fix typos.
Never, never, never commit without compiling first.
2000-01-19 01:16:38 +00:00
augustss fe18229923 Obey the interrupt interval here also. 2000-01-19 01:04:26 +00:00
augustss a97cf3f9ce Fix a buglet in framelist locking. 2000-01-19 01:02:11 +00:00
augustss 8d1b47c24d Poll the interrupt pipe every 100 ms instead of every 1 ms. The interrupt
pipe is only used to collect statistics so it seems rather stupid to bog
down the processor by doing this every ms.
2000-01-19 00:25:23 +00:00
augustss c3716a6bb9 Add an argument to usbd_open_pipe_intr() to specify the polling interval
for an interrupt pipe in case we don't what what the descriptor suggests.
2000-01-19 00:23:58 +00:00
augustss 331cdec4d2 Add another item. 2000-01-19 00:20:55 +00:00
augustss 21863071b1 Move the zeroing of the xfer to the individual methods. 2000-01-18 20:23:42 +00:00
augustss f14036861f Turn xfer allocation into a method in the HC driver. The reason is that
an HC driver may want to subclass the xfer to have additional private fields.
2000-01-18 20:11:00 +00:00
augustss 4357bf2625 Pretend we can detach. Then we can at least the detach the device
if the attach fails in the middle.
2000-01-18 19:46:55 +00:00
augustss aff651d2c6 Sync with reality. 2000-01-18 19:45:58 +00:00
augustss 5fe2bec33e Add Bill Paul's FreeBSD driver for the CATC USB-EL1201A chip.
XXX The driver is untested since I don't have any hardware with this chip.
2000-01-17 17:12:20 +00:00
augustss 57a4fc9141 Regen. 2000-01-17 14:56:23 +00:00
augustss 3285aaa9dc Add a bunch of devices I found at a Linux site. 2000-01-17 14:56:01 +00:00
augustss 28c8d7c7bb Remove some unnecessary cleanup. 2000-01-17 13:25:22 +00:00
augustss 3205164ec5 Add missing USBD_NO_COPY flag. 2000-01-17 13:23:05 +00:00
augustss 3e2f6f3a41 Regen. 2000-01-17 12:57:54 +00:00
augustss 5ebe8e5553 Add two CATC Ethernet adapters. 2000-01-17 12:57:27 +00:00
augustss 60e70258d2 Compute packet length correctly (from FreeBSD). 2000-01-17 02:20:43 +00:00
augustss ab81119895 Adjust for ADS name change. 2000-01-17 01:43:31 +00:00
augustss f18750a9df Regen. 2000-01-17 01:43:07 +00:00
augustss 4a3938b0d6 Give the ADS Ethernet adapter a better name. 2000-01-17 01:42:41 +00:00
augustss 2ea7029408 Add Bill Paul's FreeBSD driver for the Kawasaki LSI KL5KUSB101B USB Ethernet
chip.
2000-01-17 01:38:43 +00:00
augustss ed1996fc7d Be a little more talkative on with UHCIDEBUG on errors. 2000-01-17 01:01:07 +00:00
augustss 2ec318c2e5 Update some comments. 2000-01-16 23:18:56 +00:00
augustss cc381bcb7c Add usbd_reload_device_desc() to get the device descriptor again from a device.
Useful if e.g. downloading firmware updates the revision number.
2000-01-16 23:11:43 +00:00
itojun 68f1c29b5a typo 2000-01-16 18:34:42 +00:00
augustss dbed54b091 Get rid of some debug gunk. 2000-01-16 16:07:42 +00:00
augustss 1f4b0be350 Turn on interface OACTIVE in case of a transmit error. 2000-01-16 15:52:03 +00:00
augustss 48641e166e Put back line I lost in FreeBSD code when porting. 2000-01-16 15:43:24 +00:00
augustss 36987ec1cc Enable AUE_DEBUG the usual way. 2000-01-16 15:36:28 +00:00
augustss 6f571d15c8 Some stylistic changes. 2000-01-16 15:35:06 +00:00
augustss f0cebaeb64 Avoid even more #include for FreeBSD. 2000-01-16 15:12:41 +00:00
augustss ed1c6349a1 Avoid some #include for FreeBSD. 2000-01-16 15:10:27 +00:00
augustss c48388545c Check for the right vendor/product before fiddling with the Broadcom PHY. 2000-01-16 14:24:33 +00:00
augustss b4e8010107 Add initial version of a driver for the ADMtek AN986 Pegasus USB to
Ethernet chip.
Written by Bill Paul, <wpaul@ee.columbia.edu>, for FreeBSD.
Massaged by Lennart Augustsson.
XXX Needs a thread to avoid a the gruesome USBD_NO_TSLEEP hack.
2000-01-16 13:45:56 +00:00
augustss 67ad556c60 Get timeout right in the gruesome hack. 2000-01-16 13:34:51 +00:00
augustss eb7268f16c XXX Add a temporary, gruesome hack. It allows transfers to
XXX be done using delay() instead of tsleep().
XXX This enables transfers to be made from an interrupt context, which
XXX is needed until some more threads are added to the kernel.
XXX Using this hack (which is rare) causes the kernel to busy-wait
XXX for up to 1 ms at splusb().
2000-01-16 13:22:18 +00:00
augustss 2b8a0e9b1c Remove some debug code that was commited by mistake. 2000-01-16 13:14:43 +00:00
augustss 537c04e5ee Add a flag, USBD_FORCE_SHORT_XFER, to transfers. Using this flag will
force the last packet of a transfer to be smaller than the maximum
packet size.  The only time this matters is if the transfer size is
a multiple of the maximum packet size, in which case a 0 length packet
is sent last.
Some weird devices require this behaviour to determine the end of
a transfer.
2000-01-16 13:12:05 +00:00
augustss d837d7a740 Avoid freeing already free data when attach fails. 2000-01-16 13:05:48 +00:00
augustss 9b9e6e6d2c GC an unused typedef. 2000-01-16 11:19:05 +00:00
augustss f17d5fe839 Change compat defines a little for power hooks. 2000-01-16 10:38:58 +00:00
augustss 9e5ce08183 Add framework for doing isoc transfers. The actual scheduling code
is still missing.
2000-01-16 10:35:24 +00:00
augustss 1a080201cc Add shutdown hooks to ensure that the host controller is halted when
a reboot occurs.
2000-01-16 10:27:51 +00:00
augustss 98347a7628 Add comments. 2000-01-16 09:43:43 +00:00
augustss 5a91238d5f Turn on more debugguing flags with USB_DEBUG. 2000-01-16 09:42:36 +00:00
augustss 4539a83cdc Add a DPRINTF on keyboard errors. 2000-01-16 09:41:22 +00:00
augustss 5522f8f3ba Add some files for ethernet adapters (the files are not there yet). 2000-01-16 09:40:07 +00:00
augustss c664f35fc5 Let usbd_set_polling() work on a usbd_device_handle instead of
a usbd_interface_handle.
2000-01-16 09:37:18 +00:00
augustss 9647c5b871 Another compat define. 2000-01-16 09:34:18 +00:00
augustss d50156f1bd Start of implementation of UpDown processing unit control. 2000-01-16 09:32:56 +00:00
augustss a0a41d46da Add another item. 2000-01-13 20:19:43 +00:00
augustss e4f6c4c51b Add umass.c. 2000-01-13 20:19:14 +00:00
augustss 63d3068c61 Regen. 2000-01-13 19:58:40 +00:00
augustss 3e973f6af5 Sync with FreeBSD. 2000-01-13 19:58:14 +00:00
augustss d005bd8581 Regen. 2000-01-10 02:48:14 +00:00
augustss 261d171a62 Add the Linksys USB100TX Ethernet adapter.
(We will have a driver for it soon!)
2000-01-10 02:47:03 +00:00
takemura ba04c55ed3 Absolute pointing device support.
- Wsmouse_input() get new argument 'flag', which indicates whether x/y/z are
   relative or absolute.
 - Wsmouse get new io controls, WSMOUSEIO_SCALIBCOORDS and
   WSMOUSEIO_GCALIBCOORDS.
2000-01-08 02:57:22 +00:00
augustss 81a78604bf Implement the ENABLE control for processig units. 2000-01-06 21:13:55 +00:00
tron a3f8a54bf4 Regen. 1999-12-29 21:29:02 +00:00
tron 5228e12283 Add vendor and product code for Solid Year USB keyboard provided by
Ichiro Fukuhara in PR kern/9070.
1999-12-29 21:28:31 +00:00
augustss 5034afeb8e Regen.
And Merry Christmas!
1999-12-25 21:56:37 +00:00
augustss 878c0331ff Alphabetize. 1999-12-25 21:55:59 +00:00
augustss 60ca103a0c Regen. 1999-12-24 21:03:00 +00:00
augustss e3ab0a35b1 Some minor name changes. 1999-12-24 21:02:38 +00:00
augustss 337c668339 Regen. 1999-12-24 18:03:32 +00:00
augustss 8dde7d012c Add a few Ethernet adapters. 1999-12-24 18:03:05 +00:00
augustss 6e2f22c70f Turn on the MAXP bit in the controller to allow 64 byte packets at
the end of a frame.
1999-12-24 13:56:35 +00:00
augustss 3150a2103c Reverse the sign on the wheel data. I got it wrong from the start. 1999-12-24 01:14:01 +00:00
augustss 0e7b1b9ec1 Use the flags `locator' to govern if devices are detected early or
late during cold boot.
1999-12-22 23:54:09 +00:00
augustss a1352b2625 Make sure tsleep() is not called during cold boot. 1999-12-20 02:12:23 +00:00
augustss 33f8460f90 Change the way the initial configuration value is picked.
Idea from Matthias Drochner <M.Drochner@fz-juelich.de>
1999-12-18 23:22:54 +00:00
augustss 33cf622176 Add another debug printf. 1999-12-18 22:51:58 +00:00
augustss e284dc9cfd Make these files compile on 64 bit archs. 1999-12-18 22:47:11 +00:00
augustss b58b4d7541 Regen. 1999-12-17 14:07:45 +00:00
augustss 593f478d64 Add a 3Com camera. 1999-12-17 14:07:21 +00:00
augustss fc03707eef Add even more debug output. 1999-12-15 23:00:05 +00:00
augustss 0164856f79 More debug printfs. 1999-12-15 20:05:08 +00:00
augustss 8111aaeef9 Cosmetics and a couple of diagnostic messages. 1999-12-06 21:06:59 +00:00
augustss 02faf8d588 Done something half sensible if a USB console keyboard is unplugged instead
of panic()ing.
XXX Untested.  I will test it the next time I can borrow an iMac.
1999-12-01 23:22:57 +00:00
augustss b687c3c859 Some more DIAGNOSTIC. 1999-12-01 23:19:11 +00:00
augustss b15fcce56c Use vertical nscheduling for bulk traffic. It improves bulk thruput a lot.
From FreeBSD and Nick Hibma.
1999-12-01 00:42:05 +00:00
augustss 18f862c072 More USB_DEBUG and DIAGNOSTIC output. 1999-11-28 22:49:53 +00:00
augustss 97fc004770 Don't complain when umodemstartread() returns USBD_IN_PROGRESS. It's normal. 1999-11-26 09:12:50 +00:00
augustss d94a5b55fb Make timeout device exploration optional in debug mode. 1999-11-26 01:41:03 +00:00
augustss 77bb4d8ce2 Cosmetic change. 1999-11-26 01:40:01 +00:00
augustss aa32088c20 Cosmetic changes. 1999-11-26 01:39:27 +00:00
augustss 240991073c Generate an error message when attachment fails. 1999-11-26 01:38:40 +00:00
augustss df60fd6eac Regen. 1999-11-24 23:18:07 +00:00
augustss ae1dcc2dc0 Comment out some entries for Entrega serial adapters. These entries
are only relevant before firmware download.
1999-11-24 23:17:27 +00:00
augustss c156651eb9 Avoid the special when disconnecting devices with no config descriptor.
It was wrong.
1999-11-24 23:14:39 +00:00
augustss bb2a9b3008 Add some more debug printing. 1999-11-24 23:13:19 +00:00
augustss 881d3f4735 A little cosmetic. 1999-11-23 20:36:10 +00:00
augustss 17971be39a Don't used extern on uhcidebug and ohidebug variables. 1999-11-22 21:57:09 +00:00
augustss 14896709bf Join two lines in the attach message. 1999-11-20 01:15:25 +00:00
augustss 7b92ed07bd Propagate the USB revision number to the usb driver. 1999-11-20 00:57:08 +00:00
augustss 3386c68b46 Cosmetic changes and some small improvements. From FreeBSD and Nick Hibma. 1999-11-18 23:32:25 +00:00
augustss cdaec29859 A few more purely stylistic changes that I missed in the last round. 1999-11-17 23:00:49 +00:00
augustss 08aacd4e6f Regen. 1999-11-17 22:59:30 +00:00
augustss 206c85df58 Add CATC analyzer. 1999-11-17 22:59:04 +00:00
augustss ffb29861c2 Add a few more diagnostics. 1999-11-16 22:19:03 +00:00
augustss 70ad5362d4 Fix a pointer test that I got wrong in the big code cleanup. 1999-11-16 22:15:50 +00:00
augustss c5019ec09a Add a quirk for a buggy Qtronix keyboard. 1999-11-16 12:08:38 +00:00
augustss b019d68caa Some minor changes from OpenBSD. 1999-11-16 12:04:28 +00:00
augustss 1d1d6b868d Mark an early Altec Lansing speaker as broken. 1999-11-16 11:39:48 +00:00
augustss 982eb1b4e6 Preallocate DMA buffers. Fixes problem reported by Hubert Feyrer. 1999-11-16 10:21:11 +00:00
augustss aef39844d9 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).
1999-11-15 22:04:14 +00:00
augustss 5f8274b5a6 Get transfer status right on short transfers. From FreeBSD, Nick Hibma. 1999-11-13 23:58:01 +00:00
mjacob 5f4088eb26 Hide function definition within ifdef's is becomes active in. 1999-11-12 19:11:25 +00:00
augustss 0d2fabdf26 A number of stylistic changes to increase readability (many suggested
by Nick Hibma):
	use NULL not 0
	declare all local definitions static
	rename s/usbd_request/usbd_xfer/ s/reqh/xfer/
	rename s/r/err/
	use implicit test for no err
	KNF
1999-11-12 00:34:57 +00:00
augustss c8ad47986a Regen. 1999-11-12 00:26:39 +00:00
augustss 505ab77387 Add a modem from ELSA. 1999-11-12 00:26:13 +00:00
augustss 445d6f8e64 Regen. 1999-11-10 19:47:39 +00:00
augustss f2725f06b8 Add another Quickcam. 1999-11-10 19:46:40 +00:00
matt 391c8e434d regen 1999-11-10 15:56:39 +00:00
matt 805b56adb4 Add Entrega USB Serial->DB9 widget 1999-11-10 15:55:51 +00:00
augustss 8276207b08 Regen. 1999-11-10 12:31:31 +00:00
augustss 8436192416 Add two more devices. 1999-11-10 12:31:01 +00:00
mycroft 105a2438f9 Fix an obvious bug is some diagnostic code; we must lower our spl again... 1999-11-10 04:19:59 +00:00
augustss e9fc8103ca Make detach wait for interrupts to finish.
Bail out in interrupt routine when device is dying.
1999-11-09 16:52:14 +00:00
augustss 3b576cc6b2 Update. 1999-11-03 12:11:26 +00:00
augustss b952f8727b Print a little more information when attaching. 1999-11-02 16:54:27 +00:00
augustss 860ebb7a92 Make little endian and big endian version of all functions
that deal with 16 bit samples.  Let the drivers decide which ones
to use.
1999-11-01 18:12:19 +00:00
augustss 9388a61d05 Add a few more tests for safety. 1999-10-28 12:08:38 +00:00
augustss 357dc256c9 Make sure read() and write() fails on the control pipe. 1999-10-28 07:28:51 +00:00
augustss e33e7aa647 Regen. 1999-10-28 06:41:40 +00:00
augustss 786bc11173 Another device... 1999-10-28 06:41:13 +00:00
augustss 1eb80cc225 Make the SPLUSBCHECK diagnostic test silent durning cold boot. 1999-10-25 10:51:46 +00:00
augustss 0ce4b38e23 Add some code for recording, still untested. 1999-10-25 10:16:49 +00:00
augustss a28e3fec43 Fix PR8666, to verbose diagnostics. 1999-10-23 00:21:01 +00:00
augustss a5b6bed471 Add a macro to extract the isoc type. 1999-10-20 21:02:39 +00:00
augustss afc4d36639 Regen. 1999-10-19 21:16:04 +00:00
augustss 172180cf42 Add an AltecLansing speaker. 1999-10-19 21:15:35 +00:00
augustss db3b140df8 Handle the (weird) case when the power hook is called with a resume
without a prior suspend.
1999-10-17 15:31:00 +00:00
augustss d8e5f3ab24 Add a DIAGNOSTIC to check that the polling flag is set when resuming. 1999-10-16 15:35:18 +00:00
augustss 8b18a2785a Regen. 1999-10-15 14:42:17 +00:00
augustss f8ac09c2e7 Add some Philips speakers (even if mine say Roland on the front :). 1999-10-15 14:41:43 +00:00
augustss 708b8c75d1 Give uaudio its own debug flag. 1999-10-14 01:18:39 +00:00
augustss f25d1b0a07 Fix a glitch in dequeueing and aborting requests on interrupt pipes. 1999-10-13 23:46:10 +00:00
augustss 3d6e4de045 Format tag and format type tests were interchanged. 1999-10-13 20:13:29 +00:00
augustss 0a020334b9 Regen. 1999-10-13 19:11:07 +00:00
augustss 940b21d891 Add a Telex microphone and a Midiman MIDI port. 1999-10-13 18:55:32 +00:00
augustss cefd751ca7 Remove FreeBSD tags that got in there by accident.
Add #include <sys/time.h> to usb.h.
1999-10-13 18:52:54 +00:00
augustss 1e35ed7989 Temporarily disable a DIAGNOSTIC. 1999-10-13 14:28:07 +00:00
augustss 8b40b63505 Regen. 1999-10-13 09:00:49 +00:00
augustss a7fe98f881 Add Sandisk ImageMate. 1999-10-13 09:00:21 +00:00
augustss 03a522d3c1 Merge in a large batch of changes from Nick Hibma <hibma@skylink.it> so
the USB stack compiles on FreeBSD again.
1999-10-13 08:10:55 +00:00
augustss 42d6f8a8b9 Regen. 1999-10-13 03:01:52 +00:00
augustss 736c5dc95e Add Kodak DC240. 1999-10-13 03:01:37 +00:00
augustss ea503f0b6c Regen. 1999-10-13 02:25:26 +00:00
augustss 86911423eb Add SIIG DigiFilm-Combo Reader 1999-10-13 02:24:59 +00:00
augustss 11403b6ec1 Fix some bugs in USB controller detach code. 1999-10-12 20:02:47 +00:00
augustss df435c83b2 Add an event mechanism so that a userland process can watch devices come
and go.
1999-10-12 11:54:56 +00:00
augustss 3887698369 Regen. 1999-10-12 11:27:52 +00:00
augustss e202d5a5c2 Add another device. 1999-10-12 11:25:13 +00:00
augustss 6628b9be8a Stylistic changes. 1999-10-12 11:24:22 +00:00
augustss b14b78dfc9 Deallocate resources (bus space and interrupts) when detaching from
the bus.
1999-10-12 11:21:24 +00:00
augustss 2f9a41c5e7 Regen. 1999-10-11 09:17:22 +00:00
augustss bd08192b30 Add more devices. 1999-10-11 09:16:59 +00:00
augustss 740ae27d5a Add a quirk for devices that lie about how they are powered. 1999-10-11 09:16:39 +00:00
augustss d0bbed5169 Remove an obsolete comment. 1999-10-11 09:15:34 +00:00
nathanw 88a4e0db3c Regen. 1999-10-05 20:09:44 +00:00
nathanw d05fd19adc Add In-Systems ISD-110 IDE adapter. 1999-10-05 20:03:49 +00:00
augustss ef0ba32b7d Regen. 1999-10-04 19:05:42 +00:00
augustss 7a8b326ba9 Add Activewire IO boards. 1999-10-04 19:05:13 +00:00
thorpej 6d0137c519 Update for SCSIPI changes. 1999-09-30 23:13:41 +00:00
augustss fb7795c908 Make sure the HC deactivation is propagated. 1999-09-18 11:25:50 +00:00
augustss 97a24aa488 Make defines follow the standard. 1999-09-16 21:53:58 +00:00
augustss a4457e18b3 More DIAGNOSTIC paranoia. 1999-09-16 19:20:34 +00:00
augustss 09774ca21c Remove one, add none! 1999-09-15 21:14:44 +00:00
augustss 2557320246 Handle the case when a USB transfer is so long that it crosses two page
(4K) boundaries.  OHCI cannot do that with a single TD so we make a chain.
1999-09-15 21:14:03 +00:00
augustss 7fcc1703ff Cosmetic change: s/xfer/data/ 1999-09-15 21:12:29 +00:00
augustss 80e09c28e9 Use a bigger buffer when transferring data. 1999-09-15 21:11:27 +00:00
augustss 58c7de99c1 Move the code around a little and clearly mark how to delay attachment
(during cold boot) until the interrupts are on.
1999-09-15 21:10:11 +00:00
augustss 5260cadff2 Add a sanity check to the computed actual transfer length. 1999-09-15 21:08:59 +00:00
augustss d4f0eac72e Change SPLUSBCHECK diagnostic macro a little. 1999-09-15 21:08:19 +00:00
augustss e54df1b10c Handle the use_polling flag with a lttle more care and only set it if
we are cold booting.
1999-09-15 14:17:14 +00:00
augustss 60199e09b6 Regen. 1999-09-15 13:57:26 +00:00
augustss df70e460db Make vendor names more consistent. 1999-09-15 13:57:09 +00:00
augustss adc55421b4 Regen. 1999-09-15 12:31:28 +00:00
augustss f14a3915b3 Add a number of devices and rename a few. From a Linux web site. 1999-09-15 12:30:59 +00:00
augustss 7049e8eb1b Add preliminary (untested) code for detaching the USB host controller
(needed for CardBus based controllers).
1999-09-15 10:25:30 +00:00
augustss 5486205b69 Regen. 1999-09-14 22:06:44 +00:00
augustss ed9b74f17a Sort out some confusion about which vendor is really Belkin. 1999-09-14 22:06:21 +00:00
augustss c4d6d6b991 Put a reference counter in the softc. Without this the driver might access
data that has been freed because the detach() routine returns to early.
1999-09-13 21:35:08 +00:00
augustss ba2c2e2ade * Make sure an aborted pipe is marked as not running.
* Start queued request in the right order.
* Insert some more DIAGNOSTIC sanity checks.
1999-09-13 21:33:25 +00:00
augustss bc5da9a8da Make sure timeouts count as interrupt context too. 1999-09-13 19:49:41 +00:00
augustss ff6a476e6c Rearrange the code a little so we can decide if we are in process
or interrupt context in a reliable way.  Mainly used for DIAGNOSTIC.
1999-09-13 19:18:17 +00:00
augustss eadd0f76da Add needs-flag to ukbd. Fixes PR 8385 from Izumi Tsutsui
<tsutsui@ceres.dti.ne.jp>.
1999-09-12 17:40:57 +00:00
augustss b1a719a6cc Add a flag in the request to determine if the data copying is done by the
driver or the usbdi layer.
1999-09-12 08:23:42 +00:00
augustss 305998532f Dot't forget to deactivate subdevices. 1999-09-12 08:21:49 +00:00
thorpej febf7ffb86 Display more verbose information about the command protocol and wire
protocol used by the device, e.g.:

umass0 at uhub0 port 1 configuration 1 interface 0
umass0: Iomega USB Zip 100, rev 1.00/1.00, addr 2
umass0: SCSI over Bulk-Only (iclass 8/6/80)
1999-09-12 02:40:59 +00:00
thorpej f696794a34 Hot-unplug works now. 1999-09-11 21:45:28 +00:00
thorpej f7c20484b6 - If a command fails, assume the device returned CHECK CONDITION status,
and issue a REQUEST SENSE.  This fixes the media change problems I was
  having w/ my USB ZIP drive.
- Clean up some debugging code.
- Implement more hot-unplug stuff.
1999-09-11 20:52:07 +00:00
augustss ca8281fbcc Pre-allocate the DMA buffer. This makes the driver slightly more efficient. 1999-09-11 10:40:07 +00:00
augustss 98b6524413 * Move DMA buffer allocation to HC independent code.
* Remove (almost) unused definitions USBD_XFER_OUT and USBD_XFER_IN.
1999-09-11 08:19:26 +00:00
augustss 90daa4736b Comment out the GET_DEVICE_ID code, because for some unknown reason it
causes printing to fail sometimes.
1999-09-10 19:28:26 +00:00
augustss 6b9aae738e Update doc URLs and fix a typo in umass_bulk_get_max_lun(). 1999-09-09 17:12:03 +00:00
augustss 9bebdb616f Remove some and add some. 1999-09-09 13:05:05 +00:00
augustss 8c655e84f2 An EXPERIMENTAL audio driver. It still needs work, e.g., in the mixer
part to give reasonable names to the mixer controls.
1999-09-09 12:28:25 +00:00
augustss 2aadcb5f47 Change the internal API to allow DMA buffers to be pre-allocated by
the device driver instead of happening automagically in the HC driver.
This affects both the HC-USBD interface as well as the USBD-device
interface.
This change will allow DMA buffers to be reused e.g. in isochronous
traffic.

Add isochronous support to the UHCI driver (not for OHCI yet).
1999-09-09 12:26:43 +00:00
augustss 977c927d44 Do a brain dump of items to do. 1999-09-07 14:58:12 +00:00
augustss 6e6d511cf0 Add USUBCLASS_MIDISTREAM definition, per request from MAEKAWA Masahide
<bishop@rr.iij4u.or.jp>.
1999-09-06 17:16:47 +00:00
augustss 2425433ff6 Change some printf to DPRINTF for consistency. From Nick Hibma, FreeBSD. 1999-09-05 21:22:38 +00:00
augustss 24251055bc Change the way the `struct device' base part of all driver softc are
declared and accessed to make it more portable.  Idea from Nick Hibma, FreeBSD.
No functional changes.
1999-09-05 19:32:18 +00:00
augustss f3421bec94 Change the way the direction is extracted from the endpoint descriptor.
No functional changes to the drivers.  From Nick Hibma, FreeBSD.
1999-09-04 22:26:11 +00:00
augustss d7a4829d27 Regen. 1999-09-02 22:07:43 +00:00
augustss 1fed6ca851 Add Logitech QuickCam. 1999-09-02 22:07:29 +00:00
augustss ba551e0c6a Regen. 1999-09-02 19:17:57 +00:00
augustss f6ae3ac6a9 Add some Entrega and Belkin serial adapters. 1999-09-02 19:13:43 +00:00
augustss 60179e2a13 Avoid null reference, from Nick Hibma, FreeBSD. 1999-09-02 18:13:50 +00:00
augustss 46fd81350a Rewrite interrupt routine from clarity. From Nick Hibma, FreeBSD. 1999-09-02 18:11:41 +00:00
thorpej dea48ccdf9 Oops, back out stuff I didn't mean to commit. 1999-08-30 01:05:08 +00:00
thorpej a138de1eb5 Add detach goo; still needs work in the `scsibus' and further layers. 1999-08-30 01:04:31 +00:00
augustss 7a3bd0ab27 Add some missing request codes. 1999-08-29 22:45:41 +00:00
thorpej dd611fa302 Set openings to 1; only one command may be queued with the device at
a time.
1999-08-29 20:41:12 +00:00
thorpej 54f6a91c01 Issue a Get Max Lun request to determine the max lun. 1999-08-29 19:58:55 +00:00
thorpej 04cd1cc8ee Make usbd_errstr() always return a useful error message; it's not like
the strings are that big.
1999-08-29 19:41:27 +00:00
thorpej d1088a5081 One more TODO item; sub-classes other than SCSI. 1999-08-29 18:58:03 +00:00
thorpej 59e86c6637 Correct typo in URL. From Bill Sommerfeld. 1999-08-29 18:57:15 +00:00
thorpej f88e157ddb Update the match routine to reflect that the driver actually matches
"Mass Storage/SCSI/Bulk".
1999-08-29 18:56:24 +00:00
thorpej e01cef341e Update documentation references. 1999-08-29 18:13:26 +00:00
thorpej f91881f24a Since we poll around the `done' member of a usbd_request, make it volatile. 1999-08-29 17:57:25 +00:00
thorpej cbd1c08a2c Note a few TODO items. 1999-08-29 17:34:11 +00:00
thorpej 246ab7936d One item off this list done! 1999-08-29 16:53:04 +00:00
thorpej cbb4401dfd Port the FreeBSD `umass' driver to NetBSD. This is still a work-in-progress
since a few things don't yet work properly:
- Sense data isn't reported properly (err, at all).
- It doesn't work with anything other than the Iomega USB Zip drive.
- Hot-unplug doesn't work yet.

...but this is enough to make my shiny new USB Zip drive go.
1999-08-29 00:30:08 +00:00
augustss 036a9c6974 Change some 'struct device' to 'bdevice'. From FreeBSD. 1999-08-28 21:42:35 +00:00
augustss 1aa63c9fab Add some comments. 1999-08-28 10:04:01 +00:00
augustss 103e304a84 Add to the growing list. 1999-08-28 10:03:38 +00:00
augustss 2126f7df24 Change a type name. 1999-08-28 10:01:59 +00:00
augustss 598999e482 Fix from FreeBSD. 1999-08-28 10:01:42 +00:00
augustss e470b13e28 Regen. 1999-08-28 10:01:19 +00:00
augustss 4b398d8f1b Fixes/updates from FreeBSD. 1999-08-28 10:00:56 +00:00
augustss 65845c9e2a Regen. 1999-08-25 23:23:33 +00:00
augustss 7529455612 Add a PS2 to Mac USB Adapter from P.I. Eng. 1999-08-25 23:23:17 +00:00
augustss e0e1fbbe36 Regen. 1999-08-25 20:34:56 +00:00
augustss 02a79dc13e Add Multitech MT5634ZBA. From FreeBSD. 1999-08-25 16:28:12 +00:00
soren 205c3f5a73 Regenerate. 1999-08-24 21:25:52 +00:00
soren 82cb092b79 Fix typo in comment. 1999-08-24 21:25:22 +00:00
augustss 1f2661798f Make sure to mark the device as dying already in the (de)activate routine.
This avoids access to it before the detach routine has blown it away.
1999-08-23 22:55:14 +00:00
augustss 007da22e55 At attach time, get and print (parts of) the IEEE 1284 device id. 1999-08-23 22:35:19 +00:00
augustss 70020635c3 Regen. 1999-08-23 16:54:13 +00:00
augustss c206e4ab37 Add a Kawatsu mouse. 1999-08-23 16:53:32 +00:00
augustss 592de98a19 Remove some unneeded needs-flag. 1999-08-23 07:07:47 +00:00
augustss 4c217fdaf8 Merge the soft_{td,ed} with the real {td,ed}. This saves time and space.
(And fix typo in corresponding uhci change.)
1999-08-22 23:41:00 +00:00
augustss cc8b61583c Merge the soft_{td,qh} with the real {td,qh}. This saves time and space. 1999-08-22 23:19:56 +00:00
augustss be7e2fac07 More things to do... 1999-08-22 22:24:25 +00:00
augustss 1de0531d8b Simplify ulptwrite() by calling usbd_bulk_transfer(). This also makes
it interruptible.
1999-08-22 22:22:43 +00:00
augustss f747201099 Move more of the transfer completion processing to HC independent code.
Fix some problems with transfer abort & timeout.
1999-08-22 20:12:39 +00:00
augustss a293a6cc73 Make sure not to call tsleep() from suspend/resume routine. 1999-08-20 16:42:38 +00:00
mjacob f28eb7f5cc make alpha compiler happy 1999-08-19 21:29:04 +00:00
augustss 0f99933822 Use the right type for the size argument when calling usbd_bulk_transfer(). 1999-08-19 19:57:21 +00:00
augustss a9563e089b A first stab at making the UHCI driver endian independent.
(It doesn't seem to be quite working yet.)
1999-08-19 19:52:38 +00:00
augustss c0f0486836 Add a utility function, usbd_errstr(), to print error strings. From FreeBSD. 1999-08-19 19:51:36 +00:00
augustss 462e2614ff Add some mass storage definitions. 1999-08-19 19:50:42 +00:00
augustss bf35d2940c Add some more items. 1999-08-19 00:31:40 +00:00
augustss 1107c3f6ea Back out last change. The ugliness of the Audio Class should not have
to pollute the general USB definitions.
1999-08-18 07:55:19 +00:00
augustss 7fb139742d Update the endpoint descriptor struct with the two oddball entries
that only the Audio Class has.
1999-08-18 07:45:56 +00:00
augustss 54adf47f36 Redo the UHCI data toggle handling.
Make sure data toggles get synchronized on open and
when clearing an endpoint stall.
1999-08-17 20:59:04 +00:00
augustss 3016e1ebe0 Make some small changes to make it compile on OpenBSD. 1999-08-17 16:06:20 +00:00
augustss 24f66ce158 Get rid of FreeBSD code; there was so little to share in this driver
that it should be split.
1999-08-16 23:36:25 +00:00
augustss 9a0281ff87 Some new ioctl()s for the umodem driver. 1999-08-16 20:27:55 +00:00
augustss aa7264892d Implement a modem driver for the Abstract Control Model, i.e. AT commands.
It is accessible through the usual tty abstraction.
XXX The driver needs better error handling and a special call device.
XXX It also needs more testing.
1999-08-16 20:26:53 +00:00
augustss 290c03447b Change the way transfers are dequeued so thet we know that they
are removed from the queue before being deallocated.
1999-08-16 20:24:33 +00:00
augustss 23fa3682af Remove some, add some. 1999-08-16 20:21:09 +00:00
augustss 72b1f5a4b0 Add more CDC definitions. 1999-08-16 20:20:19 +00:00
augustss 7e4e93390d Change DIAGNOSTIC behaviour a little. 1999-08-16 20:19:55 +00:00
augustss df65083b45 A small roadmap of the USB files. 1999-08-16 20:18:07 +00:00
augustss b8b1e35ece Some changes from FreeBSD (no functional differences). 1999-08-14 14:49:31 +00:00
augustss b23490d39f Implement timeout and abort of requests.
Compute length of short transfers correctly.
1999-08-14 08:56:09 +00:00
augustss 38de172f03 Add usbd_set_hub_feature() and usbd_clear_hub_feature(). 1999-08-07 23:14:17 +00:00
augustss d6331b4ef4 Some new items. 1999-08-07 15:05:46 +00:00
augustss 208dad78d1 Get data toggle right for short bulk transfers.
(XXX This code needs to be rewritten.)
1999-08-02 23:35:55 +00:00
augustss caffcd4895 Another debug message. 1999-08-02 19:49:50 +00:00
augustss 2d4d29a1fa Test return values the right way. 1999-08-02 19:36:48 +00:00
augustss 094852eb36 Change it so that a pipe can be open RW instead of just R or W.
This makes close() work properly, but it is still not ideal.  Perhaps
there should be different device nodes for input and output on to
and endpoint with the same number?
Pay attention to the SHORT_XFER_OK ioctl().
1999-08-02 19:32:56 +00:00
augustss d2db832909 Do abort of transfers in a sane way. Fixes PR 8041. 1999-08-02 19:30:34 +00:00