1U Firewall x86 - no Ethernet adapter available

Hello,

I'm trying to install OpenWRT 18.06.2 on an old 1U Firewall.

This one has 3x Intel e100 and 2x Znyx ZX420 series NICs.
OpenWRT is starting well and quickly but no Ethernet adapter are available.

e100:

[ 1463.019865] e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
[ 1463.026491] e100: Copyright(c) 1999-2006 Intel Corporation
[ 1463.039784] e100 0000:00:0d.0: found PCI INT A -> IRQ 10
[ 1463.133994] e100 0000:00:0d.0 0000:00:0d.0 (uninitialized): EEPROM corrupted
[ 1463.136444] e100: probe of 0000:00:0d.0 failed with error -11
[ 1463.151160] e100 0000:00:0e.0: found PCI INT A -> IRQ 12
[ 1463.245358] e100 0000:00:0e.0 0000:00:0e.0 (uninitialized): EEPROM corrupted
[ 1463.247762] e100: probe of 0000:00:0e.0 failed with error -11
[ 1463.262464] e100 0000:00:0f.0: found PCI INT A -> IRQ 5
[ 1463.356156] e100 0000:00:0f.0 0000:00:0f.0 (uninitialized): EEPROM corrupted
[ 1463.368556] e100: probe of 0000:00:0f.0 failed with error -11

i tried a modinfo e100 and it seems that there is no param available such as

parm: eeprom_bad_csum_allow:Allow bad eeprom checksums (int)

It seems that mac address are located in a memory range which is not accessible.
is it possible to force loading e100 driver ?

Znyx ZX420: not detected
Is there any kmod available for this type of NIC ?

Thanks for your advices

Kind Regards

I’d try booting the box with a “live” stick/CD of Debian or a desktop/server distribution of your choice. That should reveal if upstream drivers exist, their settings, as well as potentially revealing BIOS problems.

1 Like

Hello,

Thanks for your advice.
I tried with NetBSD and FreeBSD and all work fine.
I only need to spoof mac address on the e100 nic because kernel can't access their mac address because they are in a protected memory range.

I have tried quickly IPFire and all network card are detected.
Here is the output of lspci

00:0d.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 05)
00:0e.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 05)
00:0f.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 05)
00:10.0 PCI bridge: Digital Equipment Corporation DECchip 21154 (rev 05)
01:05.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
01:06.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)

for the e100 i need to do:
modprobe e100 eeprom_bad_csum_allow=1

I will try a Linux distribution but many does not support any more old i386 processors and low memory.

Kind regards

Hi, have you tried to set a mac address in /etc/config/network with:

option hwaddr   "xx:xx:xx:xx:xx:xx"

for each interface?

1 Like

HUH!?!? You already did what @jeff suggested.

To be clear is this installed? - https://openwrt.org/packages/pkgdata/e100-firmware

1 Like

Hello,

Thanks for your answer

@lleachii, @BIGFAT
Two days that on it.
Tried FreeBSD, NetBSD, IPFire (last build).
The e100 driver is successfully loaded using : modprobe e100 eeprom_bad_csum_allow=1
I will try to find another light distrib.

e100-firmware seems to be installed:

ls -l /lib/firmware/e100/
-rw-r--r--    1 root     root           539 Jan 30 12:21 d101m_ucode.bin
-rw-r--r--    1 root     root           539 Jan 30 12:21 d101s_ucode.bin
-rw-r--r--    1 root     root           539 Jan 30 12:21 d102e_ucode.bin

ifconfig show only loopback

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:192 errors:0 dropped:0 overruns:0 frame:0
          TX packets:192 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:13056 (12.7 KiB)  TX bytes:13056 (12.7 KiB)

ls -l /sys/class/net

lrwxrwxrwx 1 root root 0 Feb 25 18:00 lo -> ../../devices/virtual/net/lo

modinfo e100 on OpenWRT:

modinfo e100
module:         /lib/modules/4.14.95/e100.ko
license:        GPL
depends:        mii
retpoline:      Y

modinfo on other tested distrib:


modinfo e100
filename:       /lib/modules/4.13.0-46-generic/kernel/drivers/net/ethernet/intel/e100.ko
firmware:       e100/d102e_ucode.bin
firmware:       e100/d101s_ucode.bin
firmware:       e100/d101m_ucode.bin
version:        3.5.24-k2-NAPI
license:        GPL
author:         Copyright(c) 1999-2006 Intel Corporation
description:    Intel(R) PRO/100 Network Driver
srcversion:     2E1F6C6BA7932D0588AFB24
alias:          pci:v00008086d000027DCsv*sd*bc02sc00i*
...
alias:          pci:v00008086d00001029sv*sd*bc02sc00i*
depends:        mii
intree:         Y
name:           e100
vermagic:       4.13.0-46-generic SMP mod_unload 
signat:         PKCS#7
signer:         
sig_key:        
sig_hashalgo:   md4
parm:           debug:Debug level (0=none,...,16=all) (int)
parm:           eeprom_bad_csum_allow:Allow bad eeprom checksums (int)
parm:           use_io:Force use of i/o access mode (int)

