[Avila] IXP 400 Access Libary and Ethernet Drivers

Tim Harvey tim_harvey at yahoo.com
Fri Dec 8 00:30:51 EST 2006


Joel,=0A=0AYes, the 8M limit is easily overcome with a newer genextfs - tha=
t has nothing to do with Snapgear and of course thats the uncompressed size=
 not the compressed flash size.=0A=0AI'm very understanding of your dilemma=
 as I also use openssl and am constantly fighting the size of my RFS (equat=
es to memory usage when your loading that RFS into a ramdisk).=0A=0AI'm sur=
prised to here that uClibc makes that big of a difference.  I would be conc=
erned about side-effects it may have on apps (or build issues as you may be=
 running into) because of some of the limitations it uses to reduce size.=
=0A=0AWhat other libs are you using?  Show us a 'ls -lR romfs/lib'  One of =
my distributions is rather full-featured including an http server with php,=
 and openssl and still fits within a 14MB uncompressed filesystem and a 5.5=
MB flash partition - granted this seriously pushes the limits of the 8MB/16=
MB flash/ram the 2347 has.  With openssl whats probably killing you is libc=
rypto because it contains all the crypto's even the ones you possibly don't=
 need.  You may be able to trim that down by building openssl yourself and =
disabling crypto's you don't require.=0A=0AAnyone else using uClibc or have=
 any comments on it?=0A=0ATim=0A=0A=0A----- Original Message ----=0AFrom: J=
oel Lindsay <joel at waveteq.com>=0ATo: Avila <avila at lists.unixstudios.net>=0A=
Sent: Thursday, December 7, 2006 5:06:16 PM=0ASubject: RE: [Avila] IXP 400 =
Access Libary and Ethernet Drivers=0A=0ATim, Dave,=0A=0AThanks for your res=
ponses.=0A=0AI have integrated about 10 packages into snapgear, have upgrad=
ed the madwifi=0Aand done several other things to my build environment.  It=
 is working great=0Aexcept that I have eclipsed the 8M limit of the ramdisk=
 and had to start=0Ausing a different genfs program to make my ramdisk.  =
=0A=0AThe biggest problem is that my library directory is almost 6 megs whe=
n built=0Awith glibc compared to about 3 when using uClibc.  I am using ncu=
rses=0Alibrary for dialog and rrdtool library in addition to openssl librar=
y which=0Ais where all the size comes from.  I don't know much about lib op=
timization=0Aso I don't know if I can make the libraries any smaller.=0A=0A=
I wanted to use uClibc to try to get back below the 8M snapgear limit which=
=0Ameans I need to get my libraries about 1.5 Megs smaller.=0A=0AThanks rea=
lly the only reason.=0A=0AJoel=0A=0A-----Original Message-----=0AFrom: Dave=
 G [mailto:daveg at unixstudios.net] =0ASent: December 7, 2006 4:41 PM=0ATo: A=
vila=0ASubject: Re: [Avila] IXP 400 Access Libary and Ethernet Drivers=0A=
=0AJoel,=0A=0AAs Tim mentioned...use the Gateworks BSP CD. It is prepared s=
pecifically for=0A=0Athe Avila. The prebuilt zImage/ramdisk.gz images that =
are in the =0A/tftpboot/2.6 directory on the BSP CDROM (typically same as i=
n flash) are =0Acompletely usable and do have a pretty recent version of wi=
reless tools =0Awithin them. They are ready to burn into flash.=0A=0ATo sav=
e you unneeded stress....do no try to build uClibc via SnapGear (SG). =0ASt=
ick with glibc which is set as default on the Gateworks BSP. I know of no =
=0Aother benefit to using uClibc at this time other than sizem which is rea=
lly =0Anot too much of a concern to many folks anymore.=0A=0AIs there some =
other reason you need to use uClibc?=0A=0A=0A=0A=0A-Dave=0A=0A> Thanks Tim,=
=0A>=0A> I have used the snapgear distribution that you are speaking of, an=
d though=0A=0A> I=0A> didn't find it as flexible as buildroot, it worked fa=
irly well.  The big=0A> problem is that some of the packages are a little o=
utdated and had to be=0A> updated, and this is more of a pain with snapgear=
 than with buildroot.=0A>=0A> I would be totally happy to stick with snapge=
