2135 Commits

Author SHA1 Message Date
Nick Hibma
f0a54b4813 Add the device ID for the mass storage device that appears before the
modem appears to facilitate faster switching to modem mode.
2008-10-29 08:08:55 +00:00
Bjoern A. Zeeb
31b5bf894f Unbreak LINT from r184381 using the correct variable in debugging
DPRINTF for the device and remove dead code.
2008-10-28 09:45:07 +00:00
Nick Hibma
b6d213aee8 Grab Sierra and Novatel init functions from NetBSD version of the u3g
driver (rev 1.3), by Joerg Sonnenberger.

Note: This change is untested as I do not own the hardware. Let me know
if things work or do not work for you by sending me the output dmesg (and
usbctl -f /dev/usbX if possible). Thanks.
2008-10-27 22:44:22 +00:00
Sam Leffler
e66b0905fc o use the new association callback to notify the driver when joining a bss
in sta and adhoc modes; this should've been done forever ago as most all
  drivers use this hook to set per-station transmit parameters such as for
  tx rate control
o adjust drivers to remove explicit calls to the driver newassoc method
2008-10-27 16:46:50 +00:00
Nick Hibma
fb48c74147 Make the driver compile on FBSD6 as well.
Up the speed on the E220 ID as it is a part which is used in other
devices that are capable of HSPA speeds.
2008-10-24 21:52:50 +00:00
Nick Hibma
fe75118b0f Add U3G_DEBUG to LINT 2008-10-24 07:16:13 +00:00
Nick Hibma
bebda7fab3 - Bugfix: Only claim interface after having checked all endpoints. This
might make Qualcomm and Option cards (which have all endpoints in 1
  interface) work.
- Change the USB buffer sizes to depend on the transfer speed. With UMTS
  we use a buffer 384k / 1000 frames/sec * 50msecs =~ 15kB for example.
- Add a MODULE_VERSION statement
2008-10-24 07:08:42 +00:00
Ed Schouten
237db0d46a Don't include <sys/clist.h> inside ucom(4) and ufoma(4).
After being ported to the MPSAFE TTY layer, these drivers do not use
clists anymore. Don't include their header files.
2008-10-23 19:16:57 +00:00
Dag-Erling Smørgrav
1ede983cc9 Retire the MALLOC and FREE macros. They are an abomination unto style(9).
MFC after:	3 months
2008-10-23 15:53:51 +00:00
Nick Hibma
924b35eba0 Remove a comment that belonged to a deleted if statement. 2008-10-22 20:18:47 +00:00
Nick Hibma
8e6a6bfcce Remove the debug flag.
This makes the u3gstub lines and the Windows-driver CD-ROM devices
disappear.
2008-10-22 10:12:21 +00:00
Nick Hibma
ff91be3ee6 Add a device ID for the Ovation MC950D (Novatel Wireless HSUPA modem). 2008-10-21 22:14:22 +00:00
Brooks Davis
554fad8449 Wireless Mouse device of Sony VGP-WRC1 mouse/keyboard receiver has the
same program interface as Microsoft Wireless Notebook Optical Mouse and
needs a quirk.

PR:		usb/122712
MFC after:	3 days
2008-10-17 14:37:58 +00:00
Nick Hibma
4f68abd1cb Rewrite the driver to better support the Huawei devices. It should now support
the Sierra and Novatel devices, ignore all umass devices and hide the umass
devices that represent the CD ROM devices (but not the SD card slot in the
Huawei Mobile dongle).

Note: This driver in FBSD7 seems to suffer from memory corruption when used
with an Option GT Quad. The E220 however works flawlessly.

Also add the ID for the Option GTMaxHSUPA, provided by Olivier Fromme.
2008-10-15 21:25:11 +00:00
Andrew Thompson
657197c42e Remove the 'old' Novatel MC950D entry which was slightly incorrect, NetBSD has
already picked up the new name so run with it.
2008-10-14 18:24:40 +00:00
Nick Hibma
5d4bf57eea Add back in the (incorrect) entry for the MC950D, as requested by Andrew
Thompson. They should not be removed in support of 3rd party software.
2008-10-14 15:19:02 +00:00
Nick Hibma
c0fb8e1476 Move all the hacks for the Huawei, Novatel and Qualcomm cards into a stub
driver.

