Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Feb 2002 12:24:15 -0600
From:      "Mike Meyer" <mwm-dated-1014315855.ae64d6@mired.org>
To:        Cliff Sarginson <cliff@raggedclown.net>
Cc:        questions@freebsd.org
Subject:   Re: USB modems
Message-ID:  <15470.41935.423821.425642@guru.mired.org>
In-Reply-To: <32906141@toto.iv>

next in thread | previous in thread | raw e-mail | index | archive | help
Cliff Sarginson <cliff@raggedclown.net> types:
> Are USB modems sometimes/always/never winmodems ?

Depends on how you define "winmodem". The original winmodems provided
only lowlevel hardware, and the cpu had to manipulate that everytime
the tone going to the phone line changed. This makes the modems very
cheap, makes using them cpu intensive, and also means they aren't very
reliable because other processes on the system can interfere with the
timing involved. Those are the characteristics I think define a
winmodem.

By that definition, USB modems are never winmodems.

Note that a similar definition and problems applies to
winprinters. Instead of sending characters and letting the printer
print them, you have to send it a graphics image of the page of
text. That makes them cheap and cpu intensive, but not as unreliable.

Unlike serial modems, there are two cases where a USB modem won't work
with FreeBSD. One is that the protocol used by the modem is
proprietary. Getting this to work on FreeBSD requires the same thing
as a winmodem or winprinter: someone gets the protocol from the
manufacturer and writes a driver for it. However, it won't suffer from
the problems that winmodems have, as the cpu will be sending it
commands and characters, and it does all the work of talking to the
phone line. If you define "winmodem" as "requiring a custom driver",
then the answer is that usb modems are "sometimes" winmodems.

The other case where they don't work is when they follow the spec, but
don't implement the serial compatability options that the FreeBSD
umodem driver uses. Those also require a driver to be written, but the
spec is publicly available, and just needs someone to write the driver
and rewrite various bits of userland software to work with it. If
someone's interested in making part of that happen, drop me a line
privately.

Oh yeah - there's a third case. The spec, driver and hardware are all
relatively new. So there are cases where the modem claims to meet spec
- and I mean that literally, as the driver asks the modem what it can
do, and if gives all the right answers it's recognized as a umodem -
but a bug in the usb/umodem driver software, the modem firmware, or an
ambiguity in the spec that the authors of the two interpreted
differently, causes the modem to fail under some conditions.

Bottom line: unlike serial modems, you can't expect them to "just
work". If you've got them plugged in, and all the appropriate parts
compiled into the kernel and they are recognized as a umodem, then
they probably work, but you should do test everything you require
while you can still return it. If they aren't recognized, then they
don't support everything the umodem driver needs, so getting it to
work will require writing driver code.

	<mike
--
Mike Meyer <mwm@mired.org>			http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15470.41935.423821.425642>