Dietmar Posted March 3 Posted March 3 @reboot12 I take again a deep look in the binary of win10 for the i219-LM and compare it with our i219.sys. There is still a bit not set, depending on ME, ULP etc. that forbids our i219.sys to send TX. This may last 1 hour Dietmar
Dietmar Posted March 3 Posted March 3 @reboot12 Please tell me the full exact entry in Device Manager for your i219-LM with Dev_15BB. Because I noticed, that the win10 driver has different *.inf entries depending on this exact name Dietmar
Dietmar Posted March 3 Posted March 3 @reboot12 After checking Intel documents, I add a new function for TX for the i219-LM, that before was missed. So, it is a big step Dietmar https://www.upload.ee/files/19126864/i219W8.zip.html bc * sxn ud bu /1 i219!I219TxRxStart "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); r $t2=poi(esp); .printf \"TXRXSTART IN a=%p regs=%p ret=%p\n\", $t0, $t1, $t2; bp /1 $t2 \".echo ====TXRXSTART_OUT_W8====; 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; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0410 L1; dd $t1+0x0400 L1; dd $t1+0x0100 L1; dd $t1+0x0008 L1; gc\"; gc" bu i219!I219MiniportSendPackets "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); r $t2=poi(esp); .echo ====SEND_IN_W8====; .printf \"CNT=%u a=%p regs=%p ret=%p\n\", poi(esp+0x0c), $t0, $t1, $t2; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; bp /1 $t2 \".echo ====SEND_OUT_W8====; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc\"; gc" bu i219!I219TxSendOne "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====TXONE_W8====; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc" bu i219!I219TxReclaim "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====TXRECLAIM_W8====; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc" bu i219!I219RxPoll "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====RXPOLL_W8====; dd $t1+0x2800 L3; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x0008 L1; gc" g
reboot12 Posted March 3 Posted March 3 (edited) 44 minutes ago, Dietmar said: Please tell me the full exact entry in Device Manager for your i219-LM with Dev_15BB. PCI\VEN_8086&DEV_15BB&SUBSYS_00008086&REV_10\3&11583659&0&FE i219W8 - https://pastebin.com/JxbLZwvK Edited March 3 by reboot12
reboot12 Posted March 3 Posted March 3 (edited) @Dietmar Now I install Win10 x86 Legacy MBR Edited March 3 by reboot12
Dietmar Posted March 3 Posted March 3 @reboot12 here is new W9 driver and KD Dietmar https://www.upload.ee/files/19127039/i219W9.zip.html bc * sxn ud bu /1 i219!I219TxRxStart "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); r $t2=poi(esp); .printf \"TXRXSTART IN a=%p regs=%p ret=%p\n\", $t0, $t1, $t2; bp /1 $t2 \".echo ====TXRXSTART_OUT_W9====; 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; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0410 L1; dd $t1+0x0400 L1; dd $t1+0x0100 L1; dd $t1+0x0008 L1; dd $t1+0x5b54 L1; dd $t1+0x5b50 L1; gc\"; gc" bu i219!I219MiniportSendPackets "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); r $t2=poi(esp); .echo ====SEND_IN_W9====; .printf \"CNT=%u a=%p regs=%p ret=%p\n\", poi(esp+0x0c), $t0, $t1, $t2; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; bp /1 $t2 \".echo ====SEND_OUT_W9====; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc\"; gc" bu i219!I219TxSendOne "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====TXONE_W9====; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc" bu i219!I219TxReclaim "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====TXRECLAIM_W9====; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc" bu i219!I219RxPoll "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====RXPOLL_W9====; dd $t1+0x2800 L3; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x0008 L1; gc" g
reboot12 Posted March 3 Posted March 3 (edited) @Dietmar i219W9 - https://pastebin.com/KuUDGYFd Edited March 3 by reboot12
Dietmar Posted March 3 Posted March 3 @reboot12 I see, that the *.inf from the win10 driver sets special values for EEE, ULP etc. in Registry via *.reg commands in this *.inf. Now I integrate them also in our i219.inf and the to this belonging places in the driver i219.sys itself. This is a crazy hard job. I am back here at about 19:00. What we have: RX works, TX is ready in the ring, but is not read. So, a special bit forbids just this performanve from TX. And those special settings in registry can make this Dietmar
reboot12 Posted March 3 Posted March 3 (edited) 7 minutes ago, Dietmar said: Now I integrate them also in our i219.inf I added all settings in .inf - https://msfn.org/board/topic/183464-compiling-acpi-v20-driver-for-windows-xp-sp3-and-windows-2003-sp2-x32x64/page/155/#findComment-1285425 7 minutes ago, Dietmar said: I am back here at about 19:00. I'll be there tomorrow morning. Edited March 3 by reboot12
reboot12 Posted March 3 Posted March 3 (edited) 29 minutes ago, Dietmar said: I see, that the *.inf from the win10 driver sets special values for EEE, ULP etc. in Registry via *.reg commands in this *.inf. AIMB driver 23.2.0.1006 has EEE settings but I check settings in my Win10 (driver version 12.17.10.8 included in my Win10) and no any EEE settings but driver works OK: Edited March 3 by reboot12
Dietmar Posted March 3 Posted March 3 @reboot12oh interesting.Make a test.Delete everything in registry and in windows\inf oem and the driver from win10 itself.Then edit its Win10 *.inf,deleting all the extra reg Settings and after this,look with this *.inf the win10 driver still installs Dietmar
Dietmar Posted March 3 Posted March 3 (edited) @reboot12 I build for you a minimal driver package for WIN7, bit 32 without any EEE etc. in its *.inf Please check, if this lan driver works on your AIMB-786 board under win7. Then we have a stable basis, from which we can operate Dietmar https://www.upload.ee/files/19128225/i219Win7.zip.html Edit: On my Asus z390 WS pro I cant install this driver in win7 Sp1 bit 32. This board has also the i219 lan driver with Dev_15BB . Edited March 3 by Dietmar
Dietmar Posted March 3 Posted March 3 (edited) @reboot12 I build new driver W10 for XP SP3 and i219-LM, please test and also the KD block Dietmar https://www.upload.ee/files/19128368/i219W10.zip.html bc * bu /1 i219!I219MiniportISR ".echo ====ISR_ONCE_W10_SAFE====; gc" bu i219!I219MiniportHandleInterrupt "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====DPC_W10_SAFE====; dd @$t1+0x0008 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd i219!g_TxSubmits L5; gc" bu i219!I219MiniportSendPackets "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"SENDPACKETS cnt=%lu\n\", poi(@esp+0x0c); dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd i219!g_TxSubmits L5; bp /1 poi(@esp) \".echo ====SENDPACKETS_OUT_W10_SAFE====; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd i219!g_TxSubmits L5; gc\"; gc" bu i219!I219MiniportSend "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"SEND pkt=%p\n\", poi(@esp+8); dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; bp /1 poi(@esp) \".echo ====SEND_OUT_W10_SAFE====; r eax; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd i219!g_TxSubmits L5; gc\"; gc" bu i219!I219TxSendOne "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"TXSENDONE pkt=%p\n\", poi(@esp+8); dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; bp /1 poi(@esp) \".echo ====TXSENDONE_OUT_W10_SAFE====; r eax; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd i219!g_TxSubmits L5; gc\"; gc" bu i219!I219TxForceKick "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"TXFORCEKICK hard=%lu\n\", poi(@esp+8); dd @$t1+0x0400 L2; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd @$t1+0x382C L1; dd @$t1+0x3840 L1; bp /1 poi(@esp) \".echo ====TXFORCEKICK_OUT_W10_SAFE====; dd @$t1+0x0400 L2; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd @$t1+0x382C L1; dd @$t1+0x3840 L1; dd i219!g_TxSubmits L5; gc\"; gc" bu i219!I219TxReclaim "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====TXRECLAIM_W10_SAFE====; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd i219!g_TxSubmits L5; gc" bu /1 i219!I219PollTimerFunc "r $t0=poi(@esp+8); r $t1=poi($t0+0xDC); .echo ====POLL_W10_SAFE====; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd i219!g_TxSubmits L5; gc" g Edited March 3 by Dietmar
Dietmar Posted March 4 Posted March 4 @reboot12 And here comes version W11 for the driver i219 for XP SP3 and please this KD until desktop with "g" Dietmar https://www.upload.ee/files/19128480/i219W11.zip.html !sym quiet .reload /f i219.sys sxd ud bc * bu /1 i219!I219MiniportInitialize ".echo ====W11_INIT====; gc" bu i219!I219TxRxStart "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); r $t2=poi(@esp); .printf \"W11_TXRX_IN a=%p regs=%p ret=%p\n\", $t0, $t1, $t2; dd @$t1+0x0008 L1; dd @$t1+0x0400 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; bp /1 @$t2 \".echo ====W11_TXRX_OUT====; dd @$t1+0x0008 L1; dd @$t1+0x0400 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; gc\"; gc" bu i219!I219TxForceKick "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); r $t2=poi(@esp); .printf \"W11_FORCEKICK_IN a=%p regs=%p ret=%p\n\", $t0, $t1, $t2; dd @$t1+0x0008 L1; dd @$t1+0x0400 L1; dd @$t1+0x0410 L1; dd @$t1+0x3828 L1; dd i219!g_TxSubmits L5; bp /1 @$t2 \".echo ====W11_FORCEKICK_OUT====; dd @$t1+0x0008 L1; dd @$t1+0x0400 L1; dd @$t1+0x0410 L1; dd @$t1+0x3828 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; gc\"; gc" bu i219!I219MiniportSendPackets "r $t0=poi(@esp+4); .printf \"W11_SEND cnt=%u a=%p\n\", poi(@esp+0x0c), $t0; dd i219!g_TxSubmits L5; gc" bu i219!I219TxSendOne "r $t0=poi(@esp+4); .printf \"W11_TXONE a=%p\n\", $t0; dd i219!g_TxSubmits L5; gc" bu i219!I219TxReclaim "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====W11_TXRECLAIM====; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; gc" bu /1 i219!I219MiniportISR ".echo ====W11_ISR_ONCE====; gc" bu i219!I219MiniportHandleInterrupt "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====W11_DPC====; dd @$t1+0x00C0 L1; dd @$t1+0x00D0 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; gc" bu i219!I219RxPoll "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====W11_RXPOLL====; dd @$t1+0x0100 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x2828 L1; gc" g
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