This page contains the details on how to get a Sierra Wireless Card working with Puppy Linux.
Cingular 3G/HSDPA connection using Sierra AC 860 on Puppy Linux how-to
by Mike Doherty AKA Mikrodots
md AT mikrodots DOT com
http://www.mikrodots.com/
April 24, 2006
Introduction: This “How-to” is from my experience getting the Cingular 3G service working on Puppy Linux using a Sierra 860 AirCard.
System Details:
Puppy Linux 1.0.8 (Flash Pup) (Puppy is now at version 3 October 2, 2007)
Sierra Aircard 860
Cingular Wireless 3G service (United States)
Any USB Bootable Laptop. Specific laptop used here: Averatec 1000 Series Laptop: Pentium M 1.7G Proc, 512MB RAM, no HDD
SANDisk Cruzer Micro 256MB USB Flash drive (Most tested USB media worked)
Relevant Files: /etc/ppp/peers/mike, /etc/ppp/chat-scrips/mike-chat, Sierra Driver:/etc/pcmcia/cis/SW_8xx_SER.dat, rc.local, ip-up, etc/pcmcia/config
How to Configure Linux to Recognize AirCard 850/860
1. Activate the card using Windows. I don’t know any other way to do it. Just follow their instructions or have the agent do it for you.
2. Download the Linux driver here http://www.sierrawireless.com/software/8×0/AirCard_8xx_Linux.tar.gz and extract it.
3. Copy the file SW_8xx_SER.dat in this archive in /etc/pcmcia/cis/ (don’t use the other files)
4. Insert the Sierra AC 860
5. Run ‘cardctl ident’ in a console
6. Open /var/log/messages and find the card identification information; it should look like this:
unsupported card in socket 0
product info: “Sierra Wireless”, “AC860″, “3G Network Adapter”. “R1″
manfid: 0×0192, 0×0710 function: 6 (network)
7. Add the following to /etc/pcmcia/config under the Modems and other serial devices:
Be sure the manfid is typed exactly as it is in the /var/log/messages file; I recommend cutting and pasting from messages and that’s why I put in the log file reference.
This is how the device will be auto-detected and the driver loaded.
card “Sierra Wireless AC850 3G Network Adapter R1″
manfid 0×0192, 0×0710
cis “cis/SW_8xx_SER.dat”
bind “serial_cs”
8. EDIT /etc/rc.d/rc.local and add the following:
# Restart cardmgr to load Sierra Card
# For some reason it is an ‘unknown card’ until this cardmgr restart
#This may only be relevant to my hardware or maybe just to Puppy but this solved it
# tempestuous from the Puppy Linux forum clued me in to this problem
echo -n “Restarting cardmgr and sleeping 3 secs”
read PID</var/run/cardmgr.pid
kill $PID
sleep 3
cardmgr
9. edit /etc/ppp/ip-up
#Add this line to increase modem speed
#Without this I only got 10kbps up and 37kbps down
#With this I’ve gotten almost 400k down (so far) but seem to be capped at 57kbps up
#I think there is a newer setserial with a set spead to ludicris
setserial -a /dev/modem spd_vhi
10. Create this file /etc/ppp/peers/mike
#Note to self, not sure where I got this. Need to give credit and reference source
# information about your device
# -detach
/dev/ttyS0 # device file assigned to modem
#460800
#230400 # pcmcia negotiation speed
115200 # slower negotiation speed
#57600
# —————————————————————-
# Initial authentication —————————————–
user ISPDA@CINGULARGPRS.COM # username (data acceleration)
#user ISP@CINGULARGPRS.COM # username (no data acceleration)
#user WAP@CINGULARGPRS.COM # username WAP, not common!
password CINGULAR1 # a common GPRS/EDGE password
# —————————————————————-
defaultroute # use cellular network’s gateway
noipdefault # force peer to specify local IP (GC83 only)
usepeerdns # use DNS servers from remote host
# remotename attws # assume ‘attws’ as name of remote system
# ipparam attws # add ‘attws’ to ip-up & ip-down script
# remotename mike # assume ‘attws’ as name of remote system
# ipparam mike # add ‘attws’ to ip-up & ip-down script
crtscts # enable hardware flow control
lock # lock the serial port when in use
noauth # don’t expect peer to authenticate
persist # re-dial connection if dial fails
local # ignore Carrier Detect and DTR signals
ipcp-accept-local
lcp-echo-failure 30
lcp-echo-interval 4
# —————————————————————–
# uncomment these options when roaming or when signal is low ——
# leaving these options commented increases data throughput ——-
# novj # disable TCP/IP header compression
# novjccomp # disable connection ID compression
# —————————————————————–
# —————————————————————–
# These compression styles can cause problems over GPRS/EDGE
# Uncomment these lines for troubleshooting
#nodeflate # Disable deflate compression
#nobsdcomp # Disable bsd-compress compression
# —————————————————————-
# Leave uncommented, at least until your connection works consistently
debug # provides verbose output to stderr
# —————————————————————
# Uncomment this option if you don’t have the screen window manager
# screen is a helpful tool
# it can be obtained from http://www.gnu.org/software/screen
nodetach # do not allow terminal to detach
ipcp-max-configure 20 # increase the maximum IPCP config requests
maxfail 0 # do not stop retrying connection
# Move on to the chat script after connection
connect “/usr/sbin/chat -v -V -t3 -f /etc/ppp/chatscripts/mike-chat”
11. Create this file: /etc/ppp/chat-scrips/mike-chat
# Most of this script is from Riyan Mynuddin
# It was modified by me Mikrodots
#I’ve hacked it quite a bit so be sure to look at the original
# Script source: http://advantedgecomputing.com/opensource/gc83linux.htmla
# Assembled by Riyan Mynuddin - e-mail: opensource@advantedgecomputing.com
# Feel free to e-mail Riyan with questions, comments or suggestions.
#
SAY ‘Starting HSDPA connect script…\n’
SAY ‘\n’
# ispauth CHAP # define auth method (optional)
SAY ‘Setting the abort string\n’
SAY ‘\n’
# Abort String ———————————
#ABORT BUSY ABORT ‘NO CARRIER’ ABORT VOICE ABORT ‘NO DIALTONE’
#ABORT ‘NO DIAL TONE’ ABORT ‘NO ANSWER’ ABORT DELAYED
#TIMEOUT 10
#ABORT ‘BUSY’ ABORT ‘NO ANSWER’ ABORT ‘NO CARRIER’
# ———————————————-
SAY ‘Initializing modem\n’
# Modem Initialization ————————-
” ATZ
# Eo=No echo, V1=English result codes
#OK ‘ATE0V1′
# ” AT+cfun=1
# OK AT+cfun=1
# OK AT+cgreg=1
OK AT
OK ‘ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0′ # Not sure what this does MD
#TIMEOUT 40
# ———————————————-
SAY ‘\n’
SAY ‘Setting APN\n’
# Set Access Point Name (APN) ——————
# Incorrect APN or CGDCONT variable is a
# frequent cause of peer LCP TermReqs
# So try each setting at least once! =)
#REG:\s1 AT+cgdcont=1,”IP”,”proxy”
#OK ‘AT+CGDCONT=0,”IP”,”proxy”‘
#OK ‘AT+CGDCONT=1,”IP”,”proxy”‘
#OK ‘AT+CGDCONT=2,”IP”,”proxy”‘
# OK ‘AT+CGDCONT=0,”IP”,”isp.cingular”‘
OK ‘AT+CGDCONT=1,”IP”,”isp.cingular”‘ #This one works for me MD
# OK ‘AT+CGDCONT=2,”IP”,”isp.cingular”‘
# ———————————————-
SAY ‘\n Set connection preferrences \n’
OK AT+CSQ #This will show connection strength MD
OK ‘AT+COPS?’ # Lists available networks MD
OK ‘AT+COPS= 0,0,”Cingular”,2′ # Connects to HSPDA/3G only MD
#OK ‘AT+COPS= 0,0,”Cingular”,1′ # Connects to GPRS only — I think MD
OK ‘AT+CGREG=?’ #Don’t know what this does MD
# These are supposed to affect speed but I’m not sure they’re doing anything MD
# OK ‘AT+CGEQMIN=1,4,64,384,64,384′
# OK ‘AT+CGEQREQ=1,4,64,384,64,384′
OK ‘AT+CGEQMIN=1,4,64,768,64,768′
OK ‘AT+CGEQREQ=1,4,64,768,64,768′
SAY ‘\n’
SAY ‘Dialing…\n’
# Dial the ISP ———————————
# a few different dial commands are shown
# the default should work fine
#REG:\s1 ‘ATD*99***1#’
#OK ATDT*99***1#
OK ATD*99***1#
#OK ATD*99#
#OK ‘ATD*##***##’
#OK
CONNECT ‘ ‘
# ———————————————
11. Ping something on the web to see if you are connected: ping google.com
Go to dslreports.com and do a speed test .
I pieced this information together from many places on the web. Hopefully I’ve given credit where credit is due. If I missed a refererence it is purely an accidental oversite on my part. Please email me if you should be credited here.
Credits:
tempestuous from the Puppy Linux forum> hard reset of cardmgr to recognize the AC860 and how to automate the reset during bootup.
Sierra 860 Generic Instructions can be found here:
http://mycusthelp.com/sierrawireless/supportkbitem.asp?sSessionID=&Inc=4703&sFilA=FAQ%20Category&sFilB=Products&sFilC=&FA=19&FB=26&FC=-1
The AC 760 generic instructions have a bit more info:
http://mycusthelp.com/sierrawireless/supportkbitem.asp?sSessionID=&Inc=2870&sFilA=FAQ%20Category&sFilB=Products&sFilC=&FA=19&FB=23&FC=-1
Helpful Links
http://forum.stompboxnetworks.com/viewtopic.php?t=114&
http://www.murga.org/~puppy/viewtopic.php?t=4628&highlight=cardmgr
http://www.mnsoft.org/319.0.html
http://mybroadband.co.za/vb/showthread.php?s=36fdac97152b499aa117abff918533e3&t=21726
2 users commented in " Sierra Wireless "
Follow-up comment rss or Leave a TrackbackThis HowTo is out of date. Sierra pulled the pages that had the SW_8xx_SER.dat file so those links are no longer valid.
I’m getting this working on Puppy 4.0 right now so look here http://mykrosystem.com/blog/2008/05/21/mikrosystem-installation-notes-using-puppy-linux-40-part-1/
to see how its going.
Sierra Wireless and Cingular (AT&T) Revisited…
Ahhrgh… Puppy Linux 4.0 doesn’t recognize the PCMCIA socket. Okay, I found that the yenta_socket module is no longer loaded in a default installation - so I’ll need to add that by using the BootManager…
Good. With the yenta_socket module loaded my card is identified — from a console- cardmgr reports ‘watching 1 socket’ and cardctl ident identifies the Siera Wireless AC860.
I’ll need to add the id to /etc/pcmcia/config to get it to work. (to test the id cat /var/log/messages look for “unsupported card in socket 0″) - it doesn’t look the Sierra module I loaded is doing anything here. I don’t know how to tell the system to use that driver for this device.
It looks like card is ID’d with the function network instead of modem.
The old links I had to Sierra’s site are no longer valid - I don’t know why they pulled the SW_8xx_SER.dat file. I’m not sure how to make this work without it. I have a copy of it from last year that I’ll use (if I can find it!)
Good, I found a copy of SW_8xx_SER.dat. I’ll copy SW_8xx_SER.dat to: /etc/pcmcia/cis/
Now I’ll modify /etc/pcmcia/config
Add the following to /etc/pcmcia/config under the Modems and other serial devices:
Be sure the manfid is typed exactly as it is in the /var/log/messages file; I recommend cutting and pasting from messages and that’s why I put in the log file reference.
This is how the device will be auto-detected and the driver loaded.
card “Sierra Wireless AC860 3G Network Adapter R1″
manfid 0×0192, 0×0710
cis “cis/SW_8xx_SER.dat”
bind “serial_cs”
I’ll need to copy a couple of scripts to get this working. (NOTE: when copying the scripts sometimes the qoutes are replaced with the wrong characters (two single quotes) and the script won’t run - you may see a “invalid option -v” or similar - just replace the double quotes)
____________________________________________________
Copy the following Script to: /etc/ppp/peers/3g
#!/bin/bash
#
-detach
lcp-echo-failure 0
noauth
# Use /dev/rfcomm0 for bluetooth modem
# /dev/rfcomm0
#/dev/ttyS0 is my Sierra Wireless Aircard PCMCIA PC Card
/dev/ttyS0
# These are the connect speeds
# I found through experimentation that 115200 give me the fastest upload speed at 254k,
# the others, to my surprise, all only reached 54k
115200
# 230400
# 460800
# 921600
defaultroute
noipdefault
ipcp-accept-local
ipcp-accept-remote
# user ISP@CINGULARGPRS.COM
# This one worked better with the pcmcia card
user ISPDA@CINGULARGPRS.COM
password CINGULAR1
usepeerdns
# nodetach
debug
crtscts
lock
# receive-all
# novj
# nodeflate
# noccp
connect “/usr/sbin/chat -v -t6 -f /etc/ppp/chatscripts/3gchat”
_______________________
Save Script to: /etc/ppp/chatscripts/3gchat
# Note: after copying this script I needed to fix the double quotes as they were replaced with two single quotes
#!/bin/bash
#
ABORT ERROR
ABORT RING
ABORT BUSY
ABORT VOICE
ABORT “NO CARRIER”
ABORT “NO ANSWER”
#ABORT “NO DIALTONE”
REPORT CONNECT
“” “ATZ”
# The following would hang up when downloading
# I think I used for the cell phone bluetooth modem
# OK ‘AT+CGDCONT=1,”IP”,”wap.cingular”,””,0,0′
# Use this for the Sierra Aircard
OK ‘AT+CGDCONT=1,”IP”,”isp.cingular”,””,0,0′
OK ATD*99***1#
TIMEOUT 15
CONNECT \c
__________________________________________
now in a console type pppd call 3g and you should connect to the Internet.
I restarted and noticed that cardmgr does not start on boot - I’ll need to fix that.
For now type cardmgr to start it then pppd call 3g
Or EDIT /etc/rc.d/rc.local and add cardmgr to have it start at boot up.
Now lets check the connection speed…
From speedtest.net I got 1MB up and 54k down. It looks like I still need to add spd_warp to ip-up
edit /etc/ppp/ip-up
add this line:
setserial -a /dev/modem low_latency spd_warp
I found a new Sierra link: http://www.sierrawireless.com/faq/ShowFAQ.aspx?ID=118 - maybe I’ll try this procedure soon.
Leave A Reply