[coreboot] New laptop: Lenovo ThinkPad X230 tablet, with dumps to go with it

Keith Hui buurin at gmail.com
Sat Sep 15 05:47:13 CEST 2012


Hi all,

I'm back. With a new laptop.

I'm now rocking a Lenovo x230 tablet, dual-booting Windows 7 and
Fuduntu, both 64-bit. Knowing the last time I contributed to coreboot
it was the good old 440BX when life was much simpler, it could be a
while before I can get up to speed again, so I'll for now just put
forth the obligatory lspci/superiotool dump to give any interested
parties a heads-up of what support needs to be programmed for.

Another interesting thing is it does UEFI.

Below is output of flashrom 0.9.6.1. I cannot get it to identify the
flash chip. lspci and superiotool dumps are attached.

# /usr/src/flashrom-0.9.6.1/flashrom -V -p internal
flashrom v0.9.6.1-r1564 on Linux 3.4.9-1.fu2012.x86_64 (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org

flashrom was built with libpci 3.1.7, GCC 4.6.3 20120306 (Red Hat
4.6.3-2), little endian
Command line (3 args): /usr/src/flashrom-0.9.6.1/flashrom -V -p internal
Calibrating delay loop... OS timer resolution is 1 usecs, 3243M loops
per second, 10 myus = 10 us, 100 myus = 119 us, 1000 myus = 1026 us,
10000 myus = 10097 us, 4 myus = 4 us, OK.
Initializing internal programmer
No coreboot table found.
DMI string system-manufacturer: "LENOVO"
DMI string system-product-name: "3434CTO"
DMI string system-version: "ThinkPad X230 Tablet"
DMI string baseboard-manufacturer: "LENOVO"
DMI string baseboard-product-name: "3434CTO"
DMI string baseboard-version: "Not Available"
DMI string chassis-type: "Notebook"
Laptop detected via DMI.
W836xx enter config mode worked or we were already in config mode.
W836xx leave config mode had no effect.
Active config mode, unknown reg 0x20 ID: 00.
Please send the output of "flashrom -V" to
flashrom at flashrom.org with W836xx: your board name: flashrom -V
as the subject to help us finish support for your Super I/O. Thanks.
========================================================================
WARNING! You seem to be running flashrom on an unsupported laptop.
Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See http://www.flashrom.org/Laptops for details.

If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
========================================================================
Aborting.
Error: Programmer initialization failed.
-------------- next part --------------
-[0000:00]-+-00.0  Intel Corporation Device [8086:0154]
           +-02.0  Intel Corporation Device [8086:0166]
           +-14.0  Intel Corporation Device [8086:1e31]
           +-16.0  Intel Corporation Device [8086:1e3a]
           +-19.0  Intel Corporation 82579LM Gigabit Network Connection [8086:1502]
           +-1a.0  Intel Corporation Device [8086:1e2d]
           +-1b.0  Intel Corporation Device [8086:1e20]
           +-1c.0-[02]----00.0  Ricoh Co Ltd Device [1180:e823]
           +-1c.1-[03]----00.0  Intel Corporation Centrino Ultimate-N 6300 [8086:4238]
           +-1c.2-[04-0b]--
           +-1d.0  Intel Corporation Device [8086:1e26]
           +-1f.0  Intel Corporation Device [8086:1e55]
           +-1f.2  Intel Corporation Device [8086:1e03]
           \-1f.3  Intel Corporation Device [8086:1e22]
-------------- next part --------------
superiotool r
Probing for ALi Super I/O at 0x3f0...
  Failed. Returned data: id=0xffff, rev=0xff
Probing for ALi Super I/O at 0x370...
  Failed. Returned data: id=0xffff, rev=0xff
Probing for Fintek Super I/O at 0x2e...
  Failed. Returned data: vid=0xffff, id=0xffff
Probing for Fintek Super I/O at 0x4e...
  Failed. Returned data: vid=0x0000, id=0x0000
Probing for Fintek Super I/O at 0x2e...
  Failed. Returned data: vid=0xffff, id=0xffff
Probing for Fintek Super I/O at 0x4e...
  Failed. Returned data: vid=0x0000, id=0x0000
Probing for ITE Super I/O (init=standard) at 0x25e...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=it8502e) at 0x25e...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=it8761e) at 0x25e...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=it8228e) at 0x25e...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=0x87,0x87) at 0x25e...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=standard) at 0x2e...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=it8502e) at 0x2e...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=it8761e) at 0x2e...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=it8228e) at 0x2e...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=0x87,0x87) at 0x2e...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=standard) at 0x4e...
  Failed. Returned data: id=0x0000, rev=0x0
Probing for ITE Super I/O (init=it8502e) at 0x4e...
  Failed. Returned data: id=0x0000, rev=0x0
Probing for ITE Super I/O (init=it8761e) at 0x4e...
  Failed. Returned data: id=0x0000, rev=0x0
Probing for ITE Super I/O (init=it8228e) at 0x4e...
  Failed. Returned data: id=0x0000, rev=0x0
Probing for ITE Super I/O (init=0x87,0x87) at 0x4e...
  Failed. Returned data: id=0x0000, rev=0x0
Probing for ITE Super I/O (init=legacy/it8661f) at 0x370...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for ITE Super I/O (init=legacy/it8671f) at 0x370...
  Failed. Returned data: id=0xffff, rev=0xf
