N900 USB router

When the only internet link is the N900, how to connect a laptop to it and use it to connect to the net?

There is two modes for doing this: Using the N900 as a dumb mobile broadband modem to the phone network, which however will leave the linux system on N900 without connection to internet. Or set up full USB networking between the computer and the N900 using the N900 as a router to whatever network it's connected to (phone, wlan, etc..), which will allow internet access for both N900 and PC concurrently.

The modem model should be available mostly automatically on most OS'es when you connect the phone over USB (Bluethooth also possible with an addon). Windows may need the PC Suite installed however. This however only works for phone network connections, not wlan connections.

The other variant using full USB networking support is not enabled in the default USB profile of the N900 and needs some tweaking to be enabled, but once enabled it gives you full network access to both the N900 and connection sharing of whatever Internet connection the N900 currently have (phone, wlan, etc...)

[edit] On the N900

  1. Enable extras-devel
  2. Install iptables at a terminal with root access:
    apt-get install iptables
  3. Install kernel-power-settings (see the detailed installation instructions):
    apt-get install kernel-power-settings
  4. Setup iptables to allow forwarding:
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
    iptables -t nat -A POSTROUTING -o gprs0 -j MASQUERADE
    
  5. Check the IP address for USB networking:
    cat /etc/network/interfaces
    iface usb0 inet static
    address 192.168.3.15
    netmask 255.255.255.0
    
  6. Bring the interface UP:
    ifup usb0
    
  7. Start dnsmasq on the usb0 interface to provide DHCP & DNS
    dnsmasq -I lo -z -a 192.168.3.15 -F 192.168.3.64,192.168.3.127
    

Once you have verified this works then you can make the settings permanent by adding the needed commands to /usr/sbin/pcsuite-enable.sh just before "exit 0" line at the end of the file.

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o gprs0 -j MASQUERADE
ifup usb0
dnsmasq -I lo -z -a 192.168.3.15 -F 192.168.3.64,192.168.3.127

This will make the needed settings automatically enabled when you select "PC Suite" mode on the N900 when connecting the USB cable.

[edit] On the laptop

The networking configuration on the PC side should be almost automatic on most OS:es. If needed configure your PC to use DHCP on the USB interface.

[edit] For Non-Power Users On Windows

The Nokia PC Suite also provides this functionality for Windows users. Once it is set up, click on the green globe icon to get started - or you can just run "OneTouchAccess" from the PC Suite program files directory (C:\Program Files\Nokia\Nokia PC Suite 7\ by default on Windows XP)

Note: Reportedly PC Suite do not provide USB networking as described in this article. Instead it sets up dialup networking over USB, using the phone as a wireless broadband modem. Fine for Internet access, but perhaps not what you want for advanced uses where you want to be able to communicate with the N900 as well, not just Internet.