Author Topic: getting an Intel Pro/1000CT onboard Ethernet controller working with OS/2 Warp 4  (Read 2473 times)

KevinP

  • Full Member
  • ***
  • Posts: 141
  • Karma: +3/-0
I wanted to ask for help getting an onboard Ethernet controller working under OS/2 Warp 4.52.  I decided I wanted to try OS/2 so I installed it on an old Gateway Pentium 4 machine.  The motherboard is an Intel D865GLC.  The Ethernet controller is an Intel Pro/1000CT which apparently has an Intel 82547EI chipset.  I bought the Arca Noae subscription for their drivers so I have installed those.  I think I have tried each driver available for Intel chips but have not been able to get the onboard Ethernet controller to work.  Sometimes it will say that the driver does not load.  I had an old IBM PCI card 10/100 controller that will work but I wanted to see if I could get the onboard controller to work.  The OS/2 version I have is 14.089_W4.  I currently have 1gb of RAM on the board.  What should I have in the config.sys?  I have a number of other questions about OS/2 but will start with the Ethernet controller.

Thanks,

Kevin

Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1570
  • Karma: +44/-0
Hey KevinP,

You really need to get the device ID for the NIC itself...can you run 'pci' at command line and look for the NIC section, which in the case of my onboard RTL8168 looks as follows:

Quote
Bus 2 (PCI Express), Device Number 0, Device Function 0
Vendor 10ECh Realtek Semiconductor Co., Ltd.
Device 8168h RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
Command 0007h (I/O Access, Memory Access, BusMaster)
Status 0010h (Has Capabilities List, Fast Timing)
Revision 06h, Header Type 00h, Bus Latency Timer 00h
Self test 00h (Self test not supported)
Cache line size 64 Bytes (16 DWords)
PCI Class Network, type Ethernet
Subsystem ID 76401462h Unknown
Subsystem Vendor 1462h Micro-Star International Co., Ltd. [MSI]
Address 0 is an I/O Port : D000h..D0FFh
Address 1 is not present or not configured!
Address 2 is a Memory Address (64-bit, Prefetchable) : FE904000h..FE904FFFh
Address 4 is a Memory Address (64-bit, Prefetchable) : FE900000h..FE903FFFh
System IRQ (disabled), INT# A
New Capabilities List Present:
  Power Management Capability, Version 1.2
    Supports low power State D1
    Supports low power State D2
    Supports PME# signalling from mode(s) D0, D1, D2, D3hot, D3cold
    PME# signalling is currently disabled
    3.3v AUX Current required : 375 mA
    Current Power State : D0 (Device operational, no power saving)
  Message Signalled Interrupt Capability
    MSI is enabled
    MSI function can generate 64-bit addresses
  PCI Express Capability, Version 2
    Device/Port Type :
      PCI Express Endpoint Device
    Device Capabilities :
      Unsupported Request Severity is Non-Fatal
    Device Status :
      Correctable Error Detected
      Unsupported Request Detected
      AUX Power Detected
    Link Capabilities :
      Maximum Link speed : 2.5Gb/s
      Maximum Link Width : x1
      Link Port Number   : 0
    Link Control :
      Common Clock Configuration In Use
    Link Status :
      Current Link speed : 2.5Gb/s
      Current Link Width : x1
  MSI-X Capability
  Vital Product Data Capability
    VPD Data not present

From the above piece you are really fishing for these two lines:

Vendor 10ECh Realtek Semiconductor Co., Ltd.
Device 8168h RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

where the bolded DEVICE_ID is what the NIC device drivers should be listing. In your case I think you should be able to find this in the E1000B driver read me file which shows the following:

Quote
Intel(R) PRO/1000 NIC Driver for OS/2


Info
====

This is an NDIS driver for Intel(R) PRO/1000 LAN adapters.
The source code from the FreeBSD e1000 "em" driver has been compiled
to run on OS/2.

This driver supports the following device IDs. All are Vendor ID 8086.
 0D4E, 0D4F, 0D4C, 0D4D, 0D53, 0D55, 0DC7, 0DC8, 0DC5, 0DC6, 1049, 104A,
 104B, 104C, 104D, 105E, 105F, 1060, 107D, 107E, 107F, 108B, 108C, 1096,
 1098, 109A, 10A4, 10A5, 10B9, 10BA, 10BB, 10BC, 10BD, 10BF, 10C0, 10C2,
 10C3, 10C4, 10C5, 10CB, 10CC, 10CD, 10CE, 10D3, 10D5, 10D9, 10DA, 10DE,
 10DF, 10E5, 10EA, 10EB, 10EF, 10F0, 10F5, 10F6, 1501, 1502, 1503, 150C,
 1525, 153A, 153B, 1559, 155A, 15A0, 15A1, 15A2, 15A3, 156F, 1570, 15B7,
 15B8, 15B9, 15BB, 15BC, 15BE, 15BD, 15D6, 15D7, 15D8, 15DF, 15E0, 15E1,
 15E2, 15E3, 15FB, 15FC, 15F9, 15FA, 15F4, 15F5, 1A1E, 1A1F, 1A1C, 1A1D,
 294C, 550A, 550B, 550C, 550D, 550E, 550F, 5510, 5511, 57A0, 57A1, 57B3,
 57B4, 57B5, 57B6, 57B7, 57B8