Probing for NSC Super I/O at 0x2e...
  Failed. Returned data: port=0xff, port+1=0xff
Probing for NSC Super I/O at 0x4e...
  Failed. Returned data: sid=0x00, srid=0x00
Probing for NSC Super I/O at 0x15c...
  Failed. Returned data: port=0xff, port+1=0xff
Probing for NSC Super I/O at 0x164e...
  Failed. Returned data: port=0xff, port+1=0xff
Probing for Nuvoton Super I/O at 0x164e...
  Failed. Returned data: chip_id=0xffff
Probing for Nuvoton Super I/O (sid=0xfc) at 0x164e...
  Failed. Returned data: sid=0xff, id=0xffff, rev=0x00
Probing for Nuvoton Super I/O at 0x2e...
  Failed. Returned data: chip_id=0xffff
Probing for Nuvoton Super I/O (sid=0xfc) at 0x2e...
  Failed. Returned data: sid=0xff, id=0xffff, rev=0x00
Probing for Nuvoton Super I/O at 0x4e...
  Failed. Returned data: chip_id=0x0000
Probing for Nuvoton Super I/O (sid=0xfc) at 0x4e...
  Failed. Returned data: sid=0x00, id=0x00, rev=0x00
Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x2e...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x2e...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x4e...
Found SMSC FDC37N972 (id=0x0b, rev=0x03) at 0x4e
Register dump:
idx 02 20 21 22 23 24 25 26  27 28 29 2a 2b 2c 2d 2e  2f
val 00 0b 03 00 00 04 00 00  00 3a 00 00 00 00 00 00  00
def 00 0b 00 00 00 04 04 NA  NA 00 00 00 00 00 00 00  00
LDN 0x00 (Floppy)
idx 30 60 61 70 74 f0 f1 f2  f3 f4 f5
val 00 00 00 00 00 00 00 00  00 00 00
def 00 03 f0 06 02 0e 00 ff  RR 00 00
LDN 0x01 (Power management (PM1))
idx 30 60 61
val 01 00 00
def 00 00 00
LDN 0x03 (Parallel port)
idx 30 60 61 70 74 f0 f1
val 00 00 00 00 00 00 00
def 00 00 00 00 04 3c 00
LDN 0x04 (COM1)
idx 30 60 61 70 f0
val 00 00 00 00 00
def 00 00 00 00 00
LDN 0x05 (COM2)
idx 30 60 61 62 63 70 74 f0  f1 f2 f7 f8
val 00 00 00 00 00 00 00 00  00 00 00 00
def 00 00 00 00 00 00 04 00  02 03 00 00
LDN 0x06 (Real-time clock (RTC))
idx 30 60 61 62 63 70 f0 f1
val 00 00 00 00 00 00 00 00
def 00 00 70 00 74 00 00 NA
LDN 0x07 (Keyboard)
idx 30 60 61 70 72 f0
val 00 00 00 00 00 00
def 00 00 00 00 00 00
LDN 0x08 (Embedded controller (EC))
idx 30 60 61
val 00 00 00
def 00 00 62
LDN 0x09 (Mailbox)
idx 30 60 61
val 00 00 00
def 00 00 00
Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x4e...
  Failed. Returned data: id=0x00, rev=0x00
Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x162e...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x162e...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x164e...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x164e...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x3f0...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x3f0...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x370...
  Failed. Returned data: id=0xff, rev=0xff
Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x370...
  Failed. Returned data: id=0xff, rev=0xff
Probing for Winbond Super I/O (init=0x88) at 0x2e...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x89) at 0x2e...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x86,0x86) at 0x2e...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x87,0x87) at 0x2e...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x88) at 0x4e...
  Failed. Returned data: id/oldid=0x00/0x00, rev=0x00
Probing for Winbond Super I/O (init=0x89) at 0x4e...
  Failed. Returned data: id/oldid=0x00/0x00, rev=0x00
Probing for Winbond Super I/O (init=0x86,0x86) at 0x4e...
  Failed. Returned data: id/oldid=0x00/0x00, rev=0x00
Probing for Winbond Super I/O (init=0x87,0x87) at 0x4e...
  Failed. Returned data: id/oldid=0x00/0x00, rev=0x00
Probing for Winbond Super I/O (init=0x88) at 0x3f0...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x89) at 0x3f0...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x86,0x86) at 0x3f0...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x87,0x87) at 0x3f0...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x88) at 0x370...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x89) at 0x370...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x86,0x86) at 0x370...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x87,0x87) at 0x370...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x88) at 0x250...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x89) at 0x250...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x86,0x86) at 0x250...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for Winbond Super I/O (init=0x87,0x87) at 0x250...
  Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
Probing for VIA Super I/O at 0x3f0...
  PCI device 1106:0686 not found.
Probing for AMD EC Super I/O at 0xaa...
Probing for Server Engines Super I/O at 0x2e...
  Failed. Returned data: id=0xffff, rev=0xff
Probing for Infineon Super I/O at 0x2e...
  Failed. Returned data: id=0xff, rev=0xff
Probing for Infineon Super I/O at 0x4e...
  Failed. Returned data: id=0x0b, rev=0x03


More information about the coreboot mailing list