BlackBerry Forums Support Community               

Closed Thread
 
LinkBack Thread Tools
Old 07-25-2007, 01:18 PM   #1 (permalink)
Knows Where the Search Button Is
 
Join Date: Jul 2005
Model: 8820
Carrier: T-Mobile
Posts: 29
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default 7290 GPRS modem over USB on Linux: Success

Please Login to Remove!

I've spent a long time trying things that didn't work, so here's a summary of what I DID finally get to work. My provider is T-Mobile; you will need to change appropriate settings if yours is not (the APN and maybe the username/password).
  1. Download and install OpenMotif 2.3. Version 2.2 will not do, and neither will lesstif.
  2. Get the latest XmBlackBerry source from CVS. The released version 0.1.0 did not work for me. Compile and install.
  3. Run XmBlackBerry. It should report a device /dev/pts/NNN where it has connected the modem.
  4. Put this device in your pppd configuration file, along with other options (example below)
  5. Bring up ppp by typing "pppd call [connection name]", or in my case "pppd call blackberry". You can also use the "pon" wrapper if you prefer.

Here is my full pppd config file, installed in /etc/ppp/peers/blackberry, including some options which are probably not relevant:

Code:
debug debug debug
nodetach
/dev/pts/6
115200
connect "/usr/sbin/chat -f /etc/chatscripts/blackberry-chat"
nomultilink
defaultroute
noipdefault
ipcp-restart 7
ipcp-accept-local
ipcp-accept-remote
modem
noauth
nocrtscts
noipdefault
novj # refused anyway, no point in trying every time
usepeerdns
user "blank"
password "blank"
here is my chat script, /etc/chatscripts/blackberry, including some options which probably have no effect. You might try with just the CGDCONT and ATDT to start with. It's important to keep the command to abort on "ERROR", not part of many default scripts, because this is the return code I get if the dial fails (such as if there is no GPRS connection)

Code:
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED ABORT ERROR
SAY "Initializing\n"
'' ATZ
OK ATE0V1
OK 'AT+CGDCONT=1,"IP","wap.voicestream.com"'
OK 'ATS0=0'
SAY "Dialing\n"
OK 'ATDT*99***1#'
CONNECT \c
Other Notes
  • I found that I did not need the FLAG fixup code in XmBlackBerry; I changed the "#if 1" to an "#if 0" in serdata.c to remove it. I also set option "flag_time=0" on the ppp_async module.
  • I hacked XmBlackBerry to create a symlink to /dev/blackberry from whatever /dev/pts/ file it opened, since copying it manually seemed like it would get old fast.
  • Once you have it working reliably, you can take out the "debug" and "nodetach" options, and have pppd run in the background.
  • Kernels used were 2.6.17 and 2.6.22, with identical results on both.
  • Transfer rates were in the 30-60kbps range (remember this is not an EDGE device, so this is entirely within spec); latencies were 600-800 ms.

Possible Problems:
  • If you can talk to the modem, but get no reponse to PPP LCP frames, try updating your version of XmBlackBerry. I had this problem when I was using 0.1.0 instead of the CVS version. I have not looked in detail at what actually changed.
  • If you cannot negotiate PAP, it may be that you supplied a blank username and password to pppd. This is correct for t-mobile, but pppd interprets blank as "don't have any information" and therefore refuses to negotiate PAP authentication in the LCP phase. I found that I had to supply dummy values (I used "blank" and "blank"), which were then ignored, and allowed me to log in anyway. (I actually figured that out *after* compiling a custom pppd which would allow me to use blanks... so you can learn from my experience and not go there)
  • If you don't get DNS (for example, if you see "<ms-dns1 0.0.0.0>" instead of a server), make sure you have a good signal and try again. I found that this happened when the phone did not actually have a GPRS connection, but only GSM. (if it had had no connection at all, it would have returned ERROR instead of CONNECT after the dial command). With TMobile, the DNS server I get is always 66.94.25.120, but since not getting one seems to be symptomatic of a deeper problem, filling it in by hand probably won't help.
  • If you get occasional random disconnects and/or your blackberry reboots, I don't know. I still have this problem. I tried wiping and reinstalling the OS under Windows with the RIM tools, and that might have helped some, but I'm still having problems afterwards.

If you want it to work via Bluetooth, I think you're just SOL; from what I understand, the 4.1.x.x OS versions simply do not have the capability, and 4.2 probably will not be released for the 7000 devices.

I will update this post if I find errors or find better solutions to anything.

Last edited by tmelcon : 07-25-2007 at 02:53 PM.
Offline  
Closed Thread


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On





Copyright 2004-2014 BlackBerryForums.com.
The names RIM and BlackBerry are registered Trademarks of BlackBerry Inc.