This stub also hides the devices until they are ready to be used to avoid
confusion (commented out for now).
2008-10-14 08:41:54 +00:00
Nick Hibma
84fc65da9f Fix a comment.
Submitted by:	Nick Mann
2008-10-14 07:52:47 +00:00
Nick Hibma
caae4b7f29 - Fix the naming of the MC950D device.
- Remove the (unimplemented) U3GFL_EJECT quirk as this won't be implemented in
  the u3g driver anyway (most probably as an entry in devd.conf)
2008-10-14 07:45:11 +00:00
Rafal Jaworowski
f7ef7369fa Mbus attachment for USB EHCI integrated controller on Marvell chips.
This includes workarounds required for the ehci(4) to handle some non-standard
behaviour of these devices.

Obtained from:	Marvell, Semihalf
2008-10-14 07:05:20 +00:00
Nick Hibma
1e5edb1552 - Add better support for Huawei cards, by attaching as an interface driver.
- Be bold and add Novatel cards to the list of supported devices. One person
  reported success with the Novatal U950D.
2008-10-13 20:41:11 +00:00
Nick Hibma
b8dba4a89a - Only refuse to attach to the first interface on the Huawei cards as for
example the Huawei Mobile has an SD card slot on the second interface.
- Do not attach to Qualcomm and Novatel cards. If ignored these cards will
  switch to modem mode automatically it seems.
- Reduce the priority on generic attachment to the appropriate level.

Note: A better solution is to send an eject command straightaway, but that can
be left till later.
2008-10-13 20:38:33 +00:00
Rui Paulo
cc33506b6a Move Qualcomm ZTE CDMA from ubsa(4) to u3g(4).
Reviewed by:	n_hibma
2008-10-11 10:47:18 +00:00
Nick Hibma
6b386d393c Typo. 2008-10-10 20:05:15 +00:00
Nick Hibma
9c86351529 Typo in ifdef.
Submitted by:	Andrew Thompson
2008-10-10 07:16:44 +00:00
Nick Hibma
483b9e4739 Say hello to the u3g driver, implementing support for 3G modems.
This was located in the ubsa driver, but should be moved into a separate
driver:

- 3G modems provide multiple serial ports to allow AT commands while the PPP
  connection is up.
- 3G modems do not provide baud rate or other serial port settings.
- Huawei cards need specific initialisation.
- ubsa is for Belkin adapters, an Linuxy choice for another device like 3G.

Speeds achieved here with a weak signal at best is ~40kb/s (UMTS). No spooky
STALLED messages as well.

Next: Move over all entries for Sierra and Novatel cards once I have found
testers, and implemented serial port enumeration for Sierra (or rather have
Andrea Guzzo do it). They list all endpoints in 1 iface instead of 4 ifaces.

Submitted by:	aguzzo@anywi.com
MFC after:	3 weeks
2008-10-09 21:25:01 +00:00
Nick Hibma
bd48866fd8 uark/ucom: Minor code cleanup.
umass; Remove duplicated code.
ukbd: Fill in the arg parameter on the through call.
2008-10-09 20:51:25 +00:00
Nick Hibma
5d4621f495 Add modules for the HCI part of USB. This is convenient when having a UHCI
controller in your laptop but inserting a (OHCI-based) Option Cardbus card.
2008-10-09 19:22:00 +00:00
Poul-Henning Kamp
0072533acb Quirks for SDS-infrared.com "Hotfind-D" camera.
PR:		127943
2008-10-08 13:53:47 +00:00
Ed Schouten
6bfa9a2d66 Replace all calls to minor() with dev2unit().
After I removed all the unit2minor()/minor2unit() calls from the kernel
yesterday, I realised calling minor() everywhere is quite confusing.
Character devices now only have the ability to store a unit number, not
a minor number. Remove the confusion by using dev2unit() everywhere.

This commit could also be considered as a bug fix. A lot of drivers call
minor(), while they should actually be calling dev2unit(). In -CURRENT
this isn't a problem, but it turns out we never had any problem reports
related to that issue in the past. I suspect not many people connect
more than 256 pieces of the same hardware.

Reviewed by:	kib
2008-09-27 08:51:18 +00:00
Poul-Henning Kamp
4d4ef06993 Tell umass to leave Huawei radio devices alone so ubsa(4) will
be able to kick them into shape.
2008-09-25 12:16:18 +00:00
Poul-Henning Kamp
7164022370 Make the ubsa(4) work with Huawei Exxx (tested with E169) 3G radio devices:
Kick the device into the right mode if it comes up as a flash-disk.

Set the buffers to a sensible 1024 bytes instead of a far too small
default.