It seems that OpenWRT e100 drivers do not have params.

Kind regards

fwiw, You can change mac address in at least FreeBSD usually, man ifconfig

Hello,

Yes no problem with FreeBSD
All interfaces are well here after start-up.

FreeBSD/NetBSD:
ifconfig <dev> link 00:c0:95:c4:7c:25 active

IPFire:

modprobe e100 eeprom_bad_csum_allow=1
ifconfig eth0 hw ether 00:c0:95:c4:7c:25

Kr,

Hello,

I know that. BSD is BSD and Linux is Linux.
I'm not trying to say that something is better than the other.

OpenWrt is a great distrib that's why I'm trying to make it working.

IPFire tested with e100 driver with param eeprom_bad_csum_allow=1 has a linux kernel version 4.14.86 and OpenWRT a linux kernel version 4.14.95

Kr,

Hello,

This device

Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)

use the "Tulip family network device support" (dec/tulip/de4x5.ko) kernel module.

This device is referenced in the package/kernel/modules/netdevices.mk file but seems to be disabled in 2013. Changeset 37489

 744 define KernelPackage/tulip
 745   TITLE:=Tulip family network device support
 746   DEPENDS:=@PCI_SUPPORT +kmod-mii
 747   SUBMENU:=$(NETWORK_DEVICES_MENU)
 748   KCONFIG:= \
 749     CONFIG_NET_TULIP=y \
 750     CONFIG_DE2104X \
 751     CONFIG_DE2104X_DSL=0 \
 752     CONFIG_TULIP \
 753     CONFIG_TULIP_MWI=y \
 754     CONFIG_TULIP_MMIO=y \
 755     CONFIG_TULIP_NAPI=y \
 756     CONFIG_TULIP_NAPI_HW_MITIGATION=y \
 757     CONFIG_DE4X5=n \
 758     CONFIG_WINBOND_840 \
 759     CONFIG_DM9102 \
 760     CONFIG_ULI526X
 761   FILES:= \
 762         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/tulip.ko \
 763         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/de2104x.ko \
 764         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/dmfe.ko \
 765         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/uli526x.ko \
 766         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/winbond-840.ko
 767   AUTOLOAD:=$(call AutoProbe,tulip)
 768 endef
 769 
 770 define KernelPackage/tulip/description
 771  Kernel modules for the Tulip family of network cards,
 772  including DECchip Tulip, DIGITAL EtherWORKS, Winbond W89c840,
 773  Davicom DM910x/DM980x and ULi M526x controller support.
 774 endef

Can I reactivate It and build the kernel module (drivers/net/tulip/de4x5.ko) ?

Thank you for your help

Kind Regards

Just a thought, if you run this thing 24/7 and pay electricity, would it make sense to use it vs buying an espressobin?

Hello,

Thanks for your advice.
I know this.

I help an association that works to help the disabled ... and they have no money so we do with what we have.

Thanks anyway.

Kind Regards

1 Like

Ok as long as you have though about it. The energy cost may exceed the cost of modern low power hardware in maybe 6 months to a year.

It may be possible to fix the EEPROM running ethtool on a regular distribution.

As for alternative hardware, you're clearly OK with network speed <= 100 Mbps so I would suggest something that is not x86 at all.

Hello,

Thanks for your answer.

@dlakelan
Yes I know, I had same advice but I'm not the decision maker :slight_smile:
Electricity is in the common budget and new hardware is in another budget.
I already give the hardware (and upgrade it to the max) and time to help so I can't do more.

@mk24
I fixed the e100 problem.
Now it's fully working.
Now I need the de4x5 diver and I have downloaded the OpenWRT SDK, modified the netdevices.mk file and I'm trying to compile it. I followed some guideline and I'm waiting the result. I hope to get a de4x5.ko.
Finger crossed :slight_smile:

Network speed is not really a trouble because it's to make a gateway (with security) with some old external tools from legal authority and behind the hardware is more old (mini-systems). The old gateway burned and I think it was a good thing because there was no security ... any to any !

Kind Regards

pfff ! no de4x5.ko .... nothing ... failed !

Considering your low speed requirements, and that the power consumption is going to cost a lot, and you're bound to use up at least another couple of hours here, perhaps rather than donating your time you should donate a few bucks and get a Gl-inet GL-AR300M-lite. It will have a pretty full version of OpenWrt out of the box, and costs $18. If you need more ports, add an unmanaged 8 port gigabit switch for an additional $12 or so. This $18 device will be about 20 times faster than the 386 you're considering.

Hello,

All is working.
After searching ....
The de4x5 driver freeze the kernel.
It is needed to blacklist it to use the good one.
It seems that why it was removed.

The good driver for Digital Equipment Corporation DECchip 21142/43 NIC is the tulip driver. Linux Kernel Driver DataBase

So I compiled the tulip.ko using the SDK and it worked smoothly.
Then insmod tulip and all worked fine.

But it was for nothing because there is a kmod-tulip package already available.

Gl-inet GL-AR300M-lite will be for next Christmas :slight_smile:

Kr,

1 Like