projects:t530

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects:t530 [2017/03/07 10:31] – [Steps] photonicsguyprojects: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 WiFi upgrade ====== 
-BIOS VersionG4ET62WW (2.04 )+I successfully installed an [[http://www.intel.com/content/www/us/en/wireless-products/dual-band-wireless-ac-7260-bluetooth.html|Intel Dual Band Wireless-AC 7260 wireless card]] by modifying the whitelist in the BIOS. I've compiled this step-by-step guide with references as I had trouble finding a similar resource online.{{ :projects:t530:programming.jpg?direct&300|}}
  
-Current Network card: Intel Corporation Centrino Wireless-N 2200 [8086:0891]+Living in Toronto, the 2.4GHz WiFi band is over saturated and my best wireless throughput was roughly 16Mbps, now with 5GHz Wireless AC, I get an average of 700Mbps. I decided not to upgrade to the latest BIOS and to attempt the whitelist modification on my current version, G4ET62WW (2.04).
  
 +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.
  
-<note> +There are forums for whitelist removal, such as [[https://www.bios-mods.com/forum/Forum-WiFi-WWAN-Whitelist-Removal|www.bios-mods.com]] but I wanted to figure out how to modify the whitelist myself and to only use the forum as a last resort if I'm unable to make it work myself. (Also, I'd still need to figure out the bios reading and writing) 
-New Network card ID: [[http://www.intel.com/content/www/us/en/wireless-products/dual-band-wireless-ac-7260-bluetooth.html|Dual Band Wireless-AC 7260]] + 
-  * Bluetooth: [8087:07DC+VID:PID'
-  * Wi-Fi[8086:08B1], Secondary[8086:4070] +  * Intel Centrino Wireless-N 2200 [8086:0891] (original) 
-</note> +  * Intel Dual Band Wireless-AC 7260 [8086:08B1], Secondary: [8086:4070] (upgrade) 
-IBM COMPATIBLE 486 BIOS COPYRIGHT Phoenix TechnologiesLtd +    * Bluetooth: [8087:07DC] (built into the wireless card
-Phoenix BIOS SC-T v2.2+ 
 + 
 +If you are looking for more information, or have any questions, please feel free to [[:contact|contact me]] and I can do my best to answer. 
 + 
 +===== Required components ===== 
 +  * Your Thinkpad laptop (of course) 
 +  * New wireless card, I used the [[http://www.intel.com/content/www/us/en/wireless-products/dual-band-wireless-ac-7260-bluetooth.html|Intel Dual Band Wireless-AC 7260 wireless card]] (Approx. $20 from eBay or Aliexpress) 
 +  * A second computer (I used another Linux computer. A Windows computer can work, but I haven't tried it) 
 +    * Download [[https://www.flashrom.org/Downloads|Flashrom]] 
 +    * Download [[https://github.com/LongSoft/UEFITool/releases/tag/0.21.5|UEFITool]]  
 +  * A high quality (small) Phillips screwdriver, all of the screws in the laptop are Phillips, and you don't want to accidentally strip any screws. 
 +  * A Magnetic sheet {{:projects:t530:magsheet.jpg?linkonly |useful for keeping screws in order}} 
 +  * Hex driver for the studs on the {{ :projects:t530:svga.jpg?linkonly |SVGA connector}} 
 +  * 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 (optionalfor cleaning) 
 +  * Tape (When reassembling and routing wires)
  
-{{ :projects:t530:t530_overlay.jpg?direct&300|}} 
-{{:projects:t530:chip1.jpg?direct&100|MX25L6406E}}{{:projects:t530:chip0.jpg?direct&100|MX25L3206E}} 
-  * 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:t530:ch341a|Click here for notes regarding the CH341A]] 
-  - Determine current VID:PID via lspci -nn 
-  - Download [[https://www.flashrom.org/Downloads|Flashrom]] 
-  - Download [[https://github.com/LongSoft/UEFITool/releases/tag/0.21.5|UEFITool]] 
-  - Disassemble laptop to access bios chip following the Hardware manual. 
-   - flashrom -p ch341a_spi -c "MX25L3206E/MX25L3208E" -r ORIGINALBIOS.ROM 
-   - 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 "79E0EDD7-9D1D-4F41-AE1A-F896169E5216" found as "D7EDE0791D9D414FAE1AF896169E5216" in 79E0EDD7-9D1D-4F41-AE1A-F896169E5216 at header-offset 0h 
-    - Go to PE32 Image section, right click, "Extract as is" 
-    - 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>**VOLTAGE WARNING!!**
  
-     - /(to search), EC10<enter> (I've chosen to modify the 10EC Vender devices+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: 
-     - Change EC10 to 8780 (New device is 8087:07DC+ 
-     - Change 7681 to DC07 +**check voltage:** 
-     - Ctrl-x (To save & exit) +  * [[https://www.chucknemeth.com/laptop/lenovo-x230/flash-lenovo-x230-coreboot]] 
-  - Back in UEFITool +**fix:** 
-   - Right click on the same PE32 Image section again, select "Replace as is" +  * [[https://www.chucknemeth.com/usb-devices/ch341a/3v-ch341a-mod]] 
-   - File > Save Image file, save as G4ET62WW_mod.bin + 
-  - Flash new bios +</note> 
-  - Verify bios: + 
 +<note warning>Take plenty of photos as you disassemble your laptop, including cable routing, as well as which screws came from where. Also, Take your time, don't rush</note> 
 +  - Determine current wireless card VID:PID via Linux: lspci -nn (This is a useful reference when looking for the whitelist) 
 +  - Download [[https://www.flashrom.org/Downloads|Flashrom]] 
 +  - Download [[https://github.com/LongSoft/UEFITool/releases/tag/0.21.5|UEFITool]] 
 +  - Following the {{ :projects:t530:t530_hardware_maintenance_manual.pdf |Hardware manual}}, disassemble the laptop to access the system board. 
 +  - 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) {{ :projects:t530:ch341.jpg?direct&200|CH341A}} 
 +  - Read the existing BIOS 
 +    - flashrom -p ch341a_spi -c "MX25L3206E/MX25L3208E" -r ORIGINALBIOS.ROM 
 +      - 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 "79E0EDD7-9D1D-4F41-AE1A-F896169E5216" found as "D7EDE0791D9D414FAE1AF896169E5216" in 79E0EDD7-9D1D-4F41-AE1A-F896169E5216 at header-offset 0h 
 +      - Go to PE32 Image section, right click, "Extract as is" 
 +      - 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<enter> (I've chosen to modify the 10EC Vender device
 +      - Change EC10 to 8680 (New device is 8086:08B1
 +      - Change 7681 to B108 
 +      - Change EC10 to 8680 (Secondary VID:PID is 8086:4070) 
 +      - Change 9581 to 7040 
 +      - Change 9517 to 8780 (Bluetooth VID:PID is 8087:4070) 
 +      - Change 2007 to DC07 
 +      - Ctrl-x (To save & exit) 
 +    - Back in UEFITool 
 +      - Right click on the same PE32 Image section again, select "Replace as is" 
 +      - File > Save Image file, save as MODIFIEDBIOS.ROM 
 +  - Flash new bios 
 +    - flashrom -p ch341a_spi -c "MX25L3206E/MX25L3208E" -w MODIFIEDBIOS.ROM 
 +    - (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 "MX25L3206E/MX25L3208E" -v MODIFIEDBIOS.ROM
     - 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 from wall +    - Disconnect AC adaptor from wall 
-    - Being careful no loose connectors are reading on the motherboard, I plugged in the disconnected AC adaptor (this way I can apply power without accidently jostling anything) +    - Being careful no loose connectors are reading on the motherboard, I plugged in the disconnected AC adaptor (this way I can apply power without accidentally jostling anything) 
-    - Plug AC adapter into wall +    - Plug AC adaptor into wall 
-    - 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 from wall+    - Unplug AC adaptor from wall
   - Finish reassembling laptop   - Finish reassembling laptop
-  - Note: I'm using a separate Bluetooth adapter, so I'm not concerned about enabling the integrated Bluetooth +      - 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) 
- +  - Note: I'm using a separate Bluetooth adaptor, so I'm not concerned about enabling the integrated Bluetooth (Which involves placing kaptop tape over a pin)
- +
-==== Bios from website ==== +
-  - Download matching firmware (Bootable CDfrom [[http://support.lenovo.com/ca/en/downloads/ds029249|Lenovo website]] +
-  - Extract firmware +
-    - [[http://freecode.com/projects/geteltorito|geteltorito]] will extract the bootable disk image from the downloaded ISO Firmware files+
  
 ==== 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:Device^Description^ ^Vender:Device^Description^
 |8086:4238|Centrino(R) Ultimate N 6300| |8086:4238|Centrino(R) Ultimate N 6300|
Line 93: Line 125:
     * flashrom -p ch341a_spi -V     * flashrom -p ch341a_spi -V
   * [[https://www.coreboot.org/Board:lenovo/t530|T530 flashing directions on Coreboot.org]]   * [[https://www.coreboot.org/Board:lenovo/t530|T530 flashing directions on Coreboot.org]]
-    * It should be safe to read/flash the chip in situ... +<note>After reading the flashing instructions on coreboot.orgI decided it would be safer to attempt this without removing the memory chip from the system boardIf I had access to a hot air rework stationI would have removed to chip to reduce risk of damaging the system board.</note
-**Tested on a similar flash chip** +===== Files ===== 
-<code> +  * {{ :projects:t530:t530_g4et62ww_bios.tgz |t530_g4et62ww_bios.tgz}} - My original and modified bios dump 
-# flashrom -p ch341a_spi -c "MX25L3206E/MX25L3208E" -r T530_BIOS_MX25L3206E -V +  * {{ :projects:t530:t530_hardware_maintenance_manual.pdf |}} Thinkpad T530 Hardware maintenance manual 
-flashrom v0.9.9-r1955 on Linux 3.16.0-4-686-pae (i686) +  * {{ :projects:t530:bios_error.jpg?linkonly |}} - BIOS error message after my first attempt 
-flashrom is free softwareget the source code at https://flashrom.org +  * {{ :projects:t530:programming.jpg?linkonly |}} - System board connected to the CH341A programmer
- +
-flashrom was built with GCC 4.9.2, little endian +
-Command line (7 args): flashrom -p ch341a_spi -c MX25L3206E/MX25L3208E -r T530_BIOS_MX25L3206E -V +
-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/MX25L3208E, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2016 +
-Found Macronix flash chip "MX25L3206E/MX25L3208E" (4096 kB, SPI) on ch341a_spi. +
-Chip status register is 0x00. +
-Chip status register: Status Register Write Disable (SRWDSRP, ...) 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/coreboot/coreboot/tree/master/util/ifdtool|ifdtool]] +
- +
-=== BIOS Files === +
- +
-  * xxx.PAT are CPU Microcode files +
-  * xxx.hsh are CPU Microcode hash files +
-  * something.FL1 the actual BIOS image. +
-  * There's also .FL2, that'the Embedded controller((http://www.endeer.cz/bios.tools/bios.html))+
  
 ===== Reference ===== ===== Reference =====
Line 153: Line 152:
     * https://www.bios-mods.com/forum/archive/index.php?thread-21048.html     * https://www.bios-mods.com/forum/archive/index.php?thread-21048.html
 ====== Screen ====== ====== Screen ======
-Currently: 15.6", 16x9, 1366x768 +I replaced my WXGA (1366x768) screen with FHD, [[http://www.panelook.com/N156HGE-L11_Innolux_15.6_LCM_overview_16512.html|Chi Mei N156HGE-L11]]. My old screen was [[http://www.panelook.com/B156XTN02.1_AUO_15.6_LCM_overview_15248.html|B156XTN02.1]].
- +
-^FRU^Description^Resolution^ +
-|04W3339|LCD 15.6"HD AG|WXGA (1366x768)+
-|04W3345|BOE 15.6"HD AG|WXGA (1366x768)| +
- +
- +
-http://replacethinkpadscreen.blogspot.ca/2013/01/replacing-t530s-screen.html+
  
-Possible replacementB156HW01 V.4+I used this as a guidehttp://replacethinkpadscreen.blogspot.ca/2013/01/replacing-t530s-screen.html
  
 +I also highly recommend watching multiple YouTube videos on mating LVDS connectors.
  
  • projects/t530.1488911506.txt.gz
  • Last modified: 2017/03/07 10:31
  • by photonicsguy