Mitsubishi Electric - Computing for a Connected World Insight CD Home Page

Products
Services
Knowledgebase
Bulletins (IPBs)
Guides
FAQs
Owner's Handbooks
Product Datasheets
Miscellaneous Items
Upgrades
Downloads
Search Insight
E-Mail us
Insight Service
Year 2000
Other Mitsubishi Sites
Site Disclaimer

 
Networking I.P.B. 2060 4th March 1991 (JDK)
Department Category Implementation
Network Software Advisory
Previous IPB Next IPB

EMM386.SYS and the Apricot On-Board Ethernet Adapter

We have had a number of instances reported to us whereby people have been attempting to use the Microsoft EMM386.SYS LIM 4.0 memory driver on XEN-S and LANstation machines attached to various types of network, and have found that the driver appeared to disable the Apricot on-board Ethernet.

We have found that this is caused by a 'feature' in the Microsoft EMM386.SYS driver, which is a 386 protected mode program that 'virtualises' the machine on which it is running. As a result of this, it 'invisibly' traps all accesses to I/O space by real mode programs, including most variants of On-board Ethernet network drivers.

Unfortunately, the Microsoft driver has a routine within it that wraps some accesses to I/O memory space above 0400h down to 0h. The Apricot On-board Ethernet adapter ROM sits just above 0400h, and so when reading the unique Ethernet address from ROM, some of the bytes that the network device driver tries to read are wrapped around to 0h by EMM386.SYS. The driver then ends up getting bytes from the DMA controller, which in turn causes the driver to fail because the ROM checksum that it is expecting to find is incorrect. This will then usually result in an 'Ethernet ROM checksum' error message being reported from the network driver.

Apricot R&D are investigating the possibility of issuing a fixed version of Microsoft's EMM386.SYS, but as yet no timescales have been issued for a proposed release date. In the meantime, we suggest that AEMM.SYS is used; however, this driver is not full LIM 4.0 specification, and may cause some programs to behave unpredictably. If this is the case, Quarterdeck's QEMM386 (version 5.11) driver may be tried.

----------oOo----------

 

Computing for a Connected World