Commit Graph

92 Commits

Author SHA1 Message Date
thompsa
f18e7859f5 Switch over to usbdevs.h generated at compile time. 2009-02-18 06:33:10 +00:00
thompsa
19dd2e95bc Make uslcom compile, cut'n'paste errors from uplcom. 2009-02-15 23:38:58 +00:00
thompsa
8152f4da8d MFp4 //depot/projects/usb@157699
Add two new functions to the libusb20 API and required kernel ioctls.

- libusb20_dev_get_iface_desc
- libusb20_dev_get_info

New command to usbconfig, "show_ifdrv", which will print out the kernel driver
attached to the given USB device aswell.

See "man libusb20" for a detailed description.

Some minor style corrections long-line wrapping.

Submitted by:	Hans Petter Selasky
2009-02-14 23:20:00 +00:00
thompsa
fd0c89ec85 - ieee80211_chan2ieee returns an int
- avoid null deref in detach
- update pause timings

Obtained from:	//depot/projects/usb
2009-02-14 22:29:54 +00:00
ed
900dd11db2 Remove unneeded execute-permissions from the USB2 device node.
Giving a charactere device execute permissions doesn't have any use.
Right now there isn't a single device node in /dev that has it, except
the USB2 device node, so remove it.

Approved by:	hps, thompsa
2009-02-14 19:46:28 +00:00
thompsa
b0881f5ec6 - ieee80211_chan2ieee returns an int
- set ic_update_promisc to the same callback as mcast
- avoid null deref in zyd_detach

Obtained from:	//depot/projects/usb
2009-02-13 21:45:19 +00:00
thompsa
4324b99ee6 MFp4 //depot/projects/usb; 157501, 157608, 157609
- Make usb2_transfer_pending() part of the USB core header file.
 - Make usb2_transfer_pending() NULL safe.
 - Make sure that USB process functions return if the process has been drained.
 - Remove two unused functions.

Submitted by:   Hans Petter Selasky
2009-02-13 20:57:43 +00:00
thompsa
ee4191ddcf Restore some of the link handling code that was inadvertently removed in
r188412, this broke the GU-1000T adapters.

Submitted by:	yongari
Pointy hat:	me
2009-02-13 03:38:08 +00:00
thompsa
34849d644c Add module dependency on miibus.
Submitted by:	yongari
2009-02-13 02:48:32 +00:00
thompsa
7c2973ccba Remove usb2_config_td.[ch], they are no longer used. 2009-02-09 22:23:01 +00:00
thompsa
cbf7feac50 MFp4 //depot/projects/usb; 157429, 157433, 157443
Various changes wrt. usb procs and tasks.

Submitted by:	Hans Petter Selasky
2009-02-09 22:18:11 +00:00
thompsa
050cf3fd9c Correct sources for r188417
MFp4 //depot/projects/usb; 157412

Sync from svn.freebsd.org/base/user/thompsa/usb which is a minimal changeset
from oldUSB (no config_td).

This excludes the taskqueue changes (for the moment) as requested.
2009-02-09 22:14:38 +00:00
thompsa
1ef0c422a1 MFp4 //depot/projects/usb; 157412
Sync from svn.freebsd.org/base/user/thompsa/usb which is a minimal changeset
from oldUSB (no config_td).

This excludes the taskqueue changes (for the moment) as requested.
2009-02-09 22:12:47 +00:00
thompsa
5adda1462b MFp4 //depot/projects/usb; 157069, 157255
- Change "usb2_pause_mtx" so that it takes the timeout value in ticks
 - Make sure that attach waits for the generic probe to leave room for firware
   loader drivers and device specific USB Audio drivers like USB phone adapters

Submitted by:	Hans Petter Selasky
2009-02-09 22:11:02 +00:00
thompsa
fe2d94b798 MFp4 //depot/projects/usb; 157203
- Remove CAM layer quirks

Submitted by:	Hans Petter Selasky
2009-02-09 22:09:21 +00:00
thompsa
85679689c7 MFp4 //depot/projects/usb; 157069
- Change "usb2_pause_mtx" so that it takes the timeout value in ticks

Submitted by:	Hans Petter Selasky
2009-02-09 22:06:52 +00:00
thompsa
eb6da0bd1d MFp4 //depot/projects/usb; 157069, 157136, 157143, 157145, 157429
- USB serial drivers cleanup, factor out code
 - Simplify line state programming
 - Integrate uslcom from old USB stack

