VOGONS


First post, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

I've got a SiS 496 based system, with a UltraATA PCI controller installed. The chipset works just fine with a single bus mastering device, but when you add a second one to the system it becomes unstable. Therefore I'm looking for a NIC that either does not support bus mastering, or allows it to be software disabled in the drivers.

So far I'm using a Realtek 8029AS 10Mbps PCI card (NE2000 compatible) because it does not bus master, but a 100Mbps card would be preferred

Reply 1 of 19, by Horun

User metadata
Rank l33t++
Rank
l33t++

Thought some 10/100 NE2000 PCI compatible cards could have PCI bus mastering disabled like a few 3Com 3C905 models (think the 3c905TX could ?). IIRC no Intel 10/100 could but probably wrong.

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 2 of 19, by darry

User metadata
Rank l33t++
Rank
l33t++
maxtherabbit wrote on 2021-07-15, 01:30:

I've got a SiS 496 based system, with a UltraATA PCI controller installed. The chipset works just fine with a single bus mastering device, but when you add a second one to the system it becomes unstable. Therefore I'm looking for a NIC that either does not support bus mastering, or allows it to be software disabled in the drivers.

So far I'm using a Realtek 8029AS 10Mbps PCI card (NE2000 compatible) because it does not bus master, but a 100Mbps card would be preferred

According to https://arstechnica.com/civis/viewtopic.php?p … 1b479#p19573279 , you can disable bus mastering on a 3COM PCI NIC (like a 3C905 variant) under Windows :

These are the steps I use to disable bus mastering as

Run REGEDT32.
Under HKEY_LOCAL_MACHINE open the System folder.
Open CurrentControlSet folder.
Open Services Folder.
Open EL90BC folder.
Open Parameters folder.

Select the Add Value option in the Edit pull down menu.
Type Busmaster for the value.
Check that the data type is REG_SZ.
Click the OK button.
Type NO in the string box.
Check the registry to verify that the following line was added:

"Busmaster:REG_SZ:NO"
Shut down and restart.
To verify:
Open Event Viewer under System.
Click on first instance of EL90BC.
It should read "Busmaster support has been turned off for slot XX."

I can't find anything for DOS, unfortunately .

Reply 3 of 19, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
darry wrote on 2021-07-15, 02:02:
According to https://arstechnica.com/civis/viewtopic.php?p … 1b479#p19573279 , you can disable bus mastering on a 3COM PCI NIC ( […]
Show full quote
maxtherabbit wrote on 2021-07-15, 01:30:

I've got a SiS 496 based system, with a UltraATA PCI controller installed. The chipset works just fine with a single bus mastering device, but when you add a second one to the system it becomes unstable. Therefore I'm looking for a NIC that either does not support bus mastering, or allows it to be software disabled in the drivers.

So far I'm using a Realtek 8029AS 10Mbps PCI card (NE2000 compatible) because it does not bus master, but a 100Mbps card would be preferred

According to https://arstechnica.com/civis/viewtopic.php?p … 1b479#p19573279 , you can disable bus mastering on a 3COM PCI NIC (like a 3C905 variant) under Windows :

These are the steps I use to disable bus mastering as

Run REGEDT32.
Under HKEY_LOCAL_MACHINE open the System folder.
Open CurrentControlSet folder.
Open Services Folder.
Open EL90BC folder.
Open Parameters folder.

Select the Add Value option in the Edit pull down menu.
Type Busmaster for the value.
Check that the data type is REG_SZ.
Click the OK button.
Type NO in the string box.
Check the registry to verify that the following line was added:

"Busmaster:REG_SZ:NO"
Shut down and restart.
To verify:
Open Event Viewer under System.
Click on first instance of EL90BC.
It should read "Busmaster support has been turned off for slot XX."

I can't find anything for DOS, unfortunately .

I found this also. I do have several 3c905 cards, but these instructions only seem to apply to NT4. Windows 9x does not have these keys in the registry

Reply 4 of 19, by PC Hoarder Patrol

User metadata
Rank l33t
Rank
l33t

This is an extract from a 3Com readme file headed

3Com Corporation

ETHERDISK DISKETTE FOR THE ETHERLINK III AND FAST ETHERLINK
PCI AND EISA BUS MASTER ADAPTERS

DISABLING BUS MASTER

