Gomi NDIS MAC Drivers for OS/2 Warp and eComStation

Below, you can find a list of all networking device drivers currently developed for the OS/2 platform family by Yanagihara Nobuyuki.

Gigabit NIC device drivers:
 * National Semiconductor DP83820 Another OS/2 NDIS MAC Driver 1.09 (2005-12-24)
 * Driver developed by Nobuyuki Yanagihara that supports gigabit cards with the NS DP83820 chipset.


 * National Semiconductor DP83820 OS/2 NDIS 2.0.1 MAC Driver 1.05.06 (Modified)* (2002-11-17)
 * Driver developed by Nobuyuki Yanagihara that supports gigabit cards with the NSC DP83820 chipset. Modified code from the DOS DP83815 driver written by NSC. This is NOT an official driver from NSC.
 * This driver is not being developed anymore. We strongly recommend you to use the NATIVE driver (listed above) to use a device with this chipset. Support is no longer being provided.


 * Realtek RTL8169 OS/2 NDIS MAC Driver 1.13 (2008-08-04)
 * Driver developed by Nobuyuki Yanagihara that supports gigabit cards with the RealTek 8169 chipset.


 * Tamarack TC9021 OS/2 NDIS MAC Driver 1.10 (2005-12-17)
 * Driver developed by Nobuyuki Yanagihara that supports gigabit cards with the Tamarack TC9021 and the IC Plus IP1000A chipsets.


 * VIA VT612x Velocity OS/2 NDIS MAC driver 1.05 (2005-12-17)
 * Driver that supports giga ethernet card with VIA Velocity family chipsets.

(Fast) Ethernet NIC device drivers:
 * ADMtek AL981/AN983 Another OS/2 NDIS MAC Driver 1.03 (2005-12-17)
 * Driver that supports fast ethernet cards with ADMtek AL981(Comet) and AN983(Centaur) chipsets.


 * Broadcom BCM4401 OS/2 NDIS MAC driver 1.05 (2005-12-17)
 * Driver that supports fast ethernet cards with broadcom bcm4401 chipset.
 * This driver is based on Linux driver and is under GNU GENERAL PUBLIC LICENSE.


 * MELCO LGY-98 C-BUS Ethernet OS/2 NDIS MAC Driver 1.00 (2003-06-18)
 * MELCO LGY-98 is a NE2000-compatible-like NIC for NEC PC-98x1 C-BUS slots. Requires special old OS/2 Warp version from NEC.


 * National Semiconductor DP83815 Another OS/2 NDIS MAC Driver 1.07 (2005-12-17)
 * Driver developed by Nobuyuki Yanagihara that supports fast ethernet cards with the NS DP83815 chipset.


 * National Semiconductor DP83815 OS/2 NDIS 2.0.1 MAC Driver 1.05.07 (Modified)* (2002-11-21)
 * Driver developed by Nobuyuki Yanagihara that supports fast ethernet cards with the NSC DP83815 chipset. Modified code from the DOS driver written by NSC. This is NOT an official driver from NSC.
 * This driver is not being developed anymore. We strongly recommend you to use the NATIVE driver (listed above) to use a device with this chipset. Support is no longer being provided.


 * Realtek RTL8029AS OS/2 NDIS 2.0.1 Another MAC driver 1.01 (2006-01-13)
 * Driver that supports ethernet cards with Realtek RTL8029 chipsets.


 * SiS900 Another MAC driver 1.03 (2005-07-23)
 * Driver developed by Nobuyuki Yanagihara that supports fast ethernet cards with the Silicon Integrated System SiS900 chipset.


 * Sundance ST201 OS/2 NDIS 2.0.1 MAC driver 1.00 (2006-12-26)
 * Driver that supports fast ethernet cards with Sundance ST201 and IC+ IP100A chipsets.


 * VIA VT6102 Rhine II Another OS/2 NDIS MAC driver 1.06 (2005-12-17)
 * Driver that supports fast ethernet cards with the VIA VT6102 Rhine II chipset.


 * VIA VT6105 Rhine III Another OS/2 NDIS MAC driver 1.04 (2005-12-17)
 * Driver that supports fast ethernet cards with the VIA VT6105 Rhine III chipset.


 * VIA VT86C100A Rhine Another OS/2 NDIS MAC driver 1.04 (2005-12-17)
 * Driver that supports fast ethernet cards with the VIA VT86C100A Rhine chipset.

