The Motorola_v195 can be used as a modem to connect a laptop to the internet wherever cell phone reception is good enough given the right provider plan. I have the internet plan as an add-on to my T-Mobile account..
kernel
A mini-usb cable will connect the phone to the laptop. Before connecting, build it a driver. Set
... CONFIG_USB_ACM=m ...
in /usr/src/linux/.config (I am using kernel 2.6.20)
then recompile the kernel:
mount /boot cd /usr/src/linux make && make modules_install && make install umount /boot
Make sure the phone is on and connect the cable. Wait a second or two..
dmesg | tail
should mumble something to the effect of
... usb 2-2: new full speed USB device using uhci_hcd and address 3 usb 2-2: configuration #1 chosen from 2 choices cdc_acm 2-2:1.0: ttyACM0: USB ACM device usbcore: registered new driver cdc_acm drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters ...
You can also check if the new device exists
ls /dev/ttyACM*
Dial-Up using PPP
The gentoo init script method worked for getting the connection to the GPRS network. I plucked the configuration settings from T-Mobile’s Mac_OS_X_guide. You might want to keep an eye on their settings in case they change.
If you don’t already have PPP:
emerge -av ppp
Create a link for the init script:
ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0
Here is my /etc/conf.d/net:
# /etc/conf.d/net: # $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/conf.d/net,v 1.7 2002/11/18 19:39:22 azarah Exp $ config_eth0=( "null" ) config_eth1=( "dhcp" ) dhcpcd_eth1="-t 10" gateways_eth1="192.168.0.1" dhcp_eth1="release nontp nonis nosendhost" #----------------------------------------------------------------------------- # PPP config_ppp0=( "ppp" ) # # Each PPP interface requires an interface to use as a "Link" link_ppp0="/dev/ttyACM0" # Most PPP links will use a serial port # # PPP requires at least a username. You can optionally set a password here too # If you don't, then it will use the password specified in /etc/ppp/*-secrets # against the specified username #username_ppp0='user' #password_ppp0='password' # NOTE: You can set a blank password like so #password_ppp0= # # The PPP daemon has many options you can specify - although there are many # and may seem daunting, it is recommended that you read the pppd man page # before enabling any of them pppd_ppp0=( # "maxfail 0" # WARNING: It's not recommended you use this # # if you don't specify maxfail then we assume 0 "updetach" # If not set, "/etc/init.d/net.ppp0 start" will return # # immediately, without waiting the link to come up # # for the first time. # # Do not use it for dial-on-demand links! "debug" # Enables syslog debugging "noauth" # Do not require the peer to authenticate itself "defaultroute" # Make this PPP interface the default route "usepeerdns" # Use the DNS settings provided by PPP # # On demand options # "demand" # Enable dial on demand # "idle 30" # Link goes down after 30 seconds of inactivity # "10.112.112.112:10.112.112.113" # Phony IP addresses "ipcp-accept-remote" # Accept the peers idea of remote address "ipcp-accept-local" # Accept the peers idea of local address "holdoff 3" # Wait 3 seconds after link dies before re-starting # # Dead peer detection # "lcp-echo-interval 15" # Send a LCP echo every 15 seconds # "lcp-echo-failure 3" # Make peer dead after 3 consective # # echo-requests # # Compression options - use these to completely disable compression # novj noaccomp noccp nobsdcomp nodeflate nopcomp novjccomp # # Dial-up settings # "lock" # Lock serial port "115200" # Set the serial port baud rate # "modem crtscts" # Enable hardware flow control # "192.168.0.1:192.168.0.2" # Local and remote IP addresses ) # # Dial-up PPP users need to specify at least one telephone number phone_number_ppp0=( "*99#" ) # Maximum 2 phone numbers are supported # They will also need a chat script - here's a good one chat_ppp0=( # 'ABORT' 'BUSY' 'ABORT' 'ERROR' # 'ABORT' 'NO ANSWER' # 'ABORT' 'NO CARRIER' # 'ABORT' 'NO DIALTONE' # 'ABORT' 'Invalid Login' # 'ABORT' 'Login incorrect' 'TIMEOUT' '5' '' 'AT+IPR=115200' 'OK' 'ATZ' 'OK' 'AT+cgdcont=1,"IP","internet3.voicestream.com"' # Put your modem initialization string here 'OK' 'ATDT\T' 'TIMEOUT' '60' 'CONNECT' '' 'TIMEOUT' '5' '~--' '' )
A few things to note:
- The eth0 and eth1 settings (top of file) are irrelevant, but the gateway is set only for eth1, so as long as ppp0 is the only device that is started (up,) the gateway will come from the PPP connection. This is because routing problems will likely be related to interference from other interfaces.
- Username and password are not specified
- The only compression option not disabled is “novj” because the T-Mobile instructions ask to use TCP Header Compression
- The serial port baud rate is set to “115200”
- The chat script has most of the ABORT lines commented out — e.g.; we’re not looking for a dial tone
- The
'' 'AT+IPR=115200'
chat line will ask the v195 to set it’s baud rate to match PPP (115,200)
Start and stop the connection with the usual suspects:
/etc/init.d/net.ppp0 start /etc/init.d/net.ppp0 stop
The start script should reply with
* Starting ppp0 * Bringing up ppp0 * ppp * Running pppd ... * ppp0 received address xxx.xxx.xxx.xxx/yy
ifconfig ppp0 should confirm this. Go ahead and check your spam,err.. email while you’re out in Coldspot, Saskatchewan.