Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| projects:t530 [2017/03/07 10:31] – [Steps] photonicsguy | projects:t530 [2021/07/06 07:15] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ~~NOTOC~~ | ~~NOTOC~~ | ||
| - | ====== Lenovo T530 Laptop upgrade ====== | + | ====== Lenovo T530 Laptop |
| - | BIOS Version: G4ET62WW (2.04 ) | + | I successfully installed an [[http:// |
| - | Current Network card: Intel Corporation Centrino | + | Living in Toronto, the 2.4GHz WiFi band is over saturated and my best wireless throughput was roughly 16Mbps, now with 5GHz Wireless |
| + | There are two flash memory chips, MX25L6406E (8MB) and MX25L3206E (4MB) (Under frame), according to various resources, I need to flash the 4MB chip. There is also another flash memory chip on the underside which contains the bios settings and password which I don't need to touch. | ||
| - | < | + | There are forums for whitelist removal, such as [[https:// |
| - | New Network | + | |
| - | * Bluetooth: [8087:07DC] | + | VID: |
| - | * Wi-Fi: [8086:08B1], Secondary: [8086:4070] | + | * Intel Centrino Wireless-N 2200 [8086:0891] (original) |
| - | </ | + | * Intel Dual Band Wireless-AC 7260 [8086: |
| - | IBM COMPATIBLE 486 BIOS COPYRIGHT Phoenix Technologies, Ltd | + | * Bluetooth: [8087:07DC] (built into the wireless |
| - | Phoenix BIOS SC-T v2.2 | + | |
| + | |||
| + | If you are looking for more information, | ||
| + | |||
| + | ===== Required components ===== | ||
| + | * Your Thinkpad laptop (of course) | ||
| + | * New wireless card, I used the [[http:// | ||
| + | * A second computer (I used another Linux computer. A Windows computer can work, but I haven' | ||
| + | * Download [[https:// | ||
| + | * Download | ||
| + | * A high quality (small) Phillips screwdriver, | ||
| + | * A Magnetic sheet - {{:projects:t530:magsheet.jpg? | ||
| + | * Hex driver for the studs on the {{ :projects: | ||
| + | * CH341A programmer (Approx. $3 from eBay or Aliexpress) | ||
| + | * SOIC8 Test clip (Approx. $4 from eBay or Aliexpress) | ||
| + | * Thermal compound (for the CPU heatsink) | ||
| + | * Air duster (optional, for cleaning) | ||
| + | * Tape (When reassembling and routing wires) | ||
| - | {{ : | ||
| - | {{: | ||
| - | * MX25L6406E (8MB) | ||
| - | * MX25L3206E (4MB) (Under frame) (This is the BIOS chip I need to flash) | ||
| - | * There is another EEPROM on the underside of the bios which contains the bios passwords which I am not going to touch | ||
| ===== Steps ===== | ===== Steps ===== | ||
| - | - Buy a CH341A and a SOIC8 test clip. | ||
| - | - [[projects: | ||
| - | - Determine current VID:PID via lspci -nn | ||
| - | - Download [[https:// | ||
| - | - Download [[https:// | ||
| - | - Disassemble laptop to access bios chip following the Hardware manual. | ||
| - | - flashrom -p ch341a_spi -c " | ||
| - | - Read multiple times to verify the data is correct. (Compare via MD5SUM) | ||
| - | - Note: If you are getting errors, or inconsistant data, try adjusting the test clip slightly. | ||
| - | - Open firmware (ORIGINALBIOS.ROM) in UEFItool (Works well under wine) | ||
| - | - File > Search, Select GUID, search for 79E0EDD7-9D1D-4F41-AE1A-F896169E5216 (LenovoWMAPolicy) | ||
| - | - GUID pattern " | ||
| - | - Go to PE32 Image section, right click, " | ||
| - | - Save as LenovoWmaPolicyDxe_orig.sct | ||
| - | - Linux: cp LenovoWmaPolicyDxe_orig.sct LenovoWmaPolicyDxe_mod.sct | ||
| - | - Using a hex editor, search for whitelist | ||
| - | - Linux: hexedit LenovoWmaPolicyDxe_mod.sct | ||
| - | TODO: Finish edits to reflect actual steps. | + | <note warning> |
| - | - /(to search), EC10< | + | I never tested, nor thought to test, nor had problems, but I've heard other people have. I'd suggest verifying the correct voltage before you use the programmer: |
| - | | + | |
| - | | + | **check voltage: |
| - | | + | * [[https:// |
| - | - Back in UEFITool | + | **fix:** |
| - | | + | * [[https:// |
| - | | + | |
| - | - Flash new bios: | + | </ |
| - | - Verify bios: | + | |
| + | <note warning> | ||
| + | - Determine current wireless card VID:PID via Linux: lspci -nn (This is a useful reference when looking for the whitelist) | ||
| + | - Download [[https:// | ||
| + | - Download [[https:// | ||
| + | - Following the {{ : | ||
| + | - Place the system on a non-conductive surface (As you will be powering up a portion via the CH341A programmer. | ||
| + | - Pin 1 of the test clip is the wire with the Red stripe, which goes towards the corner of the memory chip with the circle. | ||
| + | - I was fortunate enough to have a similar memory chip from another device I was able to use to test the programmer connections ahead of time. | ||
| + | - Connect the test clip to the programmer (Facing downwards, in the top half of the ZIF socket) {{ : | ||
| + | - Read the existing BIOS | ||
| + | - flashrom -p ch341a_spi -c " | ||
| + | - Read multiple times to verify the data is correct. (Compare via MD5SUM) | ||
| + | - Note: If you are getting errors, or inconsistant data, try adjusting the test clip slightly. | ||
| + | - IMPORTANT: Make a copy of the original bios, or email it to yourself so you don't accidentally lose it. | ||
| + | - Modify bios | ||
| + | - Linux: cp ORIGINALBIOS.ROM MODIFIEDBIOS.ROM | ||
| + | - Open firmware (MODIFIEDBIOS.ROM) in UEFItool (Works well under wine) | ||
| + | - File > Search, Select GUID, search for 79E0EDD7-9D1D-4F41-AE1A-F896169E5216 (LenovoWMAPolicy) | ||
| + | - GUID pattern " | ||
| + | - Go to PE32 Image section, right click, " | ||
| + | - Save as LenovoWmaPolicyDxe_orig.sct | ||
| + | - Linux: cp LenovoWmaPolicyDxe_orig.sct LenovoWmaPolicyDxe_mod.sct | ||
| + | - Using a hex editor, search for whitelist | ||
| + | - Linux: hexedit LenovoWmaPolicyDxe_mod.sct | ||
| + | - /(to search), EC10< | ||
| + | - Change EC10 to 8680 (New device is 8086:08B1) | ||
| + | - Change 7681 to B108 | ||
| + | - Change EC10 to 8680 (Secondary VID:PID is 8086: | ||
| + | - Change 9581 to 7040 | ||
| + | - Change 9517 to 8780 (Bluetooth VID:PID is 8087: | ||
| + | - Change 2007 to DC07 | ||
| + | - Ctrl-x (To save & exit) | ||
| + | - Back in UEFITool | ||
| + | - Right click on the same PE32 Image section again, select " | ||
| + | - File > Save Image file, save as MODIFIEDBIOS.ROM | ||
| + | - Flash new bios | ||
| + | - flashrom -p ch341a_spi -c " | ||
| + | - (It did take a couple attempts, and as I mentioned earlier, I did try fiddling with the test clip to ensure it was properly seated. | ||
| + | - Verify bios: | ||
| + | - flashrom -p ch341a_spi -c " | ||
| - Reassemble laptop to the point of booting | - Reassemble laptop to the point of booting | ||
| - basically, everything up to the trim, keyboard, and display. | - basically, everything up to the trim, keyboard, and display. | ||
| - I used the existing thermal compound for testing, then I cleaned it off to apply new thermal compound prior to final assembly | - I used the existing thermal compound for testing, then I cleaned it off to apply new thermal compound prior to final assembly | ||
| - | - Disconnect AC adapter | + | - Disconnect AC adaptor |
| - | - Being careful no loose connectors are reading on the motherboard, | + | - Being careful no loose connectors are reading on the motherboard, |
| - | - Plug AC adapter | + | - Plug AC adaptor |
| - | - power on via keyboard | + | - Power on via keyboard |
| - | - take note of BIOS message | + | - Take note of BIOS message, if you receive an error, take a photo of it. |
| - | - Unplug AC adapter | + | - Unplug AC adaptor |
| - Finish reassembling laptop | - Finish reassembling laptop | ||
| - | | + | - At this point I cleaned as I went, cleaning dust out of crevices & such. |
| - | - | + | - Clean off the existing thermal compound, put new thermal compound on the CPU (and GPU if you have discrete graphics) |
| - | + | | |
| - | + | ||
| - | ==== Bios from website ==== | + | |
| - | - Download matching firmware | + | |
| - | - Extract firmware | + | |
| - | - [[http:// | + | |
| ==== Current Whitelist ==== | ==== Current Whitelist ==== | ||
| TODO: Revise list as I made an error in reading to hex file | TODO: Revise list as I made an error in reading to hex file | ||
| + | |||
| ^Vender: | ^Vender: | ||
| |8086: | |8086: | ||
| Line 93: | Line 125: | ||
| * flashrom -p ch341a_spi -V | * flashrom -p ch341a_spi -V | ||
| * [[https:// | * [[https:// | ||
| - | * It should be safe to read/flash the chip in situ... | + | <note>After reading the flashing instructions |
| - | **Tested on a similar flash chip** | + | ===== Files ===== |
| - | <code> | + | * {{ :projects: |
| - | # flashrom -p ch341a_spi -c " | + | * {{ : |
| - | flashrom v0.9.9-r1955 | + | * {{ : |
| - | flashrom is free software, get the source code at https:// | + | * {{ : |
| - | + | ||
| - | flashrom was built with GCC 4.9.2, little endian | + | |
| - | Command line (7 args): flashrom -p ch341a_spi -c MX25L3206E/ | + | |
| - | Calibrating delay loop... OS timer resolution is 2 usecs, 745M loops per second, 10 myus = 12 us, 100 myus = 101 us, 1000 myus = 1006 us, 10000 myus = 9992 us, 8 myus = 10 us, OK. | + | |
| - | Initializing ch341a_spi programmer | + | |
| - | Device revision is 3.0.4 | + | |
| - | The following protocols are supported: SPI. | + | |
| - | Probing for Macronix MX25L3206E/ | + | |
| - | Found Macronix flash chip " | + | |
| - | Chip status register is 0x00. | + | |
| - | Chip status register: Status Register Write Disable (SRWD, SRP, ...) is not set | + | |
| - | Chip status register: Bit 6 is not set | + | |
| - | Chip status register: Block Protect 3 (BP3) is not set | + | |
| - | Chip status register: Block Protect 2 (BP2) is not set | + | |
| - | Chip status register: Block Protect 1 (BP1) is not set | + | |
| - | Chip status register: Block Protect 0 (BP0) is not set | + | |
| - | Chip status register: Write Enable Latch (WEL) is not set | + | |
| - | Chip status register: Write In Progress (WIP/BUSY) is not set | + | |
| - | This chip may contain one-time programmable memory. flashrom cannot read | + | |
| - | and may never be able to write it, hence it may not be able to completely | + | |
| - | clone the contents of this chip (see man page for details). | + | |
| - | Reading flash... done. | + | |
| - | </code> | + | |
| - | ===== Coreboot project | + | |
| - | * | + | |
| - | * [[https://github.com/ | + | |
| - | + | ||
| - | === BIOS Files === | + | |
| - | + | ||
| - | * xxx.PAT are CPU Microcode files | + | |
| - | * xxx.hsh are CPU Microcode hash files | + | |
| - | * something.FL1 the actual | + | |
| - | * There' | + | |
| ===== Reference ===== | ===== Reference ===== | ||
| Line 153: | Line 152: | ||
| * https:// | * https:// | ||
| ====== Screen ====== | ====== Screen ====== | ||
| - | Currently: 15.6", 16x9, 1366x768 | + | I replaced my WXGA (1366x768) |
| - | + | ||
| - | ^FRU^Description^Resolution^ | + | |
| - | |04W3339|LCD 15.6" | + | |
| - | |04W3345|BOE 15.6" | + | |
| - | + | ||
| - | + | ||
| - | http://replacethinkpadscreen.blogspot.ca/2013/ | + | |
| - | Possible replacement: B156HW01 V.4 | + | I used this as a guide: http:// |
| + | I also highly recommend watching multiple YouTube videos on mating LVDS connectors. | ||