HOWTO connect to Verizon's Mobile Office under Linux back to http://xj.cdevco.net.
HOWTO connect to Verizon's Mobile Office (aka quick2net aka qnc) using a Motorola v60 or other cell phone acting as a USB modem under Linux

Purpose: Gives instant ppp 14.4k internet access anywhere there is a [D]igital signal. No extra charges apply exccept for minutes against your regular wireless voice plan. You can probably do this more easily under Windows but may have to buy the software, and even if you don't, I guarantee you that it will be a lot slower in Windows. This HOWTO assumes that you already have ppp support. You will need ppp (point to point protocol) to make a connection.

The first thing that you need to do is get your Linux operating system to identify your phone. You will of course need USB support either in the kernel or as a module. It seems like any semi-recent version of Linux should support this out of the box.

If yours doesn't, these may be some of the modules you'll need:

/sbin/modprobe usb-uhci is the Universal Host Controller Interface (Intel standard).
/sbin/modprobe uhci is the Universal Host Controller Interface (alternrate JE).
/sbin/modprobe usb-ohci is the Open Host Controller Interface (Compaq/Microsoft/National standard).
/sbin/modprobe acm is USB modem support.

Mine showed up right away. You can verify that your phone is recognized by checking /bin/dmesg output:
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
uhci.c: USB Universal Host Controller Interface driver v1.1
PCI: Found IRQ 10 for device 00:01.2
uhci.c: USB UHCI at I/O 0xfce0, IRQ 10
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
hub.c: new USB device 00:01.2-1, assigned address 2
usb.c: USB device 2 (vend/prod 0x22b8/0x2822) is not claimed by any active driver.
usb.c: registered new driver acm
ttyACM0: USB ACM device
acm.c: v0.21:USB Abstract Control Model driver for USB modems and ISDN adapters
You can also cat /proc/bus/usb/devices to see what is going on there:
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI-alt Root Hub
S:  SerialNumber=fce0
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 1.01 Cls=02(comm.) Sub=00 Prot=00 MxPS=16 #Cfgs=  1
P:  Vendor=22b8 ProdID=2822 Rev= 0.01
S:  Manufacturer=Motorola, Inc.
S:  Product=Motorola V.60p
C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr= 20mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=acm
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=32ms
I:  If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=acm
E:  Ad=8a(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=0b(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
Finally, you can run a /sbin/lsmod to see if it looks good:
Module                  Size  Used by    Not tainted
acm                     5984   0  (unused)
uhci                   24444   0  (unused)
usbcore                59308   1  [acm uhci]
Yeah sure, that looks about right, right?

Although mine was recognized as ttyACM0, there was no device created in /dev for it. This had to be done manually as root:
# mknod /dev/ttyACM0 c 166 0
# ln -s /dev/ttyACM0 /dev/modem
I have seen people telling others to ln -s /proc/bus/usb/001/001 to /dev/modem. As far as I can tell this is incorrect. The /usr/bin/mknod command creates a special file on the operating system that basically links a piece of hardware to the operating system. the ln -s command creates a symoblic link of /dev/ttyACM0 to /dev/modem which is what most programs and scripts look for when dialing.

Now for the fun part. Get a ppp connection going using pppconfig (RedHat users?) or pppsetup (Slackware users!). The number to dial is #777. The username is (case sensitive) qnc and password is (case sensitive) qnc. The authentication type is CHAP. If it asks for a nameserver, you are probably going to need to find one and manually enter it. If you find one later, you can add it do /etc/resolv.conf like:
nameserver x.x.x.x
That's it! You can now surf the net at a painful 14.4kbps with a 500ms latency. I've found that as slow as this sounds it is more than enough for text base e-mail and light sshing, ircing, etc.

comments? howtoqnc@cdevco.net