Making Sierra Wireless AirCard 775 work in Ubuntu 7.04 and Connect to the Internet via GPRS/EDGE/3G
Referred to also by Linux.com July 31, 2007 (3:00:00 PM)
A nephew recently bought a PLDT WeRoam Wireless kit containing among others a Sierra Wireless AirCard 775 pcmcia card with antenna. He asked me to help him in installing it to his WinXP laptop. Later I thought of trying it also on my IBM x40 laptop with Ubuntu 7.04.
The Sierra Wireless AirCard has newer models now but this is the model PLDT WeRoam currently issues for a prepaid kit. The AirCard enables a laptop to connect to the internet using GPRS/EDGE technology. This is the technology used by mobile phones which means wherever there is a cell site it is also possible to connect to the internet. While the connection is quite slow (around plus or minus 225 kbps) compared with a DSL link, it is better than having nothing at all especially if you’re on the move and you need to connect to the internet once in a while.
The PLDT WeRoam kit costs PhP 10,860 (US$231) and includes the Sierra Wireless AirCard 775, CDs for Windows install (plus anti-virus) and a free 3 months unlimited GPRS/EDGE connection plus a 3 month wifi (803.11) connection where there is an Airborne Access. After 3 months you need to “load” your account around PhP 1,700 (US$36) monthly to continue using both types of connection. Not bad compared to a link using Globe or Smart which charges per mb and per 30 minutes respectively which are more expensive in the long run.
Initially, I got some info from the Ubuntu Community Docs: Sierra Wireless AC850 wireless card installation in Ubuntu url: https://help.ubuntu.com/community/AirCard8X0. Since the documentation is about a different model of the AirCard, I decided to revised/customized the steps/configs to suit the AirCard model we have. I also tried a different script to connect to the internet, which I already tried with my Nokia N70 (see earlier related blog). Later, I also tried GPRS Easy Connect, a GUI-based software for internet connection using cellphones and similar wireless pcmcia card.
Here are detailed steps:
*Hardware used:
Sierra Wireless AC775 pcmcia card
Thinkpad x40
*Getting and installing the firmware:
Do not insert yet the AirCard into the PCMCIA slot. Since your system will get quite confused with a new hardware with no drivers installed.
1. Download the Aircard_7xx_Linux tar file from: http://www.sierrawireless.com/software/7×0/AirCard_7xx_Linux.tar.gz, then untar it:
~$ tar -xzvf AirCard_7xx_Linux.tar.gz
2. Copy the firmware file to /lib/firmware:
~$ sudo cp SW_7xx_SER.dat /lib/firmware/SW_7xx_SER.cis
*Configure the AirCard 775 as a serial-only device:
1. Add the following to the /etc/pcmcia/config file under the Modems and other serial devices section:
card “Sierra Wireless AC710/AC750 GPRS Network Adapter R1″
manfid 0×0192, 0×0710
cis “cis/SW_7xx_SER.dat”
bind “serial_cs”
2. Copy the file SW_7xx_SER.dat in the archive in /etc/pcmcia/cis/
3. Restart the computer
4. Insert the AirCard. You should hear two high beeps to indicate that the AirCard has been recognized and the serial driver has been successfully loaded. In my case I never heard any beeps but the card was nevertheless still recognized by the system.
*Creating a udev rules file so the card is mapped to a UMTS device
Find out the card ID:
1. From a terminal window:
~$ pccardctl ident
which will give you something like this:
Socket 0:
#product info: “Sierra Wireless”, “AC710/AC750″, “GPRS Network Adapter”, “R1″
manfid: 0×0192, 0×0710
function: 6 (network)
2. Take note of the second string at the manfid: line, in this case it’s 0×710
3. Now create a file: /etc/udev/rules.d/99-aircard.rules
~$ sudo vi /etc/udev/rules.d/99-aircard.rules
or use any text editor you’re comfortable with. Me, I’m used to using either vi or nano.
4. Placed inside the file /etc/udev/rules.d/99-aircard.rules the following:
BUS==”pcmcia”, SYSFS{card_id}==”0×0710″, NAME=”umts”, SYMLINK=”tts/umts”,
RUN+=”/usr/local/bin/umtsinit”
5. Restart udev for it to recognize the new card rule,from the terminal window:
~$ sudo /etc/init.d/udev restart
You should then see the following:
* Loading additional hardware drivers… [ ok ]
6. Verify if a /dev/umts device was set up by udev:
~$ ls/dev/um*
If it exists then your AirCard is now ready. If not check your /var/log/syslog to see what happened:
~$ tail/var/log/syslog
*Connecting to the Internet:
You have two options: Command Line Interface (CLI) or Graphical User Interface (GUI) using gprsec (GPRS Easy Connect) that works for both Linux and FreeBSD. You can download the tar.bz2 file at http://www.gprsec.hu/modules/index/ or the .deb file for Debian and Ubuntu distros at http://darrenalbers.com/gprsec/.
Using the Command Line:
Since both the AirCard and the Mobile Phone uses PPP to connect I just copied the scripts I used for my Nokia N70 (see earlier related blog) and edited them to use the /dev/umts and the corresponding username and password given by PLDT WeRoam helpdesk. By the way, if the username and password will not be provided when you acquire the kit, just call PLDT 171.
1. Create a file named “weroam” in /etc/ppp/peers or whatever name you choose which you will ask pppd to call. It should contain the following:
# $Id: gprs,v 1.4 2004/04/28 08:40:32 mcfrisk Exp $
#
# File: weroam for PLDT Weroam network
#
# Description:
# Serial cable, IrDA, Bluetooth, USB, pcmcia pppd options for GPRS device.
# See ‘man pppd’ for detailed option descriptions.
# Most GPRS phones don’t reply to LCP echo’s
lcp-echo-failure 0
lcp-echo-interval 0
# Keep pppd attached to the terminal:
# Comment this to get daemon mode pppd
nodetach
# Debug info from pppd:
# Comment this off, if you don’t need more info
debug
# Show password in debug messages
show-password
# Connect script:
# scripts to initialize the GPRS modem and start the connection,
# wvdial command is for Orange SPV while other phones should work with chat
connect /etc/ppp/peers/weroam-connect-chat
# Disconnect script:
# AT commands used to ‘hangup’ the GPRS connection.
disconnect /etc/ppp/peers/weroam-disconnect-chat
# Serial device to which the GPRS phone is connected:
/dev/umts #for pcmcia card
# Serial port line speed
115200 # fast enough
#57600 # perhaps usefull with IrDA as some phones don’t like
# speeds higher than this
# Hardware flow control:
# Use hardware flow control with cable, Bluetooth and USB but not with IrDA.
crtscts # serial cable, Bluetooth and USB, on some occations with IrDA too
#nocrtscts # IrDA
# Ignore carrier detect signal from the modem:
local
# IP addresses:
# – accept peers idea of our local address and set address peer as 10.0.0.1
# (any address would do, since IPCP gives 0.0.0.0 to it)
# – if you use the 10. network at home or something and pppd rejects it,
# change the address to something else
:10.0.0.1
# pppd must not propose any IP address to the peer!
noipdefault
# Accept peers idea of our local address
ipcp-accept-local
# Add the ppp interface as default route to the IP routing table
defaultroute
# Newer pppd’s also support replacing the default route, if one is
# already present, when the GPRS connection should be set as the default route
# to the network
#replacedefaultroute
# DNS servers from the phone:
# some phones support this, some don’t.
usepeerdns
# ppp compression:
# ppp compression may be used between the phone and the pppd, but the
# serial connection is usually not the bottleneck in GPRS, so the
# compression is useless (and with some phones need to disabled before
# the LCP negotiations succeed).
novj
nobsdcomp
novjccomp
nopcomp
noaccomp
# The phone is not required to authenticate:
noauth
# Username and password:
# If username and password are required by the APN, put here the username
# and put the username-password combination to the secrets file:
# /etc/ppp/pap-secrets for PAP and /etc/ppp/chap-secrets for CHAP
# authentication. See pppd man pages for details.
user “pldt@weroam” #this is for PLDT Weroam service you have to change this #depending on your provider
# The persist tries to reopen the connection if it is dropped. This
# is usefull for example with a Nokia 7650 which only manages to
# ‘dial’ with every second attempt or when the network likes to drop the
# connection every now and then. It’s not fun when the over-night
# ‘apt-get dist-upgrade -d -y’ fails constantly…
persist
#maxfail 99
2. Create the connect script named weroam-connect-chat also at /etc/ppp/peers/.
Please take note that if you will name this file differently, it should correspond to the connect script section of the script file you created before this (the weroam file). It should contain the following:
#!/bin/sh
exec chat \
TIMEOUT 5 \
ECHO ON \
ABORT ‘\nBUSY\r’ \
ABORT ‘\nERROR\r’ \
ABORT ‘\nNO ANSWER\r’ \
ABORT ‘\nNO CARRIER\r’ \
ABORT ‘\nNO DIALTONE\r’ \
ABORT ‘\nRINGING\r\n\r\nRINGING\r’ \
” \rAT \
TIMEOUT 12 \
SAY “Press CTRL-C to close the connection at any stage!” \
SAY “\ndefining PDP context…\n” \
OK ATH \
OK ATE1 \
OK ‘AT+CGDCONT=1,”IP”,”weroam”,”",0,0′ \
OK ATD*99# \
TIMEOUT 22 \
SAY “\nwaiting for connect…\n” \
CONNECT “” \
SAY “\nConnected.” \
SAY “\nIf the following ppp negotiations fail,\n” \
SAY “try restarting the phone.\n”
Please note that if you have a different provider you need to change the APN from “weroam” to whatever is provided to you in line:
OK ‘AT+CGDCONT=1,”IP”,”weroam”,”",0,0′ \
3. Create the disconnect script named weroam-disconnect-chat also at /etc/ppp/peers/. Please take note that if you will name this file differently, it should correspond also to the disconnect script section of the script file you created before (the weroam file). It should contain the following:
#!/bin/sh
exec /usr/sbin/chat -V -s -S \
ABORT “BUSY” \
ABORT “ERROR” \
ABORT “NO DIALTONE” \
SAY “\nSending break to the modem\n” \
“” “\K” \
“” “\K” \
“” “\K” \
“” “\d\d+++\d\dATH” \
SAY “\nPDP context detached\n”
4. In your /etc/ppp/pap-secrets file you need to add the following line:
“pldt@weroam” * “pldt”
This corresponds to your username / password if your provider is PLDT Weroam. If you have a different provider you need to change this to whatever is given by that provider.
5. To connect just type the following in your terminal/console:
~$ pppd call weroam
Change weroam to whatever filename you use in the script you created in step 1 above. Please take note that to do this you have to be a member of dip and dialout group or you need to use sudo as in
~$ sudo pppd call weroam
Using GPRS Easy Connect:
1. Download either the GPRS_Easy_Connect_301.tar.bz2 file at http://www.gprsec.hu/modules/index/ or the gprsec_3.0.0-1_i386.deb file for Debian and Ubuntu distros at http://darrenalbers.com/gprsec/. If you’re using Debian or Ubuntu, it would be better to get the gprsec_3.0.0-1_i386.deb file. Upon downloading Ubuntu will automatically launch the package installer and you just need to click the install package button. Or if not you can do a:
~$ sudo dpkg -i gprsec_3.0.0-1_i386.deb
(The gprsec tar.bz2 file contains an install script and it would also be easy to install. The site http://www.gprsec.hu/modules/index/ contains instruction for installing tar.bz2 gprsec file)
2. To launch gprsec, in a terminal/console just do a:
~$ gprsec
3. Just change the following settings by clicking preferences:
Type of Handset: Sierra Wireless 775
Provider: (in my case Smart (Philippines)
APN: wroam
User: pldt@weroam
Password: pldt
Since /dev/umts is not in the drop down list you have to click select another port and choose /dev then umts. Click save. Then click connect.
Tags: Free and Open Source Software, GPRS/3G, Laptops, Linux, Mobile Phones, Ubuntu
Hi, Where did you get your PLDT WeRoam Wireless kit?
My nephew bought a prepaid wireless kit from the PLDT Office in Ilocos Norte. The kit includes both the SIM card and the PCCard. Just inquire from any PLDT Office.
hi. very informative blog.
is it possible to use a pldt weroam prepaid kit/aircard to a desktop instead of a laptop? if so, what should i buy to do this?thanks
Hi,
Actually the pldt weroam prepaid kit will work with any PC based computer whether its a laptop or desktop. The only difference is while most laptops have a pcmcia slot/s built in, not all desktops have this. You need to add a pcmcia slot to your existing desktop to be able to use the aircard. This is because the aircard needs to be installed/inserted into the pcmcia slot for the aircard to be used. Hope this helps.
Hi Ariel,
Thanks for your quality blog. Great infos.
I am also connecting with PLDT Weroam. As we have 3G in our town I retired the Aircard and use a USB-connected Nokia 6120 to connect.
Initially I could only open a few pages maybe 10% of all, for example inquirer.net, google.com, starfall.com, CNN. Most other pages won’ t work (you can ping them, but that’s all, firefox will just keep on waiting). PLDT has a registry patch for Windows to bypass this problem. It works perfectly.
Now for Ubuntu I am stuck with the same problem, but no patch. I was wondering if you have any idea, what this could be about. I am using GPRSec on the i386 system and wvdial on the amd64 system with same result.
Thank you very much!
Nepenthes
PS: Here is the Windows registry patch:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\NdisWan\Parameters\Protocols]
“ProtocolType”=dword:00000800
“PPPProtocolType”=dword:00000021
“TunnelMTU”=dword:000003f4
“ProtocolMTU”=dword:000003f4
Was able to solve my problem above by putting MTU 1456 in /etc/ppp/options.
I was wondering how you manage to top off your minutes. I’m in Thailand and use 1-2-Call and get unlimited GPRS/EDGE for 1000THB/month, but am getting tired of popping the sim out of the Aircard to add minutes. Thanks.
sudo cp SW_7xx_SER.dat /lib/firmware/SW_7xx_SER.cis
the extension is to be made cis?
Add the following to the /etc/pcmcia/config file under the Modems and other serial devices section:
I don’t have a config file in /etc/pcmcia. What I have is a config.opts file
So I should create one?
Thanks
Hi,
I do not have umtsinit in my system. How do I install it? Is it necessary to make the card as a umts device?
Thanks
Matt
It’s a very informative blog. I was planning to purchase but I was wondering what is better. Is it better to use this one or the one provided by smart or globe?
I think they now supply the unit that can be connected via USB port. I haven’t tried it but I think it will work (I guess it will be easier to make it work too based on experience on USB devices aside from the fact that most laptops only has USB ports rather than PCMCIA slots).
Hi have a Windows 7 laptop and I cant install the weroam always says installation error please help.
Since Windows 7 is still new and different from the previous versions of MS Windows, I think they have not released yet the drivers. They might release the driver soon.