Commit Graph

2559 Commits

Author SHA1 Message Date
yongari
ac3035ff8b Do not setup interrupt endpoint for axe(4).
It seems axe(4) controllers support interrupt endpoint such that
enabling interrupt endpoint generates about 1000 interrupts/sec.
Controllers transfer 8 bytes data through interrupt endpoint and
the data include link UP/DOWN state as well as some PHY related
information. Previously axe(4) didn't use the transferred data and
didn't even try to read the data. Because axe(4) counts on mii(4)
to detect link state changes there is no need to use interrupt
endpoint here.

This change fixes generation of unnecessary interrupts which was
seen when interface is brought to UP.

No objections from:	hselasky
2010-10-11 19:20:53 +00:00
emaste
6258b1869b In r207768 I silenced a console warning from rum(4). There was legitimate
opposition to the change, since really we need to implement missing
functionality in drivers or the 802.3 layer.

For now, restore a reminder message for a missing rum_update_mcast, but
print it only once.
2010-10-08 01:03:30 +00:00
mav
ca145ac138 Add ID for Vodafone (ZTE) Mobile Broadband K3565-Z modem.
Reviewed by:	hselasky
2010-10-07 09:07:48 +00:00
glebius
b3bb93283b Remove extra assignment. 2010-10-06 14:29:50 +00:00
glebius
ff60b600fd Add support to Alcatel/TCTMobile X080S USB 3G modem. The device needs
special eject command to reappear as modem. It also requires DIR_IN flag
in the command message, so we supply some dummy data along with the command.

Feedback from X080S owners appreciated. I have not a pure Alcatel/TCTMobile
device, but another one under "Svyaznoy" (Связной) brand, and I didn't yet
managed to get it working. It is successfully recognized, it responds to
AT commands, but it shuts up right after successfull CONNECT response.

Reviewed by:	hps
2010-10-06 14:29:00 +00:00
hselasky
1dfd3315ec Print out correct USB connection speed for USB 3.0 mass storage devices.
Approved by:    thompsa (mentor)
2010-10-04 23:30:44 +00:00
yongari
84201054d4 RX buffer allocation failure is not an input error. Controller
successfully received a frame but we failed to pass it to upper
stack due to lack of resources. So update if_iqdrops counter
instead of updating if_ierrors counter.
2010-10-04 23:25:38 +00:00
yongari
e6d1951cfd Don't count input error twice. uether_rxbuf() already updated that
counter.
2010-10-04 23:19:31 +00:00
hselasky
f58df490d4 This commit adds full support for USB 3.0 devices in host and device
mode in the USB core.  The patch mostly consists of updating the USB
HUB code to support USB 3.0 HUBs. This patch also add some more USB
controller methods to support more active-alike USB controllers like
the XHCI which needs to be informed about various device state events.

USB 3.0 HUBs are not tested yet, due to lack of hardware, but are
believed to work.

After this update the initial device descriptor is only read twice
when we know that the bMaxPacketSize is too small for a single packet
transfer of this descriptor.

Approved by:    thompsa (mentor)
2010-10-04 23:18:05 +00:00
hselasky
cacc63611c Add missing #if's
Approved by:    thompsa (mentor)
2010-10-04 22:50:08 +00:00
hselasky
c729b3a4ca Add more strict USB string filtering.
Approved by:    thompsa (mentor)
2010-10-04 22:45:17 +00:00
hselasky
97650b7539 Serialise USB re-enumeration with the USB explore thread.
This patch can solve problems when multiple USB devices are
re-enumerated at the same time on the same bus.

Approved by:    thompsa (mentor)
2010-10-04 22:21:30 +00:00
hselasky
c4bf79bca3 Correct IOCTL return code.
Approved by:    thompsa (mentor)
2010-10-04 22:04:22 +00:00
hselasky
980d0e9a17 Add missing USB 3.0 definitions. Correct some wrong ones.
Approved by:    thompsa (mentor)
2010-10-04 21:38:10 +00:00
hselasky
2c7d4eac4f Add missing DRIVER_MODULE() entry for the musbotg driver.
Add some more comments.

Approved by:    thompsa (mentor)
2010-10-04 21:30:15 +00:00
hselasky
8e57696cc5 The root mount hold reference was not released on USB controller
attach failures during boot. Fix this.

Approved by:    thompsa (mentor)
2010-10-04 21:24:10 +00:00
yongari
8b6b2864aa Make upper stack know driver's output status. This change increased
TX performance from 221kpps to 231kpps.
2010-10-04 21:01:27 +00:00
yongari
e6d97121ea Move updating TX packet counter to the inside of send loop. axe(4)
controllers combine multiple TX requests into single one if there
is room in TX buffer of controller. Updating TX packet counter at
the end of TX completion resulted in incorrect TX packet counter as
axe(4) thought it sent 1 packet. There is no easy way to know how
many combined TX were completed in the callback.
Because this change updates TX packet counter before actual
transmission, it may not be ideal one. But I believe it's better
than showing fake 8kpps under high TX load. With this change, TX
shows 221kpps on Linksus USB200M.
2010-10-04 20:49:38 +00:00
hselasky
b571d139e1 Commit initial version of new XHCI driver which was written from
scratch. This driver adds support for USB3.0 devices. The XHCI
interface is also backwards compatible to USB2.0 and USB1.0 and will
evntually replace the OHCI/UHCI and EHCI drivers.

