N900 USB networking

(Starting USB network mode)
Line 52: Line 52:
round-trip min/avg/max = 0.214/0.290/0.367 ms
round-trip min/avg/max = 0.214/0.290/0.367 ms
</pre>
</pre>
 +
 +
----
 +
 +
If you can not ping the outside world (for example: local network works but Google does not), check your routing tables.
 +
<pre>/home/user # route
 +
Kernel IP routing table
 +
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
 +
192.168.2.0    *              255.255.255.0  U    0      0        0 usb0
 +
default        192.168.2.14    0.0.0.0        UG    0      0        0 usb0
 +
default        *              0.0.0.0        U    0      0        0 gprs0</pre>
 +
 +
If you have a situation like above where the cell network's packets are at a lower default priority, you might have to run the following to fix it:
 +
<pre>/home/user # route del default
 +
/home/user # route
 +
Kernel IP routing table
 +
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
 +
192.168.2.0    *              255.255.255.0  U    0      0        0 usb0
 +
default        *              0.0.0.0        U    0      0        0 gprs0
 +
/home/user # ping google.com
 +
PING google.com (74.125.45.103): 56 data bytes
 +
64 bytes from 74.125.45.103: seq=0 ttl=51 time=257.081 ms
 +
64 bytes from 74.125.45.103: seq=1 ttl=51 time=236.481 ms
 +
64 bytes from 74.125.45.103: seq=2 ttl=51 time=256.226 ms
 +
^C
 +
--- google.com ping statistics ---
 +
3 packets transmitted, 3 packets received, 0% packet loss
 +
round-trip min/avg/max = 236.481/249.929/257.081 ms</pre>
=== Stopping USB network mode ===
=== Stopping USB network mode ===

Revision as of 00:34, 13 December 2009

This page describes how to enable Networking on the N900 via USB. The first part describes how to configure the Nokia N900 as a USB pluggable network device. The second part describes how to configure various platforms to use the Nokia N900 as a network device. This article is based on the Maemo 4.x wiki for configuring USB networking.

You might want to use the N900 as a USB network device to log into your N900 remotely, or to transfer data from your N900 to another computer, in a situation where wifi or bluetooth are not an option. If you wish to connect your N900 to a Linux machine over TCP/IP, the PC connectivity section in the Maemo SDK documentation also contains useful information.

Contents

N900 USB network configuration

There is a default USB network interface configuration on Nokia N900. In the file /etc/network/interfaces, you should see a section which looks like this:

auto usb0
iface usb0 inet static
       address 192.168.2.15
       netmask 255.255.255.0
       gateway 192.168.2.14

With this default configuration, the N900 USB interface will have the IP address 192.168.2.15, and the remote end will have the IP address 192.168.2.14. By default, the USB network interface on the N900 is configured

Starting USB network mode

Plug one end of the USB cable on the host and the other end into the N900. The N900 will bring up the mode-selection dialog. Select 'PC Suite mode'.


USB Mode-Selection dialog


Open a root shell in 'X Terminal' on the N900 and activate the interface by executing the following:

sudo gainroot
ifup usb0

If all went well, no errors will be displayed. The command 'ifconfig usb0' will give the following output:

Nokia-N900-42-11:~# ifconfig usb0
usb0      Link encap:Ethernet  HWaddr F2:50:8F:04:1D:8B  
          inet addr:192.168.2.15  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1021 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2003 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:86091 (84.0 KiB)  TX bytes:2556598 (2.4 MiB)

You should also be able to ping 192.168.2.15

Nokia-N900-42-11:~# ping 192.168.2.15
PING 192.168.2.15 (192.168.2.15): 56 data bytes
64 bytes from 192.168.2.15: seq=0 ttl=64 time=0.367 ms
64 bytes from 192.168.2.15: seq=1 ttl=64 time=0.214 ms
^C
--- 192.168.2.15 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.214/0.290/0.367 ms

If you can not ping the outside world (for example: local network works but Google does not), check your routing tables.

/home/user # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     *               255.255.255.0   U     0      0        0 usb0
default         192.168.2.14    0.0.0.0         UG    0      0        0 usb0
default         *               0.0.0.0         U     0      0        0 gprs0

If you have a situation like above where the cell network's packets are at a lower default priority, you might have to run the following to fix it:

/home/user # route del default
/home/user # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     *               255.255.255.0   U     0      0        0 usb0
default         *               0.0.0.0         U     0      0        0 gprs0
/home/user # ping google.com
PING google.com (74.125.45.103): 56 data bytes
64 bytes from 74.125.45.103: seq=0 ttl=51 time=257.081 ms
64 bytes from 74.125.45.103: seq=1 ttl=51 time=236.481 ms
64 bytes from 74.125.45.103: seq=2 ttl=51 time=256.226 ms
^C
--- google.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 236.481/249.929/257.081 ms

Stopping USB network mode

This is optional. It is not necessary to stop the interface after unplugging the USB cable.

However, to stop the USB interface, unplug the USB cable and execute the following in 'X Terminal'

sudo gainroot
ifdown usb0

Host USB Network Configuration

The Host configuration is detailed in the Maemo 4.x USB Networking wiki. Please refer to it for details.