Reply
Thread Tools
Posts: 6 | Thanked: 0 times | Joined on Apr 2007
#11
Originally Posted by SeRi@lDiE View Post
You are wrong the PROBLEM IS the BLACKBERRY... Is a security feature on the BB... It wont let you pare with surten devices... It was implemented after the bluetooth hack "Bluejacking".
I don't believe this is correct.

The Pearl can pair with Macs, and apparently with Windows.

This thread on the Blackberryforums site seems to give a hint that the Pearl has multiple responses, and only the last one exposes the data profile. I'm unsure if that is BT or USB only though.

There are also reports on these forums of the Pearl working with the Nokia N800 tablet, which is the successor to the 770, and possible a 770.

So it seems definitely possible.

In my case, I have the devices paired fine, but I can't get the 770 to see a data connection on the Pearl. I'm on T-Mobile, and using the latest Pearl OS along with OS2006 on my 770.

Last edited by jahf; 2007-04-25 at 05:43.
 
Posts: 6 | Thanked: 0 times | Joined on Apr 2007
#12
I'm going to post my braindump on the status of this.

... Summary:
I have my 770 using the Pearl as a GPRS modem now. Its not pretty, requires a fair amount of mucking around, and the system is so unbearably slow its not worth using for Maemo-Mapper at the moment (which was my only real need).


... Details and notes:

* I'll included all my configuration files and commands to execute at the bottom of this.

* The first definite help I found was this post combined with this blog. Most of the stuff below is a compilation of those 2 threads.

* I don't claim to know much about pppd ... I hadn't had to mess with it before this week (been lucky with having broadband for a decade+).

* I've found the launcher screen applet "IpHome" to be essential ... it dynamically lets you cycle through your currently active interfaces and see how much data they've transferred.

