diff options
Diffstat (limited to 'docs/hcl/x200.md')
-rw-r--r-- | docs/hcl/x200.md | 266 |
1 files changed, 0 insertions, 266 deletions
diff --git a/docs/hcl/x200.md b/docs/hcl/x200.md deleted file mode 100644 index 9e476cf1..00000000 --- a/docs/hcl/x200.md +++ /dev/null @@ -1,266 +0,0 @@ ---- -title: ThinkPad X200 -... - -It is believed that all X200 laptops are compatible. X200S and X200 -Tablet will also work, [depending on the configuration](#x200s). - -It \*might\* be possible to put an X200 motherboard in an X201 chassis, -though this is currently untested by the libreboot project. The same may -also apply between X200S and X201S; again, this is untested. **It's -most likely true.** - -There are two possible flash chip sizes for the X200: 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. - -**The X200 laptops come with the ME (and sometimes AMT in addition) -before flashing libreboot. Libreboot disables and removes it by using a -modified descriptor: see [gm45\_remove\_me.html](gm45_remove_me.html)** -(contains notes, plus instructions) - -Flashing instructions can be found at -[../install/\#flashrom](../install/#flashrom) - -EC update {#ecupdate} -========= - -It is recommended that you update to the latest EC firmware version. The -[EC firmware](../../faq/#firmware-ec) is separate from -libreboot, so we don't actually provide that, but if you still have -Lenovo BIOS then you can just run the Lenovo BIOS update utility, which -will update both the BIOS and EC version. See: - -- [../install/index.html#flashrom](../install/index.html#flashrom) -- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk> - -NOTE: this can only be done when you are using Lenovo BIOS. How to -update the EC firmware while running libreboot is unknown. Libreboot -only replaces the BIOS firmware, not EC. - -Updated EC firmware has several advantages e.g. bettery battery -handling. - -Compatibility (without blobs) {#compatibility_noblobs} ------------------------------ - -### Hardware virtualization (vt-x) {#hwvirt} - -The X200, when run without CPU microcode updates in coreboot, currently -kernel panics if running QEMU with vt-x enabled on 2 cores for the -guest. With a single core enabled for the guest, the guest panics (but -the host is fine). Working around this in QEMU might be possible; if -not, software virtualization should work fine (it's just slower). - -On GM45 hardware (with libreboot), make sure that the *kvm* and -*kvm\_intel* kernel modules are not loaded, when using QEMU. - -The following errata datasheet from Intel might help with investigation: -<http://download.intel.com/design/mobile/specupdt/320121.pdf> - -Anecdotal reports from at least 1 user suggests that some models with -CPU microcode 1067a (on the CPU itself) might work with vt-x in -libreboot. - -X200S and X200 Tablet. {#x200s} ----------------------- - -X200S and X200 Tablet have raminit issues at the time of writing (GS45 -chipset. X200 uses GM45). - -X200S and X200 Tablet are known to work, but only with certain CPU+RAM -configurations. The current stumbling block is RCOMP and SFF, mentioned -in <https://www.cs.cmu.edu/~410/doc/minimal_boot.pdf>. - -The issues mostly relate to raminit (memory initialization). With an -unpatched coreboot, you get the following: -[text/x200s/cblog00.txt](text/x200s/cblog00.txt). No SODIMM combination -that was tested would work. At first glance, it looks like GS45 (chipset -that X200S uses. X200 uses GM45) is unsupported, but there is a -workaround that can be used to make certain models of the X200S work, -depending on the RAM. - -The datasheet for GS45 describes two modes: low-performance and -high-performance. Low performance uses the SU range of ultra-low voltage -procesors (SU9400, for example), and high-performance uses the SL range -of processors (SL9400, for example). According to datasheets, GS45 -behaves very similarly to GM45 when operating in high-performance mode. - -The theory then was that you could simply remove the checks in coreboot -and make it pass GS45 off as GM45; the idea is that, with a -high-performance mode CPU (SL9400, for example) it would just boot up -and work. - -This suspicion was confirmed with the following log: -[text/x200s/cblog01.txt](text/x200s/cblog01.txt). The memory modules in -this case are 2x4GB. ~~**However, not all configurations work: -[text/x200s/cblog02.txt](text/x200s/cblog02.txt) (2x2GB) and -[text/x200s/cblog03.txt](text/x200s/cblog03.txt) (1x2GB) show a failed -bootup.**~~ *False alarm. The modules were mixed (non-matching). X200S -with high-performance mode CPU will work so long as you use matching -memory modules (doesn't matter what size).* - -This was then pushed as a patch for coreboot, which can be found at -<http://review.coreboot.org/#/c/7786/> (libreboot merges this patch in -coreboot-libre now. Check the 'getcb' script in src or git). - -### Proper GS45 raminit {#x200s_raminit} - -A new northbridge gs45 should be added to coreboot, based on gm45, and a -new port x200st (X200S and X200T) should be added based on the x200 -port. - -This port would have proper raminit. Alternatively, gs45 (if raminit is -taken to be the only issue with it) can be part of gm45 northbridge -support (and X200S/Tablet being part of the X200 port) with conditional -checks in the raminit that make raminit work differently (as required) -for GS45. nico\_h and pgeorgi/patrickg in the coreboot IRC channel -should know more about raminit on gm45 and likely gs45. - -pgeorgi recommends to run SerialICE on the factory BIOS (for X200S), -comparing it with X200 (factory BIOS) and X200 (gm45 raminit code in -coreboot), to see what the differences are. Then tweak raminit code -based on that. - -Trouble undocking (button doesn't work) ----------------------------------------- - -This person seems to have a workaround: -<https://github.com/the-unconventional/libreboot-undock> - -LCD compatibility list {#lcd_supported_list} ----------------------- - -LCD panel list (X200 panels listed there): -<http://www.thinkwiki.org/wiki/TFT_display> - -All LCD panels for the X200, X200S and X200 Tablet are known to work. - -### AFFS/IPS panels {#ips} - -#### X200 - -Adapted from -<https://github.com/bibanon/Coreboot-ThinkPads/wiki/ThinkPad-X200> - -Look at wikipedia for difference between TN and IPS panels. IPS have -much better colour/contrast than a regular TN, and will typically have -good viewing angles. - -These seem to be from the X200 tablet. You need to find one without the -glass touchscreen protection on it (might be able to remove it, though). -It also must not have a digitizer on it (again, might be possible to -just simply remove the digitizer). - -- BOE-Hydis HV121WX4-120, HV121WX4-110 or HV121WX4-100 - cheap-ish, - might be hard to find - -- Samsung LTN121AP02-001 - common to find, cheap - -**If your X200 has an LED backlit panel in it, then you also need to get -an inverter and harness cable that is compatible with the CCFL panels. -To see which panel type you have, see -[\#led\_howtotell](#led_howtotell). If you need the inverter/cable, here -are part numbers: 44C9909 for CCFL LVDS cable with bluetooth and camera -connections, and 42W8009 or 42W8010 for the inverter.** - -There are glossy and matte versions of these. Matte means anti-glare, -which is what you want (in this authors opinion). - -Refer to the HMM (hardware maintenance manual) for how to replace the -screen. - -Sources: - -- [ThinkPad Forums - Matte AFFS Panel on - X200](http://forum.thinkpads.com/viewtopic.php?f=2&t=84941) -- [ThinkPad Forums - Parts for X200 AFFS - Mod](http://forum.thinkpads.com/viewtopic.php?p=660662#p660662) -- [ThinkWiki.de - X200 - Displayumbau](http://thinkwiki.de/X200_Displayumbau) - -### X200S - -<http://forum.thinkpads.com/viewtopic.php?p=618928#p618928> explains -that the X200S screens/assemblies are thinner. You need to replace the -whole lid with one from a normal X200/X201. - -How to tell if it has an LED or CCFL? {#led_howtotell} -------------------------------------- - -Some X200s have a CCFL backlight and some have an LED backlight, in -their LCD panel. This also means that the inverters will vary, so you -must be careful if ever replacing either the panel and/or inverter. (a -CCFL inverter is high-voltage and will destroy an LED backlit panel). - -CCFLs contain mercury. An X200 with a CCFL backlight will (****unless it -has been changed to an LED, with the correct inverter. Check with your -supplier!) the following: *"This product contains Lithium Ion Battery, -Lithium Battery and a lamp which contains mercury; dispose according to -local, state or federal laws"* (one with an LED backlit panel will say -something different). - -Hardware register dumps {#regdumps} ------------------------ - -The coreboot wiki -[shows](http://www.coreboot.org/Motherboard_Porting_Guide) how to -collect various logs useful in porting to new boards. Following are -outputs from the X200: - -- BIOS 3.15, EC 1.06 - - [hwdumps/x200/](hwdumps/x200/) - -RAM, S3 and microcode updates {#ram_s3_microcode} -============================= - -Not all memory modules work. Most of the default ones do, but you have -to be careful when upgrading to 8GiB; some modules work, some don't. - -Someone on reddit also did their own research on RAM compatibility: [on -this -post](https://www.reddit.com/r/libreboot/comments/5ax17e/liberated_x200_is_really_picky_with_memory/) - -[This page](http://www.forum.thinkpads.com/viewtopic.php?p=760721) might -be useful for RAM compatibility info (note: coreboot raminit is -different, so this page might be BS) - -pehjota started collecting some steppings for different CPUs on several -X200 laptops. You can get the CPUID by running:\ -\$ **dmesg | sed -n 's/\^.\* microcode: CPU0 -sig=0x\\(\[\^,\]\*\\),.\*\$/\\1/p'** - -What pehjota wrote: The laptops that have issues resuming from suspend, -as well as a laptop that (as I mentioned earlier in \#libreboot) won't -boot with any Samsung DIMMs, all have CPUID 0x10676 (stepping M0). - -What pehjota wrote: Laptops with CPUID 0x167A (stepping R0) resume -properly every time and work with Samsung DIMMs. I'll need to do more -testing on more units to better confirm these trends, but it looks like -the M0 microcode is very buggy. That would also explain why I didn't -have issues with Samsung DIMMs with the Lenovo BIOS (which would have -microcode updates). I wonder if VT-x works on R0. - -What pehjota wrote: As I said, 10676 is M0 and 1067A is R0; those are -the two CPUIDs and steppings for Intel Core 2 Duo P8xxx CPUs with -factory microcode. (1067 is the family and model, and 6 or A is the -stepping ID.) - -**TODO: check the CPUIDs and test S3 resume and/or KVM on any C2D -systems (including non-P8xxx ones, which I don't have here) you have -available. I'd be curious if you could confirm these results.** It -might not be coreboot that's buggy with raminit/S3; it might just be -down to the microcode updates. - -Unsorted notes {#unsorted} --------------- - - <sgsit> do you know if it's possible to flash thinkpads over the LPC debug connector at the front edge? - <sgsit> that would make life much easier for systems like this - <sgsit> all the Wistron manufactured systems have this thing called a "golden finger", normally at the front edge of the board - <sgsit> you can plug a board in which gives diagnostic codes but i'm wondering whether it is capable of more - <sgsit> http://www.endeer.cz/bios.tools/bios.html - -Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\ -Copyright © 2015 Patrick "P. J." McDermott <pj@pehjota.net>\ -This page is available under the [CC BY SA 4.0](../cc-by-sa-4.0.txt) |