Dibya Posted January 15, 2024 Posted January 15, 2024 For Sometimes, Everyone here trying to back port NDIS 6.0+ in quest of having Modern NIC but NDIS 6 will require MSI/MSI-X Interrupt support.MSI/MSI-X interrupt came with significant changes in NTOSKRNL,HAL, PCI & ACPI Bus drivers Here is another option , NetAdapterCx , It is opensource , it wraps around NDIS with KMDF and make it much easier to write NIC Driver. https://github.com/Microsoft/Network-Adapter-Class-Extension Microsoft WDF Source Code: https://github.com/microsoft/Windows-Driver-Frameworks Majorly Missing Pieces of NDIS API are following for NetAdapterCx where most of it is wrap around KMDF , Existing NDIS 5.X Function , and some NDIS 6.0 function needs to be re implemented Missing NDIS API: NdisAdvanceNetBufferDataStart NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool NdisCloseConfiguration NdisConvertNdisStatusToNtStatus NdisConvertNtStatusToNdisStatus NdisFreeNetBufferList NdisFreeNetBufferListPool NdisMDeregisterMiniportDriver NdisMIndicateReceiveNetBufferLists NdisMIndicateStatusEx NdisMOidRequestComplete NdisMPauseComplete NdisMRestartComplete NdisMSendNetBufferListsComplete NdisMSetMiniportAttributes NdisOpenConfigurationEx NdisOpenConfigurationKeyByName NdisReadConfiguration NdisReadNetworkAddress NdisRetreatNetBufferDataStart NdisWdfAsyncPowerReferenceCompleteNotification NdisWdfChangeSingleInstance NdisWdfCloseIrpHandler NdisWdfCreateIrpHandler NdisWdfDeregisterCx NdisWdfDeviceControlIrpHandler NdisWdfDeviceInternalControlIrpHandler NdisWdfExecuteMethod NdisWdfGetAdapterContextFromAdapterHandle NdisWdfGetGuidToOidMap NdisWdfMiniportDataPathStart NdisWdfMiniportDereference NdisWdfMiniportSetPower NdisWdfMiniportStarted NdisWdfMiniportTryReference NdisWdfNotifyWmiAdapterArrival NdisWdfPnPAddDevice NdisWdfPnpPowerEventHandler NdisWdfQueryAllData NdisWdfQuerySingleInstance NdisWdfReadConfiguration NdisWdfRegisterCx NdisWdfRegisterMiniportDriver NdisWriteConfiguration Missing NETIO: GetIfEntry2Ex Obviously their is a cache, Microsoft didn't share build files like .SLN for WDF [Windows Driver Framework] and NetAdapterCx, i suspect their some files missing even though 98% is their which needs to be reverse engineered from Windows 10 binary,, Is anyone here who can help reconstruct build file [.sln or msbuild] for WDF and NetAdapterCx? 2
Dibya Posted January 15, 2024 Author Posted January 15, 2024 Here is opensource NetAdapterCx driver based on FreeBSD Driver for Realtek RTL8125 https://github.com/coolstar/if_re-win Bacporting NetadapterCx will allow us to run above driver on XP/2K3 [May be 2000 with Extended Core] as well as to write Intel E1000E & I225-V driver by using their respective BSD Driver as reference. Their no other way around driver situation other than writing it, OS/2 community member Arcanoae do write NIC driver for OS/2 , we need to start doing same for NT5 OSes.
Damnation Posted January 16, 2024 Posted January 16, 2024 @Dibya So this would be like an NDIS extender? Similar to the existing ntoskrnl extender?
Dibya Posted January 16, 2024 Author Posted January 16, 2024 9 minutes ago, Damnation said: @Dibya So this would be like an NDIS extender? Similar to the existing ntoskrnl extender? Kinda Yes , but aim is to write own driver on top of NetAdapterCx like above RTL8125, to rewrite NetadapterCx to mainly use NT5 function and then utilize some NDIS 6 function which are absolutely necessary
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now