Samstag, Oktober 13th, 2007
Daily Archive
Daily Archive
Posted by rene on 13 Okt 2007 | Tagged as: Hacking
Going to use GPRS in India to be connected at most places with my own machine, I selected the Airtel offer. You get a PCMCIA card GlobeTrotter EDGE ML2132C2 and a time-independent tariff. If you don’t use more than 500MByte per month, you have to pay only 350rp, which is around 7€. And, not to forget, best is you have some Indian who does the deal for you, else its a little more expensive.
Anyway, having the card is only half the game, so how to run a GlobeTrotter EDGE ML2132C2 with Airtel under Linux, especially Debian Etch? Some tips and the required tools can be found at http://www.pharscape.org (see [1]).
first, install the ppp-deamon and the gcom-tool (which is now named as comgt, but debain still uses the old name for the recent version of the tool).
> aptitude update; aptitude install ppp gcom
Then, create a udev rule which creates a symbolic link at /dev/modem and starts some initialisation script if the card is detected at /etc/udev/rules.d/025_gprs.rules.
# udev rules for gprs
# currently only GlobeTrotter EDGE ML2132C2 recognized
# if your card is not detected, just have a look in the system log
# to which ttySx it is bound and call udevinfo to get the right options
# (udevinfo –attribute-walk –name /dev/ttySx)# GlobeTrotter EDGE ML2132C2
SUBSYSTEM==“tty“, SYSFS{prod_id3}==“ML2132C2″, SYSFS{manf_id}==“0x0314″, SYSFS{card_id}==“0x0007″, SYMLINK=“modem“, RUN+=“/lib/udev/gprs.hotplug.wrapper“
Create the script at /lib/udev/gprs.hotplug.wrapper. This script is called, if the card is detected and it first runs gcom, which initializes the card. After this the pppd is started.
#! /bin/sh
logger $(gcom) && logger $(pon Airtel)
To let the pppd work the right way, you have to create some configuration files for it. First create /etc/ppp/peers/Airtel and insert your mobile Number in the user line near the end of the file.
#!/bin/sh
# Description:
# Serial cable, IrDA, Bluetooth and USB pppd options for GPRS phones.
# See ‚man pppd‘ for detailed option descriptions.# set the device to use
/dev/modem# Most GPRS phones don’t reply to LCP echo’s
lcp-echo-failure 0
lcp-echo-interval 0# Debug info from pppd:
# Comment this off, if you don’t need more info
#debug# Serial port line speed
38400 # the card has problems if you use a speed higher than this# pppd must not propose any IP address to the peer!
noipdefault# Add the ppp interface as default route to the IP routing table
defaultroute# DNS servers from the phone:
# some phones support this, some don’t.
usepeerdns# The phone is not required to authenticate:
noauth# Username
user „mobile number“
remotename Airtel
ipparam Airtelconnect „/usr/sbin/chat -v -f /etc/chatscripts/Airtel“
Now create the chatscript at /etc/chatscripts/Airtel and you are done.
ABORT BUSY ABORT ‚NO CARRIER‘ ABORT VOICE ABORT ‚NO DIALTONE‘ ABORT ‚NO DIAL TONE‘ ABORT ‚NO ANSWER‘ ABORT DELAYED
# modeminit
“ ATZ
# ispnumber
OK-AT-OK „ATDT*99***1#“
# ispconnect
CONNECT \d\c
# prelogin
If you are now inserting the card in the pcmcia slot, udev should start the script and automatically connects with the pppd over GPRS. It takes a while, the blinking code of the datacard might give you some hints about the status. After inserting it blinks approximately every second, if it is connected to Airtel the red LED is flashing for a somehow longer time and is starting a nervous double blinking, which should indicate that everything is fine (by the way, who invented the first flashing red LEDs to indicate some no problem state?). This is the time the pppd starts to run, a few seconds later you should be online. If you like more information on what’s going on, have a look in your logfiles.
Hope the description helps somebody, feel free to comment if you have any questions.