Cingular 3G HSDPA howto (sort of)

How to do things, solutions, recipes, tutorials
Post Reply
Message
Author
Mikrodots
Posts: 29
Joined: Fri 31 Mar 2006, 19:59
Location: Boston, MA USA
Contact:

Cingular 3G HSDPA howto (sort of)

#1 Post by Mikrodots »

Cingular 3G/HSDPA connection using Sierra AC 860 on Puppy Linux how-to (rough draft)

by Mike Doherty AKA Mikrodots
md AT mikrodots.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. I am not an expert in Linux of any flavor; not exactly a newbie but not far from it. This is a rough draft of what I hope becomes a real How-To. This is my first attempt at a 'How-To' and I would appreciate constructive comments and expert input and no flames. The scrips are rough and some items may be not be needed or may be detrimental. I'm looking for the experts to help me out here. So here goes...

System Details:
Puppy Linux 1.0.8 (Flash Pup)
Sierra Aircard 860
Cingular Wireless 3G service (United States)
Averatec 1000 Series Laptop: Pentium M 1.7G Proc, 512MB RAM, no HDD, SANDisk Cruzer Micro 256MB USB Flash drive

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
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.

Download the Linux driver here http://www.sierrawireless.com/software/ ... nux.tar.gz and extract it.

Copy the file SW_8xx_SER.dat in this archive in /etc/pcmcia/cis/ (don't use the other files)

Insert the Sierra AC 860

Run cardctrl ident in a terminal window

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: 0x0192, 0x0710 function: 6 (network)

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 0x0192, 0x0710
cis "cis/SW_8xx_SER.dat"
bind "serial_cs"

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

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
#NOTE: this should work but I've needed to run this from a terminal window.
#I put it in there but I didn't get the speed boost until I ran it again

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"

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/opensour ... inux.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 ' '

# ---------------------------------------------


Ping something on the web to see if you are connected.
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/su ... B=26&FC=-1

The AC 760 generic instructions have a bit more info:
http://mycusthelp.com/sierrawireless/su ... B=23&FC=-1

Helpful Links
http://forum.stompboxnetworks.com/viewtopic.php?t=114&
http://www.murga.org/~puppy/viewtopic.p ... ht=cardmgr
http://www.mnsoft.org/319.0.html
http://mybroadband.co.za/vb/showthread. ... e3&t=21726

I will add more links later...
Last edited by Mikrodots on Mon 03 Jul 2006, 19:12, edited 2 times in total.

Mikrodots
Posts: 29
Joined: Fri 31 Mar 2006, 19:59
Location: Boston, MA USA
Contact:

Forgot the connection part

#2 Post by Mikrodots »

Type pppd call mike to get the connection running.

Post Reply