* I can get the connection up and running fairly solidly. It will stay connected for hours. But after the first minute the transfer rate crawls to 1-2K/minute, and many xfers seem to simply stall out after 30-50K. This means that Maemo-Mapper will timeout on pretty much -any- image (I think out of 20+ attempts I've successfully downloaded a map twice, both times within the first minute of the connection).

* Its possible that tuning the pppd parameters could fix this. I don't think so though. I tried nearly every parameter I could find, including playing with lots of compression settings. I also made sure to run it without debugging mode nor verbose mode to make sure I wasn't bogging down the local system.

* I think the core problem is the "wap.voicestream.com" gateway. Its congested and does everything in its power to throttle long connections. I'm betting if I had access to the "internet2" or "internet3" gateways, much of these problems would disappear. However I can't access them (I tried quite a few combinations). I very much hope to be proven wrong.

* The file names below aren't critical. I've made them descriptive for my brain, but you can change them (you'll need to modify things accordingly). The locations are key however.

* The commands are just the bare minimum to get the link up and running. I've not made anything more grandiose than this and won't until I find a way to make the connection worthy. I'm pretty sure that either the ip-up/ip-down scripts or some hook into the DBUS messages could help automate the connection process.

* I do wonder if this could be mitigated some by having maemo-mapper only download 1 map at a time (I'm not sure, it may already do this, but if it opens multiple downloads as threads then its definitely not helping, as many gprs services limit the number of connections) as well as saving partial downloads and using curl's "resume" feature. I'm not blaming Maemo-Mapper here, just pondering if it could help the gimpy gprs connection along.

* The following is based on a T-Mobile USA configuration. Your mileage may vary even on T-Mobile, especially with the DNS configuration. While you have gprs running you can look in /tmp for an alternate resolv.conf file to see if that helps you. Other locations and providers will need to have things edited for sure.


... Configuration files to create:

<file=/etc/bluetooth/rfcomm.conf>
rfcomm0
{
device 00:11:22:33:44:55;
channel 1;
}
</file>

<file=/etc/chatscripts/rim8100-gprs-chat>
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
# modeminit
'' ATZ
'' AT&F&C1S0=0+IFC=3,1
# T-Mobile in Germany
#OK 'AT+CGDCONT=1,"IP","internet.t-d1.de"'
# Cingular, maybe, in the U.S. using WAP plans (limited)
#OK 'AT+CGDCONT=1,"IP","proxy"'
# T-Mobile in the U.S. using WAP plans (limited)
OK 'AT+CGDCONT=1,"IP","wap.voicestream.com"'
# T-Mobile in the U.S. using unlimited Internet
#OK 'AT+CGDCONT=1,"IP","internet2.voicestream.com"'
# T-Mobile in the U.S. using unlimited Internet
#OK 'AT+CGDCONT=1,"IP","internet3.voicestream.com"'
# ispnumber
# OK-AT-OK "ATDT*99#"
OK 'ATDT*99***1#'
# ispconnect
CONNECT \d\c
</file>

<file=/etc/ppp/peers/rim8100-gprs-ppp4>
# see http://www.die.net/doc/linux/man/man8/pppd.8.html to explain most of these parameters
# uncomment the next 2 lines if trying to diagnose the connection from a command-line
#debug
#nodetach
/dev/rfcomm0
460800
#230400
#115200
#57600
# following is the name of the script we use to connect,
# you may need to edit it to connect to T-Mobile outside of the U.S.
# and will definitely need to change it for other carriers
connect "/usr/sbin/chat -f /etc/chatscripts/rim8100-gprs-chat"
defaultroute
ipcp-restart 10
ipparam bt
lcp-echo-interval 0
lcp-echo-failure 0
local
mtu 16384
noaccomp
noauth
#bsdcomp 15
#nobsdcomp
#nocrtscts
noipdefault
#nomagic
#nopcomp
novj
novjccomp
remotename bt
# usepeerdns doesn't seem to work, so we'll also copy a resolv.conf file
usepeerdns
user "guest"
</file>

<file=/etc/ppp/pap-secrets>
#
# /etc/ppp/pap-secrets
#
# This is a pap-secrets file to be used with the AUTO_PPP function of
# mgetty. mgetty-0.99 is preconfigured to startup pppd with the login option
# which will cause pppd to consult /etc/passwd (and /etc/shadow in turn)
# after a user has passed this file. Don't be disturbed therfore by the fact
# that this file defines logins with any password for users. /etc/passwd
# (again, /etc/shadow, too) will catch passwd mismatches.
#
# This file should block ALL users that should not be able to do AUTO_PPP.
# AUTO_PPP bypasses the usual login program so its necessary to list all
# system userids with regular passwords here.
#
# ATTENTION: The definitions here can allow users to login without a
# password if you don't use the login option of pppd! The mgetty Debian
# package already provides this option; make sure you don't change that.

# INBOUND connections

# Every regular user can use PPP and has to use passwords from /etc/passwd
* hostname "" *

# UserIDs that cannot use PPP at all. Check your /etc/passwd and add any
# other accounts that should not be able to use pppd!
guest hostname "*" -
master hostname "*" -
root hostname "*" -
support hostname "*" -
stats hostname "*" -

# OUTBOUND connections

# Here you should add your userid password to connect to your providers via
# PAP. The * means that the password is to be used for ANY host you connect
# to. Thus you do not have to worry about the foreign machine name. Just
# replace password with your password.
# If you have different providers with different passwords then you better
# remove the following line.

# * password

# for internet.t-d1.de
"t-d1" bt "t-d1"
# for wap.voicestream.com
"guest" bt "guest"
</file>

<file=/root/start-gprs>
#!/bin/sh
# uncomment the following to play with your kernel's tcp options,
# but nothing here seemed to help me
#echo 0 > /proc/sys/net/ipv4/tcp_timestamps
#echo 1 > /proc/sys/net/ipv4/tcp_sack
#echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
#echo 256960 > /proc/sys/net/core/rmem_max
#echo 256960 > /proc/sys/net/core/rmem_default
#echo 256960 > /proc/sys/net/core/wmem_max
#echo 256960 > /proc/sys/net/core/wmem_default

cp /etc/resolv.conf.ppp0 /etc/resolv.conf

/usr/bin/rfcomm release rfcomm0
/usr/bin/rfcomm bind rfcomm0
pon rim8100-gprs-ppp4
</file>

<file=/root/stop-gprs>
#!/bin/sh
poff
rfcomm release rfcomm0
cp /etc/resolv.conf.it2006 /etc/resolv.conf
</file>

<file=/etc/resolv.conf.ppp0>
nameserver 66.94.9.120
nameserver 66.94.25.120
</file>

<file=/etc/resolv.conf.it2006>
nameserver 127.0.0.1
</file>

... Commands to execute:

# become root
`sudo gainroot` # will need this every time

# you only need to do this once:
`hcitool scan`
# place the MAC of your Pearl after "device" in rfcomm.conf above

# you only need to do this once:
`gconftool -s -t string /system/osso/connectivity/IAP/DEFAULT/type DUMMY`
# that will create a network connection called DUMMY.
# use that whenever prompted to connect to a network while gprs is on.
# don't use a different connection (like 802.11) while working with this.

# move to our home directory, where the start/stop scripts are
`cd`
# from now on you should be able to use the start-gprs and stop-gprs scripts
# as well as dissect them for further steps.
`./start-gprs`
`./stop-gprs`

# other commands that may be helpful
`/etc/init.d/bluez-utils stop` # stop the bluetooth subsystem
`/etc/init.d/bluez-utils start` # start the bluetooth subsystem
`/etc/init.d/bluez-utils stop` # restart (stop+start) the bluetooth subsystem
`rfcomm release rfcomm0` # unbind the rfcomm0 device
`rfcomm bind rfcomm0` # bind the rfcomm0 device so we can use it as a modem
`ps aux | grep ppp` # make sure pppd is running and what its process # is


PS. I had hoped to test the gprs using another phone (a motorola Razr v3, with my SIM card inserted) but the 770 didn't want to connect to it (it created a profile, paired, but got errors while connecting) and I didn't feel like dealing with it anymore right now. It "felt" like a simple script thing but meh

PS2. I don't have cellular access at my house, so I only get to work on this when I'm away. Post any significant ideas and I'll try to get the time to follow up on them as much as I can.

Last edited by jahf; 2007-05-02 at 03:21.
 
iball's Avatar
Posts: 729 | Thanked: 19 times | Joined on Mar 2007
#13
RIM has built their own encrypted bluetooth stack for use with their smartcard bluetooth sled. They sent the whole thing off to get it "certified" for use by the U.S. government (read: military) and it passed. Pretty much every U.S. general you see on TV has one of these things, not that they actually use it themselves, their "assistant" uses it for them which is why you never see them with it.
I've used that sled before on another job and it's a pretty neat hack. It allows for PKI encryption/decryption of emails on-the-fly based upon certs stored on the chip on the smartcard. And since we were running our own CrackBerry Server, emails never passed through RIM's servers at all.
Folks in congress use CrackBerries all the time but they do NOT have access to the encrypted BT smartcard sled at all. Only the U.S. military can get that particular piece of gear at moment. I think RIM is going to push out an unencrypted version soon for the general public (read: large businesses) but don't quote me on that.
Don't know if that has anything to do with your problem, but there's the backstory on RIM and bluetooth. Also, there is an application out there that allows one ot load up almost any java-based app on their blackberry but that's locked down and stored at RIM. I was sent a copy of it years ago for testing and it worked great, but I deleted in accordance with the NDA once testing was done.
 
Posts: 1 | Thanked: 0 times | Joined on Jul 2007
#14
I dont think thats the problem either. I have a cingular 8525.
I use it to connect my laptop via bluetooth for internet access and it works fine. The 770 gives me the same error. I know its not locked down and it offers all the necessary services. Any suggestions?
 
Reply


 
Forum Jump


All times are GMT. The time now is 18:06.