Tamarack TC9021 OS/2 NDIS MAC Driver 1.10
Driver + Source: tc902x10.zip 47607B Vendor ID: 0x13f0 (0x143d) - Device ID:0x1021, 0x1023 (0x9021)

Version 1.10 (2005-12-17) 1 new keyword, IRQ15OVR, was added.

Version 1.09 (2005-12-03) IC Plus IP1000A is supported. PHY address is searched instead of using always 1. MAC address is (re)set at the init time. Transmit confirm code was modified for IP1000A. 3 new keyword are added.

Version 1.08 (2004-04-01) PHY medium initialize, speed detection code were modified. One new keyword, RXINTCOUNT, was added. The format of MAXFRAME keyword was modified.

Version 1.07 (2003-12-29) Bus master enable and memory space enable bits in PCI command register are scanned at the initial time.

Version 1.06 (2003-11-18) Power Management capability in PCI register is scanned at initial time. EARLYMEMINIT=TRUE in config.sys was supported.

Version 1.05 (2003-07-12) Bugfix: Loss of rx buffer with rejection of errored frames was corrected. I/O delay to access PHY was added.

Version 1.04 (2003-07-01) Bugfix: Trap at _hwUpdateStat was corrected. (stack adjustment failure) Bugfix: Transmit Data Type 2, GDT selector, can be acceptable. Receive queue logic was modified. (to avoid null linkage)

Version 1.03 (2002-12-08) Bugfix: Read ANLPAR:-) (this is miss-removed at ver.1.01) Stop auto negotiation restart when link is re-established. enlarged TXQUEUE and RXQUEUE.(excess!)

Version 1.02 (2002-11-06) Bugfix: Multicast hash table was corrected. Bugfix: Pause status is tested to detect tx suspending. Auto Negotiation give-up time was reduced. New keyword, TXCOMPINT, was added. Warning messages were added.

Version 1.01 (2002-09-25) Six configuration keywords were added. Auto negotiation code was simplified. Media speed in characteristics table reflects the current speed.

National Semiconductor DP83820 Another OS/2 NDIS MAC Driver 1.09
Driver + Source: dp820a09.zip 45546B Vendor ID: 0x100b - Device ID:0x0022

Version 1.09 (2005-12-24) Bugfix: Multiple receive descriptors per a frame can work now.

Version 1.08 (2005-12-17) 1 new keyword, IRQ15OVR, was added.

Version 1.07 (2005-11-15) Workaround for Virtual PC.

Version 1.06 (2004-04-01) PHY medium initialize, speed detection code were modified. The format of MAXFRAME keyword was modified.

Version 1.05 (2003-12-29) Bus master enable and memory space enable bits in PCI command register are scanned at the initial time.

Version 1.04 (2003-11-24) Bugfix: TXQUEUE can be specified larger than 28, on that condition Transmit queues initialization failure has occured.

Version 1.03 (2003-11-18) Power Management capability in PCI register is scanned at initial time. EARLYMEMINIT=TRUE in config.sys was supported.

Version 1.02 (2003-07-11) Bugfix: Transmit Data Type 2, GDT selector, can be acceptable. Rx queue logic was modified. I/O delay to access PHY was added. TCP checksum failure rejection was enabled.

Version 1.00 (2002-12-08) Initial release.

Version 1.01 (2002-11-18) 3 new configuration keywords, RXAEP, RXARP, RXAIRL, were added.

National Semiconductor DP83815 Another OS/2 NDIS MAC Driver 1.07
Driver + Source: dp815a07.zip 42476B Vendor ID: 0x100b - Device ID:0x0020

Version 1.07 (2005-12-17) 1 new keyword, IRQ15OVR, was added.

Version 1.06 (2005-11-15) Workaround for Virtual PC.

Version 1.05 (2004-04-01) Two new keywords, IHCTL and IHTIME, were added for DP83816.

Version 1.04 (2003-12-29) Bus master enable and memory space enable bits in PCI command register are scanned at the initial time.

Version 1.03 (2003-11-24) Bugfix: TXQUEUE can be specified larger than 28, on that condition Transmit queues initialization failure has occured.

Version 1.02 (2003-11-18) Power Management capability in PCI register is scanned at initial time. EARLYMEMINIT=TRUE in config.sys was supported.

Version 1.01 (2003-07-11) Bugfix: Transmit Data Type 2, GDT selector, can be acceptable. Rx queue logic was modified. I/O delay to access PHY was added.

Version 1.00 (2002-12-08) Initial release.

