Simple Linux IP Repeaters to Extend HomePlug Range

Simple Linux-based devices bring real networking features to a system that runs over power lines.
μClinux Version

Because μClinux runs on embedded systems, the settings in the previous section must be active immediately after the load. The default installation of a μClinux operating system does not include the packet relaying module. Thus, we first must compile a kernel with packet relaying support, using the following four configuration steps:

  • Enabling the IP: advanced router option in the Networking options section (Figure 3).

  • Enabling the /proc filesystem support option in the Filesystems section.

  • Enabling the Sysctl support option in the General Setup section.

  • Using the board shown in Figure 5, we must disable the hardware byte-swapping support for CS89x0 Ethernet option in the Ethernet (10 or 100Mbit) section (Figure 4).

Figure 3. Enable advanced router functionality using the Networking options section of the kernel configuration menu.

Figure 4. Ethernet Card Configuration

Finally, we make three key steps of the repeater setup by modifying the initialization script /etc/rc. First, activate the packet forwarding module shown in line 11 of Listing 1. Second, assign the default IP address, as shown in line 15. Third, start the repeater manager, as shown in line 19.

We successfully tested these settings on a Motorola MC68EZ328 DragonBall microcontroller board (Figure 5) with 8MB of RAM, 2MB of Flash ROM, a 10Mbps Ethernet card and the μClinux v2.4.24 operating system.

Figure 5. The Motorola development board used for μClinux is based on a DragonBall processor and includes an Ethernet interface.

Adding an Internet Connection

An extended HomePlug network may have an Internet connection through a modem router. Figure 6 represents this scenario.

Figure 6. A Typical Scenario Featuring a Repeater and a Router with an Internet Connection

Let us consider the Linux desktop repeater to illustrate a solution to provide an Internet connection. If the router in the parent subnet has the address, it is necessary to assign a different address to the repeater. Moreover, the routing tables do change. However, the configuration of the computers in subnet B is the same. They simply route Internet-bound packets through the repeater by first issuing:

# route add default gw

The computers in subnet A route packets to subnet B through the repeater, and Internet-bound packets go right through the router. In them, we must execute the following commands:

# route add -net netmask gw dev eth0
# route add default gw

The repeater must route Internet-bound packets through the router by setting:

# route add default gw

Finally, the router sends packets to subnet B through the repeater. The configuration procedure depends on the router model. A typical and easy way is to log in to the Web-based configuration by going to the URL in any Web browser. Then, it is necessary to add route through gateway


Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Upcoming Webinar
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th
Moderated by Linux Journal Contributor Mike Diehl

Sign up now

Sponsored by Skybot