Some computers do not fully support bus mastering. The driver will try to
determine if bus master transfers work OK, and use bus master transfers if
the tests pass. If you suspect bus master transfers may be causing problems
in your system, there is a method to disable bus mastering for each driver.

NDIS 2.01 DOS & OS/2 Drivers
Add the line BUSMASTER=NO in the driver=EL59X.DOS (or EL59X.OS2) section
of the PROTOCOL.INI file.

Netware DOS & OS2 ODI Drivers
Add the line BUSMASTER NO to the LINK DRIVER 3C59X section of the NET.CFG
file.

Netware Server Driver
Add the command line parameter MASTER=NO to the 3C59X.LAN driver start line
in the AUTOEXEC.NCF file.

Windows NT
A parameter must be added to the driver registry. Use the following steps:
1. Open the file manager
2. Under your NT base directoy (default is WINNT35), open the SYSTEM32 folder
3. Run REGEDT32
4. Under "HKEY_LOCAL_MACHINE". open the "SYSTEM" folder
5. Open the "CurrentControlSet" folder
6. Open the "Services" folder
7. Open the "El59x1" folder (If you have more than one adapter, you need to
repeat steps 7-15 for each adapter)
8. Open the "Parameters" folder
9. Choose the "Add Value" option in the "Edit" pull down menu
10. Type "Busmaster" for the value
11. Check the data type is "REG_SZ"
12. Click on the "OK" button
13. Type "no" in the string box
14. Click on the "OK" button
15. Check the registry entry in the right screen half to verify the line
"Busmaster:REG_SZ:no" was added
16. Shut down and restart the computer.
To verify that bus master has been disabled:
1. Run the "Event Viewer" in the "Administrative Tools" group
2. Click on the first occurance "El59x"
3. The event detail should read "BusMaster support has been turned "OFF" for
slot XX.", where slot XX is the PCI or EISA slot number for the adapter.

Reply 6 of 19, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

I checked a card I remembered seeing "PIO mode ethernet adapter" screened on, but it was just another 8029.

Perhaps if you fully broke the bus mastering the drivers would install in non-busmaster mode. This might either happen when installing in a 5th PCI slot, which in a lot of boards is master incapable, or by masking fingers on the edge connector or chopping lines on the card.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 7 of 19, by hyoenmadan

User metadata
Rank Member
Rank
Member
maxtherabbit wrote on 2021-07-15, 03:40:

I found this also. I do have several 3c905 cards, but these instructions only seem to apply to NT4. Windows 9x does not have these keys in the registry

On win98 these values seem to be in "Ndi\params", and where is that? On "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\XXXX" where XXXX is your adapter enum ID.

On 3com cards, they refer specifically to some "Ndi\params\BusMaster" key.

Reply 8 of 19, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
hyoenmadan wrote on 2021-07-15, 15:33:
maxtherabbit wrote on 2021-07-15, 03:40:

I found this also. I do have several 3c905 cards, but these instructions only seem to apply to NT4. Windows 9x does not have these keys in the registry

On win98 these values seem to be in "Ndi\params", and where is that? On "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\XXXX" where XXXX is your adapter enum ID.

On 3com cards, they refer specifically to some "Ndi\params\BusMaster" key.

Trying that now, thanks!

Reply 10 of 19, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Was skimming the linux ethernet howto because I thought that might call out some cards for being non-busmaster, but nothing obvious with PCI.... there was this tidbit though which might give you a clue about getting busmastering working...

"One common problem people have is the `busmaster arbitration failure' message. This is printed out when the LANCE driver can't get access to the bus after a reasonable amount of time has elapsed (50us). This usually indicates that the motherboard implementation of bus-mastering DMA is broken, or some other device is hogging the bus, or there is a DMA channel conflict. If your BIOS setup has the `GAT option' (for Guaranteed Access Time) then try toggling/altering that setting to see if it helps."

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 11 of 19, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
BitWrangler wrote on 2021-07-15, 14:36:

I checked a card I remembered seeing "PIO mode ethernet adapter" screened on, but it was just another 8029.

Perhaps if you fully broke the bus mastering the drivers would install in non-busmaster mode. This might either happen when installing in a 5th PCI slot, which in a lot of boards is master incapable, or by masking fingers on the edge connector or chopping lines on the card.

If I were to go this route, which fingers need to be masked? Just request and grant?

Reply 12 of 19, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
maxtherabbit wrote on 2021-07-15, 20:26:

