Add uhso(4) driver and manpage for Option N.V. Wireless WAN modems

This commit is contained in:
plunky 2010-03-06 21:05:36 +00:00
parent 7a23a88ab7
commit 800cedea24
7 changed files with 2543 additions and 6 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: mi,v 1.1195 2010/02/27 16:13:28 jruoho Exp $
# $NetBSD: mi,v 1.1196 2010/03/06 21:05:36 plunky Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@ -1580,6 +1580,7 @@
./usr/share/man/cat4/uhid.0 man-sys-catman .cat
./usr/share/man/cat4/uhidev.0 man-sys-catman .cat
./usr/share/man/cat4/uhmodem.0 man-sys-catman .cat
./usr/share/man/cat4/uhso.0 man-sys-catman .cat
./usr/share/man/cat4/uhub.0 man-sys-catman .cat
./usr/share/man/cat4/uipaq.0 man-sys-catman .cat
./usr/share/man/cat4/uirda.0 man-sys-catman .cat
@ -4151,6 +4152,7 @@
./usr/share/man/html4/uhid.html man-sys-htmlman html
./usr/share/man/html4/uhidev.html man-sys-htmlman html
./usr/share/man/html4/uhmodem.html man-sys-htmlman html
./usr/share/man/html4/uhso.html man-sys-htmlman html
./usr/share/man/html4/uhub.html man-sys-htmlman html
./usr/share/man/html4/uipaq.html man-sys-htmlman html
./usr/share/man/html4/uirda.html man-sys-htmlman html
@ -6652,6 +6654,7 @@
./usr/share/man/man4/uhid.4 man-sys-man .man
./usr/share/man/man4/uhidev.4 man-sys-man .man
./usr/share/man/man4/uhmodem.4 man-sys-man .man
./usr/share/man/man4/uhso.4 man-sys-man .man
./usr/share/man/man4/uhub.4 man-sys-man .man
./usr/share/man/man4/uipaq.4 man-sys-man .man
./usr/share/man/man4/uirda.4 man-sys-man .man

View File

