SDB:Nokia E72 umts bluetooth

Jump to: navigation, search
Icon-cleanup.png
This article is in need of attention because it does not follow our wiki guidelines. See Help:Style#Neutral_style
If you want to contribute, please read the rules for this wiki and if you have any questions, don't hesitate to contact the wiki team, we are more then willing to help you! :-)


Tested on openSUSE

Recommended articles

Icon-manual.png

Related articles

This article provide help with setting up the Nokia E72 (and perhaps other recent Nokia models also) as an Internet gateway using the phone as a modem.
This document explains how to connect the computer and the phone through Bluetooth. For those who prefer USB instead of Bluetooth, the SDB:Nokia E72 umts usb document provides a similar procedure.

Situation

With mobile broadband access getting more affordable the places where one can not get on-line is shrinking. Mobile devices like the Nokia E72 provide not only a built-in browser to access the Web, but are also capable to act as a modem for external devices, like a laptop. Compared to the phone's small screen, using even a modest netbook or laptop provides a better browsing experience.

Unfortunately Nokia does not include instructions in the package on how to use their phone with Linux. Good thing is that it is quite easy to get the phone working under openSUSE and of course also under other Linux distributions.

Warning

Some mobile operators may restrict or even prohibit the use of mobile phones as a modem. Please consult the terms of use.

Procedure

Required Software

Drivers

The Bluez package provides everything you need to connect with the device. Besides openSUSE and derivate distro's, Bluez is present in all mainstream Linux distributions.

Dial-up software

  • PPP
  • a user friendly dialer application, like
    • wvdial
    • kinternet
    • (NetworkManager, as soon as I figure out how :-) )

Preparations

Bluetooth pairing code

Think up a good (meaning non-obvious) PIN number of 4-8 digits.

Bluetooth address

If it is not already so, enable the Bluetooth function on your phone and also make sure that the phone is not hidden. Using the hcitool to discover the available Bluetooth devices, the phone will show up something like this:

   $ hcitool scan
   Scanning ...
       5c:57:c8:01:a1:d8   MyNokiaE72

Obviously the address will be different.

PC Suite mode

In the case of a Nokia E72 (other models probably something similar) the phone needs to be in the PC Suite mode in order to be able to access the modem function of the phone. Even when using a Bluetooth connection, this needs to be set on the phone under the "Control Panel" -> "Connection" -> "USB" -> "USB connection mode" property.

Getting connected

Create the device file

In this step we'll create a character device in /dev, which can be used by above mentioned dial-up software. To do this, we'll need two additional parameters:

  • The number of the rfcomm channel the device is providing the serial port profile. The Nokia E72 provides the dial-up profile on channel 5.
  • A unique number x for our device file (/dev/rfcommx). Since it is possible to use other Bluetooth devices on the same computer, it is good practice to use unique device names for each Bluetooth device and make them persistent. This way one can avoid accidentally trying to go on-line through a Bluetooth mouse because yesterday there used to be an UMTS modem on that device number.

Use this to create the device file /dev/rfcomm1

   # rfcomm bind 1 5c:57:c8:01:a1:d8 5

To get a list with the state of all active rfcomm devices, use this:

   # rfcomm

To remove the device, execute this:

   # rfcomm release 1

This also will delete the device file /dev/rfcomm1

Connect to the phone for the first time

   # rfcomm connect 1

It is more easy to do this step while running a Gnome session since it has a nice PIN entry applet.

After the above command, your phoen will be asking for your permission to let your PC connect to it, and also will require a pairing code. After that, you'll need to enter this same code on your PC.

Make the configuration persistent

Pairing code

After the first connection with the phone, the pairing PIN will be stored in /var/lib/bluetooth/<local macaddr>/linkkeys, so all subsequent connections will be automatic.

rfcomm settings

Edit the /etc/bluetooth/rfcomm.conf to reflect these settings.

   # cat /etc/bluetooth/rfcomm.conf
   rfcomm1 {
       bind yes;
       device 5c:57:c8:01:a1:d8;
       channel 1;
       comment "My Nokia E72";
   }

Allow non-root users to use the phone

By default the device file /dev/rfcomm1 is created with ownership and group set to root and read-write access rights to owner and group.

   # ls -l /dev/rfcomm1
   crw--w---- 1 root root 4, 0 Aug 15 20:30 /dev/rfcomm1

With this simple udev rule one can automate the following actions every time the /dev/rfcomm1 device is created:

  • assign ownership to user "joe"
  • assign group ownership to group "dialout"
  • create the symbolic link /dev/MyNokiaE72 to /dev/rfcomm1

   # cat /etc/udev/rules.d/99_custom.rules 
   KERNEL=="rfcomm[0-9]*", ATTR{address}=="5c:57:c8:01:a1:d8", ATTR{channel}=="1", NAME="%k", OWNER="joe", GROUP="dialout", SYMLINK+="MyNokiaE72"

Use this to obtain more information about possible criteria for udev rules on the phone:

   # udevadm info -a -p  $(udevadm info -q path -n /dev/rfcomm1)

wvdial settings

   # cat /etc/wvdial.conf 
   [Dialer Defaults]
   Modem = /dev/rfcomm1
   Baud = 115200
   Init1 = ATZ
   Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
   Init3 = AT+CGDCONT=1,"IP","internet"
   Area Code =
   Phone = *99***1#
   Username =ppp
   Password =ppp
   Ask Password = 0
   Dial Command = ATDT
   Stupid Mode = 1
   Compuserve = 0
   Force Address =
   Idle Seconds = 300
   DialMessage1 =
   DialMessage2 =
   ISDN = 0
   Auto DNS = 1

Using the phone to connect to the Internet

Dialing in with the phone requires 2 steps:

  • establish the Bluetooth connection with the phone
  • establish the dial-in connection

Control the Bluetooth connection to the phone

Before a user can start using the phone, the device file needs to be created. An easy option is to use this script to control the connection to the phone.

#!/bin/bash

DevNum=1

case $1 in
start)
	 rfcomm bind $DevNum
	 ;;
stop)
	 rfcomm release $DevNum
	 ;;
status)
	rfcomm show $DevNum
	;;
*)
	cat<<EOF
Usage:
	$0 [ start | stop | status ]

EOF
esac

The start (and stop) operation will require root privileges, so non-root users should use the script with sudo.

   sudo nokia-e72 start

Dial-up software

There are several options which can be used to establish a PPP connection, e.g. wvdial, NetworkManager (v0.8 and later) or kinternet... to name a few. Regardless the user interface, once pointed to the serial port device they should be able to use the phone as a modem.

wvdial can be used to establish the Internet connection, like this:

   sudo wvdial

See also