Jump to content

Updated drivers for Windows XP SP3 and Windows 2003 SP2 (x32/x64) for modern hardware


Recommended Posts

Posted

@reboot12

ok, here is version v10 and use those windbg KD code

Dietmar

https://www.upload.ee/files/19111776/i219v10.zip.html

bc *
bu i219!I219MiniportHandleInterrupt ".echo HINT; gc"
bu i219!I219RxKick ".echo RXKICK; gc"
bu i219!I219RxPoll "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"RXPOLL regs=%p\\n\", $t1; dd $t1+0x280c L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; gc"
bu i219!I219MiniportSendPackets ".printf \"SEND CNT=%u\\n\", poi(@esp+0x0c); gc"
g

 


Posted
1 minute ago, Dietmar said:

This board has 2 lan slots i219 and i210.

Are you sure,

that your cable is in the correct i219 slot

Not i210 only i211

Ha, ha - Yes :)

Posted

@Dietmar

I noticed thing - If disconect cable from port RJ45 and connect back then still info cable unplugged and mouse cursor hang every 3 seconds. I need Disable and Enable network connnection in Control Panel to detect cable connected.

Posted

@reboot12

Here is v12. And use this code for KD in one block

Dietmar

https://www.upload.ee/files/19111897/i219v12.zip.html
 

bc *
bu i219!I219RxKick ".echo RXKICK; 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"
g

 

Posted (edited)

@reboot12

I go back to the very first version, just shrink the size of the rings to half and run this KD commands in one block.

bc *
bu i219!I219MiniportInitialize ".echo INIT; gc"
bu i219!I219TxRxStart "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"TXRXSTART a=%p regs=%p\\n\", $t0, $t1; dd $t1+0x2808 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x3808 L1; dd $t1+0x3810 L1; dd $t1+0x3818 L1; gc"
bu i219!I219MiniportHandleInterrupt ".echo HINT; gc"
bu i219!I219RxPoll "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"RXPOLL regs=%p\\n\", $t1; 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

If it stops, type

g

again and again

Dietmar

https://www.upload.ee/files/19112000/i219V1ring16.zip.html
 

Edited by Dietmar
Posted

@reboot12

Here is next one and use this new KD commands in one block. Type g when it stops

https://www.upload.ee/files/19112130/I219dontstopPoll.zip.html
 

bc *
bu i219!I219MiniportHandleInterrupt "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo HINT; dd $t1+0x2810 L1; dd $t1+0x2818 L1; 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+0x2828 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; 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 ndis!EthFilterDprIndicateReceive ".echo NDIS_RX; gc"
bu ndis!EthFilterDprIndicateReceiveComplete ".echo NDIS_RXC; gc"
g

 

Posted

@reboot12

This is from my thinking a PHY/MAC power-state issue.

After TxRxStart OK, you have:

RXDCTL = 03040420

RDT = 0000000f

but RDH = 00000000 forever

 

I tested my original i219 driver for XP SP3 on such a lot of different motherboards, include the i219-LM with the same Dev_15BB that you have.

All work. I make you one more i219 driver in 5min, because I hope that I can overcome this RDH = 00000000 forever

Dietmar

 

bc *
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+0x2828 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; gc"
bu ndis!EthFilterDprIndicateReceive ".echo NDIS_RX; gc"
bu ndis!EthFilterDprIndicateReceiveComplete ".echo NDIS_RXC; gc"
g

 

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...