How to install Vodafone 3G PCMCIA cards on SUSE 9.3 and Gentoo GNU/Linux
From Wikinerds
Below is an automated transformation from HTML to wikitext. This page will have to be wikified.
Vodafone Mobile Connect 3G/GPRS: With this PCMCIA card you can have a wireless 384kbit connection to the Internet from your laptop. (for a full-sized photo and more information, click here).
Back in April 2005 Wikinerds Portal published a detailed guide written by Mr. Kai Engert explaining how to install VMC cards on a Fedora-powered laptop. Now we publish another "how to" guide for the same PCMCIA card, which presents with great detail how to install it on SUSE 9.3 and Gentoo, two very popular GNU/Linux distributions.
VMC, short for Vodafone Mobile Connect is a PCMCIA card for laptops which is available for 3G and GPRS networks and is used for wireless cellular connections to the Internet. The 3G card is able to transfer data at a rate of 384 kbit/s through the cellular network using the UMTS technology.
Mr. David Cottingham, BA(Hons), MBCS, MIET, is a Ph.D. student at the University of Cambridge, one of the ancient universities established in 1209 in England, Britain. Mr. Cottingham gave us permission to republish the following guide under the GFDL licence. Enjoy!
(the introduction above was written by NSK)
[edit] Vodafone 3G datacard & SUSE 9.3 or Gentoo Linux
Author: David Cottingham. You can find the original version of this document here. GFDL information is provided at the end of this article.
The following is a terse description of how to install a Vodafone 3G (UMTS and GPRS) datacard on Suse 9.3 or Gentoo Linux.
- Ensure that you have the Linux PCMCIA drivers installed, and that they appear to be working (try
cardctl status). - Plug in the 3G datacard. If you run
dmesgyou should find notifications of a USB hub being installed.tail -n 30 /var/log/messageswill also tell you similar helpful things, including what ports the hub has been assigned to. - The card has two lights, one blue light for UMTS (3G) connectivity, and a green one for GPRS connectivity. On insertion the lights both blink for a while, showing that the card is scanning for a network), and then they settle down to blinking about twice a second. Each indicates whether there is coverage of its respective network type.
- If you now run
cardctl statusyou should find that one of the sockets shows that has a card inserted. If it doesn't there is something wrong with your PCMCIA setup. - Execute
cat /proc/bus/usb/devicesto see what devices you have that are USB. One of them should be the Vodafone card. The first time I did this my machine locked up, but after restarting it was fine. - If the Vodafone card does not appear, check that you have USB OHCI support compiled into your kernel. If you do, you should see lines in
/var/log/messagesdetailing that OHCI has found a USB hub. - Under Suse: Edit
/etc/modprobe.conf.localand add the lineoptions usbserial vendor=0xaf0 product=0x5000.
Under Gentoo: Make a new file called/etc/modules.d/vodafoneand put the lineoptions usbserial vendor=0xaf0 product=0x5000in it. Then runmodules-update. Check that the insertion has been successful by usinggrep -i usbserial /etc/modprobe.conf.
After a reboot (?) /var/log/messages should now inform you which USB ports the card is on. - If (by the end of this guide) pppd complains (in
/var/log/messages- it's silent on the command line), that/dev/ttyUSB0(or/dev/modem) is not a valid serial device, you need to make sure that you have USB serial support compiled into the kernel. Trymodprobe usbserial. If this fails, you need to compile that in (as a module is fine). If on insertion it complains that "vendor" is an unrecognised option to the module, you haven't compiled the module with the optional support for Generic serial devices. When I reached this point I also compiled in a load of other USB EHCI/OHCI related stuff, so if all else fails try compiling that in too, however, I suspect that the Generic serial device is the key here. - If you get an error in
dmesgalong the lines ofkobject_register failed for usbserial (-17), make certain that you have not only donemake; make modules_installbut alsomake installfor your kernel (to get it into/bootwhere your bootloader expects it), as otherwise you will be attempting to insert modules that your kernel has not got support for, because the kernel you are booting is still the old one! - Check that the ports exist using
ls /dev/ttyUSB*. Add them if they do not (see Paul Hardwick's page). - The card is likely to be on USB ports /dev/ttyUSB0, /dev/ttyUSB1, and /dev/ttyUSB2. USB0 is used for actual data transfers, and USB2 for things like network queries or SMS while a connection on USB0 can be maintained. You may therefore want to alias /dev/modem to /dev/ttyUSB0 so that the standard dialup programmes work (
ln -sf /dev/ttyUSB0 /dev/modem). Note that the script below assumes you are using/dev/modemand you should modify it as appropriate. - At this point some other guides tell you to restart: I don't see why, but do so if things don't work!
- I couldn't get
wvdialto work, (it complained that it couldn't get modem information from /dev/modem). I therefore fell back topppd. - I set up the following files (the first is entirely from Paul Hardwick's page). Bear in mind that the second file could be cut down significantly, and simply illustrates the available commands. We use the card for some research that involves measuring signal strengths, as well as occasionally obtaining network lists. You are unlikely to want this if you just want an Internet connection! You may find GCOM useful for performing operations like setting the PIN.
/etc/ppp/peers/vodafone:
###########################################
#Suggested Vodafone PPPD configuration file
#File /etc/ppp/peers/vodafone
###########################################
#Set this to the device allocated to the Datacard
/dev/modem
#Baudrate
384000
#Idle time for closing connection
idle 7200
#Lock the device for this PPPD process use only
lock
#Use normal handshaking
crtscts
#Assume it is a modem device and force modem control methods
modem
#Any user can start the connection
noauth
#If a default route exists replace it with the ppp link
#You get an error if this command is not supported
#by your version of PPPD
replacedefaultroute
#Make the ppp link the default root
defaultroute
#Username and Password for computer/GlobeTrotter ppp link
#Normally ignored. Change if GSM Operator requires it
user Anyname
password Anypassword
#Change the path to chat if required for your version of Linux
connect "/usr/sbin/chat -V -f /etc/ppp/vodafone-chat"
#Accept IP address provided by network
noipdefault
#Detach PPPD from console used to run the program {optional}
#updetach
#Get DNS addresses from operator
usepeerdns
#Don't use VJ compression for ppp link
novj
###########################################
###########################################
/etc/ppp/vodafone-chat
########################################### # Suggested chat script called by PPPD # File: /etc/ppp/vodafone-chat # Heavily edited by David Cottingham # Many of these commands you will not need: they are for illustration # Comment them out as necessary. # david [=at=] cottinghams.com 21/06/2005 # See http://www.pharscape.org/index.php?option=content&task=view&id=29 ########################################### ABORT BUSY ABORT 'NO CARRIER' ABORT ERROR REPORT CONNECT TIMEOUT 120 "" "AT&F" OK "ATE1" # Is there a PIN set on the SIM? #OK "AT+CPIN?" # What network are we connected to? OK "AT+COPS?" # Next line can be used to get a full list of available # networks, but it takes a long time! #OK "AT+COPS=?" # List what AT commands we can issue to this card. #OK "AT&V" # Prefer UMTS networks over GPRS networks # (but connect to GPRS if UMTS unavailable) OK "AT_OPSYS=3" # Current network signal strength OK "AT+CSQ" # Note the single quotes at the beginning and end, # reversing the quoting (double at ends, single # inside) does NOT work! OK 'AT+CGDCONT=1,"IP","internet"' SAY "Calling Vodafone GPRSn" TIMEOUT 60 OK "ATD*99***1#" CONNECT c ########################################### ###########################################
- In particular, note the AT command that specified the APN to dial ("internet"). This is crucial. AT commands (in my experience; I haven't read anything about them!) need to be quote delimited, but the arguments to them are also quote delimited. The arguments need to be double quoted, while the entire expression is therefore single quote delimited. If you need the APN for a network other than Vodafone UK, see Reqwireless's page on APNs
- On some distributions (notably Gentoo) you will need to add the line
nodetachto the file/etc/ppp/optionsif you wish to see the output from the AT commands onstdout. Otherwisepppdwill be very silent, and you will need to look at/var/log/messagesto see whether you have been successful. - Having created these files you can then run
pppd dump call vodafone, which will give you debug output of all the things that have been set by your chat script, before executing your AT commands. If all is well you will get a connection! One thing to bear in mind is that you should check that a default route has been placed in your routing table by usingrouteto inspect it. If you have another network interface you may find that unplugging it will leave that default route in the table, in which case you will not get any connection on the datacard! Also note that Vodafone appears to block pings, so try awget http://www.google.com/instead. Finally, bear in mind that pppd may die if does not recognize thereplacedefaultroutecommand above: comment out as necessary (but find another way of getting the correct route into your routing table, otherwise you won't get any connection!).
Note: network scans (i.e., to see what networks are available, not just Vodafone ones) take quite a long time, during which you will not be able to connect. The AT command for scanning may time out, and pppd will come back with a connection failed message, but the card will continue to be blocked on scanning. Increasing the timeout in your chat file is useful here (I set mine to 120).
Note: I made heavy use of Paul Hardwick's page on the Vodafone 3G card to find out some of the above. Kai Engert's page on Linux and the Vodafone 3G datacard was also very useful.
Copyright (c) 2005 David Cottingham, with introductory text and other minor additions by Nikolaos S. Karastathis. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.
[edit] Document history
- The most recent document history can be seen at http://wikinerds.org/index.php?title=How_to_install_Vodafone_3G_PCMCIA_cards_on_SUSE_9.3_and_Gentoo_GNU/Linux&action=history
- 1 November 2006, NSK: Updated the page to include the MIET status of the original author, and also inserted a link to a relevant German page.
- 7 September 2005, NSK: Created this article as a derivative work of the original document which was written in 2005 by David Cottingham. The changes are the addition of an introductory text and the incorporation of some Web links.
[edit] Links
You may find the following links useful (This section was added by NSK):
- HOWTO: Installing Vodafone 3G PCMCIA cards on Fedora Core GNU/Linux
- Linux kernel 2.6.12 now supports GSM PCMCIA cards
- Cellular Internet in Greece
- German page about the Vodafone card
Return to Wikinerds Portal or have a look around the Wikinerds Community. Thanks for reading this article!
Download this article:
This article is copyrighted and licensed under the GNU Free Documentation Licence 1.2.
Wikinerds Portal is not affiliated with Vodafone or any other organisation referenced in this article.
