OpenWrt Forum Archive

Topic: buikd system doesn't build ixp400_eth

The content of this topic has been archived on 31 Mar 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I have an IXP422 based board in which I run a custom-made linux version. During boot-up, I see

  ixp400_eth: Initializing IXP400 NPE Ethernet driver software v. 1.5.1
  ixp400_eth: CPU clock speed (approx) = 266 MHz
  [error] ixEthMiiPhyScan : unexpected Mii PHY ID 00221619
  ixp400_eth: Found PHY 0 at address 1
  ixp400_eth: ixp0 is using NPEB and the PHY at address 1
  Obtained ETHA mac address 0:1b:8e:0:1:ba

Now I try to install OpenWrt on the board. It works except the ethernet port doesn't work, and I do not see anything like the above. It makes me believe the drivers are not compiled. I ran "make menuconfig" and selected Target System Intel XScale IXP4xx [2.6]. Then I ran "make kernel_menuconfig" and selected Arm system type IXP4xx-based as well as Intel IXP4xx Implemenation Options IXDPG425. I also check Network Device Support/Ethernet (10 or 100Mbit) -> IXP4xx Ethernet support.

During compilation (make V=99) the only spurious thing I can see is

  WARNING: kmod-ixp4xx-npe is not available in the kernel config

The kernel source directory does not contain any ixp400_eth.c file or similar, how come?

Another way to phrase my question is, how can I configure the build system to compile lan port drivers?

   Best Regards,
   Daniel

(Last edited by danieljanzon on 12 Feb 2008, 18:19)

Now the module is built, and I have the file

.../kamikaze/build_dir/linux-ixp4xx_generic/linux-2.6.23.14/drivers/net/arm/ixp4xx_eth.ko

But it does not end up in the squashfs file system under /lib/modules. Is that a bug? I guess it should be copied to the target image but isn't, for some reason.

Hi Daniel,

How were you able to build ixp4xx_eth.ko?  I did everything you did in the first post but I still don't see ixp4xx_eth.ko.  I'm using an ixp4xx board and my ethernet currently runs at 10Mbps half-duplex.  I would like to run it at 100Mbps full-duplex if someone can help me:)

Shane

Actually I don't quite remember. What do you mean by "don't see ixp4xx_eth.ko"? Do you among the files on the board or in the source tree in your development environment? For me, it wasn't copied to the image and thus never ended up on the board (I had to move it there manually). Do you mean the 'find .../kamikaze/build_dir/linux-ixp4xx_generic/linux-2.6.x.y -name ixp4xx_eth.ko' produces no output?

What files do you have in linux-2.6.x.y/drivers/net/arm/ ?

And also, do you have any specific reason not to use the Intel Access Library available free of charge (but maybe not without registration) from Intel.com? It's source code, and needs less tuning than the OpenWrt drivers need, I believe.

In my linux-2.6.x.y/drivers/net/arm/ directory, I have:

am79c961a.c
am79c961a.h
at91_ether.c
at91_ether.h
built-in.o
ep93xx_eth.c
ether1.c
ether1.h
ether3.c
ether3.h
etherh.c
ixp4xx_eth.c
ixp4xx_eth.o
Kconfig
Makefile

but no ixp4xx_eth.ko.  My eth0 is currently running 10Mbps half-duplex and that's too slow for my intended use.  I tried using ethtool and mii-tool
to bump up my ethernet to 100Mbps and full duplex but ethtool said "no data available" for eth0 and mii-tool says "SIOCGMIIPHY on 'eth0' failed: Operation not supported".
I thought if I install ixp400_eth driver then it will allow my ethernet to operate at 100Mbps and full duplex but I don't see any settings in menuconfig or kernel_menuconfig
for adding ixp400_eth into the kernel image.

By the way, how do I use the Intel Access Library?  I don't see it in menuconfig or kernel_menuconfig.  Lastly, I'm using 7.09 Kamikaze.

Thanks,
Shane

The discussion might have continued from here.