SDB:Nokia E72 umts usb
Tested on openSUSE
Recommended articles
Related articles
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
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. The phone will auto-sense when it is connected to the PC through a USB cable and pop-up a dialog asking the required mode, which should be set to "PC Suite". The phone also can be configured to automatically go in this mode on an USB connection: go to "Control Panel" -> "Connection" -> "USB", set the "USB connection mode" to "PC Suite" and the "Ask when connected" to "No".
Required Software
Drivers
All necessary drivers are included in Linux.
Dial-up software
- PPP
- a user friendly dialer application, like
- wvdial
- kinternet
- NetworkManager (v0.8 will provide dial-up modem capabilities)
Getting connected
Just connect the phone using the USB cable into computer. The Nokia E72 will ask you what USB mode it should use to present itself to the host computer. Though there is a specific "Connect PC to Internet" option, make sure to activate the "PC Suite" profile.
Allow non-root users to use the phone
Without additional measures, the phone will show up as /dev/ttyACM0 with ownership, group and access depending on the udev rules in /etc/udev/rules.d/. The device name is also influenced how many similar devices are connected to the system at any given time. It is good practice and also very conveniant to have the phone to appear as a persistent device. With this simple udev rule one can automate the following actions every time the phone is plugged in:
- assign ownership to user "tux"
- assign group ownership to group "dialout"
- create the symbolic link /dev/MyNokiaE72-USB to the phone's current device file (e.g. /dev/ttyACM0)
# cat /etc/udev/rules.d/99_custom.rules KERNEL=="ttyACM[0-9]*", ATTRS{manufacturer}=="Nokia", ATTRS{product}=="E72-1", NAME="%k", OWNER="tux", GROUP="dialout", SYMLINK+="MyNokiaE72-USB"
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/ttyACM0)
wvdial settings
Below example of /etc/wvdial.conf contains two configurations for the modem device.
[Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Init3 = AT+CGDCONT=1,"IP","internet" Phone = *99***1# Idle Seconds = 300 Password = ppp Stupid Mode = 1 Compuserve = 0 Baud = 460800 Auto DNS = 1 Dial Command = ATDT Ask Password = 0 ISDN = 0 Username = ppp [Dialer MyNokiaE72-USB] Modem = /dev/MyNokiaE72-USB Modem Type = Nokia E72 (USB) [Dialer MyNokiaE72] Modem = /dev/MyNokiaE72 Modem Type = Nokia E72 (Bluetooth)
Using the phone to connect to the Internet
Dialing in with the phone requires 2 steps:
- connect the phone to the PC using the USB cable
- establish the dial-in connection
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 above mentioned device file they should be able to use the phone as a modem.
Using wvdial
Until NetworkManager v0.8 becomes more widely used, wvdial is a good option to be used to establish the Internet connection.
There is unfortunately one caveat for (mostly laptop/desktop) users who rely on NetworkManager to manage their network connections. When a connection is established by wvdial, it will try to modify the DNS settings by running the /etc/ppp/ip-up script. This script, however, will not replace the existing DNS configuration if NetworkManager is used, which is indicated by the NETWORKMANAGER="yes" variable in /etc/sysconfig/network/config. Since most of the laptop/desktop users do use NetworkManager, the DNS settings passed on to wvdial will not be applied, thus requiring an additional manual action before the dial-up connection can be used. To work around this problem, below helper script "disables" NetworkManager for the duration of the dial-up connection.
Just copy and paste this into a file, e.g. ~/e72-wrapper
#!/bin/bash NETWORKMANAGERCFG=/etc/sysconfig/network/config echo "INFO: Temporarily disabling NetworkManager" sed -i 's/^NETWORKMANAGER="yes"/NETWORKMANAGER="no"/g' $NETWORKMANAGERCFG wvdial $1 echo "INFO: Enabling NetworkManager" sed -i 's/^NETWORKMANAGER="no"/NETWORKMANAGER="yes"/g' $NETWORKMANAGERCFG
To establish the dial-up connection execute this in a terminal (have your root password ready):
sudo sh ~/e72-wrapper MyNokiaE72-USB
To disconnect press CTRL+C in the terminal.