There will be follow-up commits during the coming week to link the
driver into the default kernel build and add missing USB3.0
functionality in the USB core. Currently only the driver files are
committed.

Approved by:	thompsa (mentor)
2010-10-03 08:12:17 +00:00
sanpei
afb46784fa Add new device ids.
Buffalo (Melco Inc.) LUA3-U2-AGT
 Logitec LAN-GTJ/U2A(usb/119981)

PR:		usb/119981 and me
Submitted by:	"Y.Okabe" <be_works_us at yahoo.com>, hiroo at oikumene.gcd.org
Reviewed by:	thompsa
MFC after:	3 days
2010-09-21 22:42:14 +00:00
n_hibma
f4e79f4b31 Cleanup white space and typos. 2010-09-18 22:37:47 +00:00
marius
774af0eb5d Use saner nsegments and maxsegsz parameters when creating certain DMA tags;
tags for 1-byte allocations cannot possibly be split across 2 segments and
maxsegsz must not exceed maxsize.
2010-09-14 20:41:06 +00:00
thompsa
ea2550164a Reduce the need to accesss struct usb_device by providing functions to access
the product, manufacturer and serial strings.

Submitted by:	Hans Petter Selasky
2010-09-02 04:39:45 +00:00
thompsa
e26b2a2513 Add support for power mode filtering as some USB hardware does not support
power saving.

Submitted by:	Hans Petter Selasky
2010-09-02 04:05:00 +00:00
thompsa
4d9281bcbf Change argument for usbd_get_dma_delay() from USB bus to USB device, some
embedded hardware needs to know exactly which device is in question before it
exactly can decide the required delay.

Submitted by:	Hans Petter Selasky
2010-09-02 04:01:18 +00:00
thompsa
ed73c843fd Fix setting of the rx_max and tx_max variables. If the expected buffer size is
greater than 65535 bytes then the CDC driver might not work as expected, which
is not likely with the existing USB speeds.

Submitted by:	Hans Petter Selasky
2010-09-02 03:55:08 +00:00
thompsa
4b6a0266b1 Fix UMS_BUTTON_MAX define name 2010-09-02 03:52:04 +00:00
thompsa
25f8fce8ff Fix build breakage from r212127 2010-09-02 03:50:11 +00:00
thompsa
19070e6cf7 Add GPIO programming for more PHY hardware.
Submitted by:	yongari
2010-09-02 03:47:07 +00:00
thompsa
052a146664 Add support for extra buttons on the Kensington Slimblade Trackball.
Submitted by:	Lee, Chung-Yeol
2010-09-02 03:44:56 +00:00
thompsa
6d3d5806cd Silence debug error by default.
PR:		usb/141212
Submitted by:	Hans Petter Selasky
2010-09-02 03:42:26 +00:00
thompsa
1a84f8ba2a We need to grab a node reference count to vap->iv_bss before using it as it is
possible for the node to be replaced and freed at any time by
ieee80211_sta_join1().
2010-09-02 03:28:03 +00:00
thompsa
bb06251a3b Add missing MODULE_VERSION() definitions, this resolves problems around
duplicate module loads.

PR:		usb/125736
Submitted by:	danger, mm
Reviewed by:	hselasky
2010-09-01 23:47:53 +00:00
bschmidt
267bcceb3d Introduce IEEE80211_C_RATECTL, drivers which use the ratectl framework
should set this capability.

MFC after:	2 weeks
2010-08-14 20:12:10 +00:00
gavin
243488333f Now that the uplcom(4) driver can autodetect the chipset type, sync the
list of devices supported by uplcom(4) with the following sources:

NetBSD  src/sys/dev/usb/uplcom.c 1.70
OpenBSD src/sys/dev/usb/uplcom.c 1.52
Linux   drivers/usb/serial/pl2303.h from kernel 2.6.35
BeOS    usb_serial/driver.c 1.32

Give several devices better descriptions, and rename
PROLIFIC2 -> NETINDEX while here to match everybody else.

MFC after:	6 weeks (after r211111)
2010-08-10 19:13:11 +00:00
gavin
c11b0f0ec9 Attempt to autodetect the cype of chipset, rather than storing this
within the device table.  This code uses the same algorithm as used in the
Linux, NetBSD and DragonflyBSD driver.

While investigating this, it became apparent that the Linux driver always
initialises the device, and not just in the PL2303HX case.  Change
uplcom(4) to do the same.