...

If you are not sure which NIC driver files to look at but have the DEVICE_ID handy, post it here and I'm sure we can figure this out.

EDIT
====

Take a look at the AOS NIC page => https://www.arcanoae.com/wiki/multimac/

Your NIC is the legacy Intel piece and is supported by the MMLEM driver, see the README here => https://www.arcanoae.com/wp-content/uploads/wiki/ReadMe-MMLEM.txt


« Last Edit: April 29, 2026, 03:45:54 am by Dariusz Piatkowski »

KevinP

  • Full Member
  • ***
  • Posts: 141
  • Karma: +3/-0
Thank you, Dariusz, I will try that tomorrow and report back.

KevinP

  • Full Member
  • ***
  • Posts: 141
  • Karma: +3/-0
I did get pci.exe installed and ran it.  I will post a picture of the output below for the onboard Ethernet controller.  One thing I noticed is that it is at IRQ 10.  I believe some of the USB controllers are at that address so I wondered if it could be conflicting with them.  I do have the MMLEM driver selected but I am still not getting the controller to work.  Let me know what else I can do.  Thanks


Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1570
  • Karma: +44/-0
I did get pci.exe installed and ran it.  I will post a picture of the output below for the onboard Ethernet controller.  One thing I noticed is that it is at IRQ 10.  I believe some of the USB controllers are at that address so I wondered if it could be conflicting with them.  I do have the MMLEM driver selected but I am still not getting the controller to work.  Let me know what else I can do.  Thanks

OK, so the device ID matches what the drivers support.

Do you have the '/V' option included in your CONFIG.SYS on the DEVICE line for that driver? if no, toss that in there and see what pops up during the system boot.

BTW - what are you looking for to tell whether the NIC is recognized and usable?

For starters the 'Hardware Manager' when viewed in TREE view will certainly show you a NIC in that list.

What about doing 'netstat -n'  or 'netstat -a' at command line?

KevinP

  • Full Member
  • ***
  • Posts: 141
  • Karma: +3/-0
In config.sys there is this line:  DEVICE=C:\IBMCOM\MACS\MMLEM.OS2.  I set the /v switch but nothing shows up during boot.  Should the driver line come at any certain point in config.sys?  The NIC does not show up in Hardware Manager.  Running netstat -n shows "0" for everything.  netstat -a shows the loopback address:  127.0.0.1.  When it starts up there is the net start req screen which runs for a bit before saying it can't be started.  I also get a message that DHCP client is not running.

KevinP

  • Full Member
  • ***
  • Posts: 141
  • Karma: +3/-0
I may have a correction to make.  In Hardware Manager I see devices labeled PIC instead of NIC.  Are those the network controllers?  They are listed as PIC_0 and PIC_1.  Only PIC_1 shows an address.  In TCP/IP, when I first tried to work with the onboard controller, it was showing as device 1 but it would not allow DHCP so I removed the device 0 and tried to make the onboard controller device 0.

Tom

  • Full Member
  • ***
  • Posts: 239
  • Karma: +8/-0
What is in c:\mptn\bin\setup.cmd ? Please post the contents of that file.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 6054
  • Karma: +167/-1
I may have a correction to make.  In Hardware Manager I see devices labeled PIC instead of NIC.  Are those the network controllers?  They are listed as PIC_0 and PIC_1.  Only PIC_1 shows an address.  In TCP/IP, when I first tried to work with the onboard controller, it was showing as device 1 but it would not allow DHCP so I removed the device 0 and tried to make the onboard controller device 0.

Pic_0 and Pic_1 are different then the NIC, it should show up similar to the attachment as a network adapter, E1000B_0 in my case.

KevinP

  • Full Member
  • ***
  • Posts: 141
  • Karma: +3/-0
What is in c:\mptn\bin\setup.cmd ? Please post the contents of that file.

Please see below.  I'm glad to get to learn about these files.  I don't know why lan0 was commented out because it was enabled in MPTN.  I removed the comment and rebooted but that still did not work.  I also have DHCP enabled.  The static routes are from when I was trying that to see if it would work.  Thanks.


Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1570
  • Karma: +44/-0
This is what I have, but I run STATIC IP assignment.

Any particular reason why you want to run DHCP?

