Apache IPv6 UMTS server @Nokia N900


Nokia N900 is the first mobile device that can do "dual-stack" IPv4 and IPv6 connection on packet data mobile networks (EDGE,UMTS,HSPA) – well, 2 separate PDP contexts anyway, but close enough since it is not really supported by 3GPP yet. It requires some kernel modifications, which I cannot provide here, but if there is any interest send me email and I can provide some info on that subject…

Anyway, once we have IPv6 connectivity to internet we can also setup device to act as web server – since it is a Linux device this is not too hard to do. However, most mobile operators block the incoming TCP connection toward clients to prevent overcharging, so contact your ISP to verify if incoming connections are allowed. Here is the output from my ifconfig, that shows two active mobile data interfaces and sessions, one for IPv4 and second for IPv6:

gprs0     Link encap:UNSPEC  HWaddr *
          inet addr:10.10.9.14  P-t-P:10.10.9.14  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP  MTU:1400  Metric:1
          RX packets:1158 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1294 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10
          RX bytes:162582 (158.7 KiB)  TX bytes:139618 (136.3 KiB)

gprs1     Link encap:UNSPEC  HWaddr *
          inet6 addr: 2a02:840:beef:30::2/0 Scope:Global
          UP POINTOPOINT RUNNING NOARP  MTU:1400  Metric:1
          RX packets:73 errors:0 dropped:0 overruns:0 frame:0
          TX packets:66 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10
          RX bytes:8680 (8.4 KiB)  TX bytes:39414 (38.4 KiB)


For Apache to run we have to first install the Easy Debian package for N900, and after that the libapache2-mod-php package inside chrooted environment, which installs all required packages because of dependancies. Volia! We can verify that apache is listening on IPv6 interface by entering the following command:

[root@deb-m5v3d: /]netstat -tunlp | grep apache
tcp6     0    0    :::80    :::*      LISTEN   2009/apache2
[root@deb-m5v3d: /]

the :::80 means we are listening on all IPv6 interfaces on port 80. Here are some screenshots, just apache showing the basic php info:

<?php phpinfo(); ?>

Server localhost:

Client access to server:

All other apps should work also…

brm

Your IP Address is:
38.107.179.220

  1. #1 by Torben on July 30, 2010 - 16:18

    Hi,
    I'm very interested in your experiences with IPv6 on your N900. I also own an N900 and I have an IPv6 capable kernel installed (2.6.18.10power37).
    How did you set up your N900 to be reachable from the internet by IPv6?
    You can also send me the answer via mail.

    Greetings from Germany,
    Torben

  2. #2 by admin on August 18, 2010 - 00:30

    Hi,

    sorry, info mail was sent to spam on GMail so I mised it.. :/

    Anyway, your ISP should permit incoming IPv6 connections for conectivity to work, if you can connect to outside world via IPv6 and only inbound connections do not work maybe you should get in touch with them! If you need more info let me know!

    brm

(will not be published)
*