@ -1,5 +1,5 @@
#!/bin/sh -
# $NetBSD: MAKEDEV.tmpl,v 1.130 2009/09/25 06:06:04 mrg Exp $
# $NetBSD: MAKEDEV.tmpl,v 1.131 2010/03/06 21:05:36 plunky Exp $
#
# Copyright (c) 2003,2007,2008 The NetBSD Foundation, Inc.
# All rights reserved.
@ -179,6 +179,7 @@
# ugen* USB generic devices
# urio* USB Diamond Rio 500 devices
# uscanner* USB scanners
# ttyHS* USB Option N.V. modems
# ttyU* USB modems
# ttyY* USB serial adapters
#
@ -861,6 +862,17 @@ utoppy*)
mkdev utoppy$unit c %utoppy_chr% $unit
;;
ttyHS*)
unit=${i#ttyHS}
for j in 00 01 02 03 04 05 06 07 08 09 10
do
base=$(($unit * 16 + ${j#0}))
mkdev ttyHS$unit.$j c %uhso_chr% $(($base + $dialin )) "" "" $u_uucp
mkdev dtyHS$unit.$j c %uhso_chr% $(($base + $dialout )) "" "" $u_uucp
mkdev ctyHS$unit.$j c %uhso_chr% $(($base + $callunit)) "" "" $u_uucp
done
;;
ttyY*)
unit=${i#ttyY}
mkdev ttyY$unit c %ucycom_chr% $(($unit + $dialin )) "" "" $u_uucp

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.509 2010/02/27 16:12:49 jruoho Exp $
# $NetBSD: Makefile,v 1.510 2010/03/06 21:05:36 plunky Exp $
# @(#)Makefile 8.1 (Berkeley) 6/18/93
MAN= aac.4 ac97.4 acardide.4 aceride.4 acphy.4 acpidalb.4 \
@ -68,7 +68,7 @@ MAN= aac.4 ac97.4 acardide.4 aceride.4 acphy.4 acpidalb.4 \
# USB devices
MAN+= stuirda.4 u3g.4 uaudio.4 uberry.4 ubsa.4 ubt.4 uchcom.4 ucom.4 ucycom.4 \
udsbr.4 uftdi.4 ugen.4 ugensa.4 uhid.4 \
uhidev.4 uhmodem.4 uipaq.4 uirda.4 ukbd.4 ukyopon.4 ulpt.4 \
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 \

140
share/man/man4/uhso.4 Normal file
View File

@ -0,0 +1,140 @@
.\" $NetBSD: uhso.4,v 1.1 2010/03/06 21:05:36 plunky Exp $
.\"
.\" Copyright (c) 2009 Iain Hibbert
.\" 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.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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 March 6, 2010
.Dt UHSO 4
.Os
.Sh NAME
.Nm uhso
.Nd Option N.V. Wireless WAN modem driver
.Sh SYNOPSIS
.Cd "uhso* at uhub? port ?"
.Sh HARDWARE
The
.Nm
driver supports at least the following adapters:
.Lp
.Bl -tag -compact -offset indent
.It GlobeTrotter Max HSDPA
.It GlobeSurfer iCON 7.2
.It GlobeTrotter iCON 225
.It GlobeTrotter Express HSUPA
.It GlobeTrotter HSUPA
.It GlobeSurfer HSUPA
.It GlobeTrotter iCON EDGE
.It GlobeTrotter iCON 321
.It GlobeTrotter iCON 322
.It GlobeTrotter Express 40x
.It GlobeTrotter iCON 401
.It GlobeTrotter Module 382
.It GlobeTrotter iCON 505
.El
.Sh DESCRIPTION
The
.Tn Option N.V.
modems appear at first as a
.Xr umass 4
device containing the
.Tn Windows
and
.Tn MacOS
drivers and, upon receipt of a SCSI
.Qq REZERO UNIT
command, will detach from the USB bus and reattach as a
Wireless WAN modem.
Unless disabled by clearing the
.Xr sysctl 8
variable
.Dv hw.uhso.autoswitch ,
the driver will handle that automatically.
.Pp
The modems provide a number of IO channels spread over several USB
interfaces which are mapped by function to a standard port number
in each driver instance.
The defined channels are:
.Lp
.Bl -column -offset indent "Sy Channel Name" "Sy Port"
.It Sy "Channel Name" Ta Sy "Port"
.It Control Ta 0
.It Diagnostic Ta 1
.It Diagnostic 2 Ta 2
.It Application Ta 3
.It Application 2 Ta 4
.It GPS Ta 5
.It GPS Control Ta 6
.It PC Smartcard Ta 7
.It Modem Ta 8
.It MSD Ta 9
.It Voice Ta 10
.It Network Ta 11
.El
.Pp
Apart from the Network port, which is attached as a network
interface, the ports are attached as
.Xr tty 4
devices using the port number as the minor device number.
.Pp
Before the Network port can be used, the modem needs to
be placed in connected mode and network settings subsequently
retrieved using the proprietary
.Qq _OWANCALL
and
.Qq _OWANDATA
AT commands on the Control port.
.Pp
Note that the Modem and Network ports should not be enabled at the
same time for USB performance reasons.
.Sh FILES
.Bl -tag -compact
.It Pa /dev/ttyHS?.??
.It Pa /dev/dtyHS?.??
.It Pa /dev/ctyHS?.??
.El
.Sh SEE ALSO
.Xr intro 4 ,
.Xr netintro 4 ,
.Xr tty 4 ,
.Xr uhub 4 ,
.Xr usb 4 ,
.Xr ifconfig 8
.Sh HISTORY
This driver originated as the
.Nm hso
module for
.Fx
written by
.An Frederik Lindberg .
It was rewritten for
.Nx ,
and to provide more complete device support with
information extracted from the
.Nm hso
driver for
.Tn Linux
provided by
.Tn Option N.V.
.Pp
The rewrite and this manual page by
.An Iain Hibbert .

View File

@ -1,4 +1,4 @@
# $NetBSD: DEVNAMES,v 1.256 2010/03/06 05:58:56 cnst Exp $
# $NetBSD: DEVNAMES,v 1.257 2010/03/06 21:05:36 plunky Exp $
#
# This file contains all used device names and defined attributes in
# alphabetical order. New devices added to the system somewhere should first
@ -1339,6 +1339,7 @@ uhid MI
uhidbus MI Attribute
uhidev MI
uhmodem MI
uhso MI
uhub MI
uipaq MI
uirda MI

View File

@ -1,4 +1,4 @@
# $NetBSD: files.usb,v 1.95 2010/02/06 11:17:17 tonio Exp $
# $NetBSD: files.usb,v 1.96 2010/03/06 21:05:37 plunky Exp $
#
# Config file and device description for machine-independent USB code.
# Included by ports that need it. Ports that use it must provide
@ -341,3 +341,8 @@ file dev/usb/if_zyd.c zyd
device udl: wsemuldisplaydev, rasops16, edid, firmload
attach udl at usbdevif
file dev/usb/udl.c udl
# Wireless WAN modems from Option N.V.
device uhso: ifnet
attach uhso at usbdevif
file dev/usb/uhso.c uhso

2376
sys/dev/usb/uhso.c Normal file

File diff suppressed because it is too large Load Diff