Commit Graph

102 Commits

Author SHA1 Message Date
christos 7ab9ff9cb8 add otus 2010-11-03 19:59:34 +00:00
kiyohara a6ccc4563f Add attribute sysmon_envsys to device uthum. 2010-08-01 07:29:03 +00:00
tsutsui c3e7f27703 Add upgt(4), a driver for Conexant/Intersil PrismGT SoftMAC USB
IEEE 802.11b/g WLAN device, ported from OpenBSD by FUKAUMI Naoki:
http://mail-index.NetBSD.org/current-users/2010/05/28/msg013570.html
Slightly modified by me to use recently added config_mountroot(9)
to defer some device initialization until mountroot for firmload(9).

Tested on Sharp W-ZERO3 WS003SH with internal WLAN.

Note currently we cannot redistribute firmware files for upgt(4) so
they have to be downloaded and copied into /libdata/firmware/upgt manually.
See upgt(4) man page about firmware details.
2010-07-04 15:21:57 +00:00
martin c0ecacc5ea Add a driver for ArkMicroChips 3116 serial devices, used in some Nokia
phone cables and in cheap stand alone usb<->serial devices. From OpenBSD.

The hardware is crap, avoid it if possible. There is no documentation and
even the vendor supllied win32 driver gets it wrong.

This driver mostly works, but you can't send a break.
2010-05-29 17:39:41 +00:00
pgoyette 3f79fb26a7 Extract USBVERBOSE into a kernel module. The module can be builtin
by defining 'options USBVERBOSE' in the kernel config file (no change
from current behavior), or it can be loaded at boot time on those
architectures that support the boot loader's "load" command.

The module is built for all architectures, whether or not USB support
exists.
2010-05-29 01:14:29 +00:00
enami b624a04f14 Port uyurex(4) from OpenBSD. There is some XXX but works enough to
play with it.
2010-03-11 10:38:36 +00:00
plunky 800cedea24 Add uhso(4) driver and manpage for Option N.V. Wireless WAN modems 2010-03-06 21:05:36 +00:00
tonio 9313df2220 Add uthum(4) driver from openbsd, adapted to handle both
TEMPerHUM and TEMPer devices
2010-02-06 11:17:17 +00:00
martin ccc11a5461 Split the u3g driver into two parts: u3ginit attaches to those devices
that only come as a umass device in the default configuration and
forces them to reinitialize in 3D mode and detach.
The u3g part attaches to individual interfaces for the 3G functionality,
leaving the umass interface(s) for that driver.
With this change I can use the MMC card in my Huawey stick (as well as
the integrated windows driver CD, which of course is pretty useless) and
the 3G modem at the same time.
Fixes PR 42577.
Code contributed anonymously, minor tweaks (and all bugs) by me.
2010-01-07 00:15:20 +00:00
pooka bb27c3b9ac unifdef -D UGEN_BULK_RA_WB
Default behaviour unchanged, the feature must still be explicitly
enabled for a ugen fd.
2009-12-23 01:04:45 +00:00
tsutsui 47f87355eb Add a driver for DisplayLink DL-1x0/1x5 based USB LCDs and USB-VGA adaptors.
Ported by FUKAUMI Naoki from OpenBSD with many modification.
No particular comments (except from me) on tech-kern@.

