advantedgecomputing.com / opensource /

HOWTO: Sony Ericsson GC83 on Linux

From the standpoint of installation, the GC83 is quite similar to the GC82. One nice difference (in my experience) is that the GC83 doesn't have the problem with a 127.0.0.2 address scheme. This means that with a GC83, it shouldn't be necessary to hack and re-compile the PPP dialer. However, I plan to extend these instructions to include GC82 users.

Onward. I used Gentoo Linux with a 2.4 kernel. Your mileage may vary. If you discover a difference in your distro, feel free to submit your suggestions to opensource@advantedgecomputing.com.

Step 1: Enabling kernel support

1. Enable the following in your kernel:
	<M> PPP (point-to-point protocol) support
	<M> PPP support for async serial ports
2. Re-compile your kernel; in gentoo w/2.4 kernel:
# cd /usr/src/linux
# make dep && make bzImage modules modules_install
3. Enable kernel pcmcia support. Anyone care to suggest specific steps? Please e-mail me if so.

Step 2: Enabling pcmcia support

Note: You can skip this step if you enabled kernel pcmcia support.

1. In gentoo, as root:
# emerge -va pcmcia-cs
continue if you are satisfied with the dependencies and use flags

2. other distro: get pcmcia-cs from http://pcmcia-cs.sourceforge.net

Step 3: Get PPP

1. In gentoo, as root:
# emerge -va ppp
continue if you are satisfied with the dependencies and use flags

2. other distro: get ppp from http://www.samba.org/ppp

3. know how to use kppp or gnome-ppp for this? E-mail me so I can add it to this page.

Step 4: Get screen

Note: this step is optional, but I found the screen window manager very helpful because it goes hand-in-hand with the nodetach function which aids in re-dialing when disconnected, and it helped me a lot in debugging too. If you skip this step, you may prefer to remove or comment out 'nodetach' in the peers file so that you don't need to keep switching terminals.

1. In gentoo, as root:
# emerge -va screen
continue if you are satisfied with the dependencies and use flags

2. other distro: get screen from http://www.gnu.org/software/screen

Step 5a: Download the chat and peers files

1. Peers file: cingular
Copy this file to /etc/ppp/peers

2. Chat file: chat-gc83
Copy this file to /etc/ppp

OR use Step 5b

Step 5b: Copy and paste the following code into the respective files

1. Peers file /etc/ppp/peers/cingular:
# Script source:  http://advantedgecomputing.com/opensource/gc83linux.html
# Assembled by advantEDGE opensource - e-mail: opensource@advantedgecomputing.com
# Feel free to e-mail us with questions, comments or suggestions.

# If you have a GC82, try uncommenting before hacking and recompiling pppd!
#192.168.201.1:			# forces IP address (enable for GC82 only)

# information about your device
/dev/ttyS2			# device file assigned to GC8x modem
230400				# pcmcia negotiation speed
#115200				# slower negotiation speed

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

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

# -----------------------------------------------------------------
# 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/chat-gc83'
2. Chat file /etc/ppp/chat-gc83:
# Script source:  http://advantedgecomputing.com/opensource/gc83linux.html
# Assembled by advantEDGE opensource - e-mail: opensource@advantedgecomputing.com
# Feel free to e-mail us with questions, comments or suggestions.
# 
SAY 'Starting GPRS 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
#TIMEOUT 40
# ----------------------------------------------

# Additional initialization (optional) ---------
# /begin att
OK AT&F&D2&C1E0V1S0=0
OK AT+IFC=2,2
OK ATS0=0
OK AT
OK AT&F&D2&C1E0V1S0=0
OK AT+IFC=2,2	
# /end att
#AT&FE0S0=0
#AT&F0&D2+IFC=2,2V1Q0XIS0=0S7=50+CMEE=1

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

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"'
OK     'AT+CGDCONT=2,"IP","isp.cingular"'

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


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

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

Step 6: Test drive!

1a. If you have the screen window manager installed, type:
# screen
1b. Type:
# pppd call cingular
file not found? Try:
# /usr/sbin/pppd call cingular
Still no luck? Locate pppd using the slocate or find command and run it using the full path. The above downloadable peers file enables debugging, so you can e-mail me with your verbose output if you don't connect. I run a tight schedule, but I will get to you as soon as possible.

Step 7: Check to see if it worked

1a. If you installed the screen window manager and are inside a screen session, press CTRL+A, then d to detach the screen. If you don't have screen, use CTRL-ALT-F2, F3, etc. to go to a different terminal.

2. As root, type:
# ifconfig
You should see IP address info for ppp0 or a similar PPP connection. If you do, then proceed.

3. ping an IP address on the internet

4. ping a site

Step 8: You're done!

If you've made it this far, you may now run your internet apps and/or open your GUI if you haven't already. I recommend using Firefox and increasing your cache size since cellular internet isn't exactly blazing fast.

Questions? Comments? Want to add to these instructions? E-mail me at opensource@advantedgecomputing.com.

Legal stuff: This information is provided as-is, free-of-charge, and without any warranties expressed or implied.

In English: I can't guarantee that I'll get this working for you. I'm here to help; I can and will do my best to. But there are many different distros, patches, and hardware revisions out there.



Acknowledgements/Sources:

Raffi from forums.gentoo.org and his posts in the Wireless Modem Thread
jxself from forums.cingular.com
liverdonor from developerboards.attwireless.com and his post.




<-- back to Open Source Projects
<-- back to Homepage



GC83LINUX 1.3 Rev 2; 3/5/05