VOGONS


First post, by ElBrunzy

User metadata
Rank Oldbie
Rank
Oldbie

I have that new p4 computer based on the I845G chipset. It has this infamous NIC built-it RTL8139/810x that I was never able to make receive or send a packet thru the twisted pair wire. I did try some different cable/switch but was never successful. Apparently it's a common problem I thought would only affect Win98 but I upgraded to Win2000 and face the same issue. The problem is that I now run low on PCI expansion port on that computer. Since I intend that computer to watch early Windows demos, running Win2000 allow for some more interesting GPU than Win98. The two PCI are used for Nvidia 9400gt 1gb and SB Live!, but unless someone tell me that an AGP x1650pro is faster than the Nvidia (or help me figure out the 8139 problem, but now I give up and disabled it), I will have to rely on ISA bus for my network need.

So my problem now is that I have no success having my NIC to work, I did try. Two that I believe to be the best contender are the UltraChip and 3Com Etherlink 3:

  • Etherlink III 3c509B-C & TP), SOFT, TP is 1995, C is 1994
  • AT/LANTIC NIC-2003 KC331101, SOFT, (maybe 1994)
  • UMC UM9007F, SOFT, no date
  • SMC 83C690LJ, SOFT/HARD, 1992
  • SMC UltraChip 83C790QF, SOFT/HARD, 1993

I wonder which one I should focus on, I went by date of birth and what's already supported from Win2000, maybe someone know better. But the Etherlink ]I[ 3C509B-C never showed up when I asked the wizard to autodetected device, so I forced an installation but don't know what IRQ, I/O value to set (did try some common one on a NIC). I read on an Internet tutorial that I should first know the value from dos, but my understanding from ISAPNP (aka SOFT on NIC silkscreen ?) is that this don't warranty it will stay after a reboot on Win2000, and I can't find a Win2000 diagnostic tool.
Then I went to the SMC UltraChip (how can you resist such a name?) that I can set in hard to io:280 irq:3 ram:D000 but I could just select closest driver that is Elite16 Ultra (nothing less) which I can set value and Win2000 tell me it loaded the driver fine, but with such chipset difference it's not unexpected that I cannot go outside the computer...

Next thing that come to mind is ask for help on my favorite forum, so there I am!

Last edited by Stiletto on 2021-03-06, 02:10. Edited 2 times in total.

Reply 1 of 10, by dionb

User metadata
Rank l33t++
Rank
l33t++

Focus on the 3Com, it's best supported.

3C509(B) cards can be set to PnP or fixed resources. Most people use fixed. Given it's not auto-detected that's probably the case with your cards. To read out current resources and/or set new ones, you need the 3C5X9CFG.EXE tool which runs under DOS. So make a DOS boot disk (floppy, HDD partition, Gotek, whatever) and put the tool on there. Official 3Com Etherdisks are irritating whole-floppy images in a format 7Zip can't read, but you can get the relevant file directly here: http://pub.agrarix.net/HW/3c509x2/