There are still many TODO even in MI wscons(4) API to handle this device:

 * No detach function for wsdisplay(9).
   Unpluging a device causes a panic. (should be trivial?)

 * ioctl() for X server support is currently commented out. ("notyet")
   OpenBSD allows device depedent ioctl()s and they introduced
   UDLIO_DAMAGE ioctl for the damage extension ops of X servers for udl(4).
   Before blindly pulling such ioctl(), probably we should discuss
   how such specific operations should be handled in MI wscons(4) API.

 * Screen text of wsemul tty could be mangled during large scroll ops.
   All tty output operations are invoked via ttstart() with the giant
   tty_lock mutex held, so we can't call cv_wait(9) to wait resources
   for data xfers via usbdi(9).h, then text output is silently discarded
   on resource shortage. To handle this without tty_lock reorganization,
   we have to change wsdisplay(9) APIs (especially wsdisplaystart()) to
   return a number of actually handled characters as OpenBSD does, but
   it may require whole API changes around child rasops(9) etc.

 * No MI API definition to convert mmap(9) cookie to physical address.
   The conversion is required to create a cookie which will be passed to
   pmap_phys_address(9) in uvm/uvm_device.c:udv_fault(). Most other
   drivers use bus_dmamem_mmap(9) or bus_space_mmap(9), but udl(4) uses
   kmem_alloc(9)'ed memory for bitmap data.
   Furthermore, pmap(9) man page says about pmap_phys_address(9):

     "This function is provided to accommodate systems which have
      physical address spaces larger than can be directly addressed
      by the platform's paddr_t type. The existence of this function is
      highly dubious, and it is expected that this function will be
      removed from the pmap API in a future release of NetBSD."

   As the man page says we have already had split paddr_t and vaddr_t,
   so it's time to remove such old ugly cookie and change all mmap(4)
   functions (mostly in MD bus_dma(9) and bus_space(9) APIs) to return
   simple physical address in paddr_t?

 * We need proper device names for wsdisplay1 (and more devices).
   Currently wsdisplay0 uses ttyE0 through ttyE253 (minor 0 to 253)
   for screens, ttyEstat (254) for status, and ttyEcfg (255) for config.
   The next wsdisplay1 will use 256 through 509 for screens, 510 for stat,
   and 511 for config but what names should we use for them? ttyFxxx?

 * How to handle multiple sets of wskbd/wsdisplay on a single machine.
   rc.d/wscons doesn't provide method to specify wscons control devices.
   There is no proper interface to specify which keyboard should be connected
   to which wsdisplay, etc.

 * And maybe more...
2009-11-30 16:18:34 +00:00
mrg bf40ad8b96 port the MOSCHIP MCS7703 driver from openbsd, based on changes between
openbsd uvscom and netbsd uvscom as a guide.

XXX: it only attaches one of the two ucom's on this device currently.

XXX: needs moscom.4.
2009-06-19 01:16:23 +00:00
joerg db5825abd5 Add u3g(4) driver from FreeBSD. This driver provides better support for
3G datacards than ugensa and will replace the latter for the supported
devices.
2008-10-10 16:37:15 +00:00
jmcneill 4a1f40c8ab Remove qcm driver definition that slipped in accidentally on the previous
commit, pointed out by cegger
2008-09-19 11:29:35 +00:00
jmcneill 7174577ba3 defflag UVIDEO_DEBUG 2008-09-18 16:40:37 +00:00
jmcneill c08044b7db USB Video Class capture device driver, part of Patrick Mahoney's Google
Summer of Code 2008 project.
2008-09-09 01:13:42 +00:00
jmcneill 6902ca74cd Add driver for the Sony PLAYSTATION(R) Eye USB webcam. 2008-09-06 19:37:21 +00:00
drochner 551e75d811 -ubsa needs to be attached as whole device on USB, because it sets
the configuration. The match/attach code was assuming whole-device
 attach args all the time.
-Use the first (ie index 0) configuration for ubsa -- it makes the
 code work in at least one case (PR kern/39211 by Frank Wille), and
 there is no indication that an alternative configuration would
 be needed. (I've admittedly never seen a usb device with more than
 one configuration.)
This fixes mistakes when uhmodem support was added, and the changes were
not tested with a Huawei device yet. So please test if you can.
2008-07-31 22:01:15 +00:00
christos 2b96eb7243 Add uberry, a stub driver for RIM BlackBerry devices that can only be used
to charge a BlackBerry on a USB port.
2008-05-26 00:23:05 +00:00
drochner f8b26260d9 -make the list of USB child devices a (possibly sparse) array rather
than a zero-terminated list; this makes the code simpler and also
 hopefully fixes the recent "childdet" botch, see PR kern/38528
