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

Changes

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 P8002005-01-02 gnubox_p800.sis v1.0, working (stable)
SonyEricsson P9002005-01-02 gnubox_p900.sis v1.0, working (stable)
SonyEricsson P9102005-01-02 gnubox_p910.sis v1.0, working (stable)
Motorola A9202005-04-11 gnubox_A920.sis v1.1 beta, unnecessary
Motorola A9252005-04-11 gnubox_A925.sis v1.1 beta, unnecessary
Motorola A10002005-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 32302005-04-11 gnubox_3230.sis v1.1 beta, working
Nokia 62602005-04-11 gnubox_6260.sis v1.1 beta, working
Nokia 66202005-04-11 gnubox_6620.sis v1.1 beta, working
Nokia 66702005-04-11 gnubox_6670.sis v1.1 beta, working
Nokia 76102005-04-11 gnubox_7610.sis v1.1 beta, working
Series60 v2 feature pack 2
Nokia 6630, 6680, 66812006-03-25 testing/ v1.1 beta3, working (RC state)
Nokia 66822005-10-17 gnubox_6682.sis v1.1 beta, working
Series60 v2 feature pack 3
Nokia N702005-11-06 testing/ v1.1 beta3, promising inital results
Nokia N902005-11-06 testing/ v1.1 beta3, no feedback yet

Series90 phones

Nokia 77102006-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

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.

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

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

Instructions for the WinXP (SP2) bluetooth drivers under windows

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

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. 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

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

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!

Instructions for linux

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.

Basic setup instructions on Nokia for v1.1 beta

  1. Create a full backup of your phone. Remember, this is beta stuff. You may need to format your phone if something seriously goes wrong.
  2. Install GnuBox. Take the .SIS for your phone in the download section.
  3. 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.
  4. 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.
  5. Exit GnuBox with Options|Exit.
  6. 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).
  7. 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'.
  8. Select Options|Install|Create records
  9. 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.
  10. 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 )
  11. 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

  1. 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.
  2. 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).
  3. 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).
  4. 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).
  5. 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.
  1. 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.
  2. 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.
  3. 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).
  4. 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.)
  5. 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.
  6. 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!
  7. 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).
  8. 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:

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:

and a few benefits:

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:

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.

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:

Solving this problem is about 2 minutes given the above information.

for v1.1 beta (Series60) version: There are two possible reasons:

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

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