How to active/validate the NPE-B NIC of intel_ixdp465?

From: bigboy
Date: Mon Jan 12 2009 - 04:37:37 EST


Hi,

I have an Intel IXDP465 target with a NPE-B mezzanine card and that
was supported & validated with linux-2.6.21 + "Intel IXP400 Software
Access Library". And now the NPE ether net driver moved into the linux
baseline (drivers/net/arm/ixp4xx_eth.c) so I want to try it without
Intel's lib but failed. Here is my operations:

Build the zImage with linux-2.6.28, I configure the kernel with
ixp4xx_defconfig and just change the IXP4XX_ETH to Y.

Build the firmware for NPE-B:

-) download the "Intel(R) IXP400 software - Access Library
(non-crypto)" to get the head file IxNpeMicrocode.h;

-) download the "Intel IXP400 software - NPE microcode (non-crypto)",
both 2.4 and 3.0/3.0.1 version, unpack it and copy the head file
IxNpeMicrocode.h to its source code subdirectory;

-) Edit the head file and comment out those macros for NPE-A and NPE-C
and just leave the one for NPE-B;

-) Edit the IxNpeMicrocode.c and comment out line 25664, the 8 bytes
of "END OF IMAGE LIBRARY MARKER".

-) "gcc ixNpeDlImageConverter.c" and get a a.out; run it and get the
firmware called IxNpeMicrocode.dat.

-) Rename the IxNpeMicrocode.dat to NPE-B and copy it to the NFS
rootfs of the target in /lib/firmware.


There is a PCI E100 NIC and the linux kernel mount NFS rootfs through
it. The kernel can find two NICs related to NPE, eth1 for NPE-B and
eth2 for NPE-C. Then, I tried to active the NIC of NPE-B(eth1):

-) "ifconfig eth1 hw ether 1234567890ab 192.168.1.1 netmask
255.255.255.0 broadcast 192.168.1.255". With this I can see the driver
output "eht1: link up, speed 100 Mb/s, full duplex".

-) Then "ping -I eth1 192.168.1.2". Then all I can get is "Destination
Host Unreachable" :-(

With the firmware built with Microcode-V2.4, it can send up to 6
packages(get tx irq) and at last the "Link is down"; with the firmware
of V3.0, no package TX and at last the TX queue full and was
deactivated. With both of these firmware, no packages received.

I wonder if there are anything wrong with my operations or if I need
some other special configurations/operations? Or any advises on
debugging that.


Thanks
Xiao
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/