Dietmar Posted February 26 Posted February 26 @reboot12 Here it is. https://www.upload.ee/files/19112222/i219RDH.zip.html Use the KD commands from above in one block. Good luck Dietmar
Dietmar Posted February 26 Posted February 26 @reboot12 This is the last version for today, because I have no more ideas just now. Use this new KD commands in one block. Dietmar https://www.upload.ee/files/19112279/i219PowerOn.zip.html bc * bu i219!I219TxRxStart "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"TXRXSTART regs=%p\n\", $t1; dd $t1+0x5b50 L1; dd $t1+0x5b54 L1; dd $t1+0x5b58 L1; gc" bu i219!I219RxPoll "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"RXPOLL regs=%p\n\", $t1; dd $t1+0x0100 L1; dd $t1+0x2828 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; gc" bu i219!I219MiniportSendPackets ".printf \"SEND CNT=%u\n\", poi(@esp+0x0c); gc" bu ndis!EthFilterDprIndicateReceive ".echo NDIS_RX; gc" bu ndis!EthFilterDprIndicateReceiveComplete ".echo NDIS_RXC; gc" g
reboot12 Posted February 26 Posted February 26 (edited) @Dietmar i219RDH https://pastebin.com/ewgttCLG i219PowerOn https://pastebin.com/qREZbA34 Edited February 26 by reboot12
Dietmar Posted February 26 Posted February 26 @reboot12 Ok, I make a very last driver i219 for you for today. Use this KD commands Dietmar !sym quiet bc * bu i219!I219MiniportInitialize ".echo INIT; gc" bu i219!I219DoCtrlKickLate "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo CTRLKICK; .printf \"regs=%p\\n\", $t1; dd $t1+0x0000 L1; dd $t1+0x0008 L1; dd $t1+0x0018 L1; gc" bu i219!I219TxRxStart "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo TXRXSTART; .printf \"regs=%p\\n\", $t1; dd $t1+0x0000 L1; dd $t1+0x0008 L1; dd $t1+0x0100 L1; dd $t1+0x2808 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x3808 L1; dd $t1+0x3810 L1; dd $t1+0x3818 L1; gc" bu i219!I219MiniportHandleInterrupt ".echo HINT; gc" bu i219!I219MiniportSendPackets "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"SEND CNT=%u regs=%p\\n\", poi(@esp+0x0c), $t1; dd $t1+0x3810 L1; dd $t1+0x3818 L1; gc" bu i219!I219RxPoll "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"RXPOLL regs=%p\\n\", $t1; dd $t1+0x0100 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; gc" bu ndis!EthFilterDprIndicateReceive ".echo NDIS_RX; gc" bu ndis!EthFilterDprIndicateReceiveComplete ".echo NDIS_RXC; gc" g
Dietmar Posted February 26 Posted February 26 @reboot12 here it is, good luck Dietmar https://www.upload.ee/files/19112373/i219v1g.zip.html
reboot12 Posted February 26 Posted February 26 @Dietmar OK, I'll check tomorrow because I've had enough today P.S. If it doesn't want to work, that's too bad. I was just curious that it works for you, so I wanted to check the driver. But I don't use these i211 and i219 cards in my WinXP 64-bit on AIMB-786 anyway. I used i211 for a while, but it turned out that the driver extends the start of WinXP by 10 seconds. I disabled both cards in the BIOS and use an old PCI TP-Link Wifi card and the system starts very quickly and I have a network. These new Intel iXXX series network cards are highly advanced and problematic: https://forums.mydigitallife.net/threads/winxp-64-bit-on-a-modern-pc-iso-boot-wim-install-wim.88435/page-7#post-1869357
Dietmar Posted February 26 Posted February 26 @reboot12 Please check this last driver with KD commands that I give to you. Because I found a Linux forum entry with exact your symptoms and cure for it Dietmar
reboot12 Posted February 26 Posted February 26 @Dietmar Ahhhh, OK wait - I need go back to my testing room.
reboot12 Posted February 26 Posted February 26 @Dietmar Still 0/0 https://pastes.io/i219v1g OK, If anything, I'll do it tomorrow because I've already used up my limit on pastebin.com today:
Dietmar Posted February 26 Posted February 26 @reboot12 Here is the next best i219-LM version for you. Your log shows, that something wakes up ;)).. And use new KD block also https://www.upload.ee/files/19112515/i219v1h.zip.html bc * bu i219!I219MiniportHandleInterrupt ".echo HINT; gc" bu i219!I219TxRxStart ".echo TXRXSTART; gc" bu i219!I219RxPoll "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"RXPOLL regs=%p\n\", $t1; dd $t1+0x0100 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; gc" bu i219!I219MiniportSendPackets ".printf \"SEND CNT=%u\n\", poi(@esp+0x0c); gc" bu ndis!EthFilterDprIndicateReceive ".echo NDIS_RX; gc" g
Dietmar Posted February 26 Posted February 26 (edited) @reboot12 And here is the next one, very close to the Linux PowerSave problem. Type that in one block in KD Dietmar https://www.upload.ee/files/19113237/i219v1k.zip.html !sym quiet bc * bu i219!I219MiniportInitialize ".echo INIT; gc" bu i219!I219DoCtrlKickLate "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo CTRLKICK; .printf \"regs=%p\n\", $t1; dd $t1+0x0000 L1; dd $t1+0x0008 L1; dd $t1+0x0018 L1; gc" bu i219!I219TxRxStart "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo TXRXSTART; .printf \"regs=%p\n\", $t1; dd $t1+0x0000 L1; dd $t1+0x0008 L1; dd $t1+0x0100 L1; dd $t1+0x2808 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x3808 L1; dd $t1+0x3810 L1; dd $t1+0x3818 L1; gc" bu i219!I219MiniportHandleInterrupt ".echo HINT; gc" bu i219!I219MiniportSendPackets "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"SEND CNT=%u regs=%p\n\", poi(@esp+0x0c), $t1; dd $t1+0x3810 L1; dd $t1+0x3818 L1; gc" bu i219!I219RxPoll "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"RXPOLL regs=%p\n\", $t1; dd $t1+0x0100 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; gc" bu ndis!EthFilterDprIndicateReceive ".echo NDIS_RX; gc" bu ndis!EthFilterDprIndicateReceiveComplete ".echo NDIS_RXC; gc" g Edited February 26 by Dietmar
reboot12 Posted February 27 Posted February 27 (edited) @Dietmar i219v1h - https://pastebin.com/WJUsiKYp i219v1k - https://pastebin.com/trbArAsY I have been testing a dozen or so drivers for several days and there is practically no progress - there are still 0 sent / 0 received packages. If it works for you on the identical i219 LM 15BB card, it should work for me too. Take a photo of the RJ45 plugs of your network cable on both sides. My cable is in standard EIA/TIA568B on both sides B-B. My cable came with the Draytek Vigor 2700G router and is 1.8 m long: Draytek included such a yellow network cable 1.8 m with its routers - as in this photo: Edited February 27 by reboot12
Dietmar Posted February 27 Posted February 27 (edited) @reboot12 I just check your 2 logs. Everything is setup correct, only to send and to get does not work. When I look at the Linux Source code e1000e for the i219-LM they fight with the same problem. Intel itself tells, that it does not know, why this chip sometimes remain in some kind of a sleeping state. I run the same driver and the same KD block on my i219, so I can see the differences clear. Here is a new KD block for the v1k version, please test Dietmar bc * bu i219!I219MiniportInitialize ".echo INIT; gc" bu i219!I219DoCtrlKickLate "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); r $t2=poi(@esp); .echo CTRLKICK_IN; .printf \"regs=%p ret=%p\n\", $t1, $t2; dd $t1+0x0000 L1; dd $t1+0x0008 L1; dd $t1+0x0018 L1; dd $t1+0x0020 L1; bp /1 @$t2 \".echo CTRLKICK_OUT; dd @$t1+0x0000 L1; dd @$t1+0x0008 L1; dd @$t1+0x0018 L1; dd @$t1+0x0020 L1; gc\"; ba w4 (@$t1+0x20) \".echo MDIC_W; dd @$t1+0x0020 L1; kb 3; gc\"; gc" bu i219!I219TxRxStart "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); r $t2=poi(@esp); .echo TXRX_IN; .printf \"regs=%p ret=%p\n\", $t1, $t2; dd $t1+0x0100 L1; dd $t1+0x0400 L1; dd $t1+0x2800 L3; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; bp /1 @$t2 \".echo TXRX_OUT; dd @$t1+0x0100 L1; dd @$t1+0x0400 L1; dd @$t1+0x2800 L3; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x2828 L1; dd @$t1+0x3800 L3; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; gc\"; gc" bu i219!I219MiniportHandleInterrupt ".echo HINT; gc" bu i219!I219MiniportSendPackets "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"SEND CNT=%u regs=%p\n\", poi(@esp+0x0c), $t1; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; gc" bu i219!I219RxPoll "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"RXPOLL regs=%p\n\", $t1; dd $t1+0x0100 L1; dd $t1+0x2800 L3; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; gc" bu ndis!EthFilterDprIndicateReceive ".echo NDIS_RX; gc" bu ndis!EthFilterDprIndicateReceiveComplete ".echo NDIS_RXC; gc" g Edited February 27 by Dietmar
reboot12 Posted February 27 Posted February 27 @Dietmar I believe that no power-related fixes will help. Your driver has always work at speed of 1.0 Gbps and Auto Negotiation does not work, it cannot detect the correct speed of the network card on the other side of the cable. And that's the problem. Improve your driver so that it can detect the speed correctly, i.e. when I connect a Fast Ethernet device it should set a speed of 100 Mbps and when I connect a Gigabit Ethernet device it should set a connection of 1.0 Gbps Once it works properly, you can continue to look for the cause of 0/0 packets.
Dietmar Posted February 27 Posted February 27 @reboot12 The 100MB connection is not the problem. Yes, I force this chip to enable not 10MB. But it is for sure the low power setting, which works through a lot of bits, see Linux problems. And for this is the KD block above, which register is set and which not. If you want to make your driver work or just for to understand what is going on, lets continue Dietmar
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