Welcome to Esato.com




Problems using p990i as a modem over USB in Linux


Click to view updated thread with images




Posted by ayqazi
Hi,

I've managed to use my p990i to connect to the data gsm network (which I hope is also using 3G since it's 460kbps) using the instructions provided here: http://www.esato.com/board/viewtopic.php?topic=139599&forum=35

Now I wanna do it on Linux.

Having checked the p990i modem log on Windows, I managed to setup the following files for pppd:

File /etc/ppp/peers/p990i

/dev/ttyACM1
noauth
connect "/usr/sbin/chat -v -f /etc/ppp/peers/p990i.chat -T '*99#'"
debug
nodetach
lock
defaultroute
noaccomp
nobsdcomp
noccp
nodeflate
nopcomp
novj
novjccomp
child-timeout 30
maxfail 0
persist
holdoff 5
lcp-echo-interval 30
lcp-echo-failure 4
ipcp-accept-local
ipcp-accept-remote
noipx
nodeflate


and file /etc/ppp/peers/p990i.chat:

'TIMEOUT' '5'
'' 'AT&FX1E0V1&D2&C1S0=0'
'OK' 'ATS7=50'
'OK' 'ATDTT'
'TIMEOUT' '60'
'CONNECT' ''
'TIMEOUT' '5'
'~--' ''


(I got the two AT lines from the Windows modem log).

Now, when I try to use 'pppd call p990i', here's what I get from pppd:

$ pppd call p990i
Serial connection established.
using channel 38
Using interface ppp0
Connect: ppp0 <--> /dev/ttyACM1
sent [LCP ConfReq id=0x1 ]
rcvd [LCP ConfReq id=0x2 ]
No auth is possible
sent [LCP ConfRej id=0x2 ]
rcvd [LCP ConfAck id=0x1 ]
rcvd [LCP ConfReq id=0x3 ]
sent [LCP ConfAck id=0x3 ]
sent [LCP EchoReq id=0x0 magic=0xe6004de6]
sent [IPCP ConfReq id=0x1 ]
rcvd [LCP EchoRep id=0x0 magic=0xbe689402]
rcvd [LCP TermReq id=0x1]
LCP terminated by peer
sent [LCP TermAck id=0x1]
Modem hangup
Connection terminated.
Serial connection established.
using channel 39
Using interface ppp0
Connect: ppp0 <--> /dev/ttyACM1
sent [LCP ConfReq id=0x2 ]
rcvd [LCP ConfReq id=0x2 ]
No auth is possible
sent [LCP ConfRej id=0x2 ]
rcvd [LCP ConfAck id=0x2 ]
rcvd [LCP ConfReq id=0x3 ]
sent [LCP ConfAck id=0x3 ]
sent [LCP EchoReq id=0x0 magic=0xc01beb16]
sent [IPCP ConfReq id=0x2 ]
rcvd [LCP EchoRep id=0x0 magic=0x5faf13a9]
rcvd [LCP TermReq id=0x1]
LCP terminated by peer
sent [LCP TermAck id=0x1]
Modem hangup
Connection terminated.
Terminating on signal 2

(I CTRL-C'ed it)

Anybody Linux users have any clues as to what's going on?

Thanks

[ This Message was edited by: ayqazi on 2007-04-05 22:42 ]

Posted by aatuif
No takers for linux ?

Posted by thnov
Hello!

I have a successful setup with my provider in Sweden, Telia. It worked fine with my old provider Tele2 aswell. The only problem for me is that I only get GPRS speed and not 3G.

But here the scripts are:

/etc/ppp/peers$ cat 3g_usb
# 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,
connect /etc/ppp/peers/3g-connect-chat

# Disconnect script:
# AT commands used to 'hangup' the GPRS connection.
disconnect /etc/ppp/peers/3g-disconnect-chat

# Serial device to which the GPRS phone is connected:
/dev/ttyACM1

# Serial port line speed
230400 # fast enough

# 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

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

# 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

# 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 "none"
#password 123456

mru 1500
mtu 1500

/etc/ppp/peers$ cat 3g-connect-chat
#!/bin/bash
#
# $Id: gprs-connect-chat,v 1.2 2004/02/02 23:19:28 mcfrisk Exp $
#
# File:
# gprs-connect-chat
#
# Description:
# chat script to open Saunalahti's GPRS service with GPRS phones. If ppp
# negotiation stalls, try restarting the phone. To try with other GPRS
# operator setting, change the PDP contex setting. The settings work with
# most Ericsson models, but Nokia 8310 and 30 do not support QoS parameters
# with AT commands, so just delete those lines and it'll work.
#
# Set PDP context CID=1, protocol=IP, APN=internet:
# AT+CGDCONT=1,"IP","internet","",0,0
#
# Set CID=1 QoS requirements from the network, not supported by Nokia:
# AT+CGQREQ=1,0,0,0,0,0
#
# Set CID=1 minimum acceptable QoS parameters, not supported by Nokia:
# AT+CGQMIN=1,0,0,0,0,0
#
# 'Call' CID=1 (activate PDP context one, perform GPRS attach):
# ATD*99***1#
#
# Some phones like the Orange SPV (yes, the Microsoft Smartphone) use this
# dial string to start GPRS connection:
# ATD*99#
#
# The actual chat script:
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","online.telia.se","",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"

/etc/ppp/peers$ cat 3g-disconnect-chat
#!/bin/sh
#
# File:
# gprs-disconnect-chat
#
# send break
exec /usr/sbin/chat -V -s -S \
ABORT "BUSY" \
ABORT "ERROR" \
ABORT "NO DIALTONE" \
SAY "\nSending break to the modem\n" \
"" "\K" \
"" "+++ATH" \
SAY "\nPDP context detached\n"

----

To connect:

sudo pppd connect 3g_usb

To disconnect, just press ctrl-c.

IIRC these scripts came from some of the links below:

http://devel.reinikainen.net/content/view/48/40/
http://www.2nrds.com/using-nokia-s60-devices-as-modems-in-linux
http://kapsi.fi/~mcfrisk/linux_gprs.html


Click to view updated thread with images


© Esato.com - From the Esato mobile phone discussion forum