xjeldc@GEMINI.LDC.LU.SE (Jan Engvald LDC) (10/26/89)
For those of you who have tried to use my version of the WD8003E packet driver (either ver 3.2e or 4.3 alpha) in a PC XT or the like and didn't succeed, here is some news. One of the new features was a test if the memory range to be used by the Ethernet card was occupied or free. It reads all the addresses in that range and checks if all bytes are FFh. The scan string instruction was used for this test. It has worked well for all ATs and 386s and also for the XT compatibles I had available at the time. But for many other XTs one gets a false memory occupied message. Changing the scan string instruction to MOV and CMP seems to work well also on XTs. A new version (ver 3.2f) with this change is now available from my PC, get the WD800COM.ARC file. I also did the same fix to the 4.3 ALPHA version (available in the ALPHA subdirectory). These versions of WD8003E does not contain the fix for Novell remote reset ROM boot. The code is available for anonymous FTP from my MS-DOS PC (running KA9Q NET when I'm not using it otherwise, usuallay 01 am to 10 am central European time). FTP to p6xje.ldc.lu.se (130.235.133.7) and go to directory network/pktdrive/drivers. There is one ARC file with just the WD8003E.COM driver and UPD32F.DOC file named WD800COM.ARC, another named PKTDRIVER.ARC with all the files from this directory in it. In network/pktdrive/drivers/alpha you will find the 4.3 ALPHA fixed versions of WD8003E.COM and WD8003E.ASM (the ALPHA.ARC file is not updated). Here is the contents of UPD32F.DOC: I have now updated the packet driver code for Western Digital Ethernet cards to handle the micro channel version WD8003ET/A. Also, if you have a WD8003EBT which has 32 kbyte, all of that memory is used - not just 8 kbyte (and the WD8003ET/A will use all its 16 kbyte). The extra memory is used for the receive buffer chain, and if you have HEAVY broadcast traffic you loose fewer Ethernet frames and can avoid a noticable slow down in such cases. If you have light broadcast traffic there is no change in speed. I changed the interrupt level argument default from 2 to 3 so it is the same as the default setting of delivered hardware. The receive code is also somewhat simplified, e g counter interrupt is not enabled and corresponding code removed (it didn't do anything useful). There is now also a test if the memory range actually is available for the WD8003E to use. Previously, if it was occupied the PC froze and had to be rebooted. (*** NOTE! *** It turned out that many PC XTs and the like couldn't load ) (the ver 3.2e driver beacuse the available memory test said memory was ) (occupied, when it actually wasn't. The only change in ver 3.2f is revised) (code for available memory test. It now works also on XTs. ) TAIL.ASM needed changes to allow interrupt levels above 7 not just for AT machines, but also for PS/2 with micro channel bus. Not to confuse, I made related changes also in HEAD.ASM. There were no errorlevels defined and you could not test if a driver load was successfull or not. In version 3.2e are now used some of the following errorlevels: ; ; _____________________ 0 = normal ; 1 = unsuitable memory address given; corrected ; In most cases every- 2 = unsuitable IRQ level given; corrected ; thing should work as 3 = unsuitable DMA channel given; corrected ; expected for lev 1-5 4 = unsuitable IO addr given; corrected (only 1 card) ; _____________________ 5 = packet driver for this int # already loaded ; External errors, when 6 = general cable failure (but pkt driver is loaded) ; corrected normal 7 = network cable is open -"- ; operation starts 8 = network cable is shorted -"- ; _____________________ 9 = ; Packet driver not 10 = usage message ; loaded. A new load 11 = arguments out of range ; attempt must be done 12 = unspecified device initialization error ; 13 = ; 14 = suggested memory already occupied ; 15 = suggested IRQ already occupied ; 16 = suggested DMA channel already occupied ; 17 = could not find the network card at this IO address This code is tested with all three card types (WD8003E, WD8003EBT and WD8003ET/A) in PS/2-50 and PS/2-70 as well as different AT machines, but only a few XT or the like is yet tested. (Version 3.2f should work also for XTs.) This version of packet driver does not include the fix for Novel remote reset ROM boot mentioned in the Wesleyan University report on Novell ROM booting. Jan Engvald, Lund University Computing Center ________________________________________________________________________ Address: Box 783 E-mail: xjeldc@ldc.lu.se S-220 07 LUND Earn/Bitnet: xjeldc@seldc52 SWEDEN (Span/Hepnet: Sweden::Gemini::xjeldc) Office: Soelvegatan 18 VAXPSI: psi%24020031020720::xjeldc Telephone: +46 46 107458 (X.400: C=se; A=TeDe; P=Sunet; O=lu; Telefax: +46 46 138225 OU=ldc; S=Engvald; G=Jan)