Skip to content

Commit

Permalink
Make GPRS connections more reliable.
Browse files Browse the repository at this point in the history
I am glad to tell that i was able to find the reason of VERY unreliable
GPRS in qtmoko with enabled modem multiplexing. To catch the problem i
replaced /usr/sbin/pppd with the shell script doing nothing ("sleep
3000")  and connected with cu to the  allocated (by dialer) pty. Then i
found that modem buffer is not empty and this is the reason why chat
script fail. Anyway, i was able to use modem and dial numbers, process
AT commands, etc.

Then i decided to play with different terminal hacks on pty device,
without any luck. And after all i tried solution from one of the gprs
related articles: to add modem break sequnce and "hangup" command. And
it works! now gprs connects very reliable, with the same speed as on my
old nokia. My chat script now looks like:

neo:/usr/sbin# cat
/home/root/Applications/Network/chat/connect-dialup1273081844

"" "\K\K\K\d+++ATH"
OK-AT-OK ATZ
ABORT "NO CARRIER"
ABORT "NO DIALTONE"o
ABORT "BUSY"
"" AT+CGDCONT=1,"IP","data.vodafone.cz"
OK AT+CGATT=1
OK ATD*99***1

and i`m getting very reliable data connection most of the tries. Another
proposed modification is to add 2 timeouts to the chat script: first one
to init the modem (should be very short, like 5 seconds) and another one
real (from user settings) before ATD command. This will allow to avoid
hanging when the dialer is not able to init modem, but will not affect
slow ppp links on provider side.  For now everything works very stable,
but of course if i will touch configuration then chat script will be
lost. So, i`m asking to do patch to the qtopia. I hope that i will have
some time to install qtopia/x11 locally, so then i will be able to do
patches myself.
  • Loading branch information
samm-git authored and radekp committed Jul 2, 2010
1 parent 5ff579b commit f53832a
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/plugins/network/dialing/config.cpp
Expand Up @@ -340,9 +340,11 @@ int DialupUI::writeSystemFiles()

// write chat scripts
QString st;
st = "ABORT \"NO CARRIER\"\n" // No tr
st = "\"\" \"\\K\\K\\K\\d+++ATH\n" // No tr
"ABORT \"NO CARRIER\"\n" // No tr
"ABORT \"NO DIALTONE\"\n" // No tr
"ABORT \"BUSY\"\n" // No tr
"TIMEOUT 30 \n" // No tr
"\"\" "; // No tr

QString dial;
Expand Down

0 comments on commit f53832a

Please sign in to comment.