[Avila] IXP 400 Access Libary and Ethernet Drivers
Joel Lindsay
joel at waveteq.com
Fri Dec 8 02:29:56 EST 2006
Hi Tim,
Here is a du of the lib directory
288 ./modules/2.6.15-uc0/kernel/ixp425/ixp400-2.0
40 ./modules/2.6.15-uc0/kernel/ixp425/net-2.0
332 ./modules/2.6.15-uc0/kernel/ixp425
384 ./modules/2.6.15-uc0/kernel/madwifi/ath
24 ./modules/2.6.15-uc0/kernel/madwifi/ath_rate/sample
28 ./modules/2.6.15-uc0/kernel/madwifi/ath_rate
320 ./modules/2.6.15-uc0/kernel/madwifi/net80211
736 ./modules/2.6.15-uc0/kernel/madwifi
24 ./modules/2.6.15-uc0/kernel/crypto
36 ./modules/2.6.15-uc0/kernel/net/sched
40 ./modules/2.6.15-uc0/kernel/net
1136 ./modules/2.6.15-uc0/kernel
1140 ./modules/2.6.15-uc0
1148 ./modules
5600 .
And also a ls -l of the lib dir
-rwxr-xr-x 1 root root 105275 2006-12-05 10:11 ld-2.2.5.so
-rwxr-xr-x 1 root root 105275 2006-12-05 10:11 ld-linux.so.2
lrwxrwxrwx 1 root root 16 2006-12-05 10:11 ld.so.1 -> /lib/ld-2.2.5.so
-rwxr-xr-x 1 root root 1007060 2006-12-05 10:11 libcrypto.so.0
-rwxr-xr-x 1 root root 24278 2006-12-05 10:11 libcrypt.so.1
-rwxr-xr-x 1 root root 1286537 2006-12-05 10:11 libc.so.6
-rwxr-xr-x 1 root root 12504 2006-12-05 10:11 libdl.so.2
-rwxr-xr-x 1 root root 528726 2006-12-05 10:11 libm.so.6
-rwxr-xr-x 1 root root 284842 2006-12-05 10:11 libncurses.so
-rwxr-xr-x 1 root root 84823 2006-12-05 10:11 libnsl.so.1
-rwxr-xr-x 1 root root 15714 2006-12-05 10:11 libnss_dns.so.2
-rwxr-xr-x 1 root root 44449 2006-12-05 10:11 libnss_files.so.2
-rwxr-xr-x 1 root root 98473 2006-12-05 10:11 libpthread.so.0
-rwxr-xr-x 1 root root 68731 2006-12-05 10:11 libresolv.so.2
-rwxr-xr-x 1 root root 611264 2006-12-05 10:11 librrd.so.0
-rwxr-xr-x 1 root root 188844 2006-12-05 10:11 libssl.so.0
-rwxr-xr-x 1 root root 11146 2006-12-05 10:11 libutil.so.1
drwxr-xr-x 3 root root 4096 2006-12-04 18:47 modules
The biggest difference with uClibc is the are the libc and libm libraries
-rw-r--r-- 1 joel joel 268796 2006-12-05 10:10 libc.so.0
-rw-r--r-- 1 joel joel 55592 2006-12-05 10:10 libm.so.0
Maybe my best bet is to try to optimize some of these libraries for size,
especially the librrd and libcrypto. I don't know if there is anything I
can do with the libc to make it smaller, but that would sure help too.
So maybe someone has some ideas, otherwise I will probably have to live with
the way it is
-----Original Message-----
From: Tim Harvey [mailto:tim_harvey at yahoo.com]
Sent: December 7, 2006 9:31 PM
To: Avila
Subject: Re: [Avila] IXP 400 Access Libary and Ethernet Drivers
Subject: [Avila] Joel,
Yes, the 8M limit is easily overcome with a newer genextfs - that has
nothing to do with Snapgear and of course thats the uncompressed size not
the compressed flash size.
I'm very understanding of your dilemma as I also use openssl and am
constantly fighting the size of my RFS (equates to memory usage when your
loading that RFS into a ramdisk).
I'm surprised to here that uClibc makes that big of a difference. I would
be concerned 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.
What 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.5MB
flash partition - granted this seriously pushes the limits of the 8MB/16MB
flash/ram the 2347 has. With openssl whats probably killing you is
libcrypto 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.
Anyone else using uClibc or have any comments on it?
Tim
----- Original Message ----
From: Joel Lindsay <joel at waveteq.com>
To: Avila <avila at lists.unixstudios.net>
Sent: Thursday, December 7, 2006 5:06:16 PM
Subject: RE: [Avila] IXP 400 Access Libary and Ethernet Drivers
Subject: [Avila] Tim, Dave,
Thanks for your responses.
I have integrated about 10 packages into snapgear, have upgraded the madwifi
and done several other things to my build environment. It is working great
except that I have eclipsed the 8M limit of the ramdisk and had to start
using a different genfs program to make my ramdisk.
The biggest problem is that my library directory is almost 6 megs when built
with glibc compared to about 3 when using uClibc. I am using ncurses
library for dialog and rrdtool library in addition to openssl library which
is where all the size comes from. I don't know much about lib optimization
so I don't know if I can make the libraries any smaller.
I wanted to use uClibc to try to get back below the 8M snapgear limit which
means I need to get my libraries about 1.5 Megs smaller.
Thanks really the only reason.
Joel
-----Original Message-----
From: Dave G [mailto:daveg at unixstudios.net]
Sent: December 7, 2006 4:41 PM
To: Avila
Subject: Re: [Avila] IXP 400 Access Libary and Ethernet Drivers
Subject: [Avila] Joel,
As Tim mentioned...use the Gateworks BSP CD. It is prepared specifically for
the Avila. The prebuilt zImage/ramdisk.gz images that are in the
/tftpboot/2.6 directory on the BSP CDROM (typically same as in flash) are
completely usable and do have a pretty recent version of wireless tools
within them. They are ready to burn into flash.
To save you unneeded stress....do no try to build uClibc via SnapGear (SG).
Stick with glibc which is set as default on the Gateworks BSP. I know of no
other benefit to using uClibc at this time other than sizem which is really
not too much of a concern to many folks anymore.
Is there some other reason you need to use uClibc?
-Dave
> 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
>
> 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
>
> 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
>
>
> ---------------------------------------------------------------------
> 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
---------------------------------------------------------------------
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