はじめに
Windows Server 2019 に2.5GbpsのLanカード I225Vを増設するときの話題です。
ドライバーをダウンロード
ここから最新ドライバーを取得すると、Windows10に対応する設定は含まれるのですが、そのままでは、Windows Server 2019 から認識させることができません。Windows Server 2012にIntel Gigabit CT Desktop Adapterを設定するときと同じ要領でINFファイルを書き換えて適用してみます。
INFファイル書き換え
変更するところは、大きく2つです。
※1. 対象端末のバージョン番号(Win10→Win2019)
※2. ドライバーの詳細内容(日本語ASCII→英語)
INFファイルの場所
Wired_driver_29.3_x64\Wired_driver_29.3_x64\PRO2500\Winx64\NDIS68\e2f.inf
e2f.infをコピーし、win2019.infを作成して編集(書き換え)
[Intel.NTamd64.10.0...17763] ・・ここの下に追記・・
%E15F3_3NC.DeviceDesc% = E15F3_3.10.0...17763, PCI\VEN_8086&DEV_15F3&REV_03
[E15F3_3.10.0...17763]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType = 5 ; PCI
DelReg = Advanced.DelReg
AddReg = e2f.reg, TcpSeg.reg, JumboPacket.reg
AddReg = EnableWakeOnManagmentOnTCO.reg
AddReg = Copper.reg, Copper1000.reg
AddReg = Copper2500.reg
AddReg = RTD3.reg
AddReg = Powermgmt.reg, WakeOnSlot.reg, WakeOnLink.reg, ModernStandbyWoLMagicPacket.reg
AddReg = LLI.reg
AddReg = SelectiveSuspend.reg
AddReg = DMACoalescing.reg
AddReg = IntelANSVlanID.reg
AddReg = ProtocolOffload.reg
AddReg = UninstallW2.reg
AddReg = CoInKS.reg
CopyFiles = win10.CopyFiles, MessageDll.CopyFiles
*IfType = 6 ; IF_TYPE_ETHERNET_CSMACD
*MediaType = 0 ; NdisMedium802_3
*PhysicalMediaType = 14 ; NdisPhysicalMedium802_3
[E15F3_3.10.0...17763.Services]
AddService = e2fexpress, 2, win10.Service, win10.EventLog
[E15F3_3.10.0...17763.HW]
Include = pci.inf
Needs = PciIoSpaceNotRequired.HW, PciD3ColdSupported.HW
AddReg = MSIX5.reg
[Strings.0411] ; Japanese (Japan) ・・ここの下を編集・・
・・ここから英語説明になるように編集・・
AutoDetect = "Auto Detect"
AutoNegotiation = "Auto Negotiation"
SpeedDuplex = "Speed & Duplex"
10Mb_Half_Duplex = "10 Mbps Half Duplex"
10Mb_Full_Duplex = "10 Mbps Full Duplex"
100Mb_Half_Duplex = "100 Mbps Half Duplex"
100Mb_Full_Duplex = "100 Mbps Full Duplex"
1000Mb_Full_Duplex = "1.0 Gbps Full Duplex"
2500Mb_Full_Duplex = "2.5 Gbps Full Duplex"
IPChksumOffv4 = "IPv4 Checksum Offload"
TCPChksumOffv4 = "TCP Checksum Offload (IPv4)"
UDPChksumOffv4 = "UDP Checksum Offload (IPv4)"
TCPChksumOffv6 = "TCP Checksum Offload (IPv6)"
UDPChksumOffv6 = "UDP Checksum Offload (IPv6)"
LsoV2IPv4 = "Large Send Offload V2 (IPv4)"
LsoV2IPv6 = "Large Send Offload V2 (IPv6)"
ChksumOffTxRx = "Rx & Tx Enabled"
ChksumOffTx = "Tx Enabled"
ChksumOffRx = "Rx Enabled"
FlowControl = "Flow Control"
FlowControl_TxOnly = "Tx Enabled"
FlowControl_RxOnly = "Rx Enabled"
FlowControl_Full = "Rx & Tx Enabled"
PriorityVlanDisabled2 = "Packet Priority & VLAN Disabled"
PriorityEnabled2 = "Packet Priority Enabled"
VlanEnabled = "VLAN Enabled"
PriorityVlanEnabled2 = "Packet Priority & VLAN Enabled"
TransmitBuffers = "Transmit Buffers"
ReceiveBuffers = "Receive Buffers"
PriorityVLANTag2 = "Packet Priority & VLAN"
VMQ = "Virtual Machine Queues"
On = "On"
Off = "Off"
Enabled = "Enabled"
Disabled = "Disabled"
LAA = "Locally Administered Address"
JumboPacket = "Jumbo Packet"
WakeOnMagicPacket = "Wake on Magic Packet"
ModernStandbyWoLMagicPacket = "Wake from S0ix on Magic Packet"
Enable_PME = "Enable PME"
Forced = "Forced"
WakeOnLinkSettings = "Wake on Link Settings"
WakeOnPattern = "Wake on Pattern Match"
LogLinkState = "Log Link State Event"
InterruptModeration = "Interrupt Moderation"
InterruptThrottleRate = "Interrupt Moderation Rate"
Extreme = "Extreme"
Minimal = "Minimal"
High = "High"
Medium = "Medium"
Low = "Low"
WaitAutoNegComplete = "Wait for Link"
EnableDca = "Direct Cache Access"
EnableLLI = "Low Latency Interrupts"
LLIPorts = "Low Latency Interrupt Ports"
LLIPortBased = "Port-Based"
LLIPSHBased = "PSH Flag-Based"
EEELinkAdvertisement = "Energy Efficient Ethernet"
EEE_Disabled = "Off"
EEE_Enabled_AWAKE = "On (when system is in S0, S0ix and Sx)"
EnableDMACoalescing = "DMA Coalescing"
250usec = "250 usec"
500usec = "500 usec"
1msec = "1 msec"
2msec = "2 msec"
3msec = "3 msec"
4msec = "4 msec"
5msec = "5 msec"
6msec = "6 msec"
7msec = "7 msec"
8msec = "8 msec"
9msec = "9 msec"
10msec = "10 msec"
ARPOffload = "ARP Offload"
NSOffload = "NS Offload"
VlanID = "VLAN ID"
SelectiveSuspend = "Selective Suspend"
SSIdleTimeout = "Selective Suspend Idle Timeout"
Intel = "Intel"
E2FExpress.Service.DispName = "Intel(R) PCI Express Network Connection Driver R"
DISKNAME = "Intel(R) Driver Disk"
;; Brandnames.str
;------------------------------------------------------------------------------
E15F3_3NC.DeviceDesc = "Intel(R) Ethernet Controller (3) I225-V"
ドライバーを適用
INF編集後、管理者でプロンプトを開き下記コマンド実行後に再起動
bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON
bcdedit /set NOINTEGRITYCHECKS ON
PC起動後、管理者でプロンプトを開き下記コマンドで適用
pnputil -i -a ・・・INFファイルのパス・・・Wired_driver_29.3_x64\Wired_driver_29.3_x64\PRO2500\Winx64\NDIS68\win2019.inf
※署名がないけどインストールしますよ的なダイアログが出るので、インストールを選んで進めます。
INF適用後、管理者でプロンプトから下記コマンドで通常状態戻して再起動
bcdedit /set loadoptions ENABLE_INTEGRITY_CHECKS
bcdedit /set TESTSIGNING OFF
bcdedit /set NOINTEGRITYCHECKS OFF
運用サーバー機であれば、サーバー用の冗長化されてるみたいなLANカードを使うのでしょうが、開発のために必要で、そのために準備するケースだと、ハードウェアはPC部品を使うことになるかと思います。(今回もこのケース) 今のところ、IntelのLANカードが認識しない(不明デバイス)となる場合、この方法で回避可能かもしれません。
※すべてのケースで正常に動作するかは知らないですが
・・とりあえず通信はできるはず。