Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src Add upgt(4), a driver for Conexant/Intersil PrismGT SoftMAC USB



details:   https://anonhg.NetBSD.org/src/rev/f64e8fc06123
branches:  trunk
changeset: 756034:f64e8fc06123
user:      tsutsui <tsutsui%NetBSD.org@localhost>
date:      Sun Jul 04 15:21:57 2010 +0000

description:
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.

diffstat:

 distrib/sets/lists/man/mi |     5 +-
 share/man/man4/Makefile   |     4 +-
 share/man/man4/upgt.4     |   237 ++++
 sys/dev/usb/files.usb     |     7 +-
 sys/dev/usb/if_upgt.c     |  2406 +++++++++++++++++++++++++++++++++++++++++++++
 sys/dev/usb/if_upgtvar.h  |   464 ++++++++
 6 files changed, 3119 insertions(+), 4 deletions(-)

diffs (truncated from 3191 to 300 lines):

diff -r 5daed1dc12b0 -r f64e8fc06123 distrib/sets/lists/man/mi
--- a/distrib/sets/lists/man/mi Sun Jul 04 12:43:23 2010 +0000
+++ b/distrib/sets/lists/man/mi Sun Jul 04 15:21:57 2010 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1223 2010/07/03 08:16:51 jmmv Exp $
+# $NetBSD: mi,v 1.1224 2010/07/04 15:21:57 tsutsui Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -1609,6 +1609,7 @@
 ./usr/share/man/cat4/umodem.0                  man-sys-catman          .cat
 ./usr/share/man/cat4/ums.0                     man-sys-catman          .cat
 ./usr/share/man/cat4/unix.0                    man-sys-catman          .cat
+./usr/share/man/cat4/upgt.0                    man-sys-catman          .cat
 ./usr/share/man/cat4/upl.0                     man-sys-catman          .cat
 ./usr/share/man/cat4/uplcom.0                  man-sys-catman          .cat
 ./usr/share/man/cat4/urandom.0                 man-sys-catman          .cat
@@ -4204,6 +4205,7 @@
 ./usr/share/man/html4/umodem.html              man-sys-htmlman         html
 ./usr/share/man/html4/ums.html                 man-sys-htmlman         html
 ./usr/share/man/html4/unix.html                        man-sys-htmlman         html
+./usr/share/man/html4/upgt.html                        man-sys-htmlman         html
 ./usr/share/man/html4/upl.html                 man-sys-htmlman         html
 ./usr/share/man/html4/uplcom.html              man-sys-htmlman         html
 ./usr/share/man/html4/urandom.html             man-sys-htmlman         html
@@ -6729,6 +6731,7 @@
 ./usr/share/man/man4/umodem.4                  man-sys-man             .man
 ./usr/share/man/man4/ums.4                     man-sys-man             .man
 ./usr/share/man/man4/unix.4                    man-sys-man             .man
+./usr/share/man/man4/upgt.4                    man-sys-man             .man
 ./usr/share/man/man4/upl.4                     man-sys-man             .man
 ./usr/share/man/man4/uplcom.4                  man-sys-man             .man
 ./usr/share/man/man4/urandom.4                 man-sys-man             .man
diff -r 5daed1dc12b0 -r f64e8fc06123 share/man/man4/Makefile
--- a/share/man/man4/Makefile   Sun Jul 04 12:43:23 2010 +0000
+++ b/share/man/man4/Makefile   Sun Jul 04 15:21:57 2010 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.520 2010/06/29 14:10:04 kefren Exp $
+#      $NetBSD: Makefile,v 1.521 2010/07/04 15:21:58 tsutsui Exp $
 #      @(#)Makefile    8.1 (Berkeley) 6/18/93
 
 MAN=   aac.4 ac97.4 acardide.4 aceride.4 acphy.4 \
@@ -73,7 +73,7 @@
        uhidev.4 uhmodem.4 uhso.4 uipaq.4 uirda.4 ukbd.4 ukyopon.4 ulpt.4 \
        umass.4 umct.4 umidi.4 umodem.4 ums.4 uplcom.4 urio.4 usb.4 \
        uscanner.4 uslsa.4 usscanner.4 ustir.4 uvisor.4 uvscom.4 uyap.4 \
