Establishing a Mesh Portal
Jump to navigation
Jump to search
It's not entirely automatic quite yet; we'll get a more automatic solution in place soon.
Requirements
- A USB ethernet adapter
- One OLPC laptop (XO)
What to do
- Plug the USB ethernet adapter into the XO
- Stop NetworkManager and dhcdbd scripts
chkconfig --level 2345 NetworkManager stop chkconfig --level 2345 dhcdbd stop
- Set your init level to '3'; stopping Sugar and X from starting again.
nano /etc/inittab
find the line with:
id:5:initdefault:
and change the '5' to a '3' so it looks like this instead:
id:3:initdefault:
- Create an ifcfg file for your USB wired interface. For example, if your wired interface is eth0, create /etc/sysconfig/network-scripts/ifcfg-eth0, which should contain:
DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp
This file will already exist for 'eth0', but if your USB wired interface is _not_ 'eth0', you need to create this file for whatever interface name your wired USB device is.
- Create an ifcfg file for the mesh interface "msh0". Edit /etc/sysconfig/network-scripts/ifcfg-msh0 to look like the following:
# Marvell mesh network module DEVICE=msh0 MODE=ad-hoc CHANNEL=1 ESSID="olpc-mesh-1" IPADDR=172.18.16.1 NETMASK=255.255.240.0 NETWORK=172.18.16.0 BROADCAST=172.18.31.255 ONBOOT=yes
- Install the DHCP daemon
yum -y install dhcp
You may have to try this command twice; yum sometimes runs out of memory doing dependency solving, and terminates before actually installing the RPM.
- Configure DHCP to serve on the mesh interface. Edit /etc/sysconfig/dhcpd so it looks like this:
# Command line options here DHCPDARGS="msh0"
- Set up DHCP to provide leases on the mesh interface. Edit /etc/dhcpd.conf to look like the following. For the "option domain-name-servers", use the domain name servers that your USB Ethernet device returned via DHCP, which should be found in /etc/resolv.conf. Don't leave "option domain-name-servers with the "x.x.x.x" values. If you only have one DNS server, omit the second value from at line.
subnet 172.18.16.0 netmask 255.255.240.0 { option routers 172.18.16.1; option subnet-mask 255.255.240.0; option broadcast-address 172.18.31.255; range 172.18.16.2 172.18.31.254; option domain-name-servers x.x.x.x, x.x.x.x; default-lease-time 600; max-lease-time 1800; }
- Set DHCP to run on startup
chkconfig --level 345 dhcpd on
- reboot
and it should all work
Further Reading
More information is available on these topics: