perpetual Posted June 16, 2023 Share Posted June 16, 2023 Hi! Quote Link to comment Share on other sites More sharing options...
perpetual Posted June 16, 2023 Author Share Posted June 16, 2023 Ideapad n581 owner, was able to mod bios, but running fptw64.exe -bios -f n581mod.rom got the dreaded Error 28: Protected Range Registers are currently set by BIOS, preventing flash access. does prr.exe work on this device ? Quote Link to comment Share on other sites More sharing options...
Bios Modder Klem Posted June 16, 2023 Bios Modder Share Posted June 16, 2023 8 minutes ago, perpetual said: Ideapad n581 owner, was able to mod bios, but running fptw64.exe -bios -f n581mod.rom got the dreaded Error 28: Protected Range Registers are currently set by BIOS, preventing flash access. does prr.exe work on this device ? Hi! Yes, I think prr.exe should work in your case. 1 Quote Link to comment Share on other sites More sharing options...
perpetual Posted June 16, 2023 Author Share Posted June 16, 2023 (edited) Thanks Klem, I was able to compile chipsec sudo chipsec_main -m common.bios_wp [*] Running module: chipsec.modules.common.bios_wp [x][ ======================================================================= [x][ Module: BIOS Region Write Protection [x][ ======================================================================= [*] BC = 0x00 << BIOS Control (b:d.f 00:31.0 + 0xDC) [00] BIOSWE = 0 << BIOS Write Enable [01] BLE = 0 << BIOS Lock Enable [02] SRC = 0 << SPI Read Configuration [04] TSS = 0 << Top Swap Status [05] SMM_BWP = 0 << SMM BIOS Write Protection [-] BIOS region write protection is disabled! [*] BIOS Region: Base = 0x00180000, Limit = 0x005FFFFF SPI Protected Ranges ------------------------------------------------------------ PRx (offset) | Value | Base | Limit | WP? | RP? ------------------------------------------------------------ PR0 (74) | 85FF0540 | 00540000 | 005FFFFF | 1 | 0 PR1 (78) | 850D0193 | 00193000 | 0050DFFF | 1 | 0 PR2 (7C) | 00000000 | 00000000 | 00000000 | 0 | 0 PR3 (80) | 00000000 | 00000000 | 00000000 | 0 | 0 PR4 (84) | 00000000 | 00000000 | 00000000 | 0 | 0 and after a lot of searching was able to find out how to change BIOSWE, PR0 and PR1 Set BIOSWE to 1 sudo setpci -s 00:1f.0 dc.b=09 Set PR0 to 0 sudo chipsec_util mmio write SPIBAR 0x74 0x4 0x05FF0540 Set PR1 to 0 sudo chipsec_util mmio write SPIBAR 0x78 0x4 0x050D0193 [*] Running module: chipsec.modules.common.bios_wp [x][ ======================================================================= [x][ Module: BIOS Region Write Protection [x][ ======================================================================= [*] BC = 0x09 << BIOS Control (b:d.f 00:31.0 + 0xDC) [00] BIOSWE = 1 << BIOS Write Enable [01] BLE = 0 << BIOS Lock Enable [02] SRC = 2 << SPI Read Configuration [04] TSS = 0 << Top Swap Status [05] SMM_BWP = 0 << SMM BIOS Write Protection [-] BIOS region write protection is disabled! [*] BIOS Region: Base = 0x00180000, Limit = 0x005FFFFF SPI Protected Ranges ------------------------------------------------------------ PRx (offset) | Value | Base | Limit | WP? | RP? ------------------------------------------------------------ PR0 (74) | 05FF0540 | 00540000 | 005FFFFF | 0 | 0 PR1 (78) | 050D0193 | 00193000 | 0050DFFF | 0 | 0 PR2 (7C) | 00000000 | 00000000 | 00000000 | 0 | 0 PR3 (80) | 00000000 | 00000000 | 00000000 | 0 | 0 PR4 (84) | 00000000 | 00000000 | 00000000 | 0 | 0 Only to find out the register values don't survive a reboot into windows to run fptw64.exe :-( Hence my search for prr.exe Edited June 16, 2023 by perpetual Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.