<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <style type="text/css"> @import url('../css/main.css'); </style> <title>ThinkPad T500</title> </head> <body> <div class="section"> <h1 id="pagetop">ThinkPad T500</h1> <p> It is believed that all or most T500 laptops are compatible. See notes about <a href="../install/t500_external.html#cpu_compatibility">CPU compatibility</a> for potential incompatibilities. </p> <p> There are two possible flash chip sizes for the T500: 4MiB (32Mbit) or 8MiB (64Mbit). This can be identified by the type of flash chip below the palmrest: 4MiB is SOIC-8, 8MiB is SOIC-16. </p> <p> <b>The T500 laptops come with the ME (and sometimes AMT in addition) before flashing libreboot. Libreboot disables and removes it by using a modified descriptor: see <a href="gm45_remove_me.html">gm45_remove_me.html</a></b> (contains notes, plus instructions) </p> <p> Flashing instructions can be found at <a href="../install/index.html#flashrom">../install/index.html#flashrom</a> </p> <p> <a href="index.html">Back to previous index</a>. </p> </div> <div class="section"> <p> The T500 is almost identical to the X200, code-wise. See <a href="x200.html">x200.html</a>. </p> </div> <div class="section"> <h2 id="descriptor_difference"> Descriptor and Gbe differences </h2> <p> See <a href="../future/dumps/t500_x200_descriptor/descriptor_diff_t500_x200.txt">../future/dumps/t500_x200_descriptor/descriptor_diff_t500_x200.txt</a> and <a href="../future/dumps/t500_x200_descriptor/gbe_diff_t500_x200.txt">../future/dumps/t500_x200_descriptor/gbe_diff_t500_x200.txt</a> </p> <p> The patches above are based on the output from ich9deblob on a factory.rom image dumped from the T500 with a SOIC-8 4MiB flash chip. The patch re-creates the X200 descriptor/gbe source, so the commands were something like:<br/> $ <b>diff -u t500gbe x200gbe</b><br/> $ <b>diff -u t500descriptor x200descriptor</b> </p> <p> ME VSCC table is in a different place and a different size on the T500. Libreboot disables and removes the ME anyway, so it doesn't matter. </p> <p> The very same descriptor/gbe used on the X200 (generated by <a href="gm45_remove_me.html#ich9gen">ich9gen</a>) was re-used on the T500, and it still worked. </p> </div> <div class="section"> <h2 id="regdumps">Hardware register dumps</h2> <p> The coreboot wiki <a href="http://www.coreboot.org/Motherboard_Porting_Guide">shows</a> how to collect various logs useful in porting to new boards. Following are outputs from the T500: </p> <ul> <li> T500 with <b>Macronix MX25L3205D</b> flash chip (4MiB, SOIC-8) and Lenovo BIOS 3.13 7VET83WW (EC firmware 1.06): <ul> <li>lspci <a href="../future/dumps/t500log/lspci.log">output</a></li> <li>lsusb <a href="../future/dumps/t500log/lsusb.log">output</a></li> <li>lspnp <a href="../future/dumps/t500log/lspnp.log">output</a></li> <li>superiotool <a href="../future/dumps/t500log/superiotool.log">output</a></li> <li>inteltool <a href="../future/dumps/t500log/inteltool.log">output</a></li> <li>ectool <a href="../future/dumps/t500log/ectool.log">output</a></li> <li>msrtool <a href="../future/dumps/t500log/msrtool.log">output</a></li> <li>dmidecode <a href="../future/dumps/t500log/dmidecode.log">output</a></li> <li>biosdecode <a href="../future/dumps/t500log/biosdecode.log">output</a></li> <li>nvramtool <a href="../future/dumps/t500log/nvramtool.log">output</a></li> <li><a href="../future/dumps/t500log/dmesg.log">dmesg</a></li> <li>from stock firmware - flashrom probe <a href="../future/dumps/t500log/flashrom_info.log">output</a>, <li>from stock firmware - flashrom read (failed): <a href="../future/dumps/t500log/flashrom_read.log">output</a>, <li>from stock firmware - flashrom write (failed): <a href="../future/dumps/t500log/flashrom_write.log">flashrom_write.log</a></li> <li><a href="../future/dumps/t500log/pin_hwC0D0">/sys/class/sound/card0/hwC0D0/init_pin_configs</a></li> <li><a href="../future/dumps/t500log/codec%230">/proc/asound/card0/codec#0</a></li> <li><a href="../future/dumps/t500log/cpuinfo.log">/proc/cpuinfo</a></li> </ul> </li> </ul> <p> This one had a screen (1920x1200) that is currently incompatible. Working to fix it. EDID: </p> <pre> user@user-ThinkPad-T500:~/Desktop$ sudo i2cdump -y 2 0x50 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: XX ff ff ff ff ff ff 00 30 ae 55 40 00 00 00 00 X.......0?U@.... 10: 00 11 01 03 80 21 15 78 ea ba 70 98 59 52 8c 28 .????!?x??p?YR?( 20: 25 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 %PT...?????????? 30: 01 01 01 01 01 01 e7 3a 80 8c 70 b0 14 40 1e 50 ???????:??p??@?P 40: 24 00 4b cf 10 00 00 19 16 31 80 8c 70 b0 14 40 $.K??..??1??p??@ 50: 1e 50 24 00 4b cf 10 00 00 19 00 00 00 0f 00 d1 ?P$.K??..?...?.? 60: 0a 32 d1 0a 28 11 01 00 32 0c 00 00 00 00 00 fe ?2??(??.2?.....? 70: 00 4c 50 31 35 34 57 55 31 2d 54 4c 42 31 00 9a .LP154WU1-TLB1.? 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ </pre> <p> What happens: backlight turns on at boot, then turns off. At no point is there a working visual display. </p> <p> Another incompatible screen (EDID) 1680 x 1050 with the same issue: </p> <pre> EDID: 00 ff ff ff ff ff ff 00 30 ae 53 40 00 00 00 00 00 11 01 03 80 21 15 78 ea cd 75 91 55 4f 8b 26 21 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 a8 2f 90 e0 60 1a 10 40 20 40 13 00 4b cf 10 00 00 19 b7 27 90 e0 60 1a 10 40 20 40 13 00 4b cf 10 00 00 19 00 00 00 0f 00 b3 0a 32 b3 0a 28 14 01 00 4c a3 50 33 00 00 00 fe 00 4c 54 4e 31 35 34 50 33 2d 4c 30 32 0a 00 7e Extracted contents: header: 00 ff ff ff ff ff ff 00 serial number: 30 ae 53 40 00 00 00 00 00 11 version: 01 03 basic params: 80 21 15 78 ea chroma info: cd 75 91 55 4f 8b 26 21 50 54 established: 00 00 00 standard: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 descriptor 1: a8 2f 90 e0 60 1a 10 40 20 40 13 00 4b cf 10 00 00 19 descriptor 2: b7 27 90 e0 60 1a 10 40 20 40 13 00 4b cf 10 00 00 19 descriptor 3: 00 00 00 0f 00 b3 0a 32 b3 0a 28 14 01 00 4c a3 50 33 descriptor 4: 00 00 00 fe 00 4c 54 4e 31 35 34 50 33 2d 4c 30 32 0a extensions: 00 checksum: 7e Manufacturer: LEN Model 4053 Serial Number 0 Made week 0 of 2007 EDID version: 1.3 Digital display Maximum image size: 33 cm x 21 cm Gamma: 220% Check DPMS levels DPMS levels: Standby Suspend Off Supported color formats: RGB 4:4:4, YCrCb 4:2:2 First detailed timing is preferred timing Established timings supported: Standard timings supported: Detailed timings Hex of detail: a82f90e0601a1040204013004bcf10000019 Did detailed timing Detailed mode (IN HEX): Clock 122000 KHz, 14b mm x cf mm 0690 06b0 06f0 0770 hborder 0 041a 041b 041e 042a vborder 0 -hsync -vsync Hex of detail: b72790e0601a1040204013004bcf10000019 Detailed mode (IN HEX): Clock 122000 KHz, 14b mm x cf mm 0690 06b0 06f0 0770 hborder 0 041a 041b 041e 042a vborder 0 -hsync -vsync Hex of detail: 0000000f00b30a32b30a281401004ca35033 Manufacturer-specified data, tag 15 Hex of detail: 000000fe004c544e31353450332d4c30320a ASCII string: LTN154P3-L02 Checksum Checksum: 0x7e (valid) WARNING: EDID block does NOT fully conform to EDID 1.3. Missing name descriptor Missing monitor ranges bringing up panel at resolution 1680 x 1050 Borders 0 x 0 Blank 224 x 16 Sync 64 x 3 Front porch 32 x 1 Spread spectrum clock Single channel Polarities 1, 1 Data M1=2132104, N1=8388608 Link frequency 270000 kHz Link M1=236900, N1=524288 Pixel N=9, M1=24, M2=8, P1=1 Pixel clock 243809 kHz waiting for panel powerup panel powered up </pre> <p> For comparison, here is a working display (T400 screen, but was connected to a T500. Some T500 displays also work, but no EDID available on this page yet): </p> <pre> EDID: 00 ff ff ff ff ff ff 00 30 ae 31 40 00 00 00 00 00 12 01 03 80 1e 13 78 ea b3 85 95 58 53 8a 28 25 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 26 1b 00 7d 50 20 16 30 30 20 36 00 30 be 10 00 00 18 8b 16 00 7d 50 20 16 30 30 20 36 00 30 be 10 00 00 18 00 00 00 0f 00 81 0a 32 81 0a 28 14 01 00 30 e4 28 01 00 00 00 fe 00 4c 50 31 34 31 57 58 33 2d 54 4c 52 31 00 d8 Extracted contents: header: 00 ff ff ff ff ff ff 00 serial number: 30 ae 31 40 00 00 00 00 00 12 version: 01 03 basic params: 80 1e 13 78 ea chroma info: b3 85 95 58 53 8a 28 25 50 54 established: 00 00 00 standard: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 descriptor 1: 26 1b 00 7d 50 20 16 30 30 20 36 00 30 be 10 00 00 18 descriptor 2: 8b 16 00 7d 50 20 16 30 30 20 36 00 30 be 10 00 00 18 descriptor 3: 00 00 00 0f 00 81 0a 32 81 0a 28 14 01 00 30 e4 28 01 descriptor 4: 00 00 00 fe 00 4c 50 31 34 31 57 58 33 2d 54 4c 52 31 extensions: 00 checksum: d8 Manufacturer: LEN Model 4031 Serial Number 0 Made week 0 of 2008 EDID version: 1.3 Digital display Maximum image size: 30 cm x 19 cm Gamma: 220% Check DPMS levels DPMS levels: Standby Suspend Off Supported color formats: RGB 4:4:4, YCrCb 4:2:2 First detailed timing is preferred timing Established timings supported: Standard timings supported: Detailed timings Hex of detail: 261b007d502016303020360030be10000018 Did detailed timing Detailed mode (IN HEX): Clock 69500 KHz, 130 mm x be mm 0500 0530 0550 057d hborder 0 0320 0323 0329 0336 vborder 0 -hsync -vsync Hex of detail: 8b16007d502016303020360030be10000018 Detailed mode (IN HEX): Clock 69500 KHz, 130 mm x be mm 0500 0530 0550 057d hborder 0 0320 0323 0329 0336 vborder 0 -hsync -vsync Hex of detail: 0000000f00810a32810a2814010030e42801 Manufacturer-specified data, tag 15 Hex of detail: 000000fe004c503134315758332d544c5231 ASCII string: LP141WX3-TLR1 Checksum Checksum: 0xd8 (valid) WARNING: EDID block does NOT fully conform to EDID 1.3. Missing name descriptor Missing monitor ranges bringing up panel at resolution 1280 x 800 Borders 0 x 0 Blank 125 x 22 Sync 32 x 6 Front porch 48 x 3 Spread spectrum clock Single channel Polarities 1, 1 Data M1=1214600, N1=8388608 Link frequency 270000 kHz Link M1=134955, N1=524288 Pixel N=10, M1=14, M2=11, P1=1 Pixel clock 138857 kHz waiting for panel powerup panel powered up </pre> </div> <div class="section"> <p> Copyright © 2015 Francis Rowe <info@gluglug.org.uk><br/> This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions. A copy of the license can be found at <a href="../license.txt">../license.txt</a>. </p> <p> This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See <a href="../license.txt">../license.txt</a> for more information. </p> </div> </body> </html>