In the last major release of my project
(http://unattended.sourceforge.net/), I changed my network boot disk
to use FreeDOS instead of MS-DOS.

Now, my users are reporting that the boot disk no longer works on
machines which have Intel gigabit (PRO/1000) networking hardware.

I have one machine with such hardware, and I can confirm that Intel's
DOS network driver (e1000.dos) appears to be incompatible with
FreeDOS.  You can download the latest version of this driver from
Intel's site:

  http://downloadfinder.intel.com/scripts-df/File_Filter.asp?FileName=PRODOS2.EXE

Or you can download my boot disk itself as a 1.44M floppy image:

  http://unattended.sourceforge.net/testing/ e1000.img

Although the problem is only reproducible if you have PRO/1000 network
hardware...

Here is what I have observed.

If I use a config.sys which is empty except for
"DEVICE=\net\ifshlp.sys", the driver loads fine.  But when the boot
disk tries to use the driver to obtain a DHCP lease, it gets an
illegal opcode followed by a reboot.  The reboot happens too quickly
for me to record the hex values.

If I add these lines to config.sys:

  DOS=HIGH,UMB
  DEVICE=himem64.exe

The same thing happens.

If I further add:

  DEVICE=emm386.exe NOEMS

(where HIMEM64 and EMM386 were downloaded from
<ftp://ftp.devoresoft.com/downloads/> yesterday)

...it still happens, only I see this:

  Illegal Instruction occurred
  CS=3046  IP=08CC  SS=00CF  SP=08B8  DS=0000  ES=DC11
  EAX=00000000  EBX=00000F8C  ECX=00000003  EDX=00000AE4
  ESI=00000000  EDI=0000000F  EBP=00000000

  Opcodes @CS:IP 63 20 00 00 00 00 00 00
  Aborting program

...and it hangs, letting me record the values.

Finally, if I change the emm386.exe invocation in config.sys like
this:

  DEVICE=emm386.exe

...then the e1000.dos driver refuses to load at all!  It probes the
hardware correctly (printing the MAC address etc.), but then it says:

  Error: Unsuppored Memory Manager Present
  Unable to initialize protected mode services
  Action:
  -Remove all memory managers from this configuration

  Failure: Driver did not load, NDIS environment invalid

(By the way, the same thing happens if I only load himem64.exe and
load cwsdpmi before loading the driver.  Obviously, the e1000.dos
driver does not play nicely with DPMI providers.)

This behavior is with the FreeDOS kernel from ke2033_32.  I tried one
or two of the above permutations under ke2034_32 with the same
results.

Obviously, the e1000.dos driver is doing something very strange.
However, the exact same boot disk used to work fine under MS-DOS (with
or without himem.sys), so from my point of view this is a FreeDOS bug.

Any ideas?  If I were to offer to send someone a PRO/1000 card to
experiment with, would any of you be interested?

Or do you have any other suggestions?

Thanks!

 - Pat


-------------------------------------------------------
This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek
For a limited time only, get FREE Ground shipping on all orders of $35
or more. Hurry up and shop folks, this offer expires April 30th!
http://www.thinkgeek.com/freeshipping/?cpg=12297
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to