Új hálózati kártyát telepítettem, és furcsa hibaüzeneteket kapok, ha változtatok a TCP/IP beállításokon. Mi ez és miért van?
Röviden azért, mert nem helyesen jártunk el a hálózati kártya eltávolításakor. Akár egy másik bővítőhelyre tesszük át, akár egy másik hálózati kártyára cseréljük az előzőt, mindenképpen szabályszerűen kell távolítanunk az Eszközvezérlőben (Uninstall). Ha ezt nem tesszük meg, az eredmény egy rejtett, árva kártya lesz.
Viszont van mód korrekcióra ekkor is, a következőképpen:
Keressük meg az árva hálókártya regisztrációs adatbázis bejegyzéseit. Először ide navigáljunk:
HKLMSoftwareMicrosoftWindowsNTCurrentVersionNetworkCards
Itt a kártyák leírását, valamint a ServiceName kulcs alatt egy fontos dolgot találhatunk: egy GUID-ot, amely egyértelműen azonosítja majd a kártyát a regisztrációs adatbázis további részeiben. Egy másik fontos kulcs a
HKLMSystemCurrentControlSetServices{GUID}
hiszen itt a ParametersTcpip alatt találjuk meg az adott kártyához tartozó TCP/IP konfiguráció összes elemét. A következő lényeges kulcs:
HKLMSystemCurrentControlSetServices{ServiceName of Network Card}
Ez tartalmazza a hálózati kártya meghajtóprogramjának paramétereit. Az Enum alkulcsban lévő bejegyzés pedig az eszköz PnP Instance ID-jét árulja el, amely a regisztrációs adatbázis HKLMSystemEnum szekciójában található. A negyedik kulcs alatt több GUID-ot találunk, itt tárolódik az összes Microsoft Network szolgáltatással kapcsolatos információ (pl. File & Printer Sharing, QoS, stb.).
HKLMSystemCurrentControlSetControlNetwork
Ezek közül a legfelső a Network Adapters rész, amelyből a már jó ismerős árva hálózati kártyánk GUID-ja is előkerülhet. Ezen belül látható a Connection alkulcs, ahol például fény derülhet arra is, hogy az aktuális hálózati kapcsolatunk neve miért is "Local Connection 3"? (Merthogy nálam árva a "Local Connection 2" és van még egy eredeti is, ebből is látszik, hogy én se túl szabályosan jártam el eddig :D). Az utolsó fontos kulcsról részben már volt szó, a végén lévő azonosító már felbukkant korábban:
HKLMSystemCurrentControlSetEnumPCI{PnPInstanceID}
Ez a kulcs és az alatta elhelyezkedő alkulcsok a kártyáról, mint hardver összetevőről adnak információt, azaz pl. PCI busz számát, vagy a meghajtóprogram adatait, stb. Ha ezeket a helyeket bejárjuk, és a régi kártyára vonatkozó információkat töröljük (persze azért csak egy mentés után), akkor az árva kártyára vonatkozó hibaüzenetek megszűnnek. Elismerem, nem kis munka, viszont ennek tudatában már érdemes megfontolni a helyes eltávolítást.
Hogyan tudnám alaphelyzetbe állítani a TCP/IP protokollt? A "leszedem/felrakom" módszer nem jó, mert szürke az Uninstall gomb.
Ez bizony így van, előfordulhat, hogy a TCP/IP protokollt nem lehet eltávolítani, mert a TCP/IP verem az operációs rendszer alapvető fontosságú része. Viszont itt is segíthet a netsh! Ezt a segédprogramot használva a TCP/IP verem az eredeti (az operációs rendszer telepítésekor érvényes) állapotba állítható vissza. A parancs használata a következő:
netsh interface ip reset tcpipreset.txt
Ennek hatására újraépülnek a TCP/IP verem által használt rendszerleíró kulcsok, ami gyakorlatilag ugyanazzal jár, mintha újraraktuk volna a protokollt. Viszont minden esetben szükség van a naplóállomány megadására, amelybe (ugyanúgy mint a konfiguráció mentéskor) a netsh a parancsműveleteket írja be.