We use an Advantech SBC with a Pentium III 600. The SBC has a built in
Realtek 8139 ethernet chipset.We add a second PCI Kingston KNE120TX nic that
also uses a Realtek 8139. Both show up in the show_pci report. In the
sysinit file we include:
Net.rtl -l1 -I1 &
Net.rtl -l2 -I0 &
About 40 seconds after booting the computer hangs. No kbd numlock/no
mouse/no anything. I added sys/Debugger32 to the build file and invoked the
debugger after the 40 seconds hung the machine and was able to enter
commands. Single stepping for a while eventually hung even Debugger32. The
docs for Debugger32 are mighty thin. In anyone’s opinion, is there any
benefit to identifying what’s happening upon invoking the debugger and if
so, how can one identify what code is executing once in the debugger? Upon
entering the debugger I get “cs/0004 ss/00f8 ds/000d…eip/00007025” but I
can’t reference these selectors/IP to anything “sin me” reports. Stepping
thru the code does expose an “lret” and an “iret” before going comatose so
I’m inclined to think we’re in an ISR.
Some interesting additional details:
- Only QSSL code is executing at this point (first question I always ask)
- No network is actually attached to the ethernet RJ-45 connectors.
- Adding a “sleep 1” between the two Net.rtls remedies the lock-up.
- Net has a 40s default timeout adjustable with -t nnn which we’ve set to
15 without affecting the 40s problem.
- We can reproduce this on a twin system.