Submitted by:	Hans Petter Selasky
2009-02-09 22:05:25 +00:00
thompsa
cf8291f423 MFp4 //depot/projects/usb; 157100
1. Move most of the ifnet logic into the usb2_ethernet module, this includes,
 - make all usb ethernet interfaces named ue%d
 - handle all threading in usb2_ethernet
 - provide default ioctl handler
 - handle mbuf rx
 - provide locked callbacks for init,start,stop,etc

2. Cleanup CDC-Ethernet driver.

Submitted by:	Hans Petter Selasky
Obtained from:	svn.freebsd.org/base/user/thompsa/usb [1]
2009-02-09 22:02:38 +00:00
thompsa
1267fde951 MFp4 //depot/projects/usb; 157069, 157429, 157430
- Change "usb2_pause_mtx" so that it takes the timeout value in ticks
 - Factor out USB ethernet and USB serial driver specific control request.
 - USB process naming cleanup.

Submitted by:	Hans Petter Selasky
2009-02-09 21:56:33 +00:00
thompsa
1f67e30baf MFp4 //depot/projects/usb
- Bring in ehci2_ixp4xx.c and ehci2_mbus.c from dev/usb.

Submitted by:	Hans Petter Selasky
2009-02-09 21:50:04 +00:00
thompsa
306b60ddba MFp4 //depot/projects/usb; 157069,157296,157375,157384,157430
- Change "usb2_pause_mtx" so that it takes the timeout value in ticks
 - USB controller: EHCI High Speed Interrupt endpoint fix.
 - Fix OHCI and EHCI counting bug when multiple TD's are involved in
   a short USB transfer and a short packet happens on the non-last TD in the
   USB transfer frame.
 - USB process naming cleanup.

Submitted by:	Hans Petter Selasky
2009-02-09 21:47:39 +00:00
imp
719ba982f2 When bouncing pages, allow a new option to preserve the intra-page
offset.  This is needed for the ehci hardware buffer rings that assume
this behavior.

This is an interim solution, and a more general one is being worked
on.  This solution doesn't break anything that doesn't ask for it
directly.  The mbuf and uio variants with this flag likely don't work
and haven't been tested.

Universe builds with these changes.  I don't have a huge-memory
machine to test these changes with, but will be happy to work with
folks that do and hps if this changes turns out not to be sufficient.

Submitted by:	alfred@ from Hans Peter Selasky's original
2009-02-08 22:54:58 +00:00
thompsa
616dc8027b The NRL value in the queue head must be zero for interrupt transfers. This was
diagnosed using a USB analyser obtained through a FreeBSD Foundation grant.

Thanks to:	FreeBSD Foundation
2009-02-08 21:08:00 +00:00
thompsa
093a3609e4 Fix build, sigh. 2009-02-07 15:51:32 +00:00
thompsa
804c089571 Dont hold the lock over the controller init, we are still attaching. 2009-02-07 06:27:16 +00:00
kevlo
1029fa8a52 Regen 2009-02-06 15:04:06 +00:00
kevlo
9fbefbe96f Add the Buffalo WLI-U2-SG54HG 2009-02-06 15:03:17 +00:00
thompsa
02f472a38c - Keep the same sorting on usb_errstr_table as the enum.
- Use c99 array initializers for usb_quirk_str so the indexing isnt critical.
2009-02-03 16:00:20 +00:00
thompsa
47467836cf Add missing string table for the usb quirk enum.
Pointy hat:	me
Submitted by:	rrs
2009-02-03 15:24:00 +00:00
thompsa
7c53da752d Move away from autogenerated enums, these values never change and its helpful
to be able to look them up.
2009-02-03 05:50:36 +00:00
alfred
cbd30dee28 src/usr.bin/usbhidaction/usbhidaction.c
src/usr.bin/usbhidctl/usbhid.c
src/sys/dev/usb2/include/usb2_hid.h
src/sys/dev/usb2/input/uhid2.c
src/lib/libusbhid/Makefile
src/lib/libusbhid/descr.c
src/lib/libusbhid/descr_compat.c
src/lib/libusbhid/usbhid.3
src/lib/libusbhid/usbhid.h
src/lib/libusbhid/usbvar.h

