[Avila] IXP 400 Access Libary and Ethernet Drivers

Joel Lindsay joel at waveteq.com
Thu Dec 7 19:25:45 EST 2006


Thanks Tim,

I have used the snapgear distribution that you are speaking of, and though I
didn't find it as flexible as buildroot, it worked fairly well.  The big
problem is that some of the packages are a little outdated and had to be
updated, and this is more of a pain with snapgear than with buildroot.

I would be totally happy to stick with snapgear as I have my whole platform
up and running perfectly but compiled against libc.  I want to compile
against uClibc and I have been having a bugger of a time compiling 1 package
I absolutely must have with snapgear/uclibc.  The package is wireless tools
and with either the one that comes with the snapgear distribution or the
latest version, I can compile against uClibc with no problem but I can't
actually run the binary because it seems to still be looking for the libc
library (when it was compiled against uClibc)

Since I haven't been able to fix the snapgear problem (have a support
request on uClinux message boards), I thought I would try to switch to
buildroot which has gone fairly smoothly except for this issue.  I would be
happy with some advice on either problem so I can complete the project and
be done with it :)

Joel

-----Original Message-----
From: Tim Harvey [mailto:tim_harvey at yahoo.com] 
Sent: December 7, 2006 4:07 PM
To: Avila
Subject: Re: [Avila] IXP 400 Access Libary and Ethernet Drivers
Subject: [Avila] Joel,

Wow, looks like your going through a lot of uncessesary thrash.  Why don't
you just use the BSP that Gateworks supplies for their boards?  Its ready to
go (although the 2.6.x kernel is 2.6.15-uc0, but quite frankly I'm not sure
I understand the constant desire to keep up with the absolute latest
kernel).

