GnuBox on SonyEricsson P80x/P90x/P910
and Nokia Series60 phones
Share your computer's internet access to the phone via bluetooth or USB
Last update: page: 2006 march 01. Application: 2005 jan 02. (v1 for UIQ), 2006 mar 30 (v1.1 beta3 for Nokia) source 2007-01-31 (v1.1 beta4 for Nokia 7710)
Quick jump: Is it free? Nokia phones History Changes Download Donation Support Usage Status and usage for Nokia phones FAQ Troubleshooting Bugs Acknowledgement Links
This readme was written by -xan- (email in the no support section), in
a very short time, but it is over 8500 words. Thus you will find
numerous typos in it, if you just cut&paste them in an email,
that will help improve the document.
What is this?
This is a GnuBox running on P800, P900, P910, and (almost) all Nokia
Series60 phones.
This is a small software for your cell phone with which you can create
a new Internet Connection (internet access point, connection profile,
whatever you call it) on the phone. If you use this connection, the
phone does not dial or connect to GPRS, but uses bluetooth (or the USB
cradle) to connect to your PC. Thus you will be able to surf the
web, download software/data/email/whatever you like without
paying any fee to your operator.
Why?
See the FAQ question Why would you need internet
connection on the phone when you are right next to a PC with large display and
internet connection?
How?
All the software needed for the internet connection sharing via
bluetooth is already there on your phone when you buy it. Only the
user interface (the connection settings dialogs) are designed so that
you are not able to utilize them in this way and need to pay for the
data services of your operator.
By changing the settings using GnuBox, you can plug the existing
modules of the operating system together in such a way that it 'dials'
the internet using a bluetooth connection to your machine.
There is a central database in Symbian smartphones named CommsDb, that
holds all the settings for internet and wap access points, locations
and modems that are set up for use by the Symbian OS. Modems, including
the phone itself. This is what we change: the data modem used for
dial-out internet connection will not be the phone itself, but an
'externally attached modem' (via bluetooth) that will just be emulated
by your PC.
This way you only need to change the settings once, and
for them to work, GnuBox does not need to be running. Thus you can
exit GnuBox or even restart the phone and use your new connection just
as any other one you configured once.
Is it free?
Yes, it is. The program is free, under GPL, you can download the
binary or the source for free. You can read the following
documentation and step-by-step usage for free.
I have a lot of work in what you see, read now and will possibly use
later. If you think it was worth the effort, you can acknowledge on
the forum, send me postcards, or donate. But you do not have to.
I have a Nokia 6600, 7610, etc. phone!
The v1.1 beta version of GnuBox has support for many Nokia phones.
Go to this question in the FAQ.
History
- Once upon a time there was a version in the OpenSource projects
on symbianos.org. cvs (developed by Mal Minhas): http://www.symbianos.org/cgi-bin/viewcvs.cgi/gnubox/.
This was designed for Symbian OS 6.1 on older Series 60 devices.
- The cvs version was modified by Mika Raento http://www.cs.helsinki.fi/u/mraento/symbian/bt-ap.html
to work on Symbian Series60V2
- Both the old and the new version was ported to UIQ by Izak
Burger. The application was running on the UIQ devices, but not
working.
- I (-xan-) started from his code, and changed a
lot of things.
- The high demand for GnuBox on later Series60 phones encouraged me
to try and backport my changes to Series60. This has resulted in the
v1.1 beta version that you can find here.
Changes
- the nokia modem name was changed to something meaningful on my
P910i (Null Modem 115200bps) (you can change it in gnuboxPhone.h)
- a new Debug submenu was added with options that allow a text dump
of the CommsDb. The code was taken from Mika's homepage (and heavily
modified for a really full dump). This was extended with interfaces,
routes and CommPort dump.
- a new menu option that allows to change the modem used for data
and fax services. This works around the problem of lost SMS
functionality after using gnubox.
- All the actual settings were moved to a separate source file (for
easy 'porting' of the application to a new device). This eliminated
all the huge and ugly 'switch'es in the source.
- Bluetooth discovery and device selection was rewritten because it
hanged the app most of the time (except after a fresh reboot).
- The bluetooth commport setting was commented out for some
reason. (Thus device selection had no effect at all.) I encountered
some errors, but managed to put it back in operation.
- Restructured the 2box menus to reflect the meaningful options on
UIQ and the extended bluetooth discovery functionality.
- Added support for Cable connection. (USB cradle, DSS SyncStation).
- Of course the core was adapted to suit the needs of SonyEricsson
P800/900 devices. :)
A full history of my changes is here. Reading
through the log will give you many details about why Mika's version
did not work on the UIQ (apart from the porting by Izak Burger).
Download
Sources
|
|
Version 1.0 for UIQ |
2005-01-02 |
gnubox_mika_xan_hacked.tar.gz
|
|
Version 1.1 beta for UIQ and Series60 |
2005-04-11 |
gnubox_v11beta2.tar.gz |
|
Version 1.1 beta3 for UIQ and Series60 |
2006-03-01 |
gnubox_v11beta3.tar.gz (Update: compilation problems due to missing file.) |
|
Version 1.1 beta4 for UIQ, S60 and S90 |
2007-01-31 |
gnubox_v11beta4.tar.gz |
Binaries |
UIQ phones |
| SonyEricsson P800 | 2005-01-02 |
gnubox_p800.sis |
v1.0, working (stable) |
| SonyEricsson P900 | 2005-01-02 |
gnubox_p900.sis |
v1.0, working (stable) |
| SonyEricsson P910 | 2005-01-02 |
gnubox_p910.sis |
v1.0, working (stable) |
| Motorola A920 | 2005-04-11 |
gnubox_A920.sis |
v1.1 beta, unnecessary |
| Motorola A925 | 2005-04-11 |
gnubox_A925.sis |
v1.1 beta, unnecessary |
| Motorola A1000 | 2005-04-11 |
gnubox_A1000.sis |
v1.1 beta, no feedback yet, maybe unnecessary |
Series60 phones |
Series60 v1, v2 |
| Nokia 3600: (unnecessary?) |
| Nokia 3650, N-Gage, N-Gage QD: see the cvs attic (links) or Google for it. |
| Nokia 6600, 7650: go to Mika Raento's page (links). |
Series60 v2 feature pack 1 |
| Nokia 3230 | 2005-04-11 |
gnubox_3230.sis |
v1.1 beta, working |
| Nokia 6260 | 2005-04-11 |
gnubox_6260.sis |
v1.1 beta, working |
| Nokia 6620 | 2005-04-11 |
gnubox_6620.sis |
v1.1 beta, working |
| Nokia 6670 | 2005-04-11 |
gnubox_6670.sis |
v1.1 beta, working |
| Nokia 7610 | 2005-04-11 |
gnubox_7610.sis |
v1.1 beta, working |
Series60 v2 feature pack 2 |
| Nokia 6630, 6680, 6681 | 2006-03-25 |
testing/ |
v1.1 beta3, working (RC state) |
| Nokia 6682 | 2005-10-17 |
gnubox_6682.sis |
v1.1 beta, working |
Series60 v2 feature pack 3 |
| Nokia N70 | 2005-11-06 |
testing/ |
v1.1 beta3, promising inital results |
| Nokia N90 | 2005-11-06 |
testing/ |
v1.1 beta3, no feedback yet |
Series90 phones |
| Nokia 7710 | 2006-03-30 |
testing/ |
v1.1 beta4, promising inital results |
Everything is under GPL, so no warranty, use at your own risk, backup
your phone, etc. It may or may not work at all. But I'll keep you
updated here or somewhere else.
Make sure you follow the usage instructions!
Please note that I use an uncommon toolchain to build the
application. The build method uses GNU make under cygwin and calls
some of the tools in the SDK. If you want to build it yourself, have a
look at src/rules.make, adjust directories, or adapt it to your
favourite build method. Also keep in mind that a single source tree is
used to build the above variety of binaries, this makes life a bit
difficult. The phone-dependant stuff is mostly relocated into gnuboxPhone.{cpp,h}.
Donations
I have worked a lot on delivering GnuBox to you all.
I started working on it for my own phone (SE P910i), and hacked it to
work 2004-12-28. It's been working for me ever since then.
Everything I did afterwards was for the community - including you - to
benefit from my expertise in Symbian smartphones.
In particular, creating GnuBox for newer Series60 devices was
absolutely for no use for me, as I have never had a series60 device in
my hands. This was indeed quite a bit of a challenge. Thanks for those
supportive fans who have pre-alpha tested the code I did, we
succeeded, and you can enjoy the result. If you use GnuBox on a Nokia
3230,6260,6620,6670,7610,6630,6680,6681,6682, or Siemens SX1 device,
then for sure you fall in this category.
I also created a huge repository of knowledge about GnuBox on my
homepage, and on the forum. I have typed kind-of-an entire
book to share my knowledge.
I posted over 800 messages to the forum so far, to help for those who
got stranded somewhere in the not-so-easy installation of GnuBox.
You save quite some money with using GnuBox instead of the GPRS network.
GnuBox is free, and will always remain free.
However, if you appreciate my efforts in developing, enhancing and
supporting GnuBox for you, you can express it by donating $5 to
$25 (or EUR 4 to 20) via PayPal to
(pp21 xan dnsalias org, add @ into the forst space, dots in the rest).
Alternatively, you can click directly on the link below:
If enough donations accumulate, I can have a chance to buy a
particular phone and implement GnuBox on it. There are always people
wanting to use GnuBox on a (yet) unsupported phone. Of course you may
donate a device itself if you so badly want GnuBox to run on it :)
Supporters of GnuBox
- Carlo Beccaria
- Zachary Whitley
- I_M
Support
There is NO support. And NO WARRANTY. You use the software and any
instructions you found here or posted by me at forums AT YOUR OWN
RISK.
However, you can ask questions or post success stories on the the
symbianos.org forum: this
board. This forum is meant to be the primary discussion place
for GnuBox. If you participate in other forums, please direct
people asking questions about GnuBox to this forum.
You can email me: xan- index hu (the address includes the -
sign, add @ and . at the respective places.). But much better post to
the Symbian forum. I will not answer any question in email that is
not private and could have been posted to the forum.
Please POST SUCCESS stories into the forum.
Also make sure you watch the Announcements
thread on the forum!
Usage
There are tutorials written by enthusiastic GnuBox users. I am not
affiliated with the creators, have no influence on an take no
responsibility for the contents of them; the information contained may
or may not be correct or accurate.
- Windows and Nokia 6620/6670/6260/7610/3230, also for 6630/80/81, N70/N90. Widcomm or Bluesoleil bluetooth drivers. Screenshots.
- Gentoo linux and Nokia 6630/80/81 (also for 6682, N70, N90 with the appropriate GnuBox version)
- SonyEricsson P800/P900/P910: this page, just below.
- Nokia phones: also on this page, further down.
Entries noted with X mark steps that are
required for safety. I re-designed GnuBox so that it can undo most of
its changes. However it is advised that you do a full phone backup
before proceeding with the steps below. If you do the additional
safety steps then the information saved may help to diagnose any
serious problem that may arise.
The steps for SonyEricsson phones are simplified in several cases
compared to what you may have read on other pages concerning GnuBox on
Nokia phones. These simplifications are described in the FAQ section, and I attached an 'It's easier' link to
each step's description.
Setup instructions for SonyEricsson phones
- X Did I already mention full phone backup?
:)
- Create an internet connection named 'Bt' (without quotes). Set it
to CSD (circuit switched data or dial-up, i.e. _not_ GPRS). Set the
phone number to something that cannot be dialled.1. It's easier. It's easier.
- Install GnuBox.
- X Launch GnuBox and create a CommsDB dump
using the Debug->Dump Full CommsDB menu entry. The file appears as
commsdb.txt in the Media files\documents folder on your C: (internal
memory) drive. (Exact path is c:\documents\Media
files\document\commsdb.txt) You can download this file using the PC
suite. Save this file for your reference. It is not possible to
automatically restore the CommsDB from this dump, that's why the phone
backup.
- Launch GnuBox and click on `auto set modem ID' in the menu. Explanation.
- If you have used PC suite via bluetooth, then click on 2box
Bluetooth->Auto. It's easier. It's easier. If you haven't yet then go to the
Bluetooth setup part of this guide.
- Congratulations, you are ready! Set bluetooth to On (you do not
need discoverable). Set 'Bt' as the default internet connection in
your favorite application and enjoy fast&free browsing via
Bluetooth.2
Instructions for bluetooth
General instructions
You have to setup your computer to accept incoming connections for
'Serial port', 'LAN Access server', or 'Dial-up networking'
profile. Then setup a PPP server on that service, configure it for
internet connection sharing.
This (under windows) usually works by associating a virtual COM port
with one of these services. Then you should check that COM port in the
PC suite package.
Under linux you can use the 'dund' daemon of the BlueZ utils to set up
the service (by default using LANAccess server profile). It will
automaticall call the ppp daemon. See the detailed instructions.
Then you have to select 2box Bluetooth->(the profile you started the
dameon on). You can select 2box->Auto, read a description here. The later option is especially suited for
you is you have used PC suite via Bluetooth before, as it
automatically uses the same settings (and you must have done the steps
above).
Under windows you need to install drivers for your bluetooth dongle,
and SonyEricsson PC suite. Under linux you need to install bluez-utils
(maybe bluez-libs), the necessary kernel modules for your bluetooth
dongle, for internet connection sharing (NAT) and pppd.
Instructions for the WIDCOMM drivers under windows
- Set Bluetooth to On (discoverable not required) on the phone.
- Open My Bluetooth Places, go to advanced settings, go to the
Local services tab. Look for Serial port. Note the COM port it is
attached to (e.g. COM5), and set it to automatic startup. Set it to
Require encryption.
- Right click the PC suite phone connector icon on the tray, select
Properties and check the COM port of your serial service (in the
example COM5). It's easier.
- Open GnuBox on the phone, select 2box Bluetooth->Serial port. In
the device selection dialog choose your phone. You will be asked about
encryption, answer Yes.
- Go to the Congratulations point :) When
you first connect, you may be asked for bluetooth pairing. Enter the
same number on both sides for PIN code. You do not need to remember
the code, just make sure it is the same on both sides.
Instructions for the WinXP (SP2) bluetooth drivers under windows
- Select Add new device, when it finds your phone, you will be
asked to do the pairing. Follow the instruction on your screen for
pairing.
- When asked if you want to accept incoming connections from your
device, say yes. Alternatively, you can go to the properties of the
device, to the COM ports tab and enable it there. Note the COM port
number.
- Go to PC suite and enable the COM port you noted. You ahould also
enable COM500, I have seen incoming bluetooth connection on that
port. If you experience problems, you may enable all available
bluetooth COM ports.
- Launch GnuBox, select 2box Bluetooth->Serial port, select your
computer and set encryption required to Yes.
- Go to the Congratulations point :)
Alternatively, you can select 'Connect to bluetooth phone' by right
clicking the phone connector task icon, connect to your phone, then
select 2box Bluetooth->Auto in GnuBox. (But read this faq question.)
Instructions for the Fujitsu Plugfree drivers under windows
- Start Plugfree. Open the Configuration window. Go to the Detail
settings page, check Activate encryption.
- Go to the COM port settings page, note the COM port next to 'LAN
access point service' (e.g. COM7).
- Check this port (COM7) in the properties of the PC suite phone
connector. You may also want to check the port that was shown next to
'Serial service' in the Plugfree details page (this is for the PC
suite sync connection).
- Launch GnuBox, select 2box Bluetooth->LANAccess service, select
your computer, and select require encryption.
- Go to the Congratulations point :) When
you first connect, you may be asked for bluetooth pairing. Enter the
same number on both sides for PIN code. You do not need to remember
the code, just make sure it is the same on both sides.
To use PC suite for Outlook sync or app install, phone browsing, you
need to go to Plugfree, click on the top of the pyramide if the phone
is not shown in the device list. Then drag the phone's box to any of
the seven places, select the 'Serial port service' (bottom left) to
connect to. It will connect, but you'll get an error that the
connection was terminated by the remote end. This is normal. Soon
you'll see the phone's box appearing on a place and connect to your
serial port service, which you have already enabled in PC suite.
Instruction for Linux
You will need to work as root (administrative privileges) while
setting up. After you completed the setup and managed to auto-start
the services, you will not even need to be logged in to use the
connection.
- Install bluez-utils, make sure you have the required kernel
modules and plug in your USB dongle.
- Start bluez-utils (and/or set to auto-start).
- Create a file /etc/ppp/peers/dun with the following content:
460800
debug
192.168.1.1:192.168.1.2
ms-dns YOUR_DNS_ADDRESS
lock
crtscts
noauth
Substitute the IP address of your DNS server for YOUR_DNS_ADDRESS. You
can find it out by looking into the file /etc/resolv.conf (look for
'server aaa.bbb.ccc.ddd' and write ms-dns aaa.bbb.ccc.ddd into the
above file.)
- Set up internet connection sharing with the following two
commands (as root):
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
- Give the following command as root (It's
easier! It's easier! Note)
dund --listen call dun
- Launch GnuBox, select 2box Bluetooth->LANAccess. Select you
computer, and set it not to require encryption.3
- When you first connect, the phone will ask for pairing PIN (the
computer will not). It is by default 1234 (you can change it in
/etc/bluetooth/pin).
You will need to modify your configurations or startup scripts to
automatically start dund after reboot. In my case (Debian sarge) I had
to edit /etc/default/bluez-utils, and change the respective lines to
the following:
DUND_ENABLED=1
DUND_OPTIONS="--listen call dun"
Also you need to add the two internet connection sharing setup
command to some startup script (look for rc.local somewhere).
Mac users
UPDATE: Lumpazi on the forum
has software to connect a phone to the Mac, and is offering help for anyone needing in installing.
Unfortunately I do not own a Mac (and have no access to any either),
so I cannot check whatever I may write here. There are guides and
scripts for setting up GnuBox on a Mac, mainly targeted for Nokia
6600. (One example: here,
another, very similar here, a not that much
similar version for PDAs here).
Basically you should do as they say as long as it is about the
computer's configuration. Then follow the (phone) setup instructions
at the beginning of Usage part on this page (except probably you
should go to the advanced settings when creating connection 'Bt' and
set the DNS address as they instruct you to). Finally Launch GnuBox,
select 2box Bluetooth -> Serial port, choose your computer, and set
encryption as you did in creating the bluetooth RS232 port on your
Mac. Then you should be up and running!
Notes
- 1: If you set the phone number to your landline
phone number, then you can debug the connection: if you hear your
phone ringing when trying to connect to your PC, then something went
wrong. But the (wrong) dialling will be indicated in the status bar
with the 'dial-out internet' icon: a small globe (like the gprs icon)
with a phone receiver on the top of it.
- 2: You can switch bluetooth off when not
using the internet connection to conserve battery power.
- 3: If you know how to set linux up
with encryption, post it to the forum! UPDATE: If you add the --encrypt option to the dund
parameters (like 'dund --listen --encrypt call dun') then you can turn
on encryption on the phone. Note that this is the only possibility
currently for the Nokia version. You may also need the following two
lines in /etc/bluetooth/hcid.conf (thanks to cregganna):
auth enable;
encrypt enable;
Instruction for Cable connection (USB cradle)
USB support and the following instructions ONLY work on
SonyEricsson phones (possibly only the P910i). USB support on any
other phone (including all Nokia phones) is unsolved.
Unfortunately the rs232 port (that the USB cradle uses) is in use by
system services all the time. Either the PC suite client (mRouter
client) tries to connect to the PC suite through it (this is when you
set the control panel->Cable to PC), or the modem command parser is
listening on it (when you set the port to Modem). There is no way to
programmatically kill any of these services and free up the port for
dial-out.
However, there is a special AT command that terminates the modem
command parser (it is AT*ESYN=3). Unfortunately this has to be
externally issued. Afterwards it is fairly simple to set up the
connection. Unfortunately this command is not always available. A
firmware update could help (P800 users may definitely need it).
Instructions for windows
- Go to the phone control panel, connections tab, Cable, and set it
to 'modem'. You should choose 460800 baud (8 databit, no parity, 1
stopbit, CTS/RTS flow control).
- Connect the USB cradle to your computer. Right click the PC suite
icon, go to the Properties, and uncheck the COM port for the USB
cradle. (Note the port, e.g. COM8.)
- Put your phone into the cradle.
- Launch HyperTerminal, select 'Direct COM8', configure the port
settings to 460800 baud, (8 databit, no parity, 1 stopbit, hardware
flow control).
- Now if you type the command 'AT'
(without the quotes, followed by ENTER) into the terminal window, you
should see what you type and get a response OK.
- Type the command 'AT*ESYN=3' (without the quotes, followed by
ENTER). Again, you should get an OK for response. Now you should not
see any more the characters you type in the terminal, and not get an
OK response for the command AT. That means you successfully stopped
the modem command parser.
- Close HyperTerminal (save the connection prefernces you just
set). Go to the properties of PC suite and re-enable the COM port for
the USB cradle.
Unfortunately you need to do these steps every time you reboot (turn
off&on) the phone. Rebooting gets the modem command processor up
again, so you will need to reboot the phone to be able to use
it as a modem!
- Launch GnuBox and select 2box Cable.
- Congratulations, you are ready! Set 'Bt' as
the default internet connection in your favorite application and enjoy
fast&free browsing via the USB Cradle.
Instructions for linux
- Plug in the USB cradle. You should see a new usbserial port
appearing. (You will need the usbserial and FTDI FT232 serial
converter driver module.) Note the device the driver is attached to
(most probably /dev/ttyUSB0 (/dev/usb/tts/0 if you have devfs) if you
have no more USBserial devices)
- Go to the phone control panel, connections tab, Cable, and set it
to 'modem'. You should choose 460800 baud (8 databit, no parity, 1
stopbit, CTS/RTS flow control). Put the phone into the cradle.
- Fire up your favorite modem application (like minicom) on
/dev/ttyUSB0, baud 460800, 8N1, and issue the modem commands seen in
the windows section.
- In the Bluetooth linux instructions do the internet connectio
sharing setup (two commands like 'echo 1 > /proc/...' and 'iptables -t
nat -A ...') and create the file /etc/ppp/peers/dun with the required
contents.
- Execute the following command as root:
pppd /dev/ttyUSB0 silent persist call dun
- Launch GnuBox and select 2box Cable.
- Congratulations, you are ready! Set 'Bt' as
the default internet connection in your favorite application and enjoy
fast&free browsing via the USB Cradle.
Unfortunately the modem commands need to be given at each reboot of
the phone. (This can be automated in linux.) To bring the service up
at each reboot of the computer, you need to add the internet
connection sharing commands to an init script. You either add the pppd
command to the same script (make sure the USB device is present), or
use some getty on the serial line ttyUSB0. (Like mgetty+sendfax which
can automatically detect and launch ppp if the phone tries to
connect. Just add the option 'call dun' in the /AutoPPP/ line in
/etc/mgetty/login.conf. You do not need silent or persist in there,
you will need a proper entry in the /etc/inittab to run mgetty on the
ttyUSB0 port. Mgetty could be programmed to automatically bring down the
modem parser if it finds any alive.)
Support and setup instructions for Nokia phones
The following instructions refer to the v1.1 beta version for Nokia phones.
The supported phones include all Nokia phones from 6600 and later, up
to the 6682. (UPDATE: including 6630, 6680 and 6681)
The detailed list of phones and their support levels is found on the
forum
in the announcements topic. Later maybe I'll merge the contents
here.
Thanks to Schuon from the forum for parts of the following tutorial.
You can read the original tutorial by Schuon here. There is another tutorial on
the forum by Umit here.
First and most important choice: what software to use on the PC side:
Under linux, it is very straightforward: use bluez-utils and dund. You
can use the instruction for the SonyEricsson phone, except you cannot
use 2box bt->Auto, and you must use the '--encrypt' option to dund as
you cannot currently disable bluetooth encryption of GnuBox on
Series60 devices.
Under windows, the choice is a bit difficult.
- You can use mRouter server on the PC. Even if the client is not
installed on your phone. This gives you an alternative that is easy to
set up. However, the mRouter server gives the nokia phone an IP
address from the range of 169.254.1.x. Nokia phones do not allow
the internet gateway to have such an address! Thus they will route
no packets that are destined to the internet through your
interface. This is true even if the phone has a default route towards
that interface. Thus you will only be able to access your own computer
from the phone. This is all right if you set up a HTTP proxy server on
your computer, and start that proxy. (You can find an HTTP proxy for
free.) This will allow you to browse and download things, but it will
probably not allow you to use IM applications and possibly e-mail
sending-receiving. (Unless you set up custom TCP proxies for that
applications.) This proxy setup may be tedious, but at least you can
always see what's happening, you can debug the connection, and you'll
have a quick success at start.
- You could use WIDCOMM's Network Access server. Unfortunately I
have never seen that properly functioning. The phone connects,
but no data is transferred. I tried to call it from linux, no success
either. It gets stuck somewhere in the PPP setup phase. I have no idea
how to get it working. Though it would be a very simple and easy-to-setup
possibility! If you know how to get it working (even if it has nothing
to do with smartphones, but for example how to call it from linux),
post to the forum!
- Finally, the best results you can get is via the Windows XP
dialin feature. With this properly set up you can get full,
unproxied, unrestricted network access. However, there are some
difficulties you have to overcome until that. If you can give the
phone an IP address that is valid outside your computer (for example
on your office LAN or home network), then you can easily get it up and
running with plain IP forwarding on the windows. If you cannot, then
you can achieve this the easiest way with buying a broadband router
for your internet connection. Finally, it may work with windows
Internet Connection Sharing (ICS). But that probably needs the cryptic
netsh blahblah... commands that you find in all the other tutorials
about GnuBox. Furthermore, this ICS may not work with DSL or dial-up
connections, only on ethernet connections.
Basic setup instructions on Nokia for v1.1 beta
- Create a full backup of your phone. Remember, this is beta
stuff. You may need to format your phone if something seriously goes
wrong.
- Install GnuBox. Take the .SIS for your phone in the download section.
- If you want to enable debugging, create a directory named
c:\logs\gnubox. THe detailed event log will appear in this directory
if it exists. The log will be named c:\logs\gnubox\gnubox.txt, and the
new events will be appended every time you run gnubox. It it gets too
big, you can delete it and it will be re-created next time you start
something loggable happens.
- Open GnuBox. Do not mind any errors 'No rec...' you may see on
the screen. Select Options|Debug|Dump Full CommsDB. Allow it to run a
few (ten) seconds. After it has finished, look for a commsdb.txt in
C:\nokia. Copy this file to you phone and save it for future
reference. At any stage of the install/operation if you do a new full
CommsDb dump and compare the resulting file with this you save now,
you will be able to see all changes GnuBox has done to your
phone.
- Exit GnuBox with Options|Exit.
- Go to the phone control panel and create an internet access
point. Name it 'Bt' (without the quotes, take care that case may be
significant). Make sure you set it to use 'Data call' as the
bearer. (It may be named 'CSD' or 'Dial-up' on your phone. This is
the opposite of GPRS.) Set the number to call to something that cannot
be called (e.g 321).
- Start GnuBox. Now you should see on the screen that the
DialOutISP record is found, and the phone number you just entered is
printed on the screen. However, the ModemBearer should still show 'No rec'.
- Select Options|Install|Create records
- Exit gnubox with Options|Exit. (It is not enough to switch to
another task and then back to GnuBox.) Start GnuBox again. Now you
should see on the screen that the ModemBearer is shown and the 'No
rec' error is gone.
- Create the bluetooth pairing between your phone and the
computer. (If you have already used PC suite via bluetooth then this
is already done. If you don't know what pairing means and how to do
it, refer to the manual of the phone and the bluetooth software/dongle
you use on how to pair the PC with the phone and/or how to use PC
suite or the phone as a modem via bluetooth connection. Some )
- Set up your bluetooth software to allow incoming connections for
serial port service. This is described in the SE phones section above
for the different bluetooth softwares I have seen. Also find out the
COM port of the incoming BT connection. Example: under WIDCOMM, go to
Advanced configuration (either right-click the bt icon or from the
bluetooth menu of my bluetooth places). Select the Local Services
tab. Look for Serial port service. Make sure it is set to 'Start
automatically'. Set it to require encryption. Mark the COM port
written in its line. In the following steps I assume it is COM5.
From this point on you can follow the instructions for any other
GnuBox tutorial, including the above for the SonyEricsson, or Mika
Raento's for the 6600 and 7650, etc. The only difference is that on
GnuBox you always have to select 2box bt->Serial port instead of
whatever they write. (Except if you follow the above instructions for
linux, where you still need 2box bt->lanaccess.)
I will quote something like the adapted versions of those tutorials
here, merged with my changes to the application and Schuon's and
Umit's experiences from the forum.
Setup instructions for mRouter based method
- Install mRouter on your PC. You can do so by installing the
(separate) mRouter (3 beta) you may find on the internet, or if it is
not anymore available (at the time of this writing the production code
is not downloadable, but the beta is removed), then install the
SonyEricsson PC suite for P910 software, it contains mRouter 3. You
can download it from SonyEricsson's
website. You won't use the phone related stuff, only the
connection manager.
- Right-click the Phone connector icon on the tray, select
Properties. If you have an early version of mRouter (2.x), then you
will see a list of COM ports available. Check the COM port that your
bluetooth software is listening on (in my case COM5). Close the
window. If you have later (3.x) mRouter, then this will be a multi-tab
dialog box. On one of the tabs (I forgot which...) you can select
which methods to allow for connecting to the phone. Note that you must
not allow bluetooth connection. You have to find an advanced button to
select that COM port to accept connections. Afterwards the list of
connection methods will include COM ports and under that your COM port
(COM5 in my case).
- Install a proxy server on your computer. Note the port it is
installed on! (for example 3128). On the phone set the connection to
use a proxy. For proxy host set 'wsockhost.mrouter' or '169.254.1.68',
and set the port properly. You may need to set this in the browser
application (NetFront or Opera).
- On the phone make sure bluetooth is enabled (discoverable is not
needed). Launch GnuBox and select 2box bluetooth->Serial port. On the
upcoming device selection dialog, select your computer, and in the
question about encryption click Yes (or OK if you only have that).
- Enjoy browsing the web. (Use the access point 'Bt' to connect to.)
Setup instructions for the Windows dialin based method
The following is for the case when you have a broadband router or
similar things that does internet connection sharing for you.
- On the computer go to Control Panel->Telephone and Modem
settings. Select Modems tab. Click Add... Select 'Do not detect my
modem. I will select it from a list.' Click Next.
- Select 'Standard modem types' on the left and select 'Serial
communication cable between two computers' on the right. Click
Next. Select your bluetooth port (COM5 in my case). Click Finish.
- Create a new user. The name is unimportant ('btdialin' for
example). Assign it a password. On the phone open the properties of
the connection Bt, and set the username and the password to what you
have just created. Save the connection settings. If you do not want a
normal user to be created, you will have the chance in the next point
to create the user only for the dialin (this is recommended).
- On the computer go to Control Panel->Network connections. Click
'Create new connection'. Select Next, then 'Create a special
connection', then on the next page select 'Accept incoming
connections'. In the following page check the 'Communication
cable... (COMx)' modem you have just created (at me its on COM5). Then
deny VPN connections. On the following page check that particular user
you have just created (or much rather create a user here just for this
purpose). (Alternatively you need no username/password if you check
the box allow local users to access the computer without a password.)
- On the following page click TCP/IP and click Properties. Select
'The caller may access the local area network'. If there is a DHCP
server on the network, you can either use DHCP to assign IP address to
the phone. Alternatively you can set an address range manually. Make
sure it works on the network you are connected to. (e.g. if you have a
broadband router that assigns addresses with DHCP then you are just
fine. If you assign addresses manually, e.g. your computer has an
address like 192.168.0.4 then setting a range like
192.168.0.110-192.168.0.120 is fairly safe. In the case when you
manually set the addresses, you may need to set the DNS server address
on the phone control panel (in the properties of accesspoint Bt) to
the DNS address of your provider.) Close this dialog box, then click
Next and Finish.
-
Activate routing on your computer. Open up the Registry editor by
clicking Start -< Run and type 'regedit' (without quotes) then
OK. Navigate to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
. Here you'll have to change the value of 'IPEnableRouter' from 0 to
1. (If there is no such element, select Edit|New|doubleword value or
DWORD value. Enter the name 'IPEnableRouter' (without quotes, take
care for capital letters) and a single 1 in the value field.) Reboot
your machine to apply the settings!
- Now go to the phone, launch GnuBox. Select Install->set RAS login
script. Then select 2box bluetooth->Serial port. On the
upcoming device selection dialog, select your computer, and in the
question about encryption click Yes (or OK if you only have that).
- Enjoy browsing the web. (Use the access point 'Bt' to connect to.)
If you do not have a broadband router, then the following differences
are required:
- You should set to assign IP addresses manually. Set it to a
private range, e.g. 192.168.23.10-192.168.23.20.
- You do not need the registry edit. Instead enable Internet
Connection sharing on your internet connection. There may be
nontrivial steps, please consult Mika Raento's page (see the links).
FAQ
Why would you need internet connection on the
phone when you are right next to a PC with large display and internet
connection?
There are numerous reasons why you may need it. Just a few applications:
- You want to download emails or news to your phone and read it on
the train. And you don't want to pay for it.
- You want to do maintenance upgrades, downloads, whatever with
some 3rd party application.
- You just want to read the news, emails whilst still in your bed.
and a few benefits:
- You do not want to pay the charges for the data call or GPRS.
- You may not even have a proper unlimited internet account for
your phone. Sometimes a wap limited subscription is much cheaper and
if you only occasionally need true internet connection, then you don't
want to pay the higher charges of the unlimited access.
- You want it much faster than GPRS. (Speeds up to 400 kbit/sec are
achievable. That is 10x more than GPRS.)
Can I use my phone for normal data calls/GPRS
after using GnuBox?
Previously, on Nokia phones, you would need to launch GnuBox and set
it to '1box Phone' to use it for normal data or fax calls. (Note that
this is not the case for GPRS, that works with GnuBox active.)
Using this gnubox you don't need to do that. The Ericsson phone's
telephony server module (ERIGSM -- you see this on the display) dials
the phone number specified if it finds any. This is independent from
the Port, CSY setting of GnuBox (all it does is to modify this
setting). Thus to use your phone with a normal data call, just specify
a phone number (in the properties of that access point). GnuBox works
hard for you to clear the phone number from the respective field if
you select any 2box option.
If this is not the case for you, you can circumvent all GnuBox's
settings by choosing 'auto unset modem ID'. (See this question.) Or you can go the old
way, and select 1box phone from the GnuBox menu.
Can I use my phone for SMS sending/receiving after
using GnuBox?
Yes. See this question.
Can I use my phone for ordinary voice calls after
using GnuBox?
Yes. Indeed this has never been an issue.
I have a Nokia 6600, 7650, 3650, etc. phone!
This page was mainly written for the SonyEricsson port of GnuBox. That
is the phone I have.
Due to many requests I have ssen I decided to try and port my changes
back to Nokia Series60. I was (mostly) successful. The application has
not yet been thoroughly tested though. It is in beta stage, and
unfortunately the Nokia phones have a serious limitation that makes
install much more troubleful. I compiled a tutorial from many user
feedbacks, but as I do not have a Nokia phone, I cannot test it
myself.
The instructions and issues are described in the Support and setup instructions for Nokia phones
section.
For owners of older Series60 devices:
6600 and 7650 users: go to Mika Raento's page http://www.cs.helsinki.fi/u/mraento/symbian/bt-ap.html
Users of even older devices (Series60 V1, based on Symbian 6.1) may try the
original GnuBox found in the CVS. http://www.symbianos.org/cgi-bin/viewcvs.cgi/gnubox/
(look in the attic for .SIS file).
In any case looking at forums (Google for 'gnubox 3650' for example)
usually brings up some stuff. If your phone is NOT based on Symbian
OS (e.g. Series 40 devices), then GnuBox will never work for you.
I have an unsupported Symbian smartphone!
I have so far succeeded in porting GnuBox to two different Symbian
smartphone versions. I have much of the debug tools required for
getting it to work on a third platform. If you can motivate me enough,
maybe I can port it to your phone, too.
Support status of 6630, 6680 and 6681
The release candidate binary found in the testing directory now does
support the 6630, 6680 and 6681 phones. This means that we have many
success stories already, but the release is still subject to minor
changes yet to come. You are free to experiment with the release
candidate.
The usage instructions are exactly the same as in any other
series60 tutorial, with the following exceptions and limitations:
- You cannot set the accesspoint 'Bt' to Data call when
creating. You have only the option 'GPRS'. Set it to GPRS.
- You don't have to enter a phone number while creating the
accesspoint.
- If you need to enter DNS or IP address manually, these settings
are ignored bu default. You can click on Install|copy from GPRS to
activate these settings. Do this only after the entire setup (but for
sure after createrecords).
- If you need to set a proxy, make sure you enter this information
when you create the accesspoint Bt.
- After clicking Install->Createrecords in gnubox, the
accesspoint will disappear from the settings->accesspoint menu. It
won't be available anymore. If you need to change proxy or DNS
settings, do the following: click install|set to GPRS. Then go to the
phone settings|accesspoints, apply the necessary changes. Then go back
to gnubox, click install|createrecords. You need then to click
install|copy from gprs unless you only changed proxy settings.
- Builtin applications cannot access the accesspoint Bt (and thus
use the bluetooth internet connection). The internal accesspoint
selection dialog never lists the accesspoint Bt. There are other
applications which can use it, including for example IM+, Opera (go to
the second page of the settings, select 'Connect to default
accesspoint' and select Bt from the list there), putty, vnc client,
etc. See the next FAQ entry for application support.
I have a 6630, 6680 or 6681 and my favourite
application does not list the accesspoint Bt when I try to use it! How
can I use bluetooth internet with it?
These phones support only packet switched data (i.e., GPRS/3G) for internet
access. Gnubox requires circuit switched data. It is kind of a miracle
having got Gnubox up as far as it is. So unfortunately there are minor
and major flaws and inconveniences.
One of these inconveniences is that the builtin accesspoint selection
dialog shows only the GPRS/3G accesspoints! So when an
application tries to access the internet, you cannot select Bt and
thus use GnuBox's connection.
While this behavior of the builtin accesspoint selection dialog
cannot be modified (it is flashed into the firmware I believe), there
are workarounds which might help get an application up and running
with the Bt connection.
- In Opera, go to the second page of the settings, set Connection
to 'Use default' and then set 'Default connection' to Bt (I have a
screenshot about it). Then Opera
will use Bt without asking for accesspoints.
- You can initiate the connection with GnuBox via Debug|Bring up
IF. If it is up, an application might use it without
asking for another to be established (and by this question restricting
you to GPRS accesspoints only). So try to click Bring up IF in GnuBox,
then launch your application.
- Sometimes an application can memorize which accesspoint you want
it to use and use that without question. If you click on Install|set
to GPRS, then Bt will appear in the selection dialog (though you won't
be able to connect to it, as Bt does not work in GPRS mode). Make your
application memorize it and not ask you next time. Then go back to
GnuBox, click createrecords (this will switch Bt back to the normal
GnuBox operation). Afterwards launching your application might bring
up the Bt interface properly. This method works for the builtin Web
and RealPlayer apps (in the settings set default conn to Bt).
- Sometimes an application might be set to use the system global default
accesspoint without asking you. In this case, you can make Bt to be
the global default AP with GnuBox using Install|change default
AP. Unfortunately this is currently an irreversible operation. As soon
as I can get some time I'll do something to revert it.
It is not guaranteed that for any application there is a way to get it
working with GnuBox on a 6630/80/81. The aboves are guidelines. If you
find another way, post it to the 6680/81/82 forum so that I can
include it here. I don't have a complete list of which applications
are known to work and how people got them working, but people have had
success with at least Opera, IM+, AgileMessenger, some VNC clients,
putty, NetFront, the builtin web and RealPlayer app,
ProfiMail. Currently I have only failure reports with the builtin
SyncML program (though only a single report, so if you get it working,
post to the forum how you did it).
It's easier: creating the internet access
point 'Bt'.
(This entry is only relevant for SonyEricsson phones or to Nokias with the (limited) mRouter connection method.)
You may have seen in other guides (for example on Mika's page) that
you need to go to special settings and type a login script
character-by-character into the respective field.
This is not needed.
The instructions for Nokia phones guide you to use the dial-in
connection of windows XP. The dialin connection needs a modem, and
they suggest the builtin null modem (Direct cable connection between
two PCs). This 'null' modem has a specific initialization sequence
that the phone must emulate to successfully dialin.
However, we will use the standard PC suite program, and not the
windows XP dialin feature. The PC suite does not need to fake a
windows modem which would use this initialization sequence, thus works
'out of the box'.
Why don't I need to specify password in the
phone connection settings?
The PC suite does not require any password to be set. Also the linux
listener is set up not to require authentication. See this question on how to enable it.
What is 'auto set/unset modem id'?
This is not present in other versions of GnuBox!
(This entry is only relevant for SonyEricsson phones using Symbian7.0
(orig). However, it may be worth reading. On Symbian7.0s and up one
can set each AP to use a different modem. Thus there is no 'active
modem' anymore.)
Devices based on Symbian 7.0 and up can have multiple modems in the
MODEM/MODEM_BEARER table of the Communications Database
(CommsDb). GnuBox works by modifying the active entry in the MODEM
table, so the question is: which is the active entry? Mika's hack has
a hard-coded modem name 'Nokia CSD' or something similar. He
discovered that his 6600 uses this modem name. Well, SonyEricsson
phones obviously have a different modem name, that's why the UIQ
ported GnuBox was not working at the first place.
The SymbianOS chooses which entry to use in the CommsDb by two global
settings: ModemForPhoneServicesAndSms and ModemForDataAndFax. These
could be queried for the active modem ID instead of hardcoding
something like 'Nokia CSD'. (By default both of these point to the
same modem, id 6, named 'GSM Mobile Phone via cable')
But we only need to change the DataAndFax behavior, and keep
everything intact in ModemForPhoneServicesAndSms. Thus we do not
modify the default modem entry, instead we set the global setting
ModemForDataAndFax to something different, a yet unused modem entry in
the MODEM table. (In fact tha name of this unused entry is hardcoded
into GnuBox: 'Null Modem 115200bps'.) And modify that entry in the
MODEMS table.
This has two advantages: First, we do not break SMS functionality as
GnuBox occasionally does (for example on Nokia N-Gage). Second: if we
screw up the settings for that unused modem, then everything can be
changed back to original by changing ModemForDataAndFax back to the
same modem as ModemForPhoneServicesAndSms. That is what 'auto unset
modem ID' does. This unset operation circumvents all the changes
GnuBox has done, so if something goes wrong, you can get back to
normal operation with this. Or you can toggle GnuBox on and off using
this instead of '1box phone' and keep the Bluetooth configuration intact.
Note that 'auto set modem id' and 'auto unset modem id', as explained
above, is a switch. This switch is independent of the 1box and 2box*
settings. Also this switch is persistent, it remains in the same state
whenever you restart your phone, etc. Thus it makes no sense to click
more than once on 'auto set modem ID' unless you clicked on 'auto
unset modem ID'.
Why don't I need to configure
Internet Connection Sharing on my computer using the mystic commands
'netsh route...'? Why don't I need to setup direct serial cable and
accepting incoming connections?
(This entry is only relevant for SonyEricsson phones or to Nokias with the (limited) mRouter connection method.)
Once the phone is connected, your computer will have (at least) two
network connections: one towards the internet, and another towards the
phone. Your computer must forward all the request from the phone
connection to the other (and do some address mangling). This can be done
by windows ICS on any ordinary network connection.
However, if you connect to PC suite, then the phone connection will be
served by Intuwave technology's mRouter server, and completely hidden
from windows. Also the connection sharing stuff is done by mRouter,
automatically. You will see all the phone's connections as requests
originating from 'MRouterRuntime MFC Application' if you have a
firewall (of course you have to enable these connections). I must
admit, Intuwave did a great job with mRouter.
My firewall shows outgoing connections from 'MRouterRuntime MFC
Application'!
(This entry is only relevant for SonyEricsson phones or to Nokias with the (limited) mRouter connection method.)
Please read the previous question.
What is the difference between Bluetooth->Auto
and other entries in the Bluetooth submenu?
You will probably notice that the PortName will show 'BTCOMM::0' for
Bluetooth Auto, while 'BTCOMM::5' for any other Bluetooth
options. This is the key difference.
The mRouter client software in your phone creates a bluetooth serial
port service in the phone. This is used to initate PC suite connection
to your phone. If anybody connects to this service using bluetooth,
then the connection gets terminated instantly (this is normal), the
mRouter client software sets up BTCOMM::0 port to 'callback' to
whatever bluetooth device and service just connected. Then it opens
BTCOMM::0 thus effectively calling back.
Thus if we use BTCOMM::0 then we do not need to setup the bluetooth
communictions. This is easier and this is why it asks no questions
about device or encryption. However, the config will be changed by
mRouter upon an incoming bluetooth connection to the serial port
service! That will be source of problems. Thus using the manual
device, service and encryption selection (as required for 'BTCOMM::5')
gives more stable results, while Auto selection is quicker but can go
wrong time by time. Although it is fairly easy to fix by initiating a
PC suite connection (once you recognize
that it has gone wrong).
To migrate from Auto to the fixed settings, you should probably choose
2box Bluetooth->Serial port, select your computer and set encryption properly.
Note for later Nokia phones: Nokia has dropped the mRouter
based PC suite connection method somewhere after the 6600. If you have
a newer phone, then you probably do not even have a Serial port on
your phone. This means there is nothing to connect to that would setup
BTCOMM::0 to call back to your computer. Thus you can not use the
2box bluetooth->Auto method to connect. You always have to select
from the other three 2box BT options and specify the device by hand.
I understand Bluetooth->Auto, but other versions of GnuBox use
BTCOMM::0 and still ask the bluetooth device to connect to!
Yes, it's true they ask but for no reason, as the information
you input is never used. :)
In some other guide for linux I read
commands like 'rfcomm bind ...' and 'echo x > /dev/rfcomm...'. Why
don't I need them now?
These commands initiate the connection to the serial port service of
the phone. You need this to use the '2box bluetooth->Auto' connection
type (see this question). However it is much
easier to fire up dund and specify on the phone to use the LANAccess
service it automatically creates! This way you do not even need the
'sdptool add --channel=number SP ...' command.
In some other guide for linux I read
commands like 'sdptool add ... SP'. Why don't I need them
now?
See the previous question. If you set 2box Bluetooth->LANAccess server
then you do not theed the serial port (SP) profile to be served on our
linux.
In some other guide for linux I read I need to
run the dund command with param --msdun!
The param '--msdun' instructs dund to emulate the windows direct
serial cable's initalization sequence. You would need that option if
and only if you also specified the login script (see this question) you have seen elsewhere. It is
easier without them. (Why emulate something stupid on both side
if it works directly?)
I use linux to connect to and I want to
enable authentication.
That is a reasonable decision! You could do the following (this is
not yet tested, if it does not work, ask on the forum):
Change the etc/ppp/peers/dun file so that you replace 'noauth' with
'auth' , and add a few lines: 'require-pap' or much better
'require-chap' or something like (see 'man pppd'). You should add a
line 'name mycomputername'. Then add a line to /etc/ppp/pap-secrets or
/etc/ppp/chap-secrets (respectively) reading
myusername mycomputername "mypassword" 192.168.1.2
Set myusername and mypassword on the phone. If you used PAP, you may
need to enable clear-text authentication in the special settings. Look
at /var/log/debug, /var/log/messages, /var/log/syslog for reasons if
the thing is not working. If it is stable and working, you can remove
the debug option from /etc/ppp/peers/dun.
Troubleshooting
If all the information below is not enough, look at the Big GnuBox troubleshooting walkthrough page!
When I launch GnuBox the display reads
settings...
DialOutISP
No rec
...
You did not create the internet access point 'Bt'. Make sure you
spelled it correctly :) It is also possible that case is
significant. It is also possible that you created it using 'GPRS' as
the bearer. You must create is using 'Data call' as the
bearer. Delete the access point 'Bt' and re-create it using 'Data
call'.
When I launch GnuBox the display reads
settings...
DialOutISP
...
Modem
No rec
for v1.0 (UIQ) version:
Your phone is not supported by this version of GnuBox! The unused
modem name is hardcoded (see this
question in the FAQ) but it does not exist on your phone. Do a full
CommsDb dump and post a message to the forum including:
- What kind of phone do you have
- What Firmware/interface version it has
- An url where we can download your CommsDb dump.
Solving this problem is about 2 minutes given the above
information.
for v1.1 beta (Series60) version:
There are two possible reasons:
- The modem record has not been created. Select
Options|Install|CreateRecords. Then exit GnuBox with
Options|Close. (Note that switching to an other task is not enough!
That will not close GnuBox, just force it into the background.)
- It is possible that you did not close GnuBox after clicking
CreateRecords. Exit GnuBox with Options|Exit. Then re-start GnuBox. If
the problem persists, try to turn your phone off and back on. If the
problem still persists, you may try CreateRecords again (it should be
safe to click it twice) and do the off-on cycle again. If it still
does not go, you may not have the latest release of the SIS
installed. If that still does not help, post a bug report on the
forum.
My phone dials!
Launch GnuBox and look at the display. If it reads 'PPP over CSD/GPRS'
then dialling is normal. However, if it is in any of the 2box options,
(with blue, red or green background) then it should not dial.
Look at the DefaultTelNum field. It should be empty. If it isn't then
you may have gone into the properties of the internet connection Bt
and forced to enter a dialup number upon exiting.
Re-select the 2box option you want to use. Afterward the number should
be empty and the phone should not dial.
(Are you using the connection 'Bt' for internet access?)
My phone connects via Bluetooth but no data is
transferred. The PC suite shows the COM port to be 'Connecting...' but
never gets to 'Connected'.
This is a problem with bluetooth encryption. Try changing the
encryption required settings on the computer or on the phone (they
should be the same). You can do so after you select 2box Bluetooth ->
(anything but not Auto).
When I connect to Linux using Bluetooth the Bluetooth connection
goes up but soon I get 'Unknown error' message.
This may be the same problem as the previous
question.
When I connect using Bluetooth I get a 'Not found' error
message.
The bluetooth service you are trying to connect to no longer
exists. In the windows WIDCOMM stack you may have to manually start
the serial port service after a reboot (or set it to Automatic startup
in the advanced configuration). Under linux you need to start dund at
each reboot. Consult your initialization scripts how to do that
automatically. If you use serial port connection to your linux dund,
then you need to issue the 'spdtool add [--channel=thechannelnumer]
SP' command after each reboot or bluez restart. (Note that if you use
LanAccess server connection to linux, then you do not need this
command at all.)
I happily used 2box Bluetooth->Auto but suddenly it cannot connect
anymore. The bluetooth connection does not go up and I get 'Unknown
error' message.
Read this FAQ question. You are using
'bluetooth callback' and somebody else connecting to the bluetooth
serial port service of your phone disrupted the settings. You need to
connect PC suite to your phone (by opening bluetooth serial port
service from your computer), or use options in 2box Bluetooth other
than Auto. (Most probably 'Serial port' will work for you.)
(Trivial problem: check if you have Bluetooth enabled!)
When I select Bluetooth->Auto I don't get a dialog to select my
computer to connect to!
This is normal. Read this FAQ question.
When I first try to connect using bluetooth it asks for pairing
(PIN codes), but before I could enter them, the dialog goes away and I
get error message.
You are too slow in typing the code :) You can manually and
comfortably pair the phone and the computer using the 'Add' button in
the bluetooth properties. Pairing has to be done only once, you will
not be asked again.
I want to use PC suite for sync with WIDCOMM but cannot get the
callback connection do anything. The phone connector shows
Connecting... but never gets Connected.
Although this is not about GnuBox, this is your problem.
When you connect to the serial port service on your phone from my
bluetooth places, the connection is initiated with no encryption. So
the phone learns this, and calls back without encryption. However, the
incoming serial port connection on your PC is set to require
encryption. Pitfall. The solution is to right-click the phone's serial
port service, go to properties, check Encryption, then connect to
it. Afterwards the callback will be encrypted and work
properly. (Another solution would be to disable encryption on the
incoming serial port service, but that is obviously the less secure
solution.)
Bluetooth is not working at all! The phone cannot see my computer
when trying to Add it in Bluetooth properties, and/or the computer cannot
find the phone when searching for devices, and/or the (WIDCOMM) Bluetooth icon
shows red (no hardware detected).
Check that your bluetooth dongle is plugged in properly into a working
USB port. If you have a laptop, you may have a switch to turn off
radio. Make sure it is turned on. (When opening the Device manager you
should see the bluetooth device.)
If you want to discover the phone from the computer, check 'Allow
other devices to discover' on the phone. If you want to connect from
the phone to the PC, then check 'Allow discovery' in the Configuration
of your bluetooth drivers.
For Cable connection: when I open HyperTerminal and select Direct COM(number) it sais
Port is in use and cannot be opened.
Did you uncheck the respective COM port in the PC suite?
For Cable connection: When I open HyperTerminal, the screen gets
slowly filled with lots of cryptic characters and/or with '~mRouter -
Are you there?~'.
You did not change the Cable settings in the Control Panel to modem.
For Cable connection: When I open HyperTerminal and issue the
command 'AT' I don't see these letters and get no response.
It is possible that you already have deactivated the modem command
parser. Remember, you only have to do it once after each reboot of
your phone.
I used GnuBox over Cable connection. Now when I try using my
phone as modem, I get error messages about the modem not
responding.
You stopped the modem command parser on the phone. You need it to be
able to use the phone as a modem (for your computer, i.e. dial out or
make a GPRS connection). Turn off your phone and then back on.
Afterwards you should be able to use it as a modem.
Changelog
- 2004-12-26 17.20 CET:
I am rewriting the commsdb dump as it currently dies for some reason, but the old code is available.
I know for sure that it does not work on the UIQ, but I am close to understand why. I also see why some people (with 7.0 symbian smartphone) loose sms functionality after using gnubox. I hope i can avoid the same problem with the uiq version. (And even backport it to nokia.)
- 2004-12-26 17.46 CET:
I corrected the segfault in the Full CommsDB Dump option. It should now work, and dump _everything_ in the CommsDB. (The old code dumped a hand-selected set of parameters.)
The source code and the SIS was updated.
- 2004-12-26 18:48 CET:
Now I finally reached the point where I can disrupt the operation of the dial-up ISP. The problem remaining is to guess the correct TSY, CSY, Port names. Source code and SIS updated.
- 2004-12-27 19:38 CET:
I finally found the problem. It is true there is only one available
TSY on the P910, that is ERIGSM.TSY. If there is a phone number, this
TSY will do a GSM data call on port MUXCOMM::0 indepentently of the
Port and CSY setting in the CommsDb. The problem is that gnubox has
code for clearing the phone number setting when a "Direct" option is
selected, but the system writes "123" instead of the actual empty
string. It turned out that upon writing NULL or empty string into a
field value, the respective field's value of the default (ID 0) record
of table DIAL_OUT_ISP is entered. This is true for any method, I even
tried circumventing the CCommsDatabase interface and directly
manipulate using sql DML commands. The solution came with zeroing the
default entry's telephone number value.
SO IT NOW WORKS!!!
The source and SIS above was updated, but this is a non-release version. See the last point down in the Usage part.
Why it is not release:
- I need to do a lot of cleanup. For example I have rewritten the
bluetooth device selection code twice to avoid the lockups I
encountered. (The Bt device selection dialog did not come up except
once if you have just restarted the phone.)
- Also the default entry zeroing code should be added to the Bluetooth
Direct option.
- The default-zero code is pretty ugly, it uses low-level SQL
commands. We should be able to do it using the commsdb access.
- I should remove the possibly dangerous options to hand-select the
ModemForDataAndFax and ModemForPhoneServicesAndSms options. Also an
"Undo set modemID" option could be added that can quickly and easily
circumvent any changes gnubox has done to the CommsDb.
-
2004-12-28 17:58 CET:
I did some of the todo list. I removed the dangerous menu options
"manually set modem ID"s. They are in the source though, if you need,
re-enable them in gnubox.rss.
I have rewritten the actual CommsDB write. It was big and ugly. Now
all options clean the DefaultTelNo field of the default record, so you
should not need to set it to 'Infrared Direct' anymore.
I also added an "auto unset modem id" option. This resets the
ModemForDataAndFax to the hopefully original value that equals to the
ModemForPhoneServicesAndSms. This effectively circumvents any changes
gnubox has to your modem table (Port, CSY, TSY). Thus it should be
possible to quickly disable and enable the changes of gnubox using the
"auto set modem id" and "auto unset modem id" options. Though this is
probably not needed, as gnubox does not influence your normal data
calls (i.e. thosa having a non-empty telephone number field) anymore.
The debug options were collected into the Debug submenu. The
undocumented 'use mRouter' options simply installs a default route to
the mRouter connection if it finds any. This is really unnecessary (i
just hoped it would make all other changes unneded), but it cannot
hurt -- at least a phone reset cancels the effect.
I did some more testing and found myself being unable to connect to my
PC. Looking into the problem it turned out that the bluetooth setup
part (which was commented out earlier, remember?) screwed up something
and encryption was not turned on properly. Now it works with
encryption (hope you can set your computer to support it). The symptom
was that the phone brings up the bluetooth connection but no data
passes, the Intuwave mRouter server just stayed in the
'Connecting...' state forever.
I also found out that the Bluetooth Direct and Bluetooth Dialup tries
to connect to different profiles of the remote device. (LanAccess
server and Bluetooth dial-up networking, respectively.) You can usually
bind different com ports to these services on your computer. So you
should be able to differentiate in what the phone is trying to do when
it connects to your computer. (is it gnubox, or an mrotuer callback, or
some remote control application?) This calls for a possible
enhancement: select the BT profile by hand, and maybe we should not
clinch the telephone number clear/non-clear setting to the BT profile,
eh?
-
2004-12-28 21:06 CET:
Again an update... with two major changes.
- The bluetooth part now uses port BTCOMM::5. The original
BTCOMM::0 interfered with the PC Suite/mRouter setup; any device that
connected to the serial port profile of the phone received a callback
from mRouter using BTCOMM::0, thus screwed up the configuration of
gnubox. Now gnubox is totally independent of what mRouter does. This
has advantages: not requiring reconfiguration all the time, but
disadvantages: mRouter properly sets up the connection, while we may
not...
- One possible pitfall of setting up the bluetooth connection is
encryption. The original code (commented out, remember?) had a bug
that made it not to enable encryption. But sometimes encryption cannot
be enaled, as the remote end does not expect it. So after the device
selection GnuBox now asks if you want encryption or not. Note that PIN
authentication is always performed.
-
2004-12-28 23:59 CET:
Following lots of tests with different bluetooth stacks on windows, i
concluded that gnubox _does_ need the possibility to use bluetooth
Serial Profile. Thus I restructured the 2box menus. The dialup options
went away, as they don't do anything due to ERIGSM.TSY. The infrared
(direct) remained as a separate menu, while bluetooth has now three
options for three profiles: serial, LANAccess, and dial-up
networking. Not that if you were using 2box direct->bluetooth then you
need to set it to LanAccess server to get the very same
behavior. (Unless your connection was reconfigured by mRouter, in
which case you probably want to experiment with bluetooth->serial.) As
a rule of thumb, bluetooth->serial is the most probable to work.
SIS and source updated.
-
2005-01-02 23:00 CET:
Long since there has been no release :)
I did a lot of cleaning and rewriting. I eliminated all the huge
switches and the phone specific stuff from gnuboxContainer.cpp. All
the settings for the different 1box, 2box* things are read from a
static array. Thus it should be very easy to change a conneciton mode
or add a new mode.
I added a new connection mode '2box Direct Cable'. Needed a lot of
hacking, as the rs232 port (which is used by the usb cradle) is in use
all the time - either by mRouterClient or the modem command parser,
depending on the setting for 'Cable' in the control panel. The
solution is to set it to 'Modem' and issue the command AT*ESYN=3 from
the computer. This stops the modem command processor. Thus the port is
free, the nontrivial thing is that the rs232 port is called COMM::4,
even though ECUART.CSY reports the highest available comm port to be
COMM::0. Unfortunately freeing the comm port must be done after each
device reset. (reset restarts the modem AT command processor.)
I added a new connection option to the 2box bluetooth menu, which is
direct bluetooth/Auto. It is meant to do the very same thing that
Mika's gnubox did for option 2box Direct->Bluetooth. That is, to use
the target for the last mRouter connection over bluetooth. This is a
bluetooth 'callback', it connects to the last device and service that
opened a connection to the bluetooth serial port service on the
modem.
I experimented with the comm port settings. There is now a debug
option for dumping serial info.
All options set the speed of the modem to 460800 bps, whatever modem
means (needed for cradle, probably ignored by bluetooth, IR was never
working).
I did some benchmarks. I get practically 460800 bps (something around
38-45 kbytes/sec) on the cradle and bluetooth to my windows WIDCOMM
drivers. Strange, but I get half the speed (something like net. 192
kbps) when connecting to linux. However, if I connect from windows
WIDCOMM to the very same config of linux, then I again get 460
kbps. No idea why! Cradle on linux yields 460800 bps.
I had also fairly bad results with the Fujitsu Plugfree bt stack on
windows. The data transfer rate was very unstable, ranging from 1 kbyte/sec to
35 kbytes/sec on the small scale, and between 300 kbyte/min and 1000
kbyte/min on 1 minute intervals. This is also very strange!
I have rewritten this info page thoroughly (until the usage section).
Source and SIS updated.
Bugs and Issues
2box Infrared probably does not work. I did not test it and there
are no instructions, too. If you have success, post your method on the
forum. However, USB cradle should be preferred over IR as it is much
more comfortable.
In the Nokia version you cannot currently disable bluetooth
encryption. I call up a notification dialog with a 'yes' and a 'no'
button, but on the Nokias the result has only a single 'OK' button,
which functions as a 'yes'. Sorry for the inconvenience... When I'll
have some time I will try to fix this.
Any more?
Credits and Acknowledgements
For a little more detail, see History.
First of all, to Mal Minhas, the author of the original GnuBox
to Mika Raento for hacking it to work on Symbian Series60V2
to Izak Burger to port it from Series60 to UIQ. I could not have
done that as a newbie in Symbian programming. (Tried but failed :)
-xan- (that's me :)
to andreh on SymbianOS.org for encouraging the UIQ port
(including prior work)
to andreh and jago25_98 for testing throughout the development
(the log is kept in the Symbianos.org forum :)
to many helpful and supportive users on the forum for the
Nokia/Motorola tests (including Daniele Mirabile, Andreas Schildbach,
Stephan Beyerle, Luca Anceschi, Frank Hoffmann).
to Schuon for writing the first version of the Nokia tutorial.
to Umit for another tutorial.
Links and References
The current version of this page (or a link where it has moved
to): http://gnubox.dnsalias.org/gnubox
The original GnuBox cvs: http://www.symbianos.org/cgi-bin/viewcvs.cgi/gnubox/. The original 3650 binary is here.
Mika Raento's page with the Series60V2 port: http://www.cs.helsinki.fi/u/mraento/symbian/bt-ap.html
Primary forum of the uiq port at SymbianOS.org: http://www.symbianos.org/yabbse/index.php?board=2;action=display;threadid=7
SonyEricsson developer site (including SDK download) http://www.sonyericsson.com/developer
Symbian developer site (also including SDK download) http://www.symbian.com/developer/
Online documentation of Symbian OS 7.0: http://www.symbian.com/developer/techlib/v70docs/SDL_v7.0/doc_source/index.html.
There is an important part that details the CommsDb: http://www.symbian.com/developer/techlib/v70docs/SDL_v7.0/doc_source/reference/cpp/CommDb/index.html#CommDb%2etoc
There are threads in many other forums about GnuBox (on Nokia
phones -- as so far it was working only on nokia), just Google for
them.
Glossary
To be filled. (Suggest entries!)
CommsDb
UIQ
SymbianOS
Series60