Didn't seem to work, which is unsurprising since all the parameters in that key were laid out into subkeys and not just plain string values

Is it the 3c59x or the 3c90x driver that you are using?
Remember these are NDIS, so the same drivers are (usually) compatible between both NT and Win9x

Reply 13 of 19, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++
maxtherabbit wrote on 2021-07-15, 22:07:
BitWrangler wrote on 2021-07-15, 14:36:

I checked a card I remembered seeing "PIO mode ethernet adapter" screened on, but it was just another 8029.

Perhaps if you fully broke the bus mastering the drivers would install in non-busmaster mode. This might either happen when installing in a 5th PCI slot, which in a lot of boards is master incapable, or by masking fingers on the edge connector or chopping lines on the card.

If I were to go this route, which fingers need to be masked? Just request and grant?

Seems like they would be the winners, since they are supposed to be unique lines per slot that go to bus arbiter, per... https://www.sciencedirect.com/topics/engineering/bus-master

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 14 of 19, by swaaye

User metadata
Rank l33t++
Rank
l33t++

In the past when I had a SiS 496 486 setup I found that Realtek 8139 and Linksys LNE100TX cards (Tulip compatible) worked well. I also remember at some point I had some kind of machine setup as a Smoothwall and had 2x Realtek 8139 cards in it because every other card I tried caused lock ups eventually. But I can't remember if that was the 486 or a Socket 5/7 board...

Reply 15 of 19, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
jakethompson1 wrote on 2021-07-15, 23:31:
maxtherabbit wrote on 2021-07-15, 20:26:

Didn't seem to work, which is unsurprising since all the parameters in that key were laid out into subkeys and not just plain string values

Is it the 3c59x or the 3c90x driver that you are using?
Remember these are NDIS, so the same drivers are (usually) compatible between both NT and Win9x

3c90x

Reply 16 of 19, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
swaaye wrote on 2021-07-16, 01:03:

In the past when I had a SiS 496 486 setup I found that Realtek 8139 and Linksys LNE100TX cards (Tulip compatible) worked well. I also remember at some point I had some kind of machine setup as a Smoothwall and had 2x Realtek 8139 cards in it because every other card I tried caused lock ups eventually. But I can't remember if that was the 486 or a Socket 5/7 board...

The 8139 works great without the ATA card installed, but it still is subject to occasional crashes when they are both in the system at the same time. I will try the LNE100Tx. Pretty sure I've got one of those laying around somewhere

Reply 17 of 19, by Horun

User metadata
Rank l33t++
Rank
l33t++

A bit OT

BitWrangler wrote on 2021-07-16, 00:45:

Seems like they would be the winners, since they are supposed to be unique lines per slot that go to bus arbiter, per... https://www.sciencedirect.com/topics/engineering/bus-master

Thanks ! downloaded the book in pdf for future reference and archiving.

maxtherabbit wrote on 2021-07-16, 01:25:

The 8139 works great without the ATA card installed, but it still is subject to occasional crashes when they are both in the system at the same time. I will try the LNE100Tx. Pretty sure I've got one of those laying around somewhere

swaaye wrote on 2021-07-16, 01:03:

In the past when I had a SiS 496 486 setup I found that Realtek 8139 and Linksys LNE100TX cards (Tulip compatible) worked well.

Bummer but Agree ! Have used many RT8139 based cards over the years and never had an issue on anything Pentium or better.

Max: have you tried a different PCI ide card ? Maybe the one you are using is the issue (not releasing the bus or some other oddity ?) just a thought and can be a lot more work than just changing NICs...

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 18 of 19, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

The only other PCI IDE card I have is a promise SATA-150. It has a bug in the BIOS that breaks DOS PS/2 mouse support when booting from the card which disqualifies it from ongoing use in the system, but I did test with it and got the same results. Stable with no NIC in system, unstable with NIC.

Reply 19 of 19, by Horun

User metadata
Rank l33t++
Rank
l33t++

Only other thing can think of is changing the BIOS to a non-PnP OS and setting the IRQ's manually or letting Win9x remap the IRQ steering:
http://www.cwdixon.com/support/win98_support/ … rq_steering.htm. If the BIOS has Int#A, etc settings you may be able to do similar thru BIOS but that could mess with NT if you already got that working OK.
Am sure I have run into similar scenario but has been so long the old brain cannot remember what it took though do remember not using PnP OS in bios many times before XP came out... not much help but all I can think of...

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun