Inspired by John Chang's page, How To Use Your Cell Phone as a USB Modem in Mac OS X, I decided to see what it would take to get my cell phone working with Linux.
I have a PowerBook G4 running Debian, a Motorola V. Series 120c and a USB data cable. Getting these to work with Verizon's Mobile Office service was fairly simple. All that is needed is an extra line in the acm module (which supports USB modems) so that the phone is recognized. The class/subclass/protocol specifications for this phone are 2/2/0; a line needs to be added to acm.c to match these values.
Update, 18 Nov 2002
Dan Eble reported that the Motorola 60t uses the same subclass so this fix will work for that phone as well.
Update, 26 Mar 2003
Dennis Tokarski wrote about his success with the 60i:
It turns out the Motorola v60's these days claim USB vendor/product ids of 0x67b/0x2303, as mentioned before. (btw, I was mistaken earlier in calling this phone a v60t, it's really a v60i)This is actually good. These ids are for Prolific Technology Inc's USB serial adapter which, happily, is supported by Red Hat Linux 7.3 right out of the box. No kernel patches required.
Those who rebuild their own kernel will need to be sure to select the pl2303 usb serial driver module.
One final catch: when using the phone as a modem, the dialer must be told to set the serial port baud rate to 19200.
The only PPC specific step in these insructions is getting the kernel source. I haven't tested it out, but I imagine everything would work on a PC laptop as well with the i386 source.
Here's what's needed:
make xconfig or whatever you like). Make sure you enable the usb, usb-ohci and acm modules. Next do a make dep. If you haven't already installed the latest kernel (2.4.19 as of this writing) you might want to upgrade that as well (make vmlinux). Here's my config, if you're interested.
/*
* USB driver structure.
*/
static struct usb_device_id acm_ids[] = {
{ USB_DEVICE_INFO(USB_CLASS_COMM, 0, 0) },
{ }
};
NEW ----------
/*
* USB driver structure.
*/
static struct usb_device_id acm_ids[] = {
{ USB_DEVICE_INFO(USB_CLASS_COMM, 0, 0) },
{ USB_DEVICE_INFO(USB_CLASS_COMM, 2, 0) },
{ }
};
make modules).
rmmod acm).
make modules_install or you could just cp drivers/usb/acm.o /lib/modules/2.4.19-ben0/kernel/drivers/usb/). You may want to back up your old modules in /lib/modules in case something goes wrong.modprobe acm). The usbcore and usb-ohci modules should also be loaded.
Aug 1 20:38:45 folly kernel: hub.c: USB new device connect on bus1/1, assigned device number 2 Aug 1 20:38:45 folly kernel: ttyACM0: USB ACM device
pon verizon.That's it. Now wherever you can receive a digital signal on your phone, you can check your email. If you don't mind a bit of a wait: I usually see 11 kb/s and half second latency.
Update: availability of service. When I bought my phone the salesperson said that the mobile office service would be available even outside of Verizon's network. I was skeptical of this then and I am fairly certain now that service is much more limited than that. I'm still not sure of the extent of service (if you know, send me an email) but I do know that a digital signal is not enough and I'm not certain that even being on Verizon's network is enough. I was recently in Seattle and I was surprised to find that I could not connect from my hotel (which was downtown) and I found it ironic that a Verizon store was only five or so blocks away.
Jason Geiger

7 Aug 2002