Commit Graph

424 Commits

Author SHA1 Message Date
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
augustss 09e76a1645 Remove two items that are done. 1999-07-30 11:40:19 +00:00
augustss 4047458551 More DIAGNOSTIC messages. 1999-07-24 01:40:19 +00:00
augustss 021319d9b3 Avoid crashing if we are forced to close() before teh open() completed
(can happen on disconnect, probably due do dubious logic in vdevgone()).
1999-07-14 19:12:07 +00:00
augustss 361422bc96 Apply some bulk transfer bug fixes from FreeBSD. 1999-07-12 05:22:50 +00:00
thorpej 7b3258b6a7 Make the kthread API a bit more friendly to loadable kernel modules. 1999-07-06 21:44:09 +00:00
augustss 319c42848d Add some sanity checks. 1999-07-06 07:12:03 +00:00
augustss b177c7a397 Totally redo the way device detach is done. It now uses a kernel event
thread and the config detach method.
Squish a number of space leaks on detach.
1999-06-30 06:44:22 +00:00
augustss 622f3d3db5 Regen. 1999-06-28 04:10:26 +00:00
augustss f69aea19d2 Add some weirdo modem. 1999-06-28 04:09:53 +00:00
tron b2c4582d6d Regen. 1999-06-26 16:26:57 +00:00
tron 0ddfad8dfa "www.usb.org" says that:
a) Logitech has vendor ID 0x046d.
b) That vendor ID 0x05ac is Apple Computer.
1999-06-26 16:26:20 +00:00
tron 6e72bbdb8a Regen. 1999-06-26 15:21:17 +00:00
tron 62f6e7122f Correct description of vendor "LOGITECH": this is not Apple. 1999-06-26 15:20:53 +00:00
augustss 3fd5344a95 Add suspend/resume handling to the UHCI driver.
Currently it only works if the BIOS saves enough state of the controller.
Once I find a machine with a dumber BIOS I'll try to improve that.
1999-06-26 08:30:17 +00:00
augustss 701eca7576 Remove unneeded #include. 1999-06-26 03:14:25 +00:00
augustss 7ef0c8eef3 Add a quirk for mice with reversed Z-axis. 1999-06-26 00:09:15 +00:00
augustss 55fbc23acc Regen. 1999-06-26 00:08:15 +00:00
augustss c4c81ec6fa Add another Logitech mouse. 1999-06-26 00:07:35 +00:00
augustss 475ed73e46 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.
1999-06-14 17:09:57 +00:00
augustss 656245dc18 Check that the hub ports actually power up. 1999-06-14 16:59:47 +00:00
wrstuden 9f43c5a1f2 If we're the console keyboard, automatically enable the keyboard.
Should fix part of console keyboard problems on macppc. The usb keyboard will
now work on boot! Doesn't fix problems with keyboard freaking out when
changing LED state.

Thanks to Mattias & Lennart & Tsubai for input on resolving this problem.
1999-06-11 19:05:13 +00:00
augustss c65a504ed5 Add more debug. 1999-06-10 15:48:27 +00:00
augustss 2959234be5 Fix a bug in bulk input. Discovered by Joel Chen <jchen@liberate.com>. 1999-06-09 22:57:16 +00:00
wrstuden cd0a68c3f6 Fix use of & when % was appropriate. 1999-06-09 19:40:54 +00:00
augustss 27b9cd0724 Remove a redundant test. 1999-06-09 17:04:45 +00:00
augustss d80294fead Regen. 1999-06-05 14:14:42 +00:00
augustss c5255e5a48 Remove vendor from one of the descriptive strings; it's superfluous. 1999-06-05 14:14:02 +00:00
augustss 0e2edfb67a Very small formatting nit. 1999-06-05 13:43:03 +00:00
tron e9fe988d72 Regen. 1999-06-05 09:54:29 +00:00
tron 1c05aff552 Add Brother HL-1050 laser printer. Fixes second half of PR kern/7699
by Bjoern Labitzke.
1999-06-05 09:54:09 +00:00
augustss ac197c5354 Update documentation URLs. 1999-05-21 10:15:23 +00:00
augustss 4655ae1230 Keep track of vendor id and make sure the vendor string is NUL terminated. 1999-05-20 09:52:35 +00:00
augustss 3d6c3b5c03 Update for TI vendor id. 1999-05-20 09:51:13 +00:00
augustss 5d6176a144 Regen. 1999-05-20 09:50:39 +00:00
augustss d25385e28e Change vendor of id 0x0451 to Texas Instruments. 1999-05-20 09:50:09 +00:00
thorpej 29184c350f Add a few more Communication Interface Class subclasses (including Ethernet
and *shudder* ATM).
1999-05-18 23:42:56 +00:00
augustss 011be0080e Add vendor/product/release locators. Added in frustration as my HID
devices appeared as different devices after some plugging and unplugging. :-)
1999-05-16 13:51:05 +00:00
augustss 041a8536ac s/revision/release/ 1999-05-16 12:05:10 +00:00
augustss 00930acefa Improve error handling. Mostly from FreeBSD. 1999-05-16 11:43:32 +00:00
augustss 9bf01fcbe5 Fix debug printf. 1999-05-14 19:38:44 +00:00
thorpej 0d0cc4aa14 Rework the way ukbd attaches itself as the console (again). We now allow
the code to pick the first USB keyboard instance as the console, ignoring
which USB controller it's on.  Should eventually allow detaching of the
console keyboard.

