Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Couldn't use Version 3.0.1 of Intel Microcode with the NSLU2



I tried to build a version of the kernel (4.99.55) using the latest Intel npe firmware (IxNpeMicrocode.c, V3.0.1, January 7, 2008). On bootup, I received the following message:
npe0 at ixpnpe0: Ethernet co-processor ixpnpe0: imageId 0x01000201 not found in image library header npe0: Failed to activate NPE (missing microcode?)
I looked at the microcode file for V2.3.2 and found the following code/comments:
 /* --- NPE FIRMWARE IMAGE --- */
#if defined(IX_NPEDL_NPEIMAGE_NPEB_ETH) || defined(IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL) /* Image Description: NPE Image Id for NPE-B with Basic Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL */
0xfeedf00d,     /* Image Marker */
0x01000201,     /* Image Identifier */
0x00000bac,     /* Image Size */
The closest I could find to this in the V3.0.1 file is
/* --- NPE FIRMWARE IMAGE --- */
#if defined(IX_NPEDL_NPEIMAGE_NPEB_ETH)
/* Image Description: NPE Image Id for NPE-B with Ethernet Rx/Tx with features include: STP, VLAN, Firewall, Mac Learning/Filtering, Fast Path */
0xfeedf00d,     /* Image Marker */
0x110e0200,     /* Image Identifier */
0x000010a8,     /* Image Size */
I modified file ..src/sys/arch/arm/xscale/ixp425npevar.h as follows:
--- ixp425_npevar.h.orig    2006-12-10 05:01:49.000000000 -0500
+++ ixp425_npevar.h 2008-03-08 11:06:51.000000000 -0500
@@ -78,7 +78,8 @@
 #define NPEFW_B_DMA            0x01020100 /* DMA only */
 /* XXX ... more not include */
-#define IXP425_NPE_B_IMAGEID 0x01000201
+/*#define      IXP425_NPE_B_IMAGEID    0x01000201*/
+#define        IXP425_NPE_B_IMAGEID    0x110e0200
 #define        IXP425_NPE_C_IMAGEID    0x02000201
struct ixpnpe_softc;
After rebuilding the kernel, I received the following message during boot up:
npe0 at ixpnpe0: Ethernet co-processor
ixpnpe0: Block size too big for NPE memory
npe0: Failed to activate NPE (missing microcode?)
I also downloaded and tried V2.4 of the Intel microcode. It has an image with the proper ID (I didn't check byte for byte) and the NSLU2 appears to function correctly using this version. I modified the installation instructions at <http://wiki.netbsd.se/How_to_install_NetBSD_on_the_Linksys_NSLU2_%28Slug%29_without_a_serial_port%2C_using_NFS_and_telnet> to reflect this.

Don





Home | Main Index | Thread Index | Old Index