The answer to your question is yes - if you want to use the ENET you have to
have the IntelAccess Library (or equivalent 'driver' code for the internal
Network Processing Engines or NPE's).  Think of the NPE's as a 'soft-mac'
for lack of a better term.  The reason you are going through all this thrash
is that Intel, in their infinite wisdom will not release their library to
the GPL which keeps it from being integrated into the Linux kernel.  There
is some work on an opensource, reverse engineered?, GPL driver to solve this
issue, but I haven't followed that much.

The Gateworks BSP, and possibly some of the other third party BSP's
supporting avila, keeps you from having to go through this thrash because it
supplies a kernel pre-patched with the IAL.

Tim

----- Original Message ----
From: Joel Lindsay <joel at waveteq.com>
To: Avila <avila at lists.unixstudios.net>
Sent: Thursday, December 7, 2006 2:22:24 PM
Subject: [Avila] IXP 400 Access Libary and Ethernet Drivers
Subject: [Avila] I must say this is the biggest pain ever.

I am trying to get the ethernet port to work on the avila board, I am just 
using the little 2347 board, so no hardware encryption.  Should be simple 
simple simple.

After struggling through the documentation to try to figure out what I 
needed, and then realising that some of the files the document asks for are 
not even there I think I managed to find them all.

BSD_ixp400AccessLibrary-2_3.zip - Access Library Source
BSD_ixp400AccessLibrary-2_3_1.zip - Access Library Source Patch
GPL_ixp400LinuxEthernetDriverPatch-1_6.zip - Ethernet Driver Source
IPL_ixp400NpeLibrary-2_3.zip - Microcode
GPL_kernel-2.6.19-bugfix-1_1.patch - Made this myself from some old file 
from sourceforge that doesnt exist anymore
ixp400LinuxKernel-BE-1_3.patch - I think this patch is supposed to patch 
kernel so I can select to build the ethernet modules

Of couse after having these files, I followed the documentation word for 
word and ended up with lots of errors that look like

When I try to make modules from the linux directory:

/home/joel/dev/buildroot/package/ixp400/ixp400_xscale_sw/src/include/IxQueue
Assignments.h:90:5: 
warning: "IX_UTOPIAMODE" is not defined
/home/joel/dev/buildroot/package/ixp400/ixp400_xscale_sw/src/include/IxQueue
Assignments.h:93:5: 
warning: "IX_MPHYSINGLEPORT" is not defined
drivers/net/ixp400_eth.c:189: error: parse error before string constant
drivers/net/ixp400_eth.c:189: warning: type defaults to `int' in declaration

of `MODULE_PARM'
drivers/net/ixp400_eth.c:189: warning: function declaration isn't a 
prototype
drivers/net/ixp400_eth.c:189: warning: data definition has no type or 
storage class
drivers/net/ixp400_eth.c:192: error: parse error before string constant
drivers/net/ixp400_eth.c:192: warning: type defaults to `int' in declaration

of `MODULE_PARM'
drivers/net/ixp400_eth.c:192: warning: function declaration isn't a 
prototype
drivers/net/ixp400_eth.c:192: warning: data definition has no type or 
storage class
drivers/net/ixp400_eth.c:194: error: parse error before string constant
drivers/net/ixp400_eth.c:194: warning: type defaults to `int' in declaration

of `MODULE_PARM'

When I try a make ixp400 from the ixp400_xscale_sw directory:

In file included from 
/home/joel/dev/buildroot/linux-2.6.19/include/linux/bitops.h:9,
                 from 
/home/joel/dev/buildroot/linux-2.6.19/include/linux/thread_info.h:20,
                 from 
/home/joel/dev/buildroot/linux-2.6.19/include/linux/preempt.h:9,
                 from 
/home/joel/dev/buildroot/linux-2.6.19/include/linux/spinlock.h:49,
                 from 
/home/joel/dev/buildroot/linux-2.6.19/include/asm/semaphore.h:8,
                 from 
/home/joel/dev/buildroot/package/ixp400/ixp400_xscale_sw/../ixp_osal/os/linu
x/include/core/IxOsalOsTypes.h:52,
                 from 
/home/joel/dev/buildroot/package/ixp400/ixp400_xscale_sw/../ixp_osal/include
/IxOsalTypes.h:57,
                 from 
/home/joel/dev/buildroot/package/ixp400/ixp400_xscale_sw/../ixp_osal/include
/IxOsal.h:52,
                 from src/atmdAcc/IxAtmdDescMgmt.c:64:
/home/joel/dev/buildroot/linux-2.6.19/include/asm/bitops.h: In function 
`____atomic_set_bit':
/home/joel/dev/buildroot/linux-2.6.19/include/asm/bitops.h:40: warning: 
implicit declaration of function `local_irq_save'
/home/joel/dev/buildroot/linux-2.6.19/include/asm/bitops.h:42: warning: 
implicit declaration of function `local_irq_restore'
In file included from 
/home/joel/dev/buildroot/linux-2.6.19/include/asm/semaphore.h:10,
                 from 
/home/joel/dev/buildroot/package/ixp400/ixp400_xscale_sw/../ixp_osal/os/linu
x/include/core/IxOsalOsTypes.h:52,
                 from 
/home/joel/dev/buildroot/package/ixp400/ixp400_xscale_sw/../ixp_osal/include
/IxOsalTypes.h:57,
                 from 
/home/joel/dev/buildroot/package/ixp400/ixp400_xscale_sw/../ixp_osal/include
/IxOsal.h:52,
                 from src/atmdAcc/IxAtmdDescMgmt.c:64:
/home/joel/dev/buildroot/linux-2.6.19/include/linux/rwsem.h:24:65: 
asm/rwsem.h: No such file or directory

I have included the full compile outputs.  I am using the buildroot 
environment with 2.6.19 kernel.  I have also tried a 2.6.18 kernel with 
exact same results.  I managed to get a 2.6.12 kernel running about 6 months

ago with probably the exact same problems but it took me 2 weeks and I don't

remember how I did it.

Do I actually need to have all this microcode and access library if I just 
want a basic ethernet port without encryption?  Can somebody point me in a 
direction that make this a little easier?

Thanks.

Joel Lindsay, B.Eng
Project Engineer
Waveteq Communications
(250) 766-9229
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: avila-unsubscribe at lists.unixstudios.net
For additional commands, e-mail: avila-help at lists.unixstudios.net

---------------------------------------------------------------------
To unsubscribe, e-mail: avila-unsubscribe at lists.unixstudios.net
For additional commands, e-mail: avila-help at lists.unixstudios.net





More information about the Avila mailing list