From Jason Thorpe <thorpej@nas.nasa.gov>
1999-05-13 23:34:38 +00:00
augustss e16867970c More DIAGNOSTIC tests. 1999-05-13 23:29:41 +00:00
augustss aed277e3de More digitizer defines. 1999-05-13 23:29:11 +00:00
augustss d480a15932 Regen. 1999-05-11 09:56:56 +00:00
augustss 91e572f76d Another mouse. 1999-05-11 09:56:32 +00:00
augustss ea2a114cf0 Fix a serious bug in bandwidth accounting that thrashed memory.
Thanks to Joel Chen <jchen@nc.com> for tracking it down.
1999-05-09 22:48:35 +00:00
augustss 69e451c1ce Call ws routines at spltty() from interrupt routines. 1999-05-09 15:10:30 +00:00
augustss aaa0308140 Handle exclusive open bit differently. 1999-05-09 14:38:01 +00:00
augustss d11fcba216 More debug. 1999-05-09 14:37:18 +00:00
augustss 63e051b6cf Minor rearrengment for better readability. 1999-05-09 14:36:42 +00:00
augustss 86bb7f7d58 Add some Mass Storage constants. 1999-05-09 14:35:50 +00:00
augustss cbec5fc966 Regen. 1999-05-09 14:35:13 +00:00
augustss e4b1b00d56 Add Microsoft DDS80. 1999-05-09 14:34:41 +00:00
thorpej 375d7c32f2 Add a way for machine-dependent code to tell a USB controller that it
has the console input device.  The USB keyboard driver uses this to
attach the first USB keyboard instance as the console keyboard.