Patches to make libusbhid and HID userland utilities compatible with
the new USB stack. All HID ioctls should go through the libusbhid
library to ensure compatibility. I have found at least one piece of
software in /usr/ports which needs to get updated before USB HID
devices will work. This is the X joystick input driver.

Reported and tested by:

Daichi GOTO and Masanori OZAWA.

src/sys/dev/usb2/core/usb2_process.c

Correct USB process names.

Reported by:

Andre Guibert de Bruet

src/sys/dev/usb2/serial/uftdi2.c

Integrate changes from old USB stack.

Submitted by:	hps
2009-02-02 00:49:39 +00:00
thompsa
c304504261 Revert part of r187970, the NULL check was removed from
udbp_bulk_read_complete() as well as udbp_attach.
2009-02-01 01:07:15 +00:00
thompsa
ee1591cd11 Remove check for null softc in attach, it can never happen. 2009-02-01 00:51:25 +00:00
emax
4a6b5fa378 Update ubtbcmfw2 (aka usb2_bluetooth_fw) driver
Reviewed by:	HPS
2009-01-28 20:06:02 +00:00
emax
d26423e9d2 Make ng_ubt2 (aka usb2_bluetooth_ng) driver only attach as "generic" driver
Reviewed by:	HPS
2009-01-28 20:04:39 +00:00
emax
3b088cf816 Clean up ng_ubt2. Get rid of excessive use of NG_NODE_REF/UNREF().
Make detach() completely synchronous. Properly handle stalled USB
transfers (use internal mechanism instead of submitting own control
transfers). Rename/remove a couple of variables and update comments.
This work was done in close collaboration with HPS.

Reviewed by:	HPS
2009-01-26 20:59:41 +00:00
thompsa
1319af0e18 MFp4 //depot/projects/usb/ @156706
Adjust an UHCI portreset delay.

Submitted by:	Hans Petter Selasky
2009-01-26 17:55:07 +00:00
thompsa
008f67991f Regen. 2009-01-26 17:50:20 +00:00
thompsa
23e475fdba MFp4 //depot/projects/usb/ @156522,156530
UHCI SOF Quirk. Makes some broken USB devices work again.  Reported by several
 people. Patch made by me.

Submitted by:	Hans Petter Selasky
2009-01-26 17:49:58 +00:00
thompsa
2c5a7eae69 MFp4 //depot/projects/usb/ @156521
U3G regression issue. Patch to support multiple modem instances per logical
 USB interface.

Submitted by:	Hans Petter Selasky
2009-01-26 17:47:32 +00:00
thompsa
c03ada1388 Fix up USB_GET_REPORT_DESC ioctl.
Submitted by:	daichi
2009-01-26 17:45:50 +00:00
thompsa
34c525af41 Add umass quirk.
Submitted by:	Hans Petter Selasky
2009-01-26 17:43:58 +00:00
thompsa
920a393456 Add a usb hid quirk.
Submitted by:	Andre Guibert de Bruet
2009-01-26 17:42:02 +00:00
takawata
20fc8afdb7 Rename sc_is_pseudo to sc_nobulk member in ufoma_softc.
That was pseudo ucom because it used home brew tty interface.
Now, it is integrated to usb serial framework, so it is not pseudo
ucom any more.
2009-01-22 05:05:56 +00:00
emax
36a4d5f975 Fix typo in comment
Pointed out by:	Daan Vreeken / Daan at vehosting dot nl
2009-01-20 23:25:27 +00:00
emax
3fd09aadc7 Update (well, actually rewrite mostly) ng_ubt2 driver for USB2.
Reviewed by:	HPS, alfred
Blessed by:	HPS
2009-01-20 22:17:05 +00:00
thompsa
78d081bd1e Just put the ifnet pointer first in the softc like it needs to be rather than
adding another deliciously evil pointer.
2009-01-18 05:35:58 +00:00
takawata
4b7227fe8b Name the items of xfer array. 2009-01-15 16:04:11 +00:00
thompsa
c352721890 Name the items in the xfer arrays so they can be identified throughout the
code.
2009-01-15 02:35:40 +00:00
thompsa
2ec493736e Restore the if_*var.h and if_*reg.h to their original names, they dont need to
be different.
2009-01-13 21:08:43 +00:00