t500.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <style type="text/css">
  7. @import url('../css/main.css');
  8. </style>
  9. <title>ThinkPad T500</title>
  10. </head>
  11. <body>
  12. <div class="section">
  13. <h1 id="pagetop">ThinkPad T500</h1>
  14. <p>
  15. It is believed that all or most T500 laptops are compatible.
  16. See notes about <a href="../install/t500_external.html#cpu_compatibility">CPU compatibility</a>
  17. for potential incompatibilities.
  18. </p>
  19. <p>
  20. There are two possible flash chip sizes for the T500: 4MiB (32Mbit) or 8MiB (64Mbit).
  21. This can be identified by the type of flash chip below the palmrest: 4MiB is SOIC-8, 8MiB
  22. is SOIC-16.
  23. </p>
  24. <p>
  25. <b>The T500 laptops come with the ME (and sometimes AMT in addition) before flashing libreboot. Libreboot disables and removes it
  26. by using a modified descriptor: see <a href="gm45_remove_me.html">gm45_remove_me.html</a></b> (contains notes, plus
  27. instructions)
  28. </p>
  29. <p>
  30. Flashing instructions can be found at <a href="../install/index.html#flashrom">../install/index.html#flashrom</a>
  31. </p>
  32. <p>
  33. <a href="index.html">Back to previous index</a>.
  34. </p>
  35. </div>
  36. <div class="section">
  37. <p>
  38. The T500 is almost identical to the X200, code-wise. See <a href="x200.html">x200.html</a>.
  39. </p>
  40. </div>
  41. <div class="section">
  42. <h2 id="descriptor_difference">
  43. Descriptor and Gbe differences
  44. </h2>
  45. <p>
  46. See
  47. <a href="../future/dumps/t500_x200_descriptor/descriptor_diff_t500_x200.txt">../future/dumps/t500_x200_descriptor/descriptor_diff_t500_x200.txt</a>
  48. and
  49. <a href="../future/dumps/t500_x200_descriptor/gbe_diff_t500_x200.txt">../future/dumps/t500_x200_descriptor/gbe_diff_t500_x200.txt</a>
  50. </p>
  51. <p>
  52. The patches above are based on the output from ich9deblob on a factory.rom image dumped from the T500
  53. with a SOIC-8 4MiB flash chip. The patch re-creates the X200 descriptor/gbe source, so the commands were
  54. something like:<br/>
  55. $ <b>diff -u t500gbe x200gbe</b><br/>
  56. $ <b>diff -u t500descriptor x200descriptor</b>
  57. </p>
  58. <p>
  59. ME VSCC table is in a different place and a different size on the T500. Libreboot disables and removes the ME
  60. anyway, so it doesn't matter.
  61. </p>
  62. <p>
  63. The very same descriptor/gbe used on the X200 (generated by <a href="gm45_remove_me.html#ich9gen">ich9gen</a>)
  64. was re-used on the T500, and it still worked.
  65. </p>
  66. </div>
  67. <div class="section">
  68. <h2 id="regdumps">Hardware register dumps</h2>
  69. <p>
  70. The coreboot wiki <a href="http://www.coreboot.org/Motherboard_Porting_Guide">shows</a>
  71. how to collect various logs useful in porting to new
  72. boards. Following are outputs from the T500:
  73. </p>
  74. <ul>
  75. <li>
  76. T500 with <b>Macronix MX25L3205D</b> flash chip (4MiB, SOIC-8)
  77. and Lenovo BIOS 3.13 7VET83WW (EC firmware 1.06):
  78. <ul>
  79. <li>lspci <a href="../future/dumps/t500log/lspci.log">output</a></li>
  80. <li>lsusb <a href="../future/dumps/t500log/lsusb.log">output</a></li>
  81. <li>lspnp <a href="../future/dumps/t500log/lspnp.log">output</a></li>
  82. <li>superiotool <a href="../future/dumps/t500log/superiotool.log">output</a></li>
  83. <li>inteltool <a href="../future/dumps/t500log/inteltool.log">output</a></li>
  84. <li>ectool <a href="../future/dumps/t500log/ectool.log">output</a></li>
  85. <li>msrtool <a href="../future/dumps/t500log/msrtool.log">output</a></li>
  86. <li>dmidecode <a href="../future/dumps/t500log/dmidecode.log">output</a></li>
  87. <li>biosdecode <a href="../future/dumps/t500log/biosdecode.log">output</a></li>
  88. <li>nvramtool <a href="../future/dumps/t500log/nvramtool.log">output</a></li>
  89. <li><a href="../future/dumps/t500log/dmesg.log">dmesg</a></li>
  90. <li>from stock firmware - flashrom probe <a href="../future/dumps/t500log/flashrom_info.log">output</a>,
  91. <li>from stock firmware - flashrom read (failed): <a href="../future/dumps/t500log/flashrom_read.log">output</a>,
  92. <li>from stock firmware - flashrom write (failed): <a href="../future/dumps/t500log/flashrom_write.log">flashrom_write.log</a></li>
  93. <li><a href="../future/dumps/t500log/pin_hwC0D0">/sys/class/sound/card0/hwC0D0/init_pin_configs</a></li>
  94. <li><a href="../future/dumps/t500log/codec%230">/proc/asound/card0/codec#0</a></li>
  95. <li><a href="../future/dumps/t500log/cpuinfo.log">/proc/cpuinfo</a></li>
  96. </ul>
  97. </li>
  98. </ul>
  99. <p>
  100. This one had a screen (1920x1200) that is currently incompatible. Working to fix it. EDID:
  101. </p>
  102. <pre>
  103. user@user-ThinkPad-T500:~/Desktop$ sudo i2cdump -y 2 0x50
  104. No size specified (using byte-data access)
  105. 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
  106. 00: XX ff ff ff ff ff ff 00 30 ae 55 40 00 00 00 00 X.......0?U@....
  107. 10: 00 11 01 03 80 21 15 78 ea ba 70 98 59 52 8c 28 .????!?x??p?YR?(
  108. 20: 25 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 %PT...??????????
  109. 30: 01 01 01 01 01 01 e7 3a 80 8c 70 b0 14 40 1e 50 ???????:??p??@?P
  110. 40: 24 00 4b cf 10 00 00 19 16 31 80 8c 70 b0 14 40 $.K??..??1??p??@
  111. 50: 1e 50 24 00 4b cf 10 00 00 19 00 00 00 0f 00 d1 ?P$.K??..?...?.?
  112. 60: 0a 32 d1 0a 28 11 01 00 32 0c 00 00 00 00 00 fe ?2??(??.2?.....?
  113. 70: 00 4c 50 31 35 34 57 55 31 2d 54 4c 42 31 00 9a .LP154WU1-TLB1.?
  114. 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  115. 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  116. a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  117. b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  118. c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  119. d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  120. e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  121. f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  122. </pre>
  123. <p>
  124. What happens: backlight turns on at boot, then turns off. At no point is there
  125. a working visual display.
  126. </p>
  127. <p>
  128. Another incompatible screen (EDID) 1680 x 1050 with the same issue:
  129. </p>
  130. <pre>
  131. EDID:
  132. 00 ff ff ff ff ff ff 00 30 ae 53 40 00 00 00 00
  133. 00 11 01 03 80 21 15 78 ea cd 75 91 55 4f 8b 26
  134. 21 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
  135. 01 01 01 01 01 01 a8 2f 90 e0 60 1a 10 40 20 40
  136. 13 00 4b cf 10 00 00 19 b7 27 90 e0 60 1a 10 40
  137. 20 40 13 00 4b cf 10 00 00 19 00 00 00 0f 00 b3
  138. 0a 32 b3 0a 28 14 01 00 4c a3 50 33 00 00 00 fe
  139. 00 4c 54 4e 31 35 34 50 33 2d 4c 30 32 0a 00 7e
  140. Extracted contents:
  141. header: 00 ff ff ff ff ff ff 00
  142. serial number: 30 ae 53 40 00 00 00 00 00 11
  143. version: 01 03
  144. basic params: 80 21 15 78 ea
  145. chroma info: cd 75 91 55 4f 8b 26 21 50 54
  146. established: 00 00 00
  147. standard: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
  148. descriptor 1: a8 2f 90 e0 60 1a 10 40 20 40 13 00 4b cf 10 00 00 19
  149. descriptor 2: b7 27 90 e0 60 1a 10 40 20 40 13 00 4b cf 10 00 00 19
  150. descriptor 3: 00 00 00 0f 00 b3 0a 32 b3 0a 28 14 01 00 4c a3 50 33
  151. descriptor 4: 00 00 00 fe 00 4c 54 4e 31 35 34 50 33 2d 4c 30 32 0a
  152. extensions: 00
  153. checksum: 7e
  154. Manufacturer: LEN Model 4053 Serial Number 0
  155. Made week 0 of 2007
  156. EDID version: 1.3
  157. Digital display
  158. Maximum image size: 33 cm x 21 cm
  159. Gamma: 220%
  160. Check DPMS levels
  161. DPMS levels: Standby Suspend Off
  162. Supported color formats: RGB 4:4:4, YCrCb 4:2:2
  163. First detailed timing is preferred timing
  164. Established timings supported:
  165. Standard timings supported:
  166. Detailed timings
  167. Hex of detail: a82f90e0601a1040204013004bcf10000019
  168. Did detailed timing
  169. Detailed mode (IN HEX): Clock 122000 KHz, 14b mm x cf mm
  170. 0690 06b0 06f0 0770 hborder 0
  171. 041a 041b 041e 042a vborder 0
  172. -hsync -vsync
  173. Hex of detail: b72790e0601a1040204013004bcf10000019
  174. Detailed mode (IN HEX): Clock 122000 KHz, 14b mm x cf mm
  175. 0690 06b0 06f0 0770 hborder 0
  176. 041a 041b 041e 042a vborder 0
  177. -hsync -vsync
  178. Hex of detail: 0000000f00b30a32b30a281401004ca35033
  179. Manufacturer-specified data, tag 15
  180. Hex of detail: 000000fe004c544e31353450332d4c30320a
  181. ASCII string: LTN154P3-L02
  182. Checksum
  183. Checksum: 0x7e (valid)
  184. WARNING: EDID block does NOT fully conform to EDID 1.3.
  185. Missing name descriptor
  186. Missing monitor ranges
  187. bringing up panel at resolution 1680 x 1050
  188. Borders 0 x 0
  189. Blank 224 x 16
  190. Sync 64 x 3
  191. Front porch 32 x 1
  192. Spread spectrum clock
  193. Single channel
  194. Polarities 1, 1
  195. Data M1=2132104, N1=8388608
  196. Link frequency 270000 kHz
  197. Link M1=236900, N1=524288
  198. Pixel N=9, M1=24, M2=8, P1=1
  199. Pixel clock 243809 kHz
  200. waiting for panel powerup
  201. panel powered up
  202. </pre>
  203. <p>
  204. For comparison, here is a working display (T400 screen, but was
  205. connected to a T500. Some T500 displays also work, but no EDID
  206. available on this page yet):
  207. </p>
  208. <pre>
  209. EDID:
  210. 00 ff ff ff ff ff ff 00 30 ae 31 40 00 00 00 00
  211. 00 12 01 03 80 1e 13 78 ea b3 85 95 58 53 8a 28
  212. 25 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
  213. 01 01 01 01 01 01 26 1b 00 7d 50 20 16 30 30 20
  214. 36 00 30 be 10 00 00 18 8b 16 00 7d 50 20 16 30
  215. 30 20 36 00 30 be 10 00 00 18 00 00 00 0f 00 81
  216. 0a 32 81 0a 28 14 01 00 30 e4 28 01 00 00 00 fe
  217. 00 4c 50 31 34 31 57 58 33 2d 54 4c 52 31 00 d8
  218. Extracted contents:
  219. header: 00 ff ff ff ff ff ff 00
  220. serial number: 30 ae 31 40 00 00 00 00 00 12
  221. version: 01 03
  222. basic params: 80 1e 13 78 ea
  223. chroma info: b3 85 95 58 53 8a 28 25 50 54
  224. established: 00 00 00
  225. standard: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
  226. descriptor 1: 26 1b 00 7d 50 20 16 30 30 20 36 00 30 be 10 00 00 18
  227. descriptor 2: 8b 16 00 7d 50 20 16 30 30 20 36 00 30 be 10 00 00 18
  228. descriptor 3: 00 00 00 0f 00 81 0a 32 81 0a 28 14 01 00 30 e4 28 01
  229. descriptor 4: 00 00 00 fe 00 4c 50 31 34 31 57 58 33 2d 54 4c 52 31
  230. extensions: 00
  231. checksum: d8
  232. Manufacturer: LEN Model 4031 Serial Number 0
  233. Made week 0 of 2008
  234. EDID version: 1.3
  235. Digital display
  236. Maximum image size: 30 cm x 19 cm
  237. Gamma: 220%
  238. Check DPMS levels
  239. DPMS levels: Standby Suspend Off
  240. Supported color formats: RGB 4:4:4, YCrCb 4:2:2
  241. First detailed timing is preferred timing
  242. Established timings supported:
  243. Standard timings supported:
  244. Detailed timings
  245. Hex of detail: 261b007d502016303020360030be10000018
  246. Did detailed timing
  247. Detailed mode (IN HEX): Clock 69500 KHz, 130 mm x be mm
  248. 0500 0530 0550 057d hborder 0
  249. 0320 0323 0329 0336 vborder 0
  250. -hsync -vsync
  251. Hex of detail: 8b16007d502016303020360030be10000018
  252. Detailed mode (IN HEX): Clock 69500 KHz, 130 mm x be mm
  253. 0500 0530 0550 057d hborder 0
  254. 0320 0323 0329 0336 vborder 0
  255. -hsync -vsync
  256. Hex of detail: 0000000f00810a32810a2814010030e42801
  257. Manufacturer-specified data, tag 15
  258. Hex of detail: 000000fe004c503134315758332d544c5231
  259. ASCII string: LP141WX3-TLR1
  260. Checksum
  261. Checksum: 0xd8 (valid)
  262. WARNING: EDID block does NOT fully conform to EDID 1.3.
  263. Missing name descriptor
  264. Missing monitor ranges
  265. bringing up panel at resolution 1280 x 800
  266. Borders 0 x 0
  267. Blank 125 x 22
  268. Sync 32 x 6
  269. Front porch 48 x 3
  270. Spread spectrum clock
  271. Single channel
  272. Polarities 1, 1
  273. Data M1=1214600, N1=8388608
  274. Link frequency 270000 kHz
  275. Link M1=134955, N1=524288
  276. Pixel N=10, M1=14, M2=11, P1=1
  277. Pixel clock 138857 kHz
  278. waiting for panel powerup
  279. panel powered up
  280. </pre>
  281. </div>
  282. <div class="section">
  283. <p>
  284. Copyright &copy; 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
  285. This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions.
  286. A copy of the license can be found at <a href="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a>.
  287. </p>
  288. <p>
  289. This document is distributed in the hope that it will be useful,
  290. but WITHOUT ANY WARRANTY; without even the implied warranty of
  291. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See <a href="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a> for more information.
  292. </p>
  293. </div>
  294. </body>
  295. </html>