Don't attempt to change speed, baud, parity and such, the device does
not understand it.
2008-09-25 12:00:56 +00:00
Kevin Lo
2024887d2f Add a vendor ID for 3G Green Green Globe Co., Ltd, found in
D-Link DPG-1200 remote control.
2008-09-19 09:04:06 +00:00
Weongyo Jeong
ed2d4b5f13 fix a another driver bug related with tsleep() during detaching that
this also can be happened if we pull the USN stick out forcibly.

Currently the ZyDAS driver uses tsleep() when it try to query a read
command to the device and it'd make a timeout if the device doesn't
response within about 1 sec.

In a case of that the USB stick is gone by hand and the driver's
scanning with changing the channel numbers, the thread which is sleeping
until a command requested is responded can be waked up after all
detaching routines finished that means the zyd softc already freed.
Tring to touch the softc freed by the wakeup thread makes a panic.

So make sure that all sleeping threads should be waken up before the
detach is completed and any other new requests to the device should be
prevented.
2008-09-19 07:40:30 +00:00
Weongyo Jeong
e6be242b0a clear pending callbacks when the driver try to change the state
Pointed by:	sam
2008-09-19 05:10:33 +00:00
Takanori Watanabe
0c888aa9f7 Recover handsfree port support.(Almost all changes are done on previous commit).
Don't send serial line emulation request for OBEX port.
2008-09-14 16:49:51 +00:00
Andrew Thompson
441a61a08f Add a bunch of Novatel and Sierra 3G wireless product ids.
Obtained from:	Hobnob, Inc
2008-09-14 15:21:22 +00:00
Takanori Watanabe
e6ee371743 Don't issue CDC request before negotiate the interface role. 2008-09-12 20:34:12 +00:00
Takanori Watanabe
6ac5bf9062 Connect ufoma(4) to build and,
disable handsfree interface that is not yet ported to newtty.
2008-09-12 03:45:08 +00:00
Weongyo Jeong
d8cabb0b9e rename flags and add a ZYD_FLAG_DETACHING flag to indicate we're
detaching that when the USB is pulled out forcibly during the driver is
running background scan, a page fault can be occurred even if we called
usb_rem_task() when detaching.  It looks like a kind of races.
2008-09-10 03:40:51 +00:00
Remko Lodder
e2d3226b4c Add support for the CyberPower CP1500AVRLCD.
PR:		126845
Submitted by:	gavin
Approved by:	imp (mentor, implicit)
MFC after:	1 week
2008-09-09 19:59:51 +00:00
Warner Losh
39f3ec0342 Keep track of the active buffer on output. For the moment, panic if
the device indicates that it wasn't able to write all the data in the
buffer out.

Ed Schouten doesn't like the idea of a panic here.  I think for
production code, we need something better.  For right now, while we're
trying to assess the impact of this issue, a panic is OK.  So complain
to me, not him if this is hit.
2008-09-05 20:49:45 +00:00
Warner Losh
b1ce3a05ee Sort products numerically. 2008-09-05 20:45:31 +00:00
Weongyo Jeong
3448d11d50 Add ZyXEL G-202
Obtained from:	OpenBSD
2008-09-05 11:27:33 +00:00
Warner Losh
b2fcf23526 Make uipaq's ucom callbacks easier to read while I'm hear looking for
other why this seems to be broken with my phone...
2008-08-31 03:39:59 +00:00
Warner Losh
88c29cec87 All the other routines returned EIO from the param routine. Return it
from umodem and ufoma.

With these changes, umodem kinda works for me now.  It certainly gets
past the "tip" bug that I found earlier where 115200 wasn't a valid
baud rate.  This was "broken" in the mpsafetty commit, but in reality,
umodem was always broken.
2008-08-31 03:22:19 +00:00
Warner Losh
8a5492b881 Ioctls that aren't handled by this layer need to return ENOIOCTL, not
ENOTTY.  Also, make the ucom callback structure easier to read while
I'm here.
2008-08-31 03:16:31 +00:00
Warner Losh
c9b04e1085 Kill dead code. This has been a 'todo' item for a long time and the
skelton ioctl handler has decayed beyond usefulness in both of these
drivers.
2008-08-31 03:08:26 +00:00
Warner Losh
06a6aa2b6b opt_bus.h isn't needed here. It is supposed to be for subr_bus.c only. 2008-08-30 16:23:04 +00:00
Warner Losh
277f167c86 opt_bus.h is supposed to be for subr_bus.c only. There's no need for
it in the usb code.
2008-08-30 16:21:16 +00:00