This change allows us to synchronize our device ID list with Linux and
NetBSD, without requiring knowledge of the chipset in use.

Reviewed by:	hselasky
MFC after:	6 weeks
2010-08-09 17:42:05 +00:00
gavin
b960bf863a Add entries for some devices I have locally. 2010-08-09 17:27:27 +00:00
gavin
0ae2b03fe8 The PL2302X can support any baud rate <= 6Mbps, allow any rate to be set.
PR:		usb/128324
Submitted by:	Mike Durian <durian shadetreesoftware.com> (original patch)
MFC after:	2 weeks
2010-08-08 20:53:00 +00:00
gavin
14181a6158 Sync the list of devices supported by uslcom(4) with NetBSD, Linux, OpenBSD
and BeOS.  The devices supported by uslcom(4) are now in sync with:

NetBSD  src/sys/dev/usb/uslsa.c 1.11
OpenBSD src/sys/dev/usb/uslcom.c 1.20
Linux   source/drivers/usb/serial/cp210x.c from kernel 2.6.35
BeOS    usb_serial/driver.c 1.32

Two vendor/product IDs from Linux have not been added to uslcom(4):
  SILABS SAEL - This device has special code in u3g to support it
  SILABS GSM2228 - I suspect this should also be covered by u3g(4).

MFC after:	1 week
2010-08-07 16:14:40 +00:00
gavin
ca78f6e790 Sort this file a little better: the vendors are supposed to be sorted by
vendor ID in the vendor section, and by symbolic name in the product
section.  Products are sorted by product ID.  While here, get rid of a
duplicate Microsoft Mouse entry, revealed by sorting.

MFC after:	1 week
2010-08-07 16:08:37 +00:00
kib
d1366c1596 Disable sync cache for the Transcend Jetflash V90. It is more specific
quirk over the general one for transcend sticks.

Submitted by:	Mykola Dzham <i levsha me>
MFC after:	1 week
2010-08-06 13:45:16 +00:00
tijl
2c62af1249 Add quirk for Apacer HT202 USB 2.0 Flash Drive.
PR:		usb/107243
Approved by:	kib (mentor)
MFC after:	1 week
2010-07-28 18:56:01 +00:00
gavin
5c934e4a4d Provide descriptions for three vendors and four devices in usbdevs. Use
the official vendor listed for 0x076b, rather than Omnikey, as in the PR.

PR:		usb/123351
Submitted by:	Marcin Cieslak <saper SYSTEM.PL>
MFC after:	1 week
2010-07-28 17:38:43 +00:00
gavin
99ddfc7df6 Add support for the Corega CG-USBRS232R to uplcom(4)
PR:		usb/129173
Submitted by:	SHIMAOKA Shunsuke <shimaoka.shunsuke gmail.com>
MFC after:	1 week
2010-07-28 16:29:10 +00:00
gavin
3287ae0230 Support the Pyramid KBS USB LCD under uftdi(4)
PR:		usb/129758
Submitted by:	joao lima <jlima visionware.pt>
MFC after:	1 week
2010-07-28 08:48:35 +00:00
thompsa
7b4520f3c1 Fix the entry for the Option ICON452 where an underscore was used instead of
whitespace.

Submitted by:	Lucius Windschuh
2010-07-27 22:55:24 +00:00
gavin
ecd9265862 Prevent uhid(4) from attaching to the Liebert PowerSure Personal XT UPS.
PR:		usb/129251
Submitted by:	Andrew D Wiles <adw+gnats avatastic.co.uk>
MFC after:	1 week
2010-07-27 17:07:16 +00:00
gavin
09765cbf80 Add support for the Longcheer WM66 USB HSDPA Modem to u3g(4)
This patch is different to that provided in the PR, due to the changes in
this driver since 7.x.

PR:		usb/129945
Submitted by:	Antonio Hilario <avahilario gmail.com>
MFC after:	1 week
2010-07-27 12:29:45 +00:00
gavin
0572c9f110 - Support two devices made by West Mountain Radio in uslcom(4) [1]
- Bring in several other devices from OpenBSD while here.  Use the
  official manufacturer name over the OpenBSD name in the case of
  GEMALTO.  Reorder list slightly to aid future syncing.

- Remove duplicate SILABS CP2102 define from usbdevs

PR:		usb/131912 [1]
Submitted by:	Jack Twilley <mathuin gmail.com> [1]
MFC after:	1 week
2010-07-27 07:57:35 +00:00
gavin
3bd5b8e150 Prevent uhid(4) from attaching to the Gembird Silver Shield remote power
plug.  Note that the Vendor ID 0x04b4 is officially assigned to Cypress,
so use that instead of adding a second vendor with an identical ID, in the
same way other similar cases are treated in usb/usbdevs.

PR:		usb/132785
Submitted by:	Dirk-Willem van Gulik <dirkx webweaving.org>
MFC after:	1 week
2010-07-26 21:22:57 +00:00