Sometimes you end up somewhere with your laptop where you just can’t find any open WiFi. Luckily you have a Nokia N95 and a USB data cable. I’m going to show you how to tether your N95 to your laptop via USB the quick and dirty command line way, as well as the prettier GUI way. In these examples I am running Fedora 9 and Gnome.
Warning: You probably only want to do this if you have a decent data plan. Using 3G data can result in a very large bill!
- You need have the ppp package and the wvdial package installed. If you don’t, you can simply run, as root in a terminal window, yum install ppp wvdial (or use the package manager for your Linux distro).
- Start by plugging your phone into the computer with a USB data cable. When the phone prompts you to select the connection mode, select PC Suite.
- Now open a terminal window and check your dmesg output. You should see something similar to the following:
[user@radon ~]$ dmesg
usb 4-2: new full speed USB device using uhci_hcd and address 16
usb 4-2: configuration #1 chosen from 1 choice
cdc_acm 4-2:1.10: ttyACM0: USB ACM device
usb 4-2: bad CDC descriptors
usb 4-2: bad CDC descriptors
usb 4-2: New USB device found, idVendor=0421, idProduct=0070
usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 4-2: Product: Nokia N95 8GB
usb 4-2: Manufacturer: NokiaNote the line that says cdc_acm 4-2:1.10: ttyACM0: USB ACM device. This tells us that the phone’s modem is at /dev/ttyACM0.
Now we move on to the quick and dirty command line setup. Feel free to skip to the GUI setup below if you aren’t very comfortable with the command line.
- Edit /etc/wvdial.conf and make it look like this:
- I’m using Rogers Wireless in Canada and the above is the minimum configuration that works for me. Literally Username = user and Password = pass. You may need to make changes to the Username, Password, and Phone lines. Contact your wireless provider for the correct details.
- I also had to create a script called /etc/ppp/ip-up.local to make the automatic DNS configuration work. Here’s my ip-up.local:
- Unfortunately I have not been able to connect as a normal user in this configuration so you’ll have to connect as root.
[root@radon ~]# wvdial USB
–> WvDial: Internet dialer version 1.60
–> Cannot get information for serial port.
–> Initializing modem.
–> Sending: ATZ
ATZ
OK
–> Sending: ATM0
ATM0
OK
–> Modem initialized.
–> Sending: ATDT*99***1#
–> Waiting for carrier.
ATDT*99***1#
CONNECT
~[7f]}#@!}!} } }2}#}$@#}!}$}%\}”}&} }*} } g}%~
–> Carrier detected. Starting PPP immediately.
–> Starting pppd at Sun Oct 19 16:48:56 2008
–> Pid of pppd: 8028
–> Using interface ppp0
–> local IP address 172.28.53.106
–> remote IP address 10.6.6.6
–> primary DNS address 207.181.101.4
–> secondary DNS address 207.181.101.5 - I removed the lines containing unprintable characters, but otherwise you should see something very similar to above. Note that wvdial stays in the foreground. This is so you can disconnect by simply pressing Ctrl-C.
- You can verify that you are online by switching to a new terminal window and running ifconfig.
[root@radon ~]# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12767 errors:0 dropped:0 overruns:0 frame:0
TX packets:12767 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:714652 (697.9 KiB) TX bytes:714652 (697.9 KiB)ppp0 Link encap:Point-to-Point Protocol
inet addr:172.28.53.106 P-t-P:10.6.6.6 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:64 (64.0 b) TX bytes:94 (94.0 b)[root@radon ~]# ping simplehelp.net
PING simplehelp.net (74.52.95.42) 56(84) bytes of data.
64 bytes from 2a.5f.344a.static.theplanet.com (74.52.95.42): icmp_seq=1 ttl=46 time=110 ms
64 bytes from 2a.5f.344a.static.theplanet.com (74.52.95.42): icmp_seq=2 ttl=46 time=102 ms
64 bytes from 2a.5f.344a.static.theplanet.com (74.52.95.42): icmp_seq=3 ttl=46 time=164 ms
64 bytes from 2a.5f.344a.static.theplanet.com (74.52.95.42): icmp_seq=4 ttl=46 time=130 ms
64 bytes from 2a.5f.344a.static.theplanet.com (74.52.95.42): icmp_seq=5 ttl=46 time=149 ms
^C
— simplehelp.net ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4513ms
rtt min/avg/max/mdev = 102.061/131.349/164.376/23.190 ms - Once you are finished online, don’t forget to switch back to the terminal where you ran wvdial and press Ctrl-C.
^CCaught signal 2: Attempting to exit gracefully…
–> Terminating on signal 15
–> Connect time 4.7 minutes.
–> Disconnecting at Sun Oct 19 18:24:32 2008
Modem = /dev/ttyACM0
Baud = 460800
SetVolume = 0
Dial Command = ATDT
Init1 = ATZ
Init3 = ATM0
FlowControl = CRTSCTS[Dialer USB]
Username = user
Password = pass
Phone = *99***1#
Stupid Mode = 1
Init1 = ATZ
Inherits = Modem0
#!/bin/bash
#PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH
echo “# created by pppd” > /etc/resolv.conf
echo “nameserver ${DNS1}” >> /etc/resolv.conf
echo “nameserver ${DNS2}” >> /etc/resolv.conf
chmod go+r /etc/resolv.conf
Don’t forget to chmod 755 /etc/ppp/ip-up.local
Now, if all that command line stuff scares you, here’s how to make it work using Gnome’s GUI:
- Click System -> Administration -> Network
- You will be asked to enter your root password. Enter it and click OK.
- Now you can see a list of installed network devices. Click on the Hardware tab.
- Now click the New button, select Modem, and click OK.
- Change the Modem Device to /dev/ttyACM0. If /dev/ttyACM0 is not available in the list, just type it in. Click OK.
- Now click the Devices tab.
- Click the New button, select Modem connection, and click Forward.
- All I needed to do to make my Rogers Wireless connection work was enter *99***1# as the Phone Number, user as the Login Name, and pass as the Password. I also chose to name this connection USB. Click Forward.
- I left these options at their defaults. Click Forward.
- We’ve finished creating the connection. Click Apply.
- Click the X in the top right corner to close this window.
- Click Yes to save the changes.
- Click OK. No, we won’t need to restart the computer.
- So, let’s use our newly created connection. Click System -> Administration -> Network Device Control.
- Select the USB connection you just created and click Activate.
- Notice how the USB connection has changed from Inactive to Active.
- Open Firefox and visit http://www.simplehelp.net.
- When you are finished online, go back to the Network Device Control window, select the Active USB connection and click Deactivate.
- Verify that the USB connection is indeed Inactive, then close the Network Device Control window.
Some of you may be wondering why I chose not to use Network Manager. It’s quite simply due to the fact that mobile broadband support in Network Manager is in it’s infancy and I found it to be virtually unusable. Once Network Manager’s mobile broadband support becomes better, I’ll rewrite this tutorial based on it.