Better way for EVDO PC5220 wireless modem?
David Andersen
dga+ at cs.cmu.edu
Sun May 8 10:17:28 PDT 2005
I'm not in the slightest familiar with USB or the USB driver code, so
I'm convinced there's a better way to do this. :-) A clue would be
appreciated.
I'm trying to get my AirPrime PC5220 CDMA wireless modem (verizon
EVDO/1xRTT) to work under FreeBSD. The device presents itself as two
USB serial devices, but doesn't seem to mention this via its
interfaces.
To work around its lack of cooperation, I stripped some of the
PL-specific functions from the uplcom driver (e.g., reset() and the
rtscts set function), and added the airprime to the products[] list in
uplcom.c. But this seems like a rather ugly way to do it - does anyone
more familiar with the framework have a suggestion for the "right" way
to do it?
The card isn't very complex - the first serial port is the data port:
May 8 07:01:02 deep kernel: ucom0: AirPrime, Incorporated AirPrime
CDMA Wireless PC Card, rev 1.10/0.01, addr 2
May 8 07:01:02 deep kernel: uplcom attach: sc = 0xc23b6400
May 8 07:01:02 deep kernel: uplcom_attach: chiptype 2303
May 8 07:01:02 deep kernel: ucom0: Found 2 interfaces
May 8 07:01:02 deep kernel: ucom0: uplcom_reset: STALLED
May 8 07:01:02 deep kernel: uplcom: in = 0x82, out = 0x5, intr = 0x81
May 8 07:01:02 deep kernel: ucom_attach: tty_attach tp = 0xc2180c00
May 8 07:01:02 deep kernel: ucom_attach: make_dev: ucom0
May 8 07:01:02 deep kernel: ucom0: at uhub3 port 1 (addr 2)
disconnected
May 8 07:01:02 deep kernel: uplcom_detach: sc = 0xc23b6400
May 8 07:01:02 deep kernel: ucom_detach: sc = 0xc23b6400, tp =
0xc2180c00
(so I also ripped out the "select second port" code from uplcom).
Which basically makes me think that I've turned the uplcom driver into
just a shim that forces the ucom driver to believe that the 5220 is, in
fact, a serial device. So is there a "right" way to actually
accomplish that?
(As it is, it works; I've got PPP running over it, though I haven't
tested the megabit data rates since Verizon hasn't upgraded to EVDO in
Pittsburgh yet). Removing the card results in a kernel panic with or
without my hacked up driver, so there's some work left to do.
-Dave
More information about the freebsd-usb
mailing list