Dietmar Posted February 24 Posted February 24 @reboot12 I make a new i219 driver, where I disabled really everything about power saving Dietmar https://www.upload.ee/files/19106169/i219NOPowersaving.zip.html
reboot12 Posted February 24 Posted February 24 (edited) @Dietmar Realtek driver 2018 work but only if reboot PC. disable then enable in device manager not help - need restart after install. https://pastebin.com/bdWaG7Qq NOPowersaving version - still not work. I think this is not power problem. I think that the problem is the bad connection speed - always 1 Gbps and should be 100 Mbps because my old router works only in 100 Mbps In WinDbg I see Link 100 Mbps: I219IndicateMediaState vs7_3_6gR_irq: LinkState -> DOWN 100Mb HD I219LinkFromStatus I219IndicateMediaState vs7_3_6gR_irq: LinkState -> UP 100Mb FD but in Windows connection status is still 1.0 Gbps On Dell Wyse Realtek card is GBE but works at 100 Mbps Edited February 24 by reboot12
Dietmar Posted February 24 Posted February 24 @reboot12 We continue with this NoPowersaving version. I agree, that this is a problem with link speed, so lets look Dietmar .logopen /t c:\i219_nextsteps.log .reload /f lm m i219 lm m ndis bc * bp NDIS!NdisMSetAttributesEx "r $t0=poi(@esp+8); .printf \"CTX=%p\n\", $t0; gc" bu i219!I219OidSetInfo ".printf \"OIDS OID=%08x Len=%u Buf=%p\n\", poi(@esp+8), poi(@esp+0x10), poi(@esp+0x0c); .if (poi(@esp+8)==0x0001010e) { .printf \"PF=%08x\n\", poi(poi(@esp+0x0c)); } ; gc" bu i219!I219OidQueryInfo ".printf \"OIDQ OID=%08x Len=%u\n\", poi(@esp+8), poi(@esp+0x10); gc" bm i219!*Send*Packets* bm i219!*Return*Packet* bm i219!*Isr* bm i219!*HandleInterrupt* bu i219!I219PollTimerFunc ".echo I219PollTimerFunc; gc" bm NDIS!NdisMIndicateReceive* bm NDIS!NdisMIndicateReceivePacket* bm NDIS!ndisMIndicateStatus* bm NDIS!ndisMIndicateStatusComplete* bu i219!I219IndicateMediaState "r $t1=poi($t0+@@c++(&((i219!_I219_ADAPTER*)0)->Regs)); .printf \"MEDIA=%u CTRL=%08x STATUS=%08x IMS=%08x RCTL=%08x TCTL=%08x\n\", poi(@esp+8), poi($t1+0), poi($t1+8), poi($t1+0xd0), poi($t1+0x100), poi($t1+0x400); gc" bu i219!I219LinkFromStatus "r $t1=poi($t0+@@c++(&((i219!_I219_ADAPTER*)0)->Regs)); .printf \"LINK CTRL=%08x STATUS=%08x\n\", poi($t1+0), poi($t1+8); gc" g
reboot12 Posted February 24 Posted February 24 @Dietmar https://www.upload.ee/files/19106304/i219_nextsteps_0bc0_2026-02-24_14-11-20-751.log.html
Dietmar Posted February 24 Posted February 24 @reboot12 The lan chip i219-LM .logopen /t c:\i219_dhcp_next.log .reload /f i219.sys bc * bu i219!I219MiniportInitialize ".echo I219MiniportInitialize; gc" bu i219!I219IndicateMediaState ".echo I219IndicateMediaState; gc" bu i219!I219MiniportSetInformation ".printf \"SET OID=%08x LEN=%u BUF=%p\n\", poi(@esp+8), poi(@esp+0x10), poi(@esp+0x0c); .if (poi(@esp+8)==0x0001010e) { .printf \"PF=%08x\n\", poi(poi(@esp+0x0c)); } ; gc" bu i219!I219MiniportQueryInformation ".printf \"QRY OID=%08x LEN=%u\n\", poi(@esp+8), poi(@esp+0x10); gc" bu i219!I219MiniportSendPackets ".printf \"SEND CNT=%u ARR=%p\n\", poi(@esp+0x0c), poi(@esp+8); gc" bu ndis!NdisMSendComplete ".echo NdisMSendComplete; gc" bu ndis!NdisMEthIndicateReceive ".printf \"RX H=%u LA=%u PKT=%u\n\", poi(@esp+0x10), poi(@esp+0x18), poi(@esp+0x1c); gc" bu ndis!NdisMEthIndicateReceiveComplete ".echo RXC; gc" bu i219!I219MiniportISR ".echo ISR; gc" bu i219!I219MiniportHandleInterrupt ".echo HINT; gc" bu i219!I219RxPoll ".echo RxPoll; gc" bu ndis!NdisMIndicateStatus ".printf \"STAT GS=%08x SZ=%u\n\", poi(@esp+8), poi(@esp+0x10); gc" bu ndis!NdisMIndicateStatusComplete ".echo STATC; gc" g is alive, so for sure it is not a power saving problem. Here is next Dietmar
reboot12 Posted February 24 Posted February 24 @Dietmar https://www.upload.ee/files/19106349/i219_dhcp_next_0b3c_2026-02-24_14-31-01-126.log.html
Dietmar Posted February 24 Posted February 24 @reboot12 Here ist next Dietmar .logopen /t c:\i219_dhcp_trace3.log .reload /f i219.sys bc * bp nt!DebugService2 "gc" bu i219!I219MiniportInitialize ".echo INIT; gc" bu i219!I219IndicateMediaState ".echo MEDIA; gc" bu i219!I219DoCtrlKickLate ".echo CTRLKICK; gc" bu i219!I219TxRxStart ".echo TXRXSTART; gc" bu i219!I219MiniportQueryInformation ".printf \"QRY OID=%08x LEN=%u\n\", poi(@esp+8), poi(@esp+0x10); gc" bu i219!I219MiniportSetInformation ".printf \"SET OID=%08x LEN=%u BUF=%p\n\", poi(@esp+8), poi(@esp+0x10), poi(@esp+0x0c); r $t0=poi(@esp+4); .printf \"PFcur=%08x LAcur=%08x\n\", poi($t0+4), poi($t0+8); .if (poi(@esp+8)==0x0001010e) { .printf \"PFnew=%08x\n\", poi(poi(@esp+0x0c)); } .if (poi(@esp+8)==0x0001010f) { .printf \"LAnew=%u\n\", poi(poi(@esp+0x0c)); } gc" bu i219!I219MiniportSendPackets ".printf \"SEND CNT=%u ARR=%p\n\", poi(@esp+0x0c), poi(@esp+8); gc" bu i219!I219TxSendOne ".echo TXONE; gc" bu i219!I219TxReclaim ".echo TXRECLAIM; gc" bu i219!I219RxPoll ".echo RXPOLL; gc" bu i219!I219MiniportISR ".echo ISR; gc" bu i219!I219MiniportHandleInterrupt ".echo HINT; gc" g
Dietmar Posted February 24 Posted February 24 @reboot12 And here is already next Dietmar .logopen /t c:\i219_bind_or_rx.log .reload /f i219.sys bc * bu i219!I219MiniportQueryInformation ".printf \"QRY OID=%08x LEN=%u\n\", poi(@esp+8), poi(@esp+0x10); gc" bu i219!I219MiniportSetInformation ".printf \"SET OID=%08x LEN=%u\n\", poi(@esp+8), poi(@esp+0x10); .if (poi(@esp+8)==0x0001010e) { .printf \"PF=%08x\n\", poi(poi(@esp+0x0c)); } ; gc" bu i219!I219MiniportSendPackets ".printf \"SEND CNT=%u\n\", poi(@esp+0x0c); gc" bu ndis!NdisMEthIndicateReceive ".echo RX; gc" g
reboot12 Posted February 24 Posted February 24 @Dietmar We should move to WebChat because we're cluttering up the forum - they're going to block us or something. https://www.upload.ee/files/19106406/i219_dhcp_trace3_0f9c_2026-02-24_14-56-16-439.log.html go to WebChat: https://webchat.quakenet.org/?channels=i219
Dietmar Posted February 24 Posted February 24 @reboot12 Here it is much more comfortable for me, because I can use ChatGPT for to check all Windbg orders for syntax order. In Webchat I cant handle it like this here. And in the same time I always try to build a new i219.sys which is impossible with a lot of open windows. Later, when everything works, we can delete those entries here all Dietmar
reboot12 Posted February 24 Posted February 24 2 minutes ago, Dietmar said: Later, when everything works, we can delete those entries here all OK, maybe you right. To test your command I always do it before - is this needed? !sym noisy .reload /f sxe ld:i219 sxe ud:i219 g .reload /f i219.sys lm m i219 your new commands
Dietmar Posted February 24 Posted February 24 @reboot12 Yes, because the driver may be unloaded and then you have no symbols for it, because the i219.pdb was then also unloaded. This was all the time a problem for me, so I solved it via this way Dietmar
reboot12 Posted February 24 Posted February 24 @Dietmar I copy and paste each line into WinDbg and hit enter - it's very tiring. Can it be somehow speed up or automated? Honestly, I don't want to enter so many lines of data into WinDbg every time Before each use of new commands, I turn off the computer with i219 and close WinDbg, now I run WinDbg and then boot PC with i219 in debug mode
Dietmar Posted February 24 Posted February 24 @reboot12 Yes, no other way. Only via new boot you know what happens Dietmar
reboot12 Posted February 24 Posted February 24 @Dietmar But way I need make reload before your command .reload /f i219.sys lm m i219 and you next command is one more time same command: .reload /f i219.sys I think is this is not nedded twice.
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