Code: [Select]
route -fh
arp -f
ifconfig lo 127.0.0.1 -trailers
ifconfig lan0 192.168.1.10 netmask 255.255.255.0 metric 1 mtu 1492 -trailers
REM ifconfig lan1 192.168.1.11 netmask 255.255.255.0 metric 1 mtu 1452

REM load the network config options
rem originally executed here, now moved to \tcpip\bin\b4tcp.cmd (Feb_2023)
rem inetcfg -s all

REM ifconfig lan2 metric 1 mtu 1500
REM ifconfig lan3 metric 1 mtu 1500
REM ifconfig lan4 metric 1 mtu 1500
REM ifconfig lan5 metric 1 mtu 1500
REM ifconfig lan6 metric 1 mtu 1500
REM ifconfig lan7 metric 1 mtu 1500
REM ifconfig sl0

route add default 192.168.1.1 -hopcount 1
ipgate off

...and here is mptstart.cmd:

Code: [Select]
@ECHO OFF
IF NOT EXIST G:\MPTN\BIN\SETUP.CMD GOTO NBSETUP
INETWAIT 1>NUL
IF ERRORLEVEL 1 GOTO END
CALL G:\MPTN\BIN\SETUP.CMD
:NBSETUP
IF NOT EXIST G:\MPTN\BIN\NBSETUP.CMD GOTO END
CALL G:\MPTN\BIN\NBSETUP.CMD
:END

Further on, here is \IBMCOM\PROTOCOL.INI:

Code: [Select]
[PROT_MAN]

   DRIVERNAME = PROTMAN$

[IBMLXCFG]

   tcpip_nif = tcpip.nif
   mmre_nif = mmre.nif

[tcpip_nif]

   DriverName = TCPIP$
   Bindings = mmre_nif

[mmre_nif]

   DriverName = MMRE$

This last part is what essentially tells OS/2 how to link up the NIC hardware to a protocol.

For example, the mmre.nif contents are:

Code: [Select]
[MMRE]
 Type       = NDIS
 Title      = "RealTek 8139C+/8169/8169S/8110S/8168/8111/8101E PCI driver (MultiMac32-MMRE) for OS/2"
 Version    = 1.1.9
 DriverName = MMRE$
 XPORTS     = NETBEUI, LANDD

[File]
 Name     = MMRE.OS2
 Path     = \IBMCOM\MACS

...and tcpip.nif:

Code: [Select]
[TCPIP]
  TITLE = "IBM TCP/IP"
  TYPE = Protocol
  VERSION = 2.03d
  DRIVERNAME = TCPIP$

[FILE]
  NAME = AFINET.SYS IFNDIS.SYS
  PATH = \IBMCOM\PROTOCOL

[IfType]
  DISPLAY = "Network Interface Type"
  TYPE = Decimal
  RANGE = 1 - 56
  SCOPE = local
  OPTIONAL = yes
  EDITABLE = yes
  HELP = "Specif...

Note that the contents of these files will be somewhat different on your system, they will be very specific to the hardware and therefore the matching device drivers you are using.

Maybe too much info, but sometimes it helps to have more than not enough!

Tom

  • Full Member
  • ***
  • Posts: 239
  • Karma: +8/-0
I may have a correction to make.  In Hardware Manager I see devices labeled PIC instead of NIC.  Are those the network controllers?  They are listed as PIC_0 and PIC_1.  Only PIC_1 shows an address.  In TCP/IP, when I first tried to work with the onboard controller, it was showing as device 1 but it would not allow DHCP so I removed the device 0 and tried to make the onboard controller device 0.

PIC stands for Programmable Interrupt Controller, like the Intel 8259. It is not related to a NIC.

Tom

  • Full Member
  • ***
  • Posts: 239
  • Karma: +8/-0
What is in c:\mptn\bin\setup.cmd ? Please post the contents of that file.

Please see below.  I'm glad to get to learn about these files.  I don't know why lan0 was commented out because it was enabled in MPTN.  I removed the comment and rebooted but that still did not work.  I also have DHCP enabled.  The static routes are from when I was trying that to see if it would work.  Thanks.

On the line that starts DHCP, try adding "-d 0" (without the quotes):

Code: [Select]
dhcpstrt -i lan0 -d 0
Am I correct when I assume your router has the static IP-address 192.168.88.1 ? If so, try (in an OS/2 command window):

Code: [Select]
ping 192.168.88.1




KevinP

  • Full Member
  • ***
  • Posts: 141
  • Karma: +3/-0
What is in c:\mptn\bin\setup.cmd ? Please post the contents of that file.

Please see below.  I'm glad to get to learn about these files.  I don't know why lan0 was commented out because it was enabled in MPTN.  I removed the comment and rebooted but that still did not work.  I also have DHCP enabled.  The static routes are from when I was trying that to see if it would work.  Thanks.