-handle the root hub specially a bit earlier, this allows to kick out
 the "submatch" functions completely which needed to second-guess
 from the port number (where "0" meant root hub")
 (we could handle the root hub specially even earlier, but as done
 now big parts of the hub emulation code are exercised regularely,
 this would bitrot otherwise)
2008-05-25 21:41:35 +00:00
ichiro 817e003a02 add full support device driver for Huawei E220 wireless modem
PR/37692 from Yojiro UO
---
uhmodem: device driver for huawei 3G wireless modem

* what it is?

A device driver for huawei 3G wireless modem, E220 and its valiations.

The devices are very simuler to ubsa device, but they need special care
to use as modem device.
This patch introduce "uhmodem (USB Huawei modem)" for the devices.
A uhmodem device has two com devices and one USB mass strage device.
The driver enable to use all of them.

* dmesg:
uhmodem0 at uhub0 port 1 configuration 1 interface 0
uhmodem0: HUAWEI Technologies HUAWEI Mobile, rev 1.10/0.00, addr 2
uhmodem0: mass storage only mode, reattach to enable modem
uhmodem0: at uhub0 port 1 (addr 2) disconnected
uhmodem0 detached
uhmodem0 at uhub0 port 1 configuration 1 interface 0
uhmodem0: HUAWEI Technologies HUAWEI Mobile, rev 1.10/0.00, addr 2
ucom0 at uhmodem0 portno 0: modem
ucom1 at uhmodem0 portno 1: monitor
umass0 at uhub0 port 1 configuration 1 interface 2
umass0: HUAWEI Technologies HUAWEI Mobile, rev 1.10/0.00, addr 2
umass0: using SCSI over Bulk-Only
scsibus0 at umass0: 2 targets, 1 lun per target
cd0 at scsibus0 target 0 lun 0: <HUAWEI, Mass Storage, 2.31> cdrom removable
2008-01-21 11:36:46 +00:00
plunky c212c4900f move the HID processing defs to a higher context, since it is used by
bluetooth and USB code.
2007-09-07 20:17:37 +00:00
tshiozak d0a32c7b25 add support for WinChipHead CH341/340 USB-Serial bridge. 2007-09-03 17:57:36 +00:00
kiyohara afb9a4457b Oops.
It mistook to commit.
  uath(4) not inport yet.
2007-06-12 07:06:48 +00:00
kiyohara bbec0bb7bf Added OpenBSD's zyd(4) driver.
Supports ZyDAS ZD1211/ZD1211B USB IEEE 802.11b/g wireless network device.
2007-06-09 11:20:54 +00:00
dogcow 2d38890bb5 From PR kern/33496 - add uslsa(4), a CP210x USB-RS232 ucom driver.
After minor hacks, it compiles without problems; however, it's not been tested
with an actual device.
2007-05-20 05:08:17 +00:00
is a1569485fe SigmaTels not-quite-UIRDA devices: STIr4116, STIr4220 2007-05-11 13:12:14 +00:00
jnemeth b38463376a add firmload attribute to rum, thanks to Paul Goyette on current-users 2007-05-06 22:54:20 +00:00
drochner 8258b792b7 Introduce different autoconf interface attributes for USB drivers
matching (and handling) a whole device and those which match an
interface only. This will allow to enforce some rules, eg that
the former don't use interface information for matching or that the
latter don't modify global device state.
The previous way left too much freedom do the drivers which led to
inconsistencies and abuse.
For now, I've not changed locators and submatch rules, this will
happen later.
There should not be any change in behaviour, except in the case of
some drivers which did behave inconsistently:
if_atu, if_axe, uep: matched the configured device in the interface
 stage, but did configuration again. I've converted them to match
 in the device stage.
ustir, utoppy: matched in the interface stage, but only against
 vendor/device information, and used any configuration/interface
 without checking. Changed to match in device stage, and added
 some simple code to configure and use the first interface.
If you have one of those devices, please test!
2007-03-13 13:51:53 +00:00
jmcneill cee120ede4 Add device driver for Microsoft Xbox controller. Exposes itself as a
wsmouse device for now; easy enough to make it a joystick driver in the
future.

Mappings:
 Left analog stick: Mouse movement
 Right analog stick: Scroll wheel (4 directions)
 A button: Left click
 B button: Right click
 X button: Middle click
 Y button: injected to wsmouse as a fourth mouse button click
2007-01-05 17:16:22 +00:00
joerg fc0bc19fc7 Add rum(4) for newer USB Ralink devices. Obtained from OpenBSD.
Special thanks to Sepherosa Ziehau for helping debugging USB issues.
Hook up rum(4) for i386 config files.
2006-10-31 22:21:16 +00:00
drochner f0834e56c6 clean up the USB attachment stuff a bit: use a dedicated interface
attribute ("usbdevif") to attach USB devices, be it a plain device or
a hub, and remove some strangeness caused by the former usb/uhub mess
2006-10-24 21:03:30 +00:00
plunky 4f1cbddc12 update to bluetooth device attachment:
remove pseudo-device btdev(4) and inherent limitations

add bthub(4) which autoconfigures at bluetooth controllers as they
are enabled. bluetooth devices now attach here.

btdevctl(8) and its cache is updated to handle new semantics

etc/rc.d/btdevctl is updated to configure devices from a list
in /etc/bluetooth/btdevctl.conf
2006-09-10 15:45:55 +00:00
plunky 95d2b886d7 The ubtbcmfw(4) driver fails to compile, as noted by PR kern/34219.
While it can be made to compile, the paradigm is not quite right because
it attempts to contact the filesystem during autoconfig which sometimes
causes a panic. Even if that was fixed, there is another potential problem
in that the driver tries/sleeps/tries/sleeps and the sleep could
theoretically sleep past the rc.d/btconfig stage and the controller
would remain unconfigured.

So, I have prepared a different method for loading the firmware to
Broadcom BCM2033 chip based devices. A package 'sysutils/bcmfw' will load
the firmware files via a ugen(4) device interface.

This update removes the ubtbcmfw(4) driver and adds a table to the ubt(4)
driver so that it will not attach to Broadcom BCM2033 based devices before
the firmware was loaded.

This fixes kern/34219
2006-08-19 16:35:02 +00:00
gdt f9f3dc0a85 Add UGEN_BULK_RA_WB, which allows users of ugen(4) to request read
ahead and write behind, improving performance for the Universal
Software Radio Peripheral (USRP) used with GNU Radio.

Enable UGEN_BULK_RA_WB in GENERIC and GENERIC_LAPTOP; behavior is
unchanged unless the new ioctl is called.

This code was written by Joanne Mikkelson under funding from DARPA's
ACERT program.

ok'd by christos@, tested by Berndt Josef Wulf
2006-07-24 14:24:48 +00:00
gdamore a5c89047c0 Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@,
NetBSD Foundation Membership still pending.)  This stack was written by
Iain under sponsorship from Itronix Inc.

