Mar 21

Allnet 0187 (ALL0187) linux driver (WIP)

Category: Linux   — Published by tengo on March 21, 2008 at 8:22 am

As I have no solution yet, this post must be considered work in progress (WIP).

I am running Linux and plan on using an HomePNA (also called HPNA) phoneline network via an Allnet ALL0187 USB to HPNA adapter. My system recognized the device partly and is now using the "pegasus" driver - which as far as I see it, doesn't fully work. Also the lamps on the device aren't lighting up as they used to on a Windows XP machine...

A related post on a german mailing list implies that there is no possibility that I get my Allnet HPNA to work. But still, many posts are very old and I hope that the Pegasus/Pegasus II project impoved support so far.

Things I have to figure out:

  • What is the current version of my pegasus driver installed. And: is there a newer version available from CVS
  • How do I upgrade the driver from this CVS (haven't done this before)
  • What is the difference between pegasus and pegasusII?
  • Is it true that pegasus once was meant to operate USB devices while never versions are now rewritten to support only PCI devices? (I would then need to use the older version for USB devices...)

Update 2010-05-21:
As it seems, the Allnet ALL0187 is running on the ADMtek chipset, which is claimed by the linux USB project to be 100% supported.
Doing ifconfig correctly lists the device (Ubuntu 9.04) as eth1 along my motherboard's eth0 interface. Still, the lights are not glowing as they would under Windows. And I need to check if it works once I get the chance to connect it to a HPNA network.

Update 2010-05-28:
Once connected to a HomeONA line, one of the LEDs on the device, the "HPNA" one, actually glows. Anyway, running Ubuntu 9.10 with pegasus v0.6.14 here, I am still out of luck. However searching for issues related to the chipset gives more results. dmesg tells me that kernel and pegasus have identifed my device  as ADMtek ADM8511 using the "Pegasus II" driver.
Some forum threads tell me that people have had luck getting this driver to work.

Some seem to encounter error -19, others error code -22 as I do. "pegasus 3-2:1.0: update_eth_regs_async, status -22"to be exact. Or this thread for the ADM8515. This German thread is trying to solve this issue on a SUSE system, however their directions didn't help me either.

Threads seem to center around the proper activation of the Linux kernel module, for example by adding

alias eth2 pegasus
options pegasus mii_mode=1

to sudo nano /etc/modprobe.d/aliases as done here (there is no such file on Ubuntu!)
or by issuing these these commands to insert the pegasus driver module into the running kernel:

sudo modprobe -rv pegasus
sudo modprobe pegasus mii_mode=1

Which should send pegasus into mode 1, mode 1 being the hpna mode... Both modes, 0 and 1, did not work out for me.
lsmod | grep pegasus can be used to check wheater the driver did load. I got output

pegasus  27228  0
mii          6368   1 pegasus

Further dmesg has an entry ADDRCONF (NETDEV_UP): eth1: link is not ready. And explicitely using eth1 to ping via ping -I eth1 yields a "sendmsg: Operation not permitted" error.