kernel doesn't "see" driver after I boot Linux from Windows

Eric Hanchrow offby1@blarg.net
Tue Aug 24 15:36:45 1999


Forgive me if this question has already been asked and answered.  I
searched this year's mailing-list archives, but nothing earlier.

First, some info:

    12:11:24 [/tmp]$ uname -a
    Linux snowball 2.0.36 #2 Sun Feb 21 15:55:27 EST 1999 i686 unknown

Here's what the kernel says when it loads the driver:

    3c59x.c:v0.99E 5/12/98 Donald Becker
    eth0: 3Com 3c900 at 0xb800, 00:50:04:1b:f6:df, IRQ 11
      8K byte-wide RAM 5:3 Rx:Tx split, autoselect/NWay Autonegotiation interface.
      Enabling bus-master transmits and whole-frame receives.

Now, here's the problem: when I boot Linux from Windows (I have my
Linux kernel sitting in a file on my Windows file system, and I run
`loadlin.exe' to load that kernel), the kernel does *not* print the
three lines above that begin with `eth0:'.  Instead it prints
					    
    A 3Com network adapter has been found, however it has not been
    assigned an I/O address.  You may need to power-cycle the machine
    for this device to work!

This problem never happens when I start Linux by doing Ctrl+Alt+Delete
with the Linux boot floppy in the drive.

I assume that Windows has left the card, or my computer's bus, or
something, in a weird state.  But Windows never has a problem "seeing"
the card, regardless of what operating system I've run recently.

Is this behavior (failing to load the driver after I've booted from
Windows) a bug?  In any case, is there a program that properly
initializes whatever needs initializing (my card, or my bus, or
whatever) from DOS?  That way I could run that program right before I
run `loadlin.exe', and thus be able to boot Linux happily from
Windows.

Please respond via email, as I am not on this mailing list.

Thanks!