On the line that starts DHCP, try adding "-d 0" (without the quotes):

Code: [Select]
dhcpstrt -i lan0 -d 0
Am I correct when I assume your router has the static IP-address 192.168.88.1 ? If so, try (in an OS/2 command window):

Code: [Select]
ping 192.168.88.1

Adding the -d 0 parameter did not work.  Yes, 192.168.88.1 is the address of my router. 

I am wondering if the onboard NIC is simply defective.  I do have onboard LAN enabled in the BIOS.  The two lights on the port illuminate when a cable is plugged into it but they remain solid. 

I deleted the setup for the onboard NIC and tried re-installing the driver for the PCI card.  It came to me in a lot of old computer gear given to me by a friend.  I have the original IBM floppy disks with the drivers (with OS/2 drivers) and LANAID.  When it is installed the computer recognizes the card on boot and shows the MAC address and the net start requester service works.  I added the MMLEM driver and tried to set that up as device 1 for the onboard card, basically using the same parameters as for the PCI card, but it still is not recognized nor does it work.  Neither NIC shows up in the Hardware Manager even though the PCI card is recognized at boot.

KevinP

  • Full Member
  • ***
  • Posts: 141
  • Karma: +3/-0
This is what I have, but I run STATIC IP assignment.

Any particular reason why you want to run DHCP?

Code: [Select]
route -fh
arp -f
ifconfig lo 127.0.0.1 -trailers
ifconfig lan0 192.168.1.10 netmask 255.255.255.0 metric 1 mtu 1492 -trailers
REM ifconfig lan1 192.168.1.11 netmask 255.255.255.0 metric 1 mtu 1452

REM load the network config options
rem originally executed here, now moved to \tcpip\bin\b4tcp.cmd (Feb_2023)
rem inetcfg -s all

REM ifconfig lan2 metric 1 mtu 1500
REM ifconfig lan3 metric 1 mtu 1500
REM ifconfig lan4 metric 1 mtu 1500
REM ifconfig lan5 metric 1 mtu 1500
REM ifconfig lan6 metric 1 mtu 1500
REM ifconfig lan7 metric 1 mtu 1500
REM ifconfig sl0

route add default 192.168.1.1 -hopcount 1
ipgate off

...and here is mptstart.cmd:

Code: [Select]
@ECHO OFF
IF NOT EXIST G:\MPTN\BIN\SETUP.CMD GOTO NBSETUP
INETWAIT 1>NUL
IF ERRORLEVEL 1 GOTO END
CALL G:\MPTN\BIN\SETUP.CMD
:NBSETUP
IF NOT EXIST G:\MPTN\BIN\NBSETUP.CMD GOTO END
CALL G:\MPTN\BIN\NBSETUP.CMD
:END

Further on, here is \IBMCOM\PROTOCOL.INI:

Code: [Select]
[PROT_MAN]

   DRIVERNAME = PROTMAN$

[IBMLXCFG]

   tcpip_nif = tcpip.nif
   mmre_nif = mmre.nif

[tcpip_nif]

   DriverName = TCPIP$
   Bindings = mmre_nif

[mmre_nif]

   DriverName = MMRE$

This last part is what essentially tells OS/2 how to link up the NIC hardware to a protocol.

For example, the mmre.nif contents are:

Code: [Select]
[MMRE]
 Type       = NDIS
 Title      = "RealTek 8139C+/8169/8169S/8110S/8168/8111/8101E PCI driver (MultiMac32-MMRE) for OS/2"
 Version    = 1.1.9
 DriverName = MMRE$
 XPORTS     = NETBEUI, LANDD

[File]
 Name     = MMRE.OS2
 Path     = \IBMCOM\MACS

...and tcpip.nif:

Code: [Select]
[TCPIP]
  TITLE = "IBM TCP/IP"
  TYPE = Protocol
  VERSION = 2.03d
  DRIVERNAME = TCPIP$

[FILE]
  NAME = AFINET.SYS IFNDIS.SYS
  PATH = \IBMCOM\PROTOCOL

[IfType]
  DISPLAY = "Network Interface Type"
  TYPE = Decimal
  RANGE = 1 - 56
  SCOPE = local
  OPTIONAL = yes
  EDITABLE = yes
  HELP = "Specif...

Note that the contents of these files will be somewhat different on your system, they will be very specific to the hardware and therefore the matching device drivers you are using.

Maybe too much info, but sometimes it helps to have more than not enough!

I always appreciate more info than less.  My files look very similar to yours.  I wonder if the onboard NIC is simply defective.  I re-installed the driver for the IBM PCI card and it works fine, it is recognized at boot, etc.  It still does not show up in Hardware Manager.  I would like to get the onboard NIC operating if possible but I guess it is not worth spending an extreme amount of time on.