|HomePNA is a technology that uses the unused pairs on a plain old analogue line (or in fact a cat 5 cable), as a relatively slow networking system. This article details using it with Debian GNU/Linux.
The best reference I could find for setting up a HomePNA device under Linux was at
http://www.homepna.org/support/faqs.html#FAQ6_Q4. The following is a tweaked and Debian-centric version of those instructions.
Given to my friend was a PCI card with two RJ-11 ports on the back; just like a modem. It was purchased as a Diamond HomeFree 10 Mbit phoneline network device. It has a Broadcom 4210 chip (specifically, BCM4210KTF) on it.
I needed the 2.4 kernel source tree (package: kernel-source-2.4.18) and the LinkSys Linux HomePNA driver from
You might be wondering why the linux driver has a .exe at the end of it. Well, believe it or not, the code you need is wrapped inside that self-executing compressed file. The only rationale for this I can think of is that Linksys wants to make sure you accept their terms of agreement. *sigh*
WARNING: The driver files are mostly object files precompiled for a non-SMP x86. There is enough code so that the module can be built against your source tree and be compatible with your running kernel. You are trusting LinkSys’ unseen code.
Getting the files decompressed on a windows machine and moved to your Debian box will probably be the longest part of the installation. /usr/src/ is a good location for the directory.
1. Make sure the card is installed and recognized. Running lspci showed the card as:
00:09.0 Ethernet controller: Epigram Inc: Unknown device a0fa (rev 01)
2. Make sure that your source tree headers are in your include path. I solve this by replacing the /usr/include/linux directory with a symlink:
/usr/include/linux -> /usr/src/linux/include/linux
Where /usr/src/linux is always my current source tree.
If you know a different or better way to do this, please email me.
3. In the linux HomePNA driver directory, run make or make LINUXVER=`uname -r`. I didn’t find any difference between the two.
4. If successful, the file il.o should have been created. Copy this into /lib/modules/`uname -r`/kernel/drivers/net and then insert it by insmod /lib/modules/`uname -r`/kernel/drivers/net/il.o .
Check the tail of your syslog for something like:
Jun 20 21:33:13 tardigrade kernel: eth1: Broadcom InsideLine10(tm) PCI Network Adapter 126.96.36.199
This indicates success.
5. I then appended to /etc/network/interfaces the lines:
auto iface eth1
iface eth1 inet dhcp
and appended to /etc/modules the line:
Thus, on boot, the “InsideLinex” driver should be loaded and a DHCP request should go out on the HomePNA interface.
Though true success is still unknown (I will be delivering the machine in a few days), that the driver loaded and recognized the hardware is a very good sign.