Nick: Anon1979 E-mail: anonim1979wp@wp.pl Board: Pm39LV040 Contents: Hello. I played with BIOS for Toshiba L40 ver 1.0 Teresa Board a little with logo changes. ( http://i00.i.aliimg.com/photo/v0/432823200/motherboard_for_TOSHIBA_L40_series.jpg ) AMI bios core v8.0 , Toshiba winflash with force (for date dismiss), oemlogo.exe. Tried few logos etc. All was fine untill I uses MMtool and tried to repleace OEM logo module directly. Unsoldered flash chip, mounted socket, etc (99% OK as remounted BIOS chip start(ed), initialised display internal/external, and hanged in the same place - logo loading). Pm39LV040 This is 512KB chip, parallel, 32pin PLCC. http://www.chingistek.com/img/Product_Files/Pm39LV512-010-020-040%20V1.6.pdf http://www.alldatasheet.com/datasheet-pdf/pdf/102556/PMC/PM39LV040.html This chip have untested partially status on Wiki. Tried hotswap on a few desktop boards. Now problems: Some MB I tried don't detect it at all (K9N Neo on nForce5). Two I have detect it: MSI KT4 Ultra MS-6590 (has flashrom support, uniflash works too, KT400 IIRC, Winbond LPC 256kB chip) MSI MSI-6309 694T Pro (old, P3 Tualatin, has flashrom support, uniflash hangs on start 2.0b5, RC1, 1.4 all of them, W49F002UP12B - 256kB chip) http://www.msi.com/product/mb/694T-Pro.html#?div=Detail Problem is the only flashrom newest avilable for DOS (v0.9.6.1-r1705, also some "a few days ago" revison) flashes and doubles 256KB. All writes got mirrored - writes to first half of 512kB also writes to second, the same goes in other direction. Tested with full bios file, and also with only segment values writes. example: rom.layout 00000000:0003FFFF one 00040000:0007FFFF two Uniflash does the same on MSI MSI-6309. 2nd half will pass OK bit the first9as it is mirrored 2nd) will fail verification. Erase works ok, FF's everything (but of course as it goes for whole chip it could (and probably does) mirror erease both 256Kb. If written from erased chip or on "junk" - no difference. If written chip doesn't star now at all - so it doesn't write good and only that it "reads" bad. Is this MB problem - and I shold look for one that supports old chips (as it seems taht newer LPC or whatever doesnt see it) and 512KB ones. Or is this problem with it being not implementat fully in flashrom? I can experiment with DOS builds (no clue in Linux I'm sorry), so I can test any experimental one. ----------- Heres some -VVVw logs from MSI MSI-6309, first after erease, and then one after some flash try's - so 1st half is already "OK". Chip detection part of logs removed. Those are redirects to txt file so some info doesn't get captured - verification warning, info that chip is in undetermined state etc. 1st after erase: ================================================================= flashrom v0.9.6.1-r1705 on MS-DOS 7 (i686) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.1.5, GCC 4.4.4, little endian Command line (4 args): c:/!bios6t/flashrom.exe -p internal:laptop=this_is_not_a_laptop,boardenable=force -VVVw bios.bin Calibrating delay loop... OS timer resolution is 60000 usecs, 535M loops per second, 10 myus = 0 us, 100 myus = 0 us, 1000 myus = 0 us, 10000 myus = 0 us, 240000 myus = 220000 us, OK. Initializing internal programmer No coreboot table found. DMI string system-manufacturer: "" DMI string system-product-name: "" DMI string system-version: "" DMI string baseboard-manufacturer: "" DMI string baseboard-product-name: "" DMI string baseboard-version: "" DMI string chassis-type: "" DMI chassis-type is not specific enough. Found chipset "VIA VT82C69x" with PCI ID 1106:0691. Enabling flash write... OK - searching further chips. Found chipset "VIA VT82C686A/B" with PCI ID 1106:0686. Enabling flash write... OK. matching against (VA6)$ matching against (VA6)$ matching against (VA6)$ matching against (VA6)$ matching against (VA6)$ matching against (VA6)$ The following protocols are supported: Non-SPI. Probing for AMD Am29F010A/B, 128 kB: probe_jedec_common: id1 0x9d, id2 0x3e ......... Cuted out .......... Probing for Winbond W39V080FA, 1024 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39V080FA (dual mode), 512 kB: probe_jedec_common: id1 0x9d, id2 0x3e Found PMC flash chip "Pm39LV040" (512 kB, Parallel). === This flash part has status UNTESTED for operations: ERASE WRITE The test status of this chip may have been updated in the latest development version of flashrom. If you are running the latest development version, please email a report to flashrom@flashrom.org if any of the above operations work correctly for you with this flash part. Please include the flashrom output with the additional -V option for all operations you tested (-V, -Vr, -VE, -Vw), and mention which mainboard or programmer you tested. Please mention your board in the subject line. Thanks for your help! Flash image seems to be a legacy BIOS. Disabling coreboot-related checks. Reading old flash chip contents... done. Erasing and writing flash chip... Trying erase function 0... 0x000000-0x000fff:W, 0x001000-0x001fff:W, 0x002000-0x002fff:W, 0x003000-0x003fff:W, 0x004000-0x004fff:W, 0x005000-0x005fff:W, 0x006000-0x006fff:W, 0x007000-0x007fff:W, 0x008000-0x008fff:W, 0x009000-0x009fff:W, 0x00a000-0x00afff:W, 0x00b000-0x00bfff:W, 0x00c000-0x00cfff:W, 0x00d000-0x00dfff:W, 0x00e000-0x00efff:W, 0x00f000-0x00ffff:S, 0x010000-0x010fff:W, 0x011000-0x011fff:W, 0x012000-0x012fff:W, 0x013000-0x013fff:W, 0x014000-0x014fff:W, 0x015000-0x015fff:W, 0x016000-0x016fff:W, 0x017000-0x017fff:W, 0x018000-0x018fff:W, 0x019000-0x019fff:W, 0x01a000-0x01afff:W, 0x01b000-0x01bfff:W, 0x01c000-0x01cfff:W, 0x01d000-0x01dfff:W, 0x01e000-0x01efff:W, 0x01f000-0x01ffff:W, 0x020000-0x020fff:W, 0x021000-0x021fff:W, 0x022000-0x022fff:W, 0x023000-0x023fff:W, 0x024000-0x024fff:W, 0x025000-0x025fff:W, 0x026000-0x026fff:W, 0x027000-0x027fff:W, 0x028000-0x028fff:W, 0x029000-0x029fff:W, 0x02a000-0x02afff:W, 0x02b000-0x02bfff:W, 0x02c000-0x02cfff:W, 0x02d000-0x02dfff:W, 0x02e000-0x02efff:W, 0x02f000-0x02ffff:W, 0x030000-0x030fff:W, 0x031000-0x031fff:W, 0x032000-0x032fff:W, 0x033000-0x033fff:W, 0x034000-0x034fff:W, 0x035000-0x035fff:W, 0x036000-0x036fff:W, 0x037000-0x037fff:W, 0x038000-0x038fff:W, 0x039000-0x039fff:W, 0x03a000-0x03afff:W, 0x03b000-0x03bfff:W, 0x03c000-0x03cfff:W, 0x03d000-0x03dfff:W, 0x03e000-0x03efff:W, 0x03f000-0x03ffff:W, 0x040000-0x040fff:WReading current flash chip contents... done. Looking for another erase function. Trying erase function 1... 0x000000-0x00ffff:EW, 0x010000-0x01ffff:S, 0x020000-0x02ffff:S, 0x030000-0x03ffff:S, 0x040000-0x04ffff:EW, 0x050000-0x05ffff:EW, 0x060000-0x06ffff:EW, 0x070000-0x07ffff:EW Erase/write done. Verifying flash... Restoring PCI config space for 00:07:0 reg 0x40 Restoring PCI config space for 00:07:0 reg 0x43 ========================= 2nd after earlier flash attempt ========================= flashrom v0.9.6.1-r1705 on MS-DOS 7 (i686) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.1.5, GCC 4.4.4, little endian Command line (4 args): c:/!bios6t/flashrom.exe -p internal:laptop=this_is_not_a_laptop,boardenable=force -VVVw bios.bin Calibrating delay loop... OS timer resolution is 60000 usecs, 535M loops per second, 10 myus = 0 us, 100 myus = 0 us, 1000 myus = 0 us, 10000 myus = 0 us, 240000 myus = 220000 us, OK. Initializing internal programmer No coreboot table found. DMI string system-manufacturer: "" DMI string system-product-name: "" DMI string system-version: "" DMI string baseboard-manufacturer: "" DMI string baseboard-product-name: "" DMI string baseboard-version: "" DMI string chassis-type: "" DMI chassis-type is not specific enough. Found chipset "VIA VT82C69x" with PCI ID 1106:0691. Enabling flash write... OK - searching further chips. Found chipset "VIA VT82C686A/B" with PCI ID 1106:0686. Enabling flash write... OK. matching against (VA6)$ matching against (VA6)$ matching against (VA6)$ matching against (VA6)$ matching against (VA6)$ matching against (VA6)$ The following protocols are supported: Non-SPI. Probing for AMD Am29F010A/B, 128 kB: probe_jedec_common: id1 0x9d, id2 0x3e ......... Cuted out .......... Probing for Winbond W39V080FA (dual mode), 512 kB: probe_jedec_common: id1 0x9d, id2 0x3e Found PMC flash chip "Pm39LV040" (512 kB, Parallel). === This flash part has status UNTESTED for operations: ERASE WRITE The test status of this chip may have been updated in the latest development version of flashrom. If you are running the latest development version, please email a report to flashrom@flashrom.org if any of the above operations work correctly for you with this flash part. Please include the flashrom output with the additional -V option for all operations you tested (-V, -Vr, -VE, -Vw), and mention which mainboard or programmer you tested. Please mention your board in the subject line. Thanks for your help! Flash image seems to be a legacy BIOS. Disabling coreboot-related checks. Reading old flash chip contents... done. Erasing and writing flash chip... Trying erase function 0... 0x000000-0x000fff:S, 0x001000-0x001fff:S, 0x002000-0x002fff:S, 0x003000-0x003fff:S, 0x004000-0x004fff:S, 0x005000-0x005fff:S, 0x006000-0x006fff:S, 0x007000-0x007fff:S, 0x008000-0x008fff:S, 0x009000-0x009fff:S, 0x00a000-0x00afff:S, 0x00b000-0x00bfff:S, 0x00c000-0x00cfff:S, 0x00d000-0x00dfff:S, 0x00e000-0x00efff:S, 0x00f000-0x00ffff:S, 0x010000-0x010fff:S, 0x011000-0x011fff:S, 0x012000-0x012fff:S, 0x013000-0x013fff:S, 0x014000-0x014fff:S, 0x015000-0x015fff:S, 0x016000-0x016fff:S, 0x017000-0x017fff:S, 0x018000-0x018fff:S, 0x019000-0x019fff:S, 0x01a000-0x01afff:S, 0x01b000-0x01bfff:S, 0x01c000-0x01cfff:S, 0x01d000-0x01dfff:S, 0x01e000-0x01efff:S, 0x01f000-0x01ffff:S, 0x020000-0x020fff:S, 0x021000-0x021fff:S, 0x022000-0x022fff:S, 0x023000-0x023fff:S, 0x024000-0x024fff:S, 0x025000-0x025fff:S, 0x026000-0x026fff:S, 0x027000-0x027fff:S, 0x028000-0x028fff:S, 0x029000-0x029fff:S, 0x02a000-0x02afff:S, 0x02b000-0x02bfff:S, 0x02c000-0x02cfff:S, 0x02d000-0x02dfff:S, 0x02e000-0x02efff:S, 0x02f000-0x02ffff:S, 0x030000-0x030fff:S, 0x031000-0x031fff:S, 0x032000-0x032fff:S, 0x033000-0x033fff:S, 0x034000-0x034fff:S, 0x035000-0x035fff:S, 0x036000-0x036fff:S, 0x037000-0x037fff:S, 0x038000-0x038fff:S, 0x039000-0x039fff:S, 0x03a000-0x03afff:S, 0x03b000-0x03bfff:S, 0x03c000-0x03cfff:S, 0x03d000-0x03dfff:S, 0x03e000-0x03efff:S, 0x03f000-0x03ffff:S, 0x040000-0x040fff:EW, 0x041000-0x041fff:EW, 0x042000-0x042fff:EW, 0x043000-0x043fff:EW, 0x044000-0x044fff:EW, 0x045000-0x045fff:EW, 0x046000-0x046fff:EW, 0x047000-0x047fff:EW, 0x048000-0x048fff:EW, 0x049000-0x049fff:EW, 0x04a000-0x04afff:EW, 0x04b000-0x04bfff:EW, 0x04c000-0x04cfff:EW, 0x04d000-0x04dfff:EW, 0x04e000-0x04efff:EW, 0x04f000-0x04ffff:W, 0x050000-0x050fff:EW, 0x051000-0x051fff:EW, 0x052000-0x052fff:EW, 0x053000-0x053fff:EW, 0x054000-0x054fff:EW, 0x055000-0x055fff:EW, 0x056000-0x056fff:EW, 0x057000-0x057fff:EW, 0x058000-0x058fff:EW, 0x059000-0x059fff:EW, 0x05a000-0x05afff:EW, 0x05b000-0x05bfff:EW, 0x05c000-0x05cfff:EW, 0x05d000-0x05dfff:EW, 0x05e000-0x05efff:EW, 0x05f000-0x05ffff:EW, 0x060000-0x060fff:EW, 0x061000-0x061fff:EW, 0x062000-0x062fff:EW, 0x063000-0x063fff:EW, 0x064000-0x064fff:EW, 0x065000-0x065fff:EW, 0x066000-0x066fff:EW, 0x067000-0x067fff:EW, 0x068000-0x068fff:EW, 0x069000-0x069fff:EW, 0x06a000-0x06afff:EW, 0x06b000-0x06bfff:EW, 0x06c000-0x06cfff:EW, 0x06d000-0x06dfff:EW, 0x06e000-0x06efff:EW, 0x06f000-0x06ffff:EW, 0x070000-0x070fff:EW, 0x071000-0x071fff:EW, 0x072000-0x072fff:EW, 0x073000-0x073fff:EW, 0x074000-0x074fff:E, 0x075000-0x075fff:E, 0x076000-0x076fff:EW, 0x077000-0x077fff:EW, 0x078000-0x078fff:EW, 0x079000-0x079fff:EW, 0x07a000-0x07afff:EW, 0x07b000-0x07bfff:EW, 0x07c000-0x07cfff:EW, 0x07d000-0x07dfff:EW, 0x07e000-0x07efff:EW, 0x07f000-0x07ffff:EW Erase/write done. Verifying flash... Restoring PCI config space for 00:07:0 reg 0x40 Restoring PCI config space for 00:07:0 reg 0x43