The stack includes support for rfcomm networking (networking via your
bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.

Drivers for both PCMCIA and USB bluetooth controllers are included.
2006-06-19 15:44:33 +00:00
scw 34b4a96dbb Add a kernel driver and userland program for the Topfield TF5000PVR range
of digital video recorders popular in Europe and Australia.

These devices have a USB client port which can be used to upload and
download recordings (and other files, such as MIPS binaries for execution
on the DVR's CPU) to/from their internal hard disk, in addition to some
other operations on files and directories.
2006-04-03 08:15:48 +00:00
christos 95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
skrll acd7c4c5ca Add a driver for Cypress microcontroller based USB serial adapters.
XXX hw flow control is not supported.
2005-07-30 06:14:49 +00:00
augustss 028353b945 Add uipaq(4). From OpenBSD. 2005-07-18 11:36:46 +00:00
drochner 8728cee448 add autoconf glue for the ralink wireless drivers, basically from
PR kern/30449, but changed so that pci/cardbus and usb devices
are all called "ral" to the user, so that code can be shared eventually
2005-07-01 20:11:20 +00:00
cube 8a116ca5d3 Provide a header for UKBD_LAYOUT. It makes more sense, and it avoids
quoting issues during the build process.

Reported and checked by spz@.
2005-06-13 16:41:44 +00:00
itohy 0ee992857f ukyopon(4): Kyocera AIR-EDGE PHONE driver
Close NetBSD PR #25954 in a different way.
2005-04-15 17:18:18 +00:00
itohy 70d7fffcc5 Split common modem part of umodem.c to umodem_common.c and umodemvar.h,
to be shared with other umodem-like drivers.
2005-04-15 14:14:09 +00:00
joff 25f4405fee Add atu(4), Atmel 802.11b USB wifi dongle. From OpenBSD. 2005-01-24 01:36:07 +00:00
elric 504ce9bd7d new driver: usb generic serial adapter.
approved by:	augustss@netbsd.org	(code)
		christos@netbsd.org	(driver name)
2005-01-23 01:25:04 +00:00
augustss 00b535e7c0 Both FreeBSD and OpenBSD use Bill Paul axe driver instead of my uax
driver.  Maybe because it actually works on with hardware besides mine? :)
So we switch to axe too.
2004-10-23 13:38:26 +00:00
augustss efe84c1097 Add a driver for Communication Data Class Ethernet devices. From the very
prolific Bill Paul for FreeBSD, via OpenBSD.
XXX Untested, since I don't have any such devices.
2004-10-22 13:08:23 +00:00
tsarna 4605dd7457 Add calibration support to uep driver.
Untested, still need a userland utility to calibrate with.
2004-06-12 17:52:41 +00:00
tsarna 6cf367d31d "uep" a driver for USB eGalax touch-panels. These are commonly found on
Xenarc, Liliput, etc. small touchpanel LCD displays.

TODO:
- manpage
- calibration support (make hpc's tpcalib stuff more MI?)
- On i386 and other xfree-ish xservers, (currently-uncomitted) patches
  are needed for X to honor wscons absolute mouse position events.
2004-05-24 23:48:36 +00:00