I'll just post updates and hopefully someone will eventually stumble along with the answer. I got NDIS logging up and running through WinDbg. It looks like there is no good way to attach a giant log file though so going to try and grab a relevant snip.
I did two runs, once with MediaType 802.3 and once with IP using the values below (pretty sure I got them right). That was the only difference.
*MediaType = 0 ; NdisMedium802_3
*MediaType = 19 ; NdisMediumIP
When using NdisMediumIP TCPIP binds just fine and ndisBindNdis6Protocol returns a result of 0:
[1]0004.0164::06/04/2024-14:57:34.171 [sys]==> ndisBindNdis6Protocol: Miniport FFFFE00F10B5F030, Protocol FFFFE00F0A31EBB0
[1]0004.0164::06/04/2024-14:57:34.171 [sys]ndisReferenceProtocol[8]: Protocol: FFFFCB0C6642F390, RefCount: 4, Closing: 0
[1]0004.0164::06/04/2024-14:57:34.171 [sys]==> ndisIsMiniportStarted: Miniport FFFFE00F10B5F030
[1]0004.0164::06/04/2024-14:57:34.172 [sys]<== ndisIsMiniportStarted: Miniport FFFFE00F10B5F030, Started 1
[1]0004.0164::06/04/2024-14:57:34.172 [sys]>Begin protocol driver's BindAdapterHandlerEx. Protocol=FFFFE00F0A31EBB0
[1]0004.0164::06/04/2024-14:57:34.172 [sys]==> NdisOpenAdapterEx: Protocol FFFFE00F0A31EBB0: TCPIP is opening Adapter: \DEVICE\{965FF174-812A-4911-8645-8E3591E8C074}
[1]0004.0164::06/04/2024-14:57:34.172 [sys]ndisReferenceProtocol[9]: Protocol: FFFFCB0C6642F1E0, RefCount: 5, Closing: 0
[1]0004.0164::06/04/2024-14:57:34.173 [sys]==> ndisMOpenAdapter: Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10B5F030, Open FFFFE00F0E2BFA20
[1]0004.0164::06/04/2024-14:57:34.173 [sys]==> ndisSetupNdis6OpenHandlers: Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10B5F030, Open FFFFE00F0E2BFA20 bIsProt6 1, bIsMini6 1
[1]0004.0164::06/04/2024-14:57:34.173 [sys]==> ndisSetupMiniportProtocolHandlers: Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10B5F030, Open FFFFE00F0E2BFA20
[1]0004.0164::06/04/2024-14:57:34.173 [sys]<== ndisSetupMiniportProtocolHandlers: Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10B5F030, Open FFFFE00F0E2BFA20
[1]0004.0164::06/04/2024-14:57:34.173 [sys]==> ndisSetupLwfMiniportHandlers: Miniport FFFFE00F10B5F030
[1]0004.0164::06/04/2024-14:57:34.174 [sys]==> ndisSetupDownwardHandlers: Miniport FFFFE00F10B5F030
[1]0004.0164::06/04/2024-14:57:34.174 [sys]<== ndisSetupDownwardHandlers: Miniport FFFFE00F10B5F030
[1]0004.0164::06/04/2024-14:57:34.174 [sys]==> ndisSetupUpwardHandlers: Miniport FFFFE00F10B5F030
[1]0004.0164::06/04/2024-14:57:34.174 [sys]<== ndisSetupUpwardHandlers: Miniport FFFFE00F10B5F030
[1]0004.0164::06/04/2024-14:57:34.176 [sys]<== ndisSetupLwfMiniportHandlers: Miniport FFFFE00F10B5F030
[1]0004.0164::06/04/2024-14:57:34.176 [sys]<== ndisSetupNdis6OpenHandlers: Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10B5F030, Open FFFFE00F0E2BFA20
[1]0004.0164::06/04/2024-14:57:34.176 [sys]==> ndisQueueOpenOnMiniport: Miniport FFFFE00F10B5F030, Open FFFFE00F0E2BFA20
[1]0004.0164::06/04/2024-14:57:34.176 [sys]<== ndisQueueOpenOnMiniport: Miniport FFFFE00F10B5F030, Open FFFFE00F0E2BFA20, rc 1
[1]0004.0164::06/04/2024-14:57:34.176 [sys]==> ndisQueueOpenOnProtocol: Open FFFFE00F0E2BFA20, Protocol FFFFE00F0A31EBB0
[1]0004.0164::06/04/2024-14:57:34.177 [sys]<== ndisQueueOpenOnProtocol: Open FFFFE00F0E2BFA20, Protocol FFFFE00F0A31EBB0, rc 1
[1]0004.0164::06/04/2024-14:57:34.177 [sys]==> XSetupFrameTypeInFilter: Open FFFFE00F0E2BFA20
[1]0004.0164::06/04/2024-14:57:34.177 [sys]<== XSetupFrameTypeInFilter: Open FFFFE00F0E2BFA20
[1]0004.0164::06/04/2024-14:57:34.177 [sys]Open Adapter: Miniport FFFFE00F10B5F030, Open FFFFE00F0E2BFA20, TCPIP v6.40, XYZ Network Adapter 4-Port
[1]0004.0164::06/04/2024-14:57:34.177 [sys]<== ndisMOpenAdapter: Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10B5F030, Open FFFFE00F0E2BFA20, Status 0
[1]0004.0164::06/04/2024-14:57:34.178 [sys]NdisOpenAdapterEx: NewOpen FFFFE00F0E2BFA20, Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10B5F030
[1]0004.0164::06/04/2024-14:57:34.178 [sys]==>ndisMSwapOpenHandlers: Miniport FFFFE00F10B5F030, Flag 2
[1]0004.0164::06/04/2024-14:57:34.178 [sys]ndisUpdateMiniportFakeStatus: Miniport FFFFE00F10B5F030 now has XState 2 and FakeStatus c023001f
[1]0004.0164::06/04/2024-14:57:34.178 [sys]<==ndisMSwapOpenHandlers: Miniport FFFFE00F10B5F030
[1]0004.0164::06/04/2024-14:57:34.179 [sys]PktMonClientComponentRegister: Open=FFFFE00F0E2BFA20, Status=0xc00000a3(STATUS_DEVICE_NOT_READY)
[1]0004.0164::06/04/2024-14:57:34.179 [sys]<== NdisOpenAdapterEx: Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10B5F030, Open FFFFE00F0E2BFA20, Status 0
[3]0004.0164::06/04/2024-14:57:34.181 [sys]<End protocol driver's BindAdapterHandlerEx. Protocol=FFFFE00F0A31EBB0, Status=0x00000000
[3]0004.0164::06/04/2024-14:57:34.182 [sys]==> ndisIndicateInitialStateToBinding: Open FFFFE00F0E2BFA20
[3]0004.0164::06/04/2024-14:57:34.182 [sys]<== ndisIndicateInitialStateToBinding: Open FFFFE00F0E2BFA20
[3]0004.0164::06/04/2024-14:57:34.182 [sys]==> ndisNotifyWmiBindUnbind: Miniport FFFFE00F10B5F030, Protocol FFFFE00F0A31EBB0, fBind 1
[3]0004.0164::06/04/2024-14:57:34.182 [sys]<== ndisNotifyWmiBindUnbind: Miniport FFFFE00F10B5F030, Protocol FFFFE00F0A31EBB0, fBind 1
[3]0004.0164::06/04/2024-14:57:34.183 [sys]ndisBindNdis6Protocol: Protocol: TCPIP, Adapter: XYZ Network Adapter 4-Port, Result: 0
But when using 802.3 to bind TCPIP ndisBindNdis6Protocol returns a result of c00000bb:
[3]0004.0168::06/04/2024-14:59:47.888 [sys]==> ndisBindNdis6Protocol: Miniport FFFFE00F10807030, Protocol FFFFE00F0A31EBB0
[3]0004.0168::06/04/2024-14:59:47.888 [sys]ndisReferenceProtocol[8]: Protocol: FFFFCB0C66437390, RefCount: 4, Closing: 0
[3]0004.0168::06/04/2024-14:59:47.888 [sys]==> ndisIsMiniportStarted: Miniport FFFFE00F10807030
[3]0004.0168::06/04/2024-14:59:47.889 [sys]<== ndisIsMiniportStarted: Miniport FFFFE00F10807030, Started 1
[3]0004.0168::06/04/2024-14:59:47.889 [sys]>Begin protocol driver's BindAdapterHandlerEx. Protocol=FFFFE00F0A31EBB0
[3]0004.0168::06/04/2024-14:59:47.889 [sys]==> NdisOpenAdapterEx: Protocol FFFFE00F0A31EBB0: TCPIP is opening Adapter: \DEVICE\{EC551D33-C8AF-47DA-8153-2351174F5D5B}
[3]0004.0168::06/04/2024-14:59:47.889 [sys]ndisReferenceProtocol[9]: Protocol: FFFFCB0C664371E0, RefCount: 5, Closing: 0
[3]0004.0168::06/04/2024-14:59:47.890 [sys]==> ndisMOpenAdapter: Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10807030, Open FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.890 [sys]==> ndisSetupNdis6OpenHandlers: Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10807030, Open FFFFE00F0F34AA20 bIsProt6 1, bIsMini6 1
[3]0004.0168::06/04/2024-14:59:47.890 [sys]==> ndisSetupMiniportProtocolHandlers: Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10807030, Open FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.890 [sys]<== ndisSetupMiniportProtocolHandlers: Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10807030, Open FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.891 [sys]==> ndisSetupLwfMiniportHandlers: Miniport FFFFE00F10807030
[3]0004.0168::06/04/2024-14:59:47.891 [sys]==> ndisSetupDownwardHandlers: Miniport FFFFE00F10807030
[3]0004.0168::06/04/2024-14:59:47.891 [sys]<== ndisSetupDownwardHandlers: Miniport FFFFE00F10807030
[3]0004.0168::06/04/2024-14:59:47.891 [sys]==> ndisSetupUpwardHandlers: Miniport FFFFE00F10807030
[3]0004.0168::06/04/2024-14:59:47.892 [sys]<== ndisSetupUpwardHandlers: Miniport FFFFE00F10807030
[3]0004.0168::06/04/2024-14:59:47.892 [sys]<== ndisSetupLwfMiniportHandlers: Miniport FFFFE00F10807030
[3]0004.0168::06/04/2024-14:59:47.892 [sys]<== ndisSetupNdis6OpenHandlers: Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10807030, Open FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.901 [sys]==> ndisQueueOpenOnMiniport: Miniport FFFFE00F10807030, Open FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.901 [sys]<== ndisQueueOpenOnMiniport: Miniport FFFFE00F10807030, Open FFFFE00F0F34AA20, rc 1
[3]0004.0168::06/04/2024-14:59:47.902 [sys]==> ndisQueueOpenOnProtocol: Open FFFFE00F0F34AA20, Protocol FFFFE00F0A31EBB0
[3]0004.0168::06/04/2024-14:59:47.902 [sys]<== ndisQueueOpenOnProtocol: Open FFFFE00F0F34AA20, Protocol FFFFE00F0A31EBB0, rc 1
[3]0004.0168::06/04/2024-14:59:47.902 [sys]==> XSetupFrameTypeInFilter: Open FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.902 [sys]<== XSetupFrameTypeInFilter: Open FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.902 [sys]Open Adapter: Miniport FFFFE00F10807030, Open FFFFE00F0F34AA20, TCPIP v6.40, XYZ Network Adapter 4-Port
[3]0004.0168::06/04/2024-14:59:47.903 [sys]<== ndisMOpenAdapter: Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10807030, Open FFFFE00F0F34AA20, Status 0
[3]0004.0168::06/04/2024-14:59:47.903 [sys]NdisOpenAdapterEx: NewOpen FFFFE00F0F34AA20, Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10807030
[3]0004.0168::06/04/2024-14:59:47.903 [sys]PktMonClientComponentRegister: Open=FFFFE00F0F34AA20, Status=0xc00000a3(STATUS_DEVICE_NOT_READY)
[3]0004.0168::06/04/2024-14:59:47.903 [sys]<== NdisOpenAdapterEx: Protocol FFFFE00F0A31EBB0, Miniport FFFFE00F10807030, Open FFFFE00F0F34AA20, Status 0
[3]0004.0168::06/04/2024-14:59:47.904 [sys]==> NdisCloseAdapterEx: Open FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.904 [sys]==> NdisCloseAdapter: Open FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.904 [sys]Close Adapter: Miniport FFFFE00F10807030, Open FFFFE00F0F34AA20, TCPIP, XYZ Network Adapter 4-Port
[3]0004.0168::06/04/2024-14:59:47.904 [sys]==> ndisCleanUpForProtocol: Open FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.905 [sys]<== ndisCleanUpForProtocol: Open FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.905 [sys]==> ndisMKillOpen: Open FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.905 [sys]==> ndisMFinishClose: MOpen FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.905 [sys]==> ndisDeQueueOpenOnProtocol: Open FFFFE00F0F34AA20, Protocol FFFFE00F0A31EBB0
[3]0004.0168::06/04/2024-14:59:47.906 [sys]<== ndisDeQueueOpenOnProtocol: Open FFFFE00F0F34AA20, Protocol FFFFE00F0A31EBB0
[3]0004.0168::06/04/2024-14:59:47.915 [sys]==> ndisDeQueueOpenOnMiniport: Open FFFFE00F0F34AA20, Miniport FFFFE00F10807030
[3]0004.0168::06/04/2024-14:59:47.915 [sys]==> ndisUnsetNdis6OpenHandlers: Miniport FFFFE00F10807030
[3]0004.0168::06/04/2024-14:59:47.915 [sys]==> ndisUnsetNdis6OpenHandlers: Miniport FFFFE00F10807030
[3]0004.0168::06/04/2024-14:59:47.915 [sys]<== ndisDeQueueOpenOnMiniport: Open FFFFE00F0F34AA20, Miniport FFFFE00F10807030
[2]0004.0180::06/04/2024-14:59:47.916 [sys]==> ndisMQueuedFinishClose: Open FFFFE00F0F34AA20, Miniport FFFFE00F10807030
[2]0004.0180::06/04/2024-14:59:47.916 [sys]>Begin protocol driver's CloseAdapterCompleteHandlerEx. Protocol=FFFFE00F0A31EBB0, Open=FFFFE00F0F34AA20
[2]0004.0180::06/04/2024-14:59:47.916 [sys]<End protocol driver's CloseAdapterCompleteHandlerEx. Protocol=FFFFE00F0A31EBB0, Open=FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.916 [sys]<== ndisMFinishClose: Mopen FFFFE00F0F34AA20
[2]0004.0180::06/04/2024-14:59:47.916 [sys]==> ndisNotifyWmiBindUnbind: Miniport FFFFE00F10807030, Protocol FFFFE00F0A31EBB0, fBind 0
[3]0004.0168::06/04/2024-14:59:47.917 [sys]<== ndisMKillOpen: Open FFFFE00F0F34AA20
[2]0004.0180::06/04/2024-14:59:47.917 [sys]<== ndisNotifyWmiBindUnbind: Miniport FFFFE00F10807030, Protocol FFFFE00F0A31EBB0, fBind 0
[2]0004.0180::06/04/2024-14:59:47.917 [sys]==>ndisDereferenceProtocol[9]: Protocol FFFFE00F0A31EBB0, RefCount: 4
[3]0004.0168::06/04/2024-14:59:47.917 [sys]==> NdisCloseAdapter: Open FFFFE00F0F34AA20, Status 103
[2]0004.0180::06/04/2024-14:59:47.917 [sys]<== ndisDereferenceProtocol: Protocol FFFFE00F0A31EBB0
[2]0004.0180::06/04/2024-14:59:47.918 [sys]==> ndisRemoveOpenFromGlobalList: Open FFFFE00F0F34AA20
[2]0004.0180::06/04/2024-14:59:47.918 [sys]<== ndisRemoveOpenFromGlobalList: Open FFFFE00F0F34AA20
[3]0004.0168::06/04/2024-14:59:47.918 [sys]==> NdisCloseAdapterEx: Open FFFFE00F0F34AA20, Status 103
[2]0004.0180::06/04/2024-14:59:47.919 [sys]<== ndisMQueuedFinishClose: Open FFFFE00F0F34AA20, Miniport FFFFE00F10807030
[3]0004.0168::06/04/2024-14:59:47.919 [sys]<End protocol driver's BindAdapterHandlerEx. Protocol=FFFFE00F0A31EBB0, Status=0xc00000bb
[3]0004.0168::06/04/2024-14:59:47.919 [sys]ndisBindNdis6Protocol: Protocol: TCPIP, Adapter: XYZ Network Adapter 4-Port, Result: c00000bb
In both cases the UpperRange is set to "ndis5", I have also tried "ndis5_ip" with no success.
HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"