LeapFrog Pollux Platform: Internet Access

From eLinux.org
Revision as of 02:18, 14 July 2011 by Jrspruitt (talk | contribs) (Hardware Needed)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


There are two methods of accessing the internet from your LeapFrog Pollux Platform device. While both require hooking up to a host PC, you can either using routing, or bridging to make the connection. Either way nets you the same goal. Some differences are Bridging deals with Layer 2 of the OSI model and and allow DHCP broadcasts, while Routing involves Layer 3.


A Linux host PC

For the Didj, it requires you Enable Networking

Interface Name

  • The label you're host PC gave your device's interface, ex, usb0 (as used in this tutorial) run dmesg after plugging in to find what your interface name is, ex. eth1, eth2, usb1, usb2, etc, and replace references to usb0, with that.

Hardware Needed

Console Access

Routing Method

Configuring the Host

For this tutorial we'll use these IP address.

  • Host
  • Device

Configure the host machine's /etc/network/interfaces file as follows as root.

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto usb0
iface usb0 inet static
       up route add -net netmask dev usb0
       up echo 1 > /proc/sys/net/ipv4/ip_forward
       up iptables -P FORWARD ACCEPT
       up iptables -A POSTROUTING -t nat -j MASQUERADE -s
       down route del -net netmask
       down echo 0 > /proc/sys/net/ipv4/ip_forward
       down iptables -t nat -F POSTROUTING

To apply these new settings:

On Host

$ sudo /etc/init.d/networking restart

Now you can proceed to configuring your device

Bridging/Routing Method

This is a hybrid method using Bridging and Routing. Configuring the Host

This will require you have bridge-utils installed

On Host

$ sudo apt-get install bridge-utils

You will need to edit a couple configuration files, be sure to make a back up copy first.

Edit /etc/network/interfaces by pasting this in at the end of the file.

auto br0

   iface br0 inet static
   pre-up brctl addbr br0
   post-down brctl delbr br0

allow-hotplug usb0

   iface usb0 inet manual
   pre-up ifconfig usb0 down
   pre-up brctl addif br0 usb0
   pre-up ifconfig usb0 up
   post-down ifconfig usb0 down
   post-down brctl delif br0 usb0

Edit /etc/rc.local and paste this in just before "exit 0"

echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o br0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i br0 -o eth0 -j ACCEPT

On Host

$ sudo ifup br0
$ sudo /etc/rc.local

You can now proceed to configuring the device.

Configuring the Device

If you're using a Didj make you have Enabled Networking

With the USB cable connected to your host, configure an IP address on a different subnet from the rest of your LAN

On Device

# ifconfig usb0 netmask

Next, add a route from your Didj to the host (making it the gateway) using the ip address of the host's usb0 device.

On Device

# route add default gw usb0

Finally, add nameservers to your Didj's /etc/resolv.conf file (you can add the lines from this example which uses the OpenDNS servers)


At this point, your Didj is connected to the outside world - and a ping or a wget to yahoo or google should work.


Routing packets from the gateway to the Didj.