Unfortunately, this must still be deferred to autoconfiguration time,
but there's not much we can do about that right now.
1999-05-06 19:12:22 +00:00
thorpej bb619306e2 Add needs-flag to the ukbd device. 1999-05-06 00:42:16 +00:00
augustss a9cd83c7af Regen. 1999-04-27 21:32:05 +00:00
augustss 9fb29eae72 Update vendor names from an official(?) list. 1999-04-27 21:30:53 +00:00
augustss d992bbf22c Regen. 1999-04-27 18:09:00 +00:00
augustss c05572b5b7 Add Gravis GamePad Pro (from Soren Jorvang). 1999-04-27 18:08:35 +00:00
augustss afe636b9fa Add some digitizer usage codes. 1999-04-22 01:57:01 +00:00
augustss 1fcbe7ae13 Use the right buffer in immediate mode. 1999-04-21 19:02:26 +00:00
augustss 285bee1d61 Regen. 1999-04-03 19:03:02 +00:00
augustss 2198f62dd1 Add Visiion camera and Macally mouse. 1999-04-03 19:01:57 +00:00
augustss 28903948b1 Add legacy support register. 1999-04-03 19:01:20 +00:00
augustss 946efa06b3 Improve debug output a little. 1999-04-03 19:00:43 +00:00
augustss 7793bb6998 Generate grammatically correct sentences. 1999-04-03 18:59:51 +00:00
augustss ecbea6c6a0 More things to do. 1999-04-03 18:58:52 +00:00
augustss 65235b4248 Regen. 1999-04-03 11:57:02 +00:00
augustss 75fd6f5433 Add Microsoft Natural Keyboard. 1999-04-03 11:56:39 +00:00
augustss 20d6f6afe6 Regen. 1999-03-29 17:24:33 +00:00
augustss 8333badc92 Add Epson printer cable. 1999-03-29 17:23:45 +00:00
augustss 0cdb143eaf Initialize pipe structure properly. From Joel Chen <jchen@nc.com> 1999-03-18 12:08:43 +00:00
augustss 9929e72099 Fix some buglets pointed out by "Brett D. Slager" <bds@snarf.thnet.com> 1999-02-28 10:05:00 +00:00
augustss 5113c5b9c0 Move the bus reset up. This makes the VIA chipset work. From FreeBSD. 1999-02-20 23:26:16 +00:00
augustss fd9002550c Make the reset even longer do cater for really bad devices. 1999-02-15 00:32:16 +00:00
augustss 4146e9d547 Regen. 1999-01-26 22:32:22 +00:00
augustss 67bc102af8 Add Aladdin Knowledge Systems. 1999-01-26 22:21:55 +00:00
augustss 456a96e766 Regen. 1999-01-25 01:09:13 +00:00
augustss 9c673b9bd4 Add some Entrega products. 1999-01-25 01:02:59 +00:00
augustss 14dff70fa3 Fix transpostion in translation table for XT scan codes. 1999-01-13 18:38:26 +00:00
augustss 79f94410b1 Back out previous fix and apply the patch from Nick Hibma the right way. 1999-01-13 10:33:53 +00:00
augustss 8d6f121902 Fixes from Nick Hibma. 1999-01-13 10:08:59 +00:00
augustss d0a7575025 More things to do. 1999-01-12 22:07:45 +00:00
augustss b8f2118f7c Fix Z axis buglet. 1999-01-12 22:06:48 +00:00
augustss 76b8bd8961 Add a (partial) list of what's left to do. 1999-01-11 22:46:51 +00:00
augustss f963dc8ddb Some minor updates from FreeBSD. 1999-01-10 19:13:15 +00:00
augustss af7f630631 Some patches from FreeBSD. 1999-01-10 18:42:10 +00:00
augustss ebd59cb48c Make sure to check the modifier map for the windows keys. 1999-01-10 18:36:57 +00:00
augustss d47a7fb7e0 Rename the "windows" keys and add the new keys to the keyboard maps. 1999-01-10 16:56:35 +00:00
augustss 17570494a7 Add back a line that was lost somehow. 1999-01-10 16:38:54 +00:00
augustss 3fb390a04f Fix buglets in translation to raw scancodes. 1999-01-10 13:11:25 +00:00
augustss 07e0165b97 Update/add URLs to relevant USB specs. 1999-01-10 11:13:36 +00:00
augustss 9e121cf158 Add ukbdmap.c. 1999-01-10 11:09:02 +00:00
augustss 1a68014a66 Move a declaration. 1999-01-10 10:17:54 +00:00
augustss 17e4ccc73d Use a special map for USB key code translation instead of first translating
to an XT scancode and then to the wscons code.
XXX The XT translation is still available in "raw" mode.
1999-01-10 00:23:32 +00:00
augustss 9b3e9f45bf A minor fix for FreeBSD. 1999-01-09 12:16:54 +00:00
drochner c3283b267e there is no "cnattach" member in "struct wskbd_accessops" (yet?) 1999-01-09 12:10:36 +00:00
augustss 875aa92d2c Various little fixes from the FreeBSD version. 1999-01-08 11:58:25 +00:00
augustss d7154c29c9 Regen. 1999-01-08 11:19:57 +00:00
augustss 5ea77d0457 Remove some non-products. 1999-01-08 11:18:38 +00:00
augustss d8a5db5c2c Regen. 1999-01-07 22:30:36 +00:00
augustss df6da0d80b Generate appropriate RCS headers. 1999-01-07 22:18:23 +00:00
augustss 012d8f3eab Fix typo in FreeBSD part of the code. 1999-01-07 22:12:08 +00:00
augustss 86f2e214ed Add some line continuations in the FreeBSD part of the file. 1999-01-07 22:09:00 +00:00
augustss 2fba866c77 On popular demand, back out the generation of a FreeBSD ID. 1999-01-07 03:27:26 +00:00
augustss e4b5e096e8 Fix some FreeBSD compiler warnings. 1999-01-07 02:22:50 +00:00
augustss 07b2b872de Fix some pastos. 1999-01-07 02:22:20 +00:00
augustss 8b76024ac9 regen. 1999-01-07 02:18:10 +00:00
augustss 1f1524514a Ooops, I didn't mean to commit that. Back out. 1999-01-07 02:06:05 +00:00
augustss 02369a7cd2 Add another paranoia test in the interrupt routine. 1999-01-07 01:59:24 +00:00
augustss 1e0c9685af Add a copyright header. 1999-01-07 01:57:11 +00:00
augustss 65a13df4e6 Generate FreeBSD RCS id as well. 1999-01-07 01:54:28 +00:00
augustss 028aac1137 Add Micro$oft Intellimouse. 1999-01-07 01:51:12 +00:00
augustss 87121c3217 Regen. 1999-01-03 23:57:11 +00:00
augustss c3ddc00ec9 Add an Acer scanner. 1999-01-03 23:55:01 +00:00
augustss 3744944266 Regen. 1999-01-03 11:06:31 +00:00
augustss d621c7bd68 Add Kensington Mouse-in-a-Box. 1999-01-03 10:56:33 +00:00
augustss 497a2c58c3 Regen. 1999-01-03 01:15:01 +00:00
augustss c5412a11a4 Minor changes. 1999-01-03 01:12:41 +00:00
augustss 302f42d891 Add more CDC definitions. 1999-01-03 01:09:18 +00:00
augustss 6d990bf7f3 Add an ugly workaround for a bug (feature) in the NetBSD open()/close()
protocol.
1999-01-03 01:03:22 +00:00
augustss bf1154922d Add a length paarmeter to usbd_do_request_flags(). 1999-01-03 01:00:56 +00:00
augustss c1edefd961 Fix bug in reading from interrupt pipe.
Make read and write on bulk pipes interruptible.
1999-01-01 15:31:24 +00:00
augustss df2d00dcff Add more structs. 1999-01-01 15:28:24 +00:00
augustss 16a2a55378 Add usbd_bulk_transfer(), a function to do interruptible transfer that
do not time out.
1999-01-01 15:25:57 +00:00
augustss b7ae463e9f Fix bug setting up endpoint descriptors for an interface. 1999-01-01 15:21:42 +00:00
augustss a02f8e62f5 Add uDWord type for 4 byte USB structure fields. 1999-01-01 15:18:17 +00:00
augustss bf9647a056 Set the correct transfer count on interrupt transfers. 1999-01-01 15:15:33 +00:00
augustss 87f8cbd14e Add a Communication Class header file. 1999-01-01 07:43:13 +00:00
augustss 3a16b606a6 Implement autorepeat in raw keyboard mode. 1998-12-30 19:25:27 +00:00
augustss 20f51aae57 Split usbd_delay_ms() into two functions, one can be used in
device drivers.
1998-12-30 18:06:25 +00:00
augustss 87fea0705b Implement raw keyboard mode for X. 1998-12-30 18:03:37 +00:00
augustss 85ff7a3234 Fold line. 1998-12-30 17:48:48 +00:00
augustss 3b9a669a7d Remove #include that slipped in at FreeBSD merge. 1998-12-30 17:46:20 +00:00
augustss a4a02fda54 Make it compile without USB_DEBUG, fixes PR 6689. Patch from
taca@sky.yamashina.kyoto.jp (Takahiro Kambe).
1998-12-30 13:25:54 +00:00
augustss 0ae031028d Add a special wsmouse type for USB mice. 1998-12-30 13:14:21 +00:00
augustss 85299e125c Regen. 1998-12-30 03:55:49 +00:00
augustss cce7071d57 Add iMac devices. 1998-12-30 03:52:30 +00:00
augustss 21e272bf01 Do not blindly assume that a device supports language id 0, instead
ask it what languages it supports.
1998-12-29 16:02:55 +00:00
augustss c047e03d90 Update copyright to the TNF standard. 1998-12-29 15:57:46 +00:00
augustss 9bcfc24c6b Add some #if 0 code for keyboard console attachment. 1998-12-29 15:42:30 +00:00
augustss 5aa16bd113 Don't set configuration unnecessarily, some (broken) devices seem to break
if you do.
1998-12-29 15:33:10 +00:00
augustss 961d81ade7 Return more info in ioctl(USB_DEVICEINFO). 1998-12-29 15:27:16 +00:00
augustss 0f94f62616 The Peracom serial converter (like some other devices) claim to have
string descriptors, but gets very upset if you read them.
1998-12-29 15:23:59 +00:00
augustss 32f13388c5 Regen. 1998-12-29 15:21:33 +00:00
augustss a7147eda73 Add Peracom serial converter. 1998-12-29 15:19:40 +00:00
augustss 6b5d35ee9d Minor change in a debug printf. 1998-12-29 14:29:53 +00:00
augustss 683fd3dfba Add some more useful #defines. 1998-12-29 14:27:33 +00:00
augustss 47ff9e7c63 Implement short transfers. 1998-12-29 05:08:57 +00:00
augustss fe9a1b2b2d Implement short transfers. 1998-12-29 04:15:04 +00:00
augustss 3064141641 Make it possible to specify the request flags when issuing a raw USB request. 1998-12-29 03:13:10 +00:00
augustss 16b49a78c6 New USB attach args. 1998-12-29 03:09:48 +00:00
augustss 4c9147cd38 Remove part of the bigendian patch that was not supposed to be commited. 1998-12-29 03:01:44 +00:00
augustss d4fa2978fa Imprive debugging message. 1998-12-28 21:05:47 +00:00
augustss 4386ae98b0 Send more information to USB attach routines so that they can claim
multiple interfaces.
1998-12-28 21:05:26 +00:00
augustss dfad58d4e0 Change the host controller internal API a little and add some incomplete
support for isochronous transfers.
1998-12-28 20:13:59 +00:00
augustss 1256add6be Update for new name in usb.h 1998-12-28 16:13:44 +00:00
augustss 020a909cba Add a lot of byte swapping to get the code to work on big endian machines.
Patch from Tsubai Masanari <tsubai@iri.co.jp>.
Add an extra controller reset.  According to the OHCI spec it shouldn't
be necessary, but without some machines don't work.
1998-12-28 12:56:19 +00:00
augustss 3c6b7ccc2a Cosmetics. 1998-12-28 12:52:38 +00:00
augustss f4133e9fae Update timing again (for bad devices). 1998-12-28 12:35:27 +00:00
augustss be8213d207 Add some isoc defines. 1998-12-28 03:27:00 +00:00
augustss 2e0dbd3cc0 Add another power up wait so that some devices (that do not follow
the spec) start up more reliably.
1998-12-28 02:23:25 +00:00
augustss cd36ca65dd Fix typos. 1998-12-28 02:20:28 +00:00
augustss 8fe37fa62c Cosmetics. 1998-12-28 02:06:25 +00:00
augustss 6afab47ac5 Be more careful when forming the TD endpoint field. 1998-12-27 23:40:52 +00:00
augustss 5c3f51a42a Add quirk for bad version no. in audio control descriptor. 1998-12-27 23:38:13 +00:00
augustss e0c228ae9c Merge changes to make the USB stack work with FreeBSD. The original
diffs from Nick Hibma <n_hibma@freebsd.org>, but with substantial
changes from me.
XXX Not tested on FreeBSD yet.
1998-12-26 12:53:00 +00:00
augustss ebbe6623e2 Regen 1998-12-21 17:22:33 +00:00
augustss 2da45b8352 Fix typo. 1998-12-21 17:18:29 +00:00
augustss 84f4ab4fd0 Regen. 1998-12-21 15:45:20 +00:00
augustss 3c75aecaf5 Add ADS ethernet adapter. 1998-12-21 15:42:59 +00:00
augustss cb022e620d Initialize field to indicate fragment block. 1998-12-14 23:44:04 +00:00
augustss eeb8a988a9 Oops, I commited the wrong version before. 1998-12-12 12:18:26 +00:00
augustss f8c84e3e97 Initialize variable to make gcc happy. 1998-12-12 12:06:53 +00:00
augustss ef6d3553ea Move initialization of sce around. 1998-12-12 11:59:28 +00:00
augustss 09dd50c412 Regen. 1998-12-11 17:44:41 +00:00
augustss d39ff672ac Add Imation disk. 1998-12-11 17:43:31 +00:00
augustss 3e85b3dd48 Move spls around. 1998-12-11 00:05:07 +00:00
augustss 46e04a18a1 Take care of some lines > 80 chars. 1998-12-10 23:16:47 +00:00
augustss 95f1a325a2 Change a printf a little. 1998-12-10 16:13:48 +00:00
drochner 35345a1311 make compile without USB_DEBUG, wrap lines to 80 cols 1998-12-09 19:24:28 +00:00