Boot to DOS, run the tool. Check the settings and change if required. I generally use 0x300 and IRQ 10, but that's because I run DOS and need to play nice with other non-PnP cards on scarce resources. In your case that's less important. Also set the card to full-duplex for best performance if connected to a switch (don't use if connecting to a hub or via BNC). Run the diagnostic tests. If they fail you probably have a conflict. Try a different IRQ and test again. Once you have working settings note address and IRQ.

Next step: reboot into BIOS and go to the PnP config screen. There set the IRQ your card uses to Legacy/Non-PnP to make sure neither BIOS nor Win2k claim the IRQ and cause a conflict.

Finally boot back into Win2k, manually add driver and give it the resources you've set and reserved. Should work.

Reply 2 of 10, by debs3759

User metadata
Rank Oldbie
Rank
Oldbie

I used to use RTL8139 exclusively with 9x, as it was plug and play and needed no effort on my part. It was compatible with everything. Pretty sure it was the same as NE2000 compatible, which, if I remember right, just worked out of the box with no configuration needed. I always used RJ45 connections. Never had the same success with co-ax connections

See my graphics card database at www.gpuzoo.com
Constantly being worked on. Feel free to message me with any corrections or details of cards you would like me to research and add.

Reply 3 of 10, by dionb

User metadata
Rank l33t++
Rank
l33t++

NE2000 was 16b ISA non-PnP 10Mbps, RTL8139 a ubiquitous PCI 10/100Mbps design. Cheap and workmanlike, with no CPU offloading, but generally reliable enough. Whatever problem OP has, it's not generic RTL8139, so either a bug in his board design, or it's just damaged.

Reply 4 of 10, by ElBrunzy

User metadata
Rank Oldbie
Rank
Oldbie

Hi, I'm working on that problem right now. Actually I had no luck with 3Com since the dos program crash with turbo pascal error "run-time error R6003 - integer divide by 0", this look like the error 200 for too fast cpu, so maybe I can slow it down or patch it... but the win9x drivers return an error : "the style of the INF is different than what was requested". So I moved on to another card. You trick seem to work, dionb, I detect and configure card on dos/win98 then on win2000 I use that setup. But thanks alot dionb with your help I already did progress, the setup is just not ideal as you will see.

debs3759: this thread explain well my problem, only it dont work on win98 and win2000.

Now the UMC UM9007 was detected as an ne2000 card on both win2000 and win98. Win98 could give me the configuration, I pasted it to win2000 and it actually work! The only problem is that it seem to be setup irq:3 baseport:300. I would like to use baseport:280 instead since 300 and 330 are often used for mpu401 and onboard midi card. So I would like to move the card to port 280, but the software say I dont have a true SVEC FD0490 card, maybe I dont have good dos tools.

Reply 5 of 10, by ElBrunzy

User metadata
Rank Oldbie
Rank
Oldbie

oh my god I found a way to make the rtl8139 work ! \o/

thanks debs3759, reading about your success with the rtl8139 made me want to re-visit this option. It worked with the RTL8139(A/B/C/8130) PCI Fast Ethernet NIC driver and not the 8139/810x... Since I messed alot with the drivers, would you please be so kind and tell me what values you have in the advanced drivers : "Early Tx Threshold", "Number of Tx Coalesce Buffer", "Receive Buffer Size" ?

I really appreciated your help too dionb. I forgot about that old procedure that you needed to configure the ISA NIC using a software in dos, I wonder how it's stored on the card. There is no battery or eeprom, that's why I though it was reset at boot and configured via pnp bios.

I'm so glad this RTL8139 work now, since it's the ideal configuration because it free up the third ISA port and leave alone port 300 for dreamblaster and 330 for mpu401.

Reply 6 of 10, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie
ElBrunzy wrote on 2021-03-02, 03:27:

I really appreciated your help too dionb. I forgot about that old procedure that you needed to configure the ISA NIC using a software in dos, I wonder how it's stored on the card. There is no battery or eeprom, that's why I though it was reset at boot and configured via pnp bios.

Pretty sure all models of the 3C509B have a small eeprom on board (it's not the rom in the DIP28 socket if yours has one - that's the boot rom) to save the settings made with the DOS setup tool.

Edit: Yep, just checked, both my 3C509B-Combo and 3C509B-TP have a tiny 8-pin 93c46 serial eeprom on board.

93c46 eeproms highlighted in yellow

IMG_1884.JPG
Filename
IMG_1884.JPG
File size
205.36 KiB
Views
374 views
File license
CC-BY-4.0

My collection database and technical wiki:
https://www.target-earth.net

Reply 7 of 10, by ElBrunzy

User metadata
Rank Oldbie
Rank
Oldbie

Oh so this is a eeprom ? Ok I stand corrected, thanks for the info megatron-uk. Guess I could plug the card on an 486 board and change it's config then as the crash is probably due to too fast cpu. But the documentation say there is no win2000 driver from 3com and microsoft dont ship any with the OS (using nt4 one return an error message as the inf format is unexpected, maybe this is fixable).

Then I guess it's safe to say that the UMC UM9007 use the atmel 93C46 too. Since this one nearly worked but used port 300 (reserved for DreamBlaster) I could had hack it out using an eeprom programmer since this one is socketed...

Reply 8 of 10, by debs3759

User metadata
Rank Oldbie
Rank
Oldbie
ElBrunzy wrote on 2021-03-02, 03:27:

thanks debs3759, reading about your success with the rtl8139 made me want to re-visit this option. It worked with the RTL8139(A/B/C/8130) PCI Fast Ethernet NIC driver and not the 8139/810x... Since I messed alot with the drivers, would you please be so kind and tell me what values you have in the advanced drivers : "Early Tx Threshold", "Number of Tx Coalesce Buffer", "Receive Buffer Size" ?

I always just let Windows set everything up when I used them. I don't currently have a system set up to be able to give you the settings. Not sure that I even have the same cards now, most of my ISA and PCI NICs are 3Com now. All waiting for me to finish clearing and organising a work space.

See my graphics card database at www.gpuzoo.com
Constantly being worked on. Feel free to message me with any corrections or details of cards you would like me to research and add.

Reply 9 of 10, by ElBrunzy

User metadata
Rank Oldbie
Rank
Oldbie

No sweat debs3759, I can always get those values without too much effort if you do not have the card still plugged in. Good luck with your project, hopefully you wont do the same mistake as me and confuse SOFT configuration with ISAPNP.

Reply 10 of 10, by ElBrunzy

User metadata
Rank Oldbie
Rank
Oldbie

Apparently the rtl8139 only work on night of full moon and when it feel like it, it's very frustrating but so unreliable I have to consider it dead. I went back to the 3com 3c509B, the problem is that win9x driver would not install on nt2000. But an interesting bit I read here is that the driver in PNP mode was supported on XP only. Putting the 3C509B on a slower computer (so the cfg tool would not crash) I could set it up in ISAPNP mode with the procedure and binary that our friend dionb so kindly provided.

Of course I installed winXP on a test HDD so I could test just that and confirm it worked for me. While I plugged back the nt2000 OS I could not resist but try to install those winXP drivers on NT2000 using the winXP as driver source. It actually did work and now I can use the "3Com EtherLink ]I[ ISAPNP Ethernet Adapter (Generic 3C509b)" from winXP on nt2000. I am reluctant at extracting that driver and .dll from winXP and package it here since I believe it might be copyrighted material. But it should be straightforward to copy files from "winxp\system32\drivers" and "winxp\inf". I also feel like the real hacker now 🕵but at this point I also question why I stick to nt2000...