ar as I have my whole =0A> platform=0A> up and running perfectly but compil=
ed against libc.  I want to compile=0A> against uClibc and I have been havi=
ng a bugger of a time compiling 1 =0A> package=0A> I absolutely must have w=
ith snapgear/uclibc.  The package is wireless =0A> tools=0A> and with eithe=
r the one that comes with the snapgear distribution or the=0A> latest versi=
on, I can compile against uClibc with no problem but I can't=0A> actually r=
un the binary because it seems to still be looking for the libc=0A> library=
 (when it was compiled against uClibc)=0A>=0A> Since I haven't been able to=
 fix the snapgear problem (have a support=0A> request on uClinux message bo=
ards), I thought I would try to switch to=0A> buildroot which has gone fair=
ly smoothly except for this issue.  I would =0A> be=0A> happy with some adv=
ice on either problem so I can complete the project and=0A> be done with it=
 :)=0A>=0A> Joel=0A>=0A> -----Original Message-----=0A> From: Tim Harvey [m=
ailto:tim_harvey at yahoo.com]=0A> Sent: December 7, 2006 4:07 PM=0A> To: Avil=
a=0A> Subject: Re: [Avila] IXP 400 Access Libary and Ethernet Drivers=0A>=
=0A> Joel,=0A>=0A> Wow, looks like your going through a lot of uncessesary =
thrash.  Why don't=0A> you just use the BSP that Gateworks supplies for the=
ir boards?  Its ready =0A> to=0A> go (although the 2.6.x kernel is 2.6.15-u=
c0, but quite frankly I'm not =0A> sure=0A> I understand the constant desir=
e to keep up with the absolute latest=0A> kernel).=0A>=0A> The answer to yo=
ur question is yes - if you want to use the ENET you have =0A> to=0A> have =
the IntelAccess Library (or equivalent 'driver' code for the internal=0A> N=
etwork Processing Engines or NPE's).  Think of the NPE's as a 'soft-mac'=0A=
> for lack of a better term.  The reason you are going through all this =0A=
> thrash=0A> is that Intel, in their infinite wisdom will not release their=
 library to=0A> the GPL which keeps it from being integrated into the Linux=
 kernel.  There=0A> is some work on an opensource, reverse engineered?, GPL=
 driver to solve =0A> this=0A> issue, but I haven't followed that much.=0A>=
=0A> The Gateworks BSP, and possibly some of the other third party BSP's=0A=
> supporting avila, keeps you from having to go through this thrash because=
 =0A> it=0A> supplies a kernel pre-patched with the IAL.=0A>=0A> Tim=0A>=0A=
>=0A> ----- Original Message ----=0A> From: Joel Lindsay <joel at waveteq.com>=
=0A> To: Avila <avila at lists.unixstudios.net>=0A> Sent: Thursday, December 7=
, 2006 2:22:24 PM=0A> Subject: [Avila] IXP 400 Access Libary and Ethernet D=
rivers=0A>=0A> I must say this is the biggest pain ever.=0A>=0A> I am tryin=
g to get the ethernet port to work on the avila board, I am just=0A> using =
the little 2347 board, so no hardware encryption.  Should be simple=0A> sim=
ple simple.=0A>=0A> After struggling through the documentation to try to fi=
gure out what I=0A> needed, and then realising that some of the files the d=
ocument asks for =0A> are=0A> not even there I think I managed to find them=
 all.=0A>=0A> BSD_ixp400AccessLibrary-2_3.zip - Access Library Source=0A> B=
SD_ixp400AccessLibrary-2_3_1.zip - Access Library Source Patch=0A> GPL_ixp4=
00LinuxEthernetDriverPatch-1_6.zip - Ethernet Driver Source=0A> IPL_ixp400N=
peLibrary-2_3.zip - Microcode=0A> GPL_kernel-2.6.19-bugfix-1_1.patch - Made=
 this myself from some old file=0A> from sourceforge that doesnt exist anym=
ore=0A> ixp400LinuxKernel-BE-1_3.patch - I think this patch is supposed to =
patch=0A> kernel so I can select to build the ethernet modules=0A>=0A> Of c=
ouse after having these files, I followed the documentation word for=0A> wo=
rd and ended up with lots of errors that look like=0A>=0A> When I try to ma=
ke modules from the linux directory:=0A>=0A>=0A/home/joel/dev/buildroot/pac=
kage/ixp400/ixp400_xscale_sw/src/include/IxQueue=0A> Assignments.h:90:5:=0A=
> warning: "IX_UTOPIAMODE" is not defined=0A>=0A/home/joel/dev/buildroot/pa=
ckage/ixp400/ixp400_xscale_sw/src/include/IxQueue=0A> Assignments.h:93:5:=
=0A> warning: "IX_MPHYSINGLEPORT" is not defined=0A> drivers/net/ixp400_eth=
.c:189: error: parse error before string constant=0A> drivers/net/ixp400_et=
h.c:189: warning: type defaults to `int' in =0A> declaration=0A>=0A> of `MO=
DULE_PARM'=0A> drivers/net/ixp400_eth.c:189: warning: function declaration =
isn't a=0A> prototype=0A> drivers/net/ixp400_eth.c:189: warning: data defin=
ition has no type or=0A> storage class=0A> drivers/net/ixp400_eth.c:192: er=
ror: parse error before string constant=0A> drivers/net/ixp400_eth.c:192: w=
arning: type defaults to `int' in =0A> declaration=0A>=0A> of `MODULE_PARM'=
=0A> drivers/net/ixp400_eth.c:192: warning: function declaration isn't a=0A=
> prototype=0A> drivers/net/ixp400_eth.c:192: warning: data definition has =
no type or=0A> storage class=0A> drivers/net/ixp400_eth.c:194: error: parse=
 error before string constant=0A> drivers/net/ixp400_eth.c:194: warning: ty=
pe defaults to `int' in =0A> declaration=0A>=0A> of `MODULE_PARM'=0A>=0A> W=
hen I try a make ixp400 from the ixp400_xscale_sw directory:=0A>=0A> In fil=
e included from=0A> /home/joel/dev/buildroot/linux-2.6.19/include/linux/bit=
ops.h:9,=0A>                 from=0A> /home/joel/dev/buildroot/linux-2.6.19=
/include/linux/thread_info.h:20,=0A>                 from=0A> /home/joel/de=
v/buildroot/linux-2.6.19/include/linux/preempt.h:9,=0A>                 fro=
m=0A> /home/joel/dev/buildroot/linux-2.6.19/include/linux/spinlock.h:49,=0A=
>                 from=0A> /home/joel/dev/buildroot/linux-2.6.19/include/as=
m/semaphore.h:8,=0A>                 from=0A>=0A/home/joel/dev/buildroot/pa=
ckage/ixp400/ixp400_xscale_sw/../ixp_osal/os/linu=0A> x/include/core/IxOsal=
OsTypes.h:52,=0A>                 from=0A>=0A/home/joel/dev/buildroot/packa=
ge/ixp400/ixp400_xscale_sw/../ixp_osal/include=0A> /IxOsalTypes.h:57,=0A>  =
               from=0A>=0A/home/joel/dev/buildroot/package/ixp400/ixp400_xs=
cale_sw/../ixp_osal/include=0A> /IxOsal.h:52,=0A>                 from src/=
atmdAcc/IxAtmdDescMgmt.c:64:=0A> /home/joel/dev/buildroot/linux-2.6.19/incl=
ude/asm/bitops.h: In function=0A> `____atomic_set_bit':=0A> /home/joel/dev/=
buildroot/linux-2.6.19/include/asm/bitops.h:40: warning:=0A> implicit decla=
ration of function `local_irq_save'=0A> /home/joel/dev/buildroot/linux-2.6.=
19/include/asm/bitops.h:42: warning:=0A> implicit declaration of function `=
local_irq_restore'=0A> In file included from=0A> /home/joel/dev/buildroot/l=
inux-2.6.19/include/asm/semaphore.h:10,=0A>                 from=0A>=0A/hom=
e/joel/dev/buildroot/package/ixp400/ixp400_xscale_sw/../ixp_osal/os/linu=0A=
> x/include/core/IxOsalOsTypes.h:52,=0A>                 from=0A>=0A/home/j=
oel/dev/buildroot/package/ixp400/ixp400_xscale_sw/../ixp_osal/include=0A> /=
IxOsalTypes.h:57,=0A>                 from=0A>=0A/home/joel/dev/buildroot/p=
ackage/ixp400/ixp400_xscale_sw/../ixp_osal/include=0A> /IxOsal.h:52,=0A>   =
              from src/atmdAcc/IxAtmdDescMgmt.c:64:=0A> /home/joel/dev/buil=
droot/linux-2.6.19/include/linux/rwsem.h:24:65:=0A> asm/rwsem.h: No such fi=
le or directory=0A>=0A>=0A> I have included the full compile outputs.  I am=
 using the buildroot=0A> environment with 2.6.19 kernel.  I have also tried=
 a 2.6.18 kernel with=0A> exact same results.  I managed to get a 2.6.12 ke=
rnel running about 6 =0A> months=0A>=0A> ago with probably the exact same p=
roblems but it took me 2 weeks and I =0A> don't=0A>=0A> remember how I did =
it.=0A>=0A> Do I actually need to have all this microcode and access librar=
y if I just=0A> want a basic ethernet port without encryption?  Can somebod=
y point me in a=0A> direction that make this a little easier?=0A>=0A> Thank=
s.=0A>=0A> Joel Lindsay, B.Eng=0A> Project Engineer=0A> Waveteq Communicati=
ons=0A> (250) 766-9229=0A>>=0A>=0A>=0A> -----------------------------------=
----------------------------------=0A> To unsubscribe, e-mail: avila-unsubs=
cribe at lists.unixstudios.net=0A> For additional commands, e-mail: avila-help=
@lists.unixstudios.net=0A>=0A>=0A>=0A>=0A>=0A> ----------------------------=
-----------------------------------------=0A> To unsubscribe, e-mail: avila=
-unsubscribe at lists.unixstudios.net=0A> For additional commands, e-mail: avi=
la-help at lists.unixstudios.net=0A>=0A>=0A> ---------------------------------=
------------------------------------=0A> To unsubscribe, e-mail: avila-unsu=
bscribe at lists.unixstudios.net=0A> For additional commands, e-mail: avila-he=
lp at lists.unixstudios.net=0A>=0A> =0A=0A=0A---------------------------------=
------------------------------------=0ATo unsubscribe, e-mail: avila-unsubs=
cribe at lists.unixstudios.net=0AFor additional commands, e-mail: avila-help at l=
ists.unixstudios.net=0A=0A=0A----------------------------------------------=
-----------------------=0ATo unsubscribe, e-mail: avila-unsubscribe at lists.u=
nixstudios.net=0AFor additional commands, e-mail: avila-help at lists.unixstud=
ios.net=0A=0A=0A=0A





More information about the Avila mailing list