Dietmar Posted March 6 Posted March 6 @reboot12 Now I have all installed on the exact same board AIMB-786, same Bios V5 as you. I use as cooler the nice Dynatron DB128015BU-E. First I thought board is dead, but it awakes after CLEAR CMOS few times. And I have exact the same symptoms: Not any of my i219 drivers sénds or gets a single package, no Ping no DHCP. I go back to the basics: I compare the Bios of the Asus z390 WS Pro with the same i219-LM Dev_15BB with the AIMB-786 board. In the Intel GbE region there are differences, 44 Byte different. But because I dont want to hack the Bios just now, (may be not easy, when length of definition for Dev_15BB are different(!!!) ) I compare the setup routine for the i219. And I notice, that there are already differences very early, even before the first network activity begins. I want to trace and compare all relevant early registers on both boards via Windbg. In the MMIO status is the bit 0x40000000, that is set early but never changed on any of the for the i219 working boards. On the AIMB this bit is never set. But this bit is only the result of a lot as BIOS/NVM setup, ME/firmware state, PHY/ULP/SMBus state etc.. and never asked for this bit on the working boards?! So I try to bring the AIMB-786 into the same register state as the ASUS WS Z390 Pro, step by step. The MMIO status may show the result Dietmar 1
reboot12 Posted March 6 Posted March 6 (edited) @Dietmar WOW, you quickly organized AIMB and checked what and how Meanwhile, I'm messing around with the i219 card settings under Win7 using pciutils and I noticed an interesting thing. Default i219 has Enabled Mem+ and BusMaster+ and ping work OK but if I Disable BusMaster then ping stop working. After set back to Enabled ping back work OK: C:\Program Files\pciutils>lspci -s 00:1f.6 -vv | find "Control" Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ C:\Program Files\pciutils>ping 192.168.1.1 Badanie 192.168.1.1 z 32 bajtami danych: Odpowiedź z 192.168.1.1: bajtów=32 czas=1ms TTL=255 Odpowiedź z 192.168.1.1: bajtów=32 czas<1 ms TTL=255 Odpowiedź z 192.168.1.1: bajtów=32 czas<1 ms TTL=255 Odpowiedź z 192.168.1.1: bajtów=32 czas<1 ms TTL=255 Statystyka badania ping dla 192.168.1.1: Pakiety: Wysłane = 4, Odebrane = 4, Utracone = 0 (0% straty), Szacunkowy czas błądzenia pakietów w millisekundach: Minimum = 0 ms, Maksimum = 1 ms, Czas średni = 0 ms C:\Program Files\pciutils>setpci -s 00:1f.6 04.b 06 C:\Program Files\pciutils>setpci -s 00:1f.6 04.b=02 C:\Program Files\pciutils>lspci -s 00:1f.6 -vv | find "Control" Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ C:\Program Files\pciutils>ping 192.168.1.1 Badanie 192.168.1.1 z 32 bajtami danych: Upłynął limit czasu żądania. Upłynął limit czasu żądania. Odpowiedź z 192.168.1.90: Host docelowy jest nieosiągalny. Odpowiedź z 192.168.1.90: Host docelowy jest nieosiągalny. Statystyka badania ping dla 192.168.1.1: Pakiety: Wysłane = 4, Odebrane = 2, Utracone = 2 (50% straty), C:\Program Files\pciutils>setpci -s 00:1f.6 04.b=06 C:\Program Files\pciutils>ping 192.168.1.1 Badanie 192.168.1.1 z 32 bajtami danych: Odpowiedź z 192.168.1.1: bajtów=32 czas=1ms TTL=255 Odpowiedź z 192.168.1.1: bajtów=32 czas<1 ms TTL=255 Odpowiedź z 192.168.1.1: bajtów=32 czas<1 ms TTL=255 Odpowiedź z 192.168.1.1: bajtów=32 czas<1 ms TTL=255 Statystyka badania ping dla 192.168.1.1: Pakiety: Wysłane = 4, Odebrane = 4, Utracone = 0 (0% straty), Szacunkowy czas błądzenia pakietów w millisekundach: Minimum = 0 ms, Maksimum = 1 ms, Czas średni = 0 ms C:\Program Files\pciutils> Edited March 6 by reboot12
Dietmar Posted March 6 Posted March 6 @reboot12 This is very nice information. It means, that you can enable and disable DMA on the AIMB-786 as you wish. And even it comes from a crazy starting point, this is possibe. AIMB-786 + i219-LM unter XP has now only one problem from now: TX-Consume The i219 chip gets and receives perfekt, but does not "eat" any TX-Descriptor. Already today big advantage! RX is solved. TX-Submit is solved. Only TX-Consume not Dietmar
reboot12 Posted March 6 Posted March 6 (edited) @Dietmar I compare PCI Configuration Space i219 in Win7 and WinXP and is different: Also in Win7 DisINTx+ (Enabled) but in WinXP DisINTx- (Disabled) Win7 C:\Program Files\pciutils>lspci -s 00:1f.6 -vv | find "Control" Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ WinXP C:\Program Files\pciutils>lspci -s 00:1f.6 -vv | find "Control" Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- I try in WinXP set same bytes as in Win7 and if change 05.b from 00 to 04 then probably i219 receive 5 packets: I found what is DisINTx https://bugzilla.kernel.org/show_bug.cgi?id=71691 https://patchwork.ozlabs.org/patch/328062/ Edited March 6 by reboot12
reboot12 Posted March 6 Posted March 6 (edited) I try set config space in MS-DOS: setpci -s 00:1f.6 05.b=04 setpci -s 00:1f.6 3c.b=00 setpci -s 00:1f.6 cd.b=21 setpci -s 00:1f.6 d2.b=81 setpci -s 00:1f.6 d6.b=e0 setpci -s 00:1f.6 d7.b=fe setpci -s 00:1f.6 dc.b=a0 setpci -s 00:1f.6 dd.b=40 then boot WinXP without restart using GRUB4DOS: grub find --set-root /ntldr chainloader /ntldr boot but PC reboot I'm looking for a way to set PCI configspace before starting WinXP because on working OS not possible configure this. Edited March 6 by reboot12
reboot12 Posted March 6 Posted March 6 @Dietmar I tried Enable DisINTx+ while card is disbaled in Device Manager setpci -s 00:1f.6 05.b=04 but after Enable card in Device Manager DisINTx is switch back to Disabled (DisINTx-) Maybe you need fix driver do enable DisINTx ???
Dietmar Posted March 6 Posted March 6 (edited) @reboot12 PCI Command 0406 is stable integrated. i219W25_DIAG: PCI_CMD[init] slot=2031622 before=0006 after=0406 (want=0406 MEM+ BusMaster+ DisINTx+) RX works. Now I build a new driver, which produces a lot of traffic TX from itself Dietmar Edited March 6 by Dietmar
reboot12 Posted March 6 Posted March 6 (edited) @Dietmar In PDF i219 https://cdrdv2-public.intel.com/612523/ethernet-connection-i219-datasheet.pdf page 173 I found this info about PCI config space: Quote 10.3.1.2 PCI Init Control Word (Word 0x0A) This word contains initialization values that: • Set defaults for some internal registers • Enable/disable specific features • Determines which PCI configuration space values are loaded from the NVM Edited March 6 by reboot12
reboot12 Posted March 7 Posted March 7 (edited) @Dietmar I'm trying to understand what these settings are in PCI config space. I compared the results of the lspci -s 00:1f.6 -vvv commands in Win7 and WinXP: offset 05 > DisINTx offset 3c > probably IRQ routing offset cd > PME offset d2 > MSI offset d6, d7 > Address offset dc, dd > Data Summmary: In Win7 is enabled DisINTx+, PME-Enable+ and MSI: Enable+ and IRQ routing 0 ? I don't know what is Address and Data - in WinXP this values is 0 ? In Win7 IRQ is 0xFFFFFFFD (-3) Your i219P0 driver still use IRQ 16 Edited March 7 by reboot12
Damnation Posted March 7 Posted March 7 DisINTx should be disabled in XP I think since XP isn't using MSI? The disintx (Disable Interrupt) bit, located in the PCI Command Register (offset 0x04, bit 10), is used to mask legacy INTx interrupts for PCI/PCIe devices. When set to 1, this bit prevents the device from asserting interrupt lines, which is crucial for managing IRQ sharing and configuring MSI/MSI-X.
reboot12 Posted March 7 Posted March 7 (edited) @Dietmar Yeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaaaaaaaaaaaaaa !!!! - WOOOOOORKS - Tested i219P0 but also work i219DRIVERXPSP3moreDevicesInf: On 3/1/2026 at 3:53 PM, Dietmar said: It is all about this crazy ME. It stops a not autorisized driver. But the most crazy thing is, that after this hard week for looking how to overcome ME, this my build driver works on all my compis with different i219 Yes, you were right that it causes ME but ME Enable/Disable settings is hidden in BIOS. I need Disable like this: format USB in FAT32 then unpack archive ME_disable.zip to stick go to BIOS and set UEFI and Legacy option in Advanced > CSM Configuration > Boot option filter then press F4 to Save and Exit Setup while PC reboot, press Del, go to Save & Exit and boot select USB stick - UEFI: name your stick enter to USB stick - mine is fs2: then run sceefi64.efi /o /s settings.txt to save all available BIOS options to file settings.txt display the beginning of the file type settings.txt -b and check offset number for Setup Item Hidden - mine is 1330 // Script File Name : settings.txt // Created on 04/16/24 at 07:16:1 // Copyright (c)2018 American Megatrends, Inc. // AMISCE Utility. Ver 5.03.1115 HIICrc32= 76071511 Setup Question = System Language Token =07 // Do NOT change this line Offset =00 Width =02 Options =*[00]en-US Setup Question = Setup Item Hidden Token =08 // Do NOT change this line Offset =1330 Width =01 BIOS Default =[01]Enabled Options =*[01]Enabled // Move "*" to the desired Option [00]Disabled do it asw.efi 0x1330 0x0 to Disable Setup Item Hidden option then reboot PC e.g. using reset command after reboot go to BIOS using Del and now you have all available options in BIOS go to menu Advanced > PCH-FW Configuration > ME State and Disable it then press F4 to Save & Exit - PC maybe not reboot so force power off presssing and hold for some seconds Power button on case @Dietmar It turns out that sometimes the AMISCE application may not find the HII database in NVRAM - then you can obtain data this way: using UEFITool open bios.bin, search System Language string in Text tab select Unicode double click searched data: Unicode text "System Language" found in PE32 image section at offset ... right click on PE image section then select Extract body... and save to file setup.bin now using IFRExtractor-RS 1.5.1 extract settings from setup.bin to txt file: ifrextractor setup.bin tool extract data to file setup.bin.0.0.en-US.ifr.txt open file in WordPad then search string Setup Item Hidden and read VarOffset: 0x data - mine is 1330 OneOf Prompt: "Setup Item Hidden", Help: "Hidden Setup Item.", QuestionFlags: 0x10, QuestionId: 0x8, VarStoreId: 0x1, VarOffset: 0x1330, Flags: 0x10, Size: 8, Min: 0x0, Max: 0x1, Step: 0x0 Edited April 3 by reboot12 4
Dave-H Posted March 7 Posted March 7 @reboot12 @Dietmar Wow! I'm so pleased to see this. I've been in some very long troubleshooting exercises on MSFN in the past myself, but never one as long as this one! I take my hat off to both of you for sticking with it and never giving up. Congratulations to you both. Cheers, Dave. 3
reboot12 Posted March 7 Posted March 7 (edited) @Dietmar Please compile also 64-bit version driver for WinXP 64-bit Win7 and Win10 work OK if ME is Enabled but for WinXP ME need be Disabled Browsers do not work properly, but probably because I need to use modified hal.dll and intelppm.sys files. Same problem is in WinXP 64-bit: https://www.betaarchive.com/forum/viewtopic.php?p=477539#p477539 Yeaaa, after replace files from @Dietmar (ArrowLake.zip\FilesforArrowLakeXPSp3) browser works OK Now I wrote from AIMB over i219 card from WinXP SP2 32-bit Edited March 7 by reboot12 2
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