Hartmut Birr wrote:
Hi,
the rtl8139 driver is a pci based driver. This driver needs more registry keys. A half year ago, I've used this registry entries for a realtec 8139 based nic:
[snip]
It doesn't work with the current cvs. The start and type values are possible also incorrect. The value "9" from the key "SlotNumber" is a hex value which must point to the correct pci slot. The best way to get all this informations is a NT 4.0 or W2K installation.
It doesn't work anymore because I changed the registry layout to match the one of W2K. There must be a "Driver" value under the Enum key pointing to "{4D36E972-E325-11CE-BFC1-08002BE10318}\xxxx" (where xxxx is unique number for the network adapter; for now 0000 is used for PCnet and 0001 for NE2K, but later this should be assigned by class installer). The "Parameters" key (without subkeys!) is moved to "SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002BE10318}\xxxx" and "Linkage" key is moved to "SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002BE10318}\xxxx\Linkage". Finally the SlotNumber needn't be changed because NDIS uses the value obtained from PCI bus driver.
An other problem is the loading of the real ne2000.sys driver. This is not a boot load driver but ros trys to load it like a boot load driver (after pci.sys).
Every enumerated driver is first tried to load when it's found (typically before \SystemRoot exists) and then retried after "\SystemRoot" is created. It's not really optimal, but it works.
Ros trys it a second time after loading ndis. The start value of ne2000 is 4, this means do not load. if I change this value to 3, driver is loaded at the second point successful, but it doesn't find a nic.
It's intentionally marked as DON'T LOAD in the registry because it would be loaded on every computer even when no NE2K card is present. The only way to address it is to get ISAPNP bus driver working, but that will still not help us on non-PNP ISA...
Regards, Filip