Installation and configuration of the Vodafone Mobile Connect Card

The vodafone mobile connect card (vmcc) is an always-on, GPRS device, charged at a flat monthly fee. The intention is to use the device when away from broadband/LAN/WAN connections, e.g. in hotels.

This document details my set-up. In other words I have not exhaustively tested any of the alternative methods for setting up the Internet connection via this device. It works for me and I may, and probably will, refine the method as time goes on.

The vmcc is a rebadged Option Globetrotter and thus the information gathered here was gleaned from documents referring to such devices, and by analysing the vmcc whilst operating under XP. (I knew there had to be ONE reason why I kept the XP partition ;-) and by various Internet searches and news group postings.

  1. cardmgr
    If, like me, you are used to cardbus devices, then slotting home the vmcc and then have nothing happen except for lines similar to 'kernel: cs: unable to map card memory!' in /var/log/messages is surprising and worrying event. However, this vmcc is a pcmcia card and not a cardbus device and as such requires handling by the pcmcia device manager - cardmgr. Simply, run this as root to load the appropriate kernel device drivers. In my case this created the link to the vmcc modem on /dev/ttyS1.
  2. ttyS1
    Use minicom or kermit to connect to the modem to verify the drivers are loaded correctly. E.g. entering ATH should have the modem respond with OK. This is the industry standard Hayes compatible modem control language.
  3. kernel
    The ppp and pcmcia drivers must be available for your kernel. The standard kernels as supplied by the usual distributors already have these included or compiled as modules. If you compile your own kernels then you will know how to do this …
  4. ppp

    The Internet link is to be established using the Point to Point Protocol (PPP). Which requires a chat script placed in the /etc/ppp directory, e.g. /etc/ppp/vodafone.chat. This is used by the ppp daemon (pppd) in establishing a session. The script is heavily based on the Linux support document from Option. (Why couldn't vodafone provide all the necessary details ?)

    'ABORT' 'BUSY'
    'ABORT' 'ERROR'
    'ABORT' 'NO CARRIER'
    'ABORT' 'NO DIALTONE'
    'ABORT' 'Invalid Login'
    'ABORT' 'Login incorrect'
    '' 'ATZ'
    'OK' 'AT+CGDCONT=1'
    'OK' 'AT+CGDCONT=1,,"Internet"'
    'OK' 'ATD*99***1#'
    'CONNECT'

    Where Internet is the APN name for Internet access provided by vodafone in the UK. Note that this will overwrite the 1st context.

    It may be advisable to issue an 'AT+CGDCONT?' command to determine what contexts already exist on the modem. To create another context change the 1 to the next available slot and then change the number to dial to reference that slot. E.g. : -

    AT+CGDCONT=3,,"internet.vodafone.co.uk"
    ATD*99***3#

    Next the username and password for the access to this APN is required. This was found, by checking the the environment in the XP partition, to be 'web and web'. Thus the following line is appended to the /etc/ppp/pap-secrets file: -

    "web" * "web"

    N.b. the whitespace in the above line should be tabs not spaces.

    Finally, we are ready to run ppd with all the above information: -

    pppd -d connect 'chat -v -f /etc/ppp/vodafone.chat' /dev/ttyS1 115200 crtscts modem noipdefault defaultroute passive user web

    If this works, then use ifconfig ppp0 to show the IP address of the link and netstat -rn to show the routing table.
    If it fails, then retry the pppd command adding debug into the option list.

  5. nscd

    So the link is established, what now ? Well, we now have to find the DNS server. I tried the pppd option usepeerdns but the pppd debug showed that it rejected the given DNS replies: -

    rcvd [IPCP ConfRej id=0x1 <ms-dns3 0.0.0.0> <compress VJ 0f 01>]
    Received bad configure-nak/rej: 83 06 00 00 00 00 02 06 00 2d 0f 01

    The pppd rejects msdns for security reasons…

    I will attempt to work this out, but for now, we just need to be able to verify the Internet link works. So, by using the XP partition again, we discover that the DNS currently being used is at 172.29.1.11. So hard coding this into the /etc/resolv.conf file and restarting the name service cache daemon (nscd). You should now be able to access the Internet.
    This address is in the range 172.16.0.0 to 172.31.255.255 which is reserved for private networks …

  6. kmail

    Create a new sending account and point this at send.vodafone.net, and ensure the username and password are included in the receiving (pipex pop) account details.

All that remains is to tidy up and address the following: -

  1. I have two cards (a modem and 10/100 ethernet combo, and the gprs) currently the modem of one attaches to ttyS4 the other attaches to ttyS1 or ttyS2 depending on which slot is used. Is it possible to get these devices to attach to the same ttyS device (or the same link) ?
    One card is a cardbus device the other is a pcmcia device. The script /etc/pcmcia/serial (from pcmcia-3.2.3) removes the original link. (N.b. SuSE distro of pcmcia copies the original link but they do not restore it on exit ?!)
    Rememdy is to remove the LINK option from /etc/pcmcia/serial.opts and thus restrict use to the /dev/ttyS1 (or /dev/ttyS2) device. Thus cannot use kppp which is configured to use /dev/modem.
  2. kppp has a global configuration scheme. Thus the one device and one list of "modem commands" is a problem for the three modems present in the laptop (The onboard, the ethernet combo and now this gprs.)
    These issues are on the todo list for the next(?) release of kppp …
  3. DNS. The hard coded value used above is okay until it goes down. Will we need to get the current list from vodafone?
  4. Accounting. Current tariff is 25MB/month. pppd ends a session by printing bytes received and transmitted. Need to keep a log of these and print out the running monthly total at the end of each session.

Dean Darlison
Last modified: Wed Jan 14 11:06:47 GMT 2004