Realtek RTL8169 OS/2 NDIS MAC Driver 1.13
Driver + Source: rtgnda13.zip 49597B Vendor ID: 0x10ec (0x1186) - Device ID:0x8169 0x8168 0x8167 0x8136 (0x4300)

Version 1.13 (2008-08-04) RTL8102E(10EC:8136) is supported.(from achain) [Note: Previous package, at 2008-08-03, shows wrong message. Sorry!]

Version 1.12.01 (2007-05-20) A core revision specific PHYsical medium workaround was added. (From solaris driver) Trial to disable "WoL link reduction" rtgnda121.zip 10,751B

Version 1.12 (2006-12-13) Bugfix: 93C56 can be accessible now. Device that has PCI ID (10EC:8167) is supported. MII commands time-out codes were added. 1GB half-duplex is advertised, though MAC doesn't support it. Chip Revision specific codes were almost removed. Chip Revision is checked with HWVERID. (from solaris driver) Version 1.11 (2006-05-11) RTL8168(10EC:8168) is supported. 2nd memory range is checked if 1st memory range is invalid.(from Pavel Shtemenko) I/O range check was removed. The default string of PCIMRW was changed into "YES". Version 1.10 (2006-04-18) 1 new keyword, OPENBIND, was added. The hidden keyword, MAXFRAME, is enabled.(rtgnda.nif) Receive filter mode is cleared at the init time. Version 1.09.01 (2006-01-16) D-Link DGE-528T(1186:4300) is supported.(backward to ver 1.07.01 test) Version 1.09 (2005-12-17) 1 new keyword, IRQ15OVR, was added. Version 1.08 (2005-11-15) Workaround for Virtual PC. Version 1.07 (2005-06-17) Bugfix: forgetting rx queue check in polling mode.(unbelievable!) PCI BUS clock is checked for the polling interval timer. Chip specific work-around codes were added. (From Solaris driver) Timer trigger code was modified. The default values of keywords(TXQUEUE, RXQUEUE, TXPOLLINT) was changed. Version 1.06 (2003-12-30) Bus master enable and memory space enable bits in PCI command register are scanned at the initial time. Timer control code was modified. Version 1.05 (2003-11-28) 2 new configuration keywords, TXCOMPINT, TXPOLLINT, related to pseudo-polling mode, were added. Version 1.04 (2003-11-18) EARLYMEMINIT=TRUE in config.sys was supported. Version 1.03 (2003-11-15) Bugfix:The code to set MAC address to ID0-5 was modified.(writeable) PCI Power Management capability is scanned at the initial phase. 1 new keyword, PWMDIS is available. Version 1.02 (2003-06-07) Bugfix: 1000BASE Half-Duplex advertisement to link partner is inhibited. Adjustment alignment code added at ver.1.01 was removed. The resident size and the CPU load was reduced a bit. Version 1.01 (2003-05-27) Tx buffers are adjusted to dword alignment. No effect to function, but ill response:-) Manual padding to tx runt frame request. Version 1.00 (2003-05-23) Initial release as beta. Known problem: Malfunction with Netbios protocol.

MELCO LGY-98 C-BUS Ethernet OS/2 NDIS MAC Driver 1.00
Driver + Source: lgy98200.zip 35998B Version 1.00 (2003-06-18) Initial release.

National Semiconductor DP83820 OS/2 NDIS 2.0.1 MAC Driver 1.05.06 (Modified)*
Driver: dp82x06.zip 19440B Source: dp82x06s.zip 136465B Vendor ID: 0x100b - Device ID:0x0022 Version 1.05.06 (2002-11-17) Bugfix: Force Half duplex select in General request SetPacketFilter was removed.(This code has caused 1000BASE-T malfunction.) General request SetLookahead was modified.(Do nothing since ReceiveLookahead is never used.) The bizarre code ver.1.05.05 (Force TBI) was removed. Version 1.05.05 (2002-09-26) 1000BASE-T: force TBI mode before setting GMII mode. very strange treatment!! Version 1.05.04 (2002-06-25) Bugfix: CRC32 calculation was corrected.(MS-C 6.0 bug) Now, H/W multicast filter works. S/W filter was removed. Interrupt handle was slightly modified, and Context hook handle for Reset and InterruptRequest was removed.(backward) Version 1.05.03 (2002-04-22) Interrupt handle was rewritten. ReceiveChain is used instead of ReceiveLookAhead. Multicast addresses can be accepted.(H/W receives all multicast frames.) Software multicast filter.(Bug of hash table creation remains.) Version 1.05.02 (2002-03-21) Initial release. SMP environment may not be supported.

