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