-       aue.4 atu.4 axe.4 cdce.4 cue.4 kue.4 upl.4 url.4 udav.4 \
+       aue.4 atu.4 axe.4 cdce.4 cue.4 kue.4 upgt.4 upl.4 url.4 udav.4 \
        ehci.4 ohci.4 slhci.4 uhci.4 uthum.4 utoppy.4 uvideo.4 uyurex.4
 
 # Ir devices
diff -r 5daed1dc12b0 -r f64e8fc06123 share/man/man4/upgt.4
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/share/man/man4/upgt.4     Sun Jul 04 15:21:57 2010 +0000
@@ -0,0 +1,237 @@
+.\" $NetBSD: upgt.4,v 1.1 2010/07/04 15:21:58 tsutsui Exp $
+.\" $OpenBSD: upgt.4,v 1.14 2010/04/29 09:20:17 jmc Exp $
+.\"
+.\" Copyright (c) 2007 Marcus Glocker <mglocker%openbsd.org@localhost>
+.\" Copyright (c) 2005-2007
+.\"     Damien Bergamini <damien.bergamini%free.fr@localhost>
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\"
+.\"
+.\" Copyright (c) 2006 Theo de Raadt.
+.\" Copyright (c) 2006 The DragonFly Project.  All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\"
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in
+.\"    the documentation and/or other materials provided with the
+.\"    distribution.
+.\" 3. Neither the name of The DragonFly Project nor the names of its
+.\"    contributors may be used to endorse or promote products derived
+.\"    from this software without specific, prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+.\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
+.\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
+.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.Dd July 4, 2010
+.Dt UPGT 4
+.Os
+.Sh NAME
+.Nm upgt
+.Nd Conexant/Intersil PrismGT SoftMAC USB IEEE 802.11b/g wireless network
+device
+.Sh SYNOPSIS
+.Cd "upgt* at uhub? port ?"
+.Sh DESCRIPTION
+The
+.Nm
+driver supports the USB 2.0 Conexant/Intersil PrismGT series wireless
+adapters based on the GW3887 chipset.
+.Pp
+These are the modes the
+.Nm
+driver can operate in:
+.Bl -tag -width "IBSS-masterXX"
+.It BSS mode
+Also known as
+.Em infrastructure
+mode, this is used when associating with an access point, through
+which all traffic passes.
+This mode is the default.
+.\" .It IBSS mode
+.\" Also known as
+.\" .Em IEEE ad-hoc
+.\" mode or
+.\" .Em peer-to-peer
+.\" mode.
+.\" This is the standardized method of operating without an access point.
+.\" Stations associate with a service set.
+.\" However, actual connections between stations are peer-to-peer.
+.\" .It Host AP
+.\" In this mode the driver acts as an access point (base station)
+.\" for other cards.
+.It monitor mode
+In this mode the driver is able to receive packets without
+associating with an access point.
+This disables the internal receive filter and enables the card to
+capture packets from networks which it wouldn't normally have access to,
+or to scan for access points.
+.El
+.Pp
+The
+.Nm
+driver can be configured to use
+Wired Equivalent Privacy (WEP) or
+Wi-Fi Protected Access (WPA-PSK and WPA2-PSK).
+WPA is the de facto encryption standard for wireless networks.
+It is strongly recommended that WEP
+not be used as the sole mechanism
+to secure wireless communication,
+due to serious weaknesses in it.
+The
+.Nm
+driver relies on the software 802.11 stack for both encryption and decryption
+of data frames.
+.Pp
+The
+.Nm
+driver can be configured at runtime with
+.Xr ifconfig 8
+or on boot with
+.Xr ifconfig.if 5 .
+.Sh FILES
+The driver needs a firmware file which is loaded when an interface is
+brought up:
+.Pp
+.Bl -tag -width Ds -offset indent -compact
+.It Pa /libdata/firmware/upgt/upgt-gw3887
+.El
+.Pp
+Currently these firmware files can not be included in
+.Nx
+base system.
+Please download these files and put them into
+the above firwmware directory.
+.Pp
+A tar archive file that includes
+.Pa upgt-gw3887
+firmware can be found at:
+.Pp
+.Bd -literal -offset 3n
+http://www.nazgul.ch/upgt/upgt-firmware-1.1.tar.gz
+.Ed
+.Sh HARDWARE
+The following adapters should work:
+.Pp
+.Bl -tag -width Ds -offset indent -compact
+.It Belkin F5D7050 (version 1000)
+.It Cohiba Proto Board
+.It D-Link DWL-G120 Cohiba
+.It D-Link DWL-G122 rev A2
+.It FSC Connect2Air E-5400 USB D1700
+.It Gigaset USB Adapter 54
+.It Inventel UR045G
+.It IOGear GWU513
+.It Linksys WUSB54AG
+.It Linksys WUSB54G ver 2
+.It Medion MD40900
+.It Philips CPWUA054
+.It SMC EZ ConnectG SMC2862W-G
+.It Sagem XG703A
+.It Spinnaker DUT
+.It Spinnaker Proto Board
+.It Thomson SpeedTouch 121g
+.It Willcom / Sharp WS003SH/WS004SH smart phone internal wireless LAN
+.El
+.Sh EXAMPLES
+The following
+.Xr hostname.if 5
+example configures upgt0 to join whatever network is available on boot,
+using WEP key
+.Dq 0x1deadbeef1 ,
+channel 11, obtaining an IP address using
+.Xr dhcpcd 8 :
+.Bd -literal -offset indent
+ssid 'my network' nwkey 0x1deadbeef1 chan 11
+dhcp
+.Ed
+.\".Pp
+.\"The following
+.\".Xr ifconfig.if 5
+.\"example creates a host-based access point on boot:
+.\".Bd -literal -offset indent
+.\"inet 192.168.1.1 255.255.255.0 NONE media autoselect \e
+.\"    mediaopt hostap nwid my_net chan 11
+.Ed
+.\".Pp
+.\"Configure upgt0 to join network
+.\".Dq my_net
+.\"using WPA-PSK with passphrase
+.\".Dq my_passphrase :
+.\".Bd -literal -offset indent
+.\"# ifconfig upgt0 nwid my_net wpa wpapsk \e
+.\"    `wpa-psk my_net my_passphrase`
+.\".Ed
+.\".Pp
+.\"Return upgt0 to its default settings:
+.\".Bd -literal -offset indent
+.\"# ifconfig upgt0 -bssid -chan media autoselect \e
+.\"    nwid "" -nwkey -wpa -wpapsk
+.\".Ed
+.Pp
+Join an existing BSS network,
+.Dq my_net :
+.Bd -literal -offset indent
+# ifconfig upgt0 192.168.1.1 netmask 0xffffff00 nwid my_net
+.Ed
+.Sh SEE ALSO
+.Xr arp 4 ,
+.Xr ifmedia 4 ,
+.Xr intro 4 ,
+.Xr netintro 4 ,
+.Xr usb 4 ,
+.Xr ifconfig.if 5 ,
+.\".Xr hostapd 8 ,
+.Xr ifconfig 8
+.\".Xr wpa-psk 8
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Ox 4.3 .
+It was ported to
+.Nx
+by FUKAUMI Naoki and first appeared in
+.Nx 6.0 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was written by
+.An Marcus Glocker Aq mglocker%openbsd.org@localhost .
+.Pp
+The hardware specification was reverse engineered by the people at
+.Li http://www.prism54.org/ .
+.Sh BUGS
+The
+.Nm
+driver just supports the USB 2.0 devices (GW3887 chipset) but not the
+USB 1.0 devices containing the NET2280, ISL3880, and ISL3886 chipsets.
+Some further efforts would be necessary to add USB 1.0 support to the
+driver.
diff -r 5daed1dc12b0 -r f64e8fc06123 sys/dev/usb/files.usb
--- a/sys/dev/usb/files.usb     Sun Jul 04 12:43:23 2010 +0000
+++ b/sys/dev/usb/files.usb     Sun Jul 04 15:21:57 2010 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.usb,v 1.99 2010/05/29 17:39:41 martin Exp $
+#      $NetBSD: files.usb,v 1.100 2010/07/04 15:21:58 tsutsui Exp $
 #
 # Config file and device description for machine-independent USB code.



Home | Main Index | Thread Index | Old Index