National Semiconductor DP83815 OS/2 NDIS 2.0.1 MAC Driver 1.05.07 (Modified)*
Driver: tigris07.zip 19191B Source: tigris07s.zip 132272B Vendor ID: 0x100b - Device ID:0x0020

Version 1.05.07 (2002-11-21) Bugfix: Force half duplex mode selection in General request SetPacketFilter was removed.(see note) General Request SetLookahead was modified.(Do nothing since ReceiveLookahead is never used.) Internal PHY reset code was added. Performance optimizing code (that is mentioned in the datasheet) was modified.

Version 1.05.06 (2002-06-25) Bugfix: CRC32 calculation was corrected.(MS-C 6.0 bug) Now, H/W multicast filter works. S/W filter was removed. Interrupt handle was slightly modified, and Context hook handle for Reset and InterruptRequest was removed.(backward)

Version 1.05.05 (2002-04-22) Interrupt handle was rewritten. ReceiveChain is used instead of ReceiveLookAhead. Multicast addresses can be accepted.(H/W receives all multicast frames.) Software multicast filter.(Bug of hash table creation remains.)

Version 1.05.04 (2002-03-23) Bugfix: Free Tx queue count was corrected. Code size was reduced.

Version 1.05.03 (2002-03-01) Initial release. SMP may not be supported. In heavily traffic condition, driver's flags perhaps crash.

SiS900 Another MAC driver 1.03
Driver + Source: sis90a03.zip 51776B Vendor ID: 0x1039 - Device ID:0x0900, 0x7016

Version 1.03 (2005-07-23) PHY specific workaround code was added.(from solaris driver) APC register is checked if the chip revision is 91. Trial for SiS963.

Version 1.02 (2005-07-19) 1 new keyword, NETADDRESS, is added. Trial for SiS963, revision 91.

Version 1.01 (2005-07-14) Reset logic was modified.(from solaris driver) Query MAC address method was modified.(from solaris driver) 256bits muliticast hash table is supported.(from solaris driver)

Version 1.00 (2004-03-03) Initial release. Based on NSC DP83815 Another 1.04.

ADMtek AL981/AN983 Another OS/2 NDIS MAC Driver 1.03
Driver + Source: cometa03.zip 46185B Vendor ID: 0x1317 (0x1259) - Device ID:0x0981 0x0985 (0xA120)

Version 1.03.01 test (2006-02-18) Trial for Accton EN2242. Add support Vendor:0x1113, Device:0x1216. cometa031.zip 11885Bytes

Version 1.03 (2005-12-17) 1 new keyword, IRQ15OVR, was added.

Version 1.02 (2005-11-15) Workaround for Virtual PC.

Version 1.01 (2004-04-01) Bugfix:Multicast hash table was corrected.

Version 1.00 (2004-03-21) Initial release.

Broadcom BCM4401 OS/2 NDIS MAC driver 1.05
Driver + Source: b44a05.zip 57098B Vendor ID: 0x14e4 - Device ID:0x4401 0x4402 0x170c

Version 1.05.04 test (2007-04-18) Test version again. timing of register access enable in error recovery is modified. Driver: b44a054.zip 22080B

Version 1.05.03 test (2007-03-21) IMPORTANT NOTE: Test version. This driver should be removed later... fix: re-entrance into error recovery is inhibited. fix: tx queue sanity code at error recovery was modified. register accesses are inhibited at the error recovery reset time. THIS DRIVER INCLUDES 6 BEEPS. SEE readme.lnk. Tell me (Support Center) how this driver works. Driver: b44a053.zip 21853B

Version 1.05 (2005-12-17) 1 new keyword, IRQ15OVR, was added.

Version 1.04 (2005-11-13) Workaround for switch.os2 of Virtual PC.(GS selector corruption) (re)set filter mode during the hardware reset.

Version 1.03 (2005-11-01) Bugfix: Statistics counter range was corrected. Bugfix: Enet mac registers accesses are inhibited until Sonics configuration registers are initialized.

Version 1.02 (2005-01-06) Bugfix: Device scan code was corrected. (scanned EXCEPT bcm4401) Resident size is slightly reduced.

Version 1.01 (2004-12-06) Statistics counters clear during HW reset. Internal counters for debug purpose are removed. 2 new keywords, TXMXDMA and RXMXDMA, are available.

Version 1.00 (2004-12-03) Initial release.

VIA VT612x Velocity OS/2 NDIS MAC driver 1.05
Driver + Source: vgend05.zip 51620B Vendor ID: 0x1106 - Device ID:0x3119

Version 1.05 (2005-12-17) 1 new keyword, IRQ15OVR, was added.

Version 1.04 (2005-11-15) Workaround for Virtual PC.

Version 1.03 (2004-12-31) Bugfix: Long frames can be received. Bugfix: Receive multiple descriptors per a frame was allowed.

Version 1.02 (2004-12-30) Transmit code was slightly modified.

Version 1.01 (2004-12-26) 19 new keywords were added. Interrupt enable/disable logic was modified.(IMR instead of GintMask) PHY specific work around code was added.(From VIA's FreeBSD source code)

Version 1.00 (2004-12-22) Initial release.

VIA VT6105 Rhine III Another OS/2 NDIS MAC driver 1.04
Driver + Source: vfet3a04.zip 47239B Vendor ID: 0x1106 - Device ID:0x3106

Version 1.04 (2005-12-17) 1 new keyword, IRQ15OVR, was added.

Version 1.03 (2005-11-15) Workaround for switch.os2 of Virtual PC. 1 new keyword, OPENBIND, is added to workaround 'transmit before open' issue.

Version 1.02 (2005-07-23) MAC address and PHY address are simply reloaded instead of reading directly EEPROM contents.

Version 1.01 (2005-07-05) Medium link status polling logic was modified. Ensure memory mapped I/O enable code was added. PHY specific word-around code was added. (from solaris driver)

Version 1.00 (2005-06-30) Initial release. Based on cometa 1.01.

VIA VT6102 Rhine II Another OS/2 NDIS MAC driver 1.06
Driver + Source: vfet2a06.zip 47143B Vendor ID: 0x1106 - Device ID:0x3065

Version 1.06 (2005-12-17)
 * 1 new keyword, IRQ15OVR, was added.

Version 1.05 (2005-11-15)
 * Workaround for switch.os2 of Virtual PC.
 * 1 new keyword, OPENBIND, is added to work around for 'transmit before open'

Version 1.04 (2005-07-23)
 * MAC address and PHY address are simply reloaded instead of reading directly EEPROM contents.

Version 1.03 (2005-07-14)
 * Multiple fragments for the transmit and receive. Backward to vfet3a.
 * Chip revision check again. The range is [0x40..0x7f].

Version 1.02 (2005-07-09)
 * Chip revision check code was removed.
 * Clear bit 0 in configuration A register. (reject magic packet?)

Version 1.01 (2005-07-07)
 * Medium link status polling logic was modified.
 * Reload EEPROM contents code was added.
 * PHY specific work-around code was added.(from solaris driver)

Version 1.00 (2005-07-03)
 * Initial release. Based on vfet3a 1.00.

VIA VT86C100A Rhine Another OS/2 NDIS MAC driver 1.04
Driver + Source: vfet1a04.zip 43997B Vendor ID: 0x1106 - Device ID:0x3043

Version 1.04 (2005-12-17) Version 1.03 (2005-11-15) Version 1.02 (2005-07-23) Version 1.01 (2005-07-08) Version 1.00 (2005-07-07)
 * 1 new keyword, IRQ15OVR, was added.
 * Workaround for switch.os2 of Virtual PC.
 * 1 new keyword, OPENBIND, is added to workaround 'transmit before open' issue.
 * MAC address and PHY address are simply reloaded instead of reading directly EEPROM contents.
 * bugfix: transmit FIFO threshold range was corrected.
 * Disable transmit frame queueing. (chip errata?)
 * Initial release. Based on vfet2a 1.01.

Realtek RTL8029AS OS/2 NDIS 2.0.1 Another MAC driver 1.01
Driver + Source: rpn2a01.zip 38853B Vendor ID: 0x10EC - Device ID:0x8029

Version 1.01 (2006-01-13)
 * Bugfix: Trap in TransferDate.
 * 1 new keyword, IRQ15OVR, was added.

Version 1.00 (2005-08-01)
 * Initial release. Based on lgy98.os2 1.00

Sundance ST201 OS/2 NDIS 2.0.1 MAC driver 1.00
Driver + Source: alta00.zip 46205B Vendor ID: 0x13F0 (0x1186) - Device ID:0x0201 0x0200 (0x1002)

Version 1.00 (2006-12-26)
 * Initial release