Fun with SuperIO

While I’m waiting back for NVMe vendors (already one tentatively onboard!) I’ve started looking at “embedded controller” devices. The EC on your laptop historically used to just control the PS/2 keyboard and mouse, but now does fan control, power management, UARTs, GPIOs, LEDs, SMBUS, and various tasks the main CPU is too important to care about. Vendors issue firmware updates for this kind of device, but normally wrap up the EC update as part of the “BIOS” update as the system firmware and EC work together using various ACPI methods. Some vendors do the EC update out-of-band and so we need to teach fwupd about how to query the EC to get the model and version on that specific hardware. The Linux laptop vendor Tuxedo wants to update the EC and system firmware separately using the LVFS, and helpfully loaned me an InfinityBook Pro 13 that was immediately disassembled and connected to all kinds of exotic external programmers. On first impressions the N131WU seems quick, stable and really well designed internally — I’m sure would get a 10/10 for repairability.

At the moment I’m just concentrating on SuperIO devices from ITE. If you’re interested what SuperIO chip(s) you have on your machine you can either use superiotool from coreboot-utils or sensors-detect from lm_sensors. If you’ve got a SuperIO device from ITE please post what signature, vendor and model machine you have in the comments and I’ll ask if I need any more information from you. I’m especially interested in vendors that use devices with the signature 0x8587, which seems to be a favourite with the Clevo reference board. Thanks!

Published by

hughsie

Richard has over 10 years of experience developing open source software. He is the maintainer of GNOME Software, PackageKit, GNOME Packagekit, GNOME Power Manager, GNOME Color Manager, colord, and UPower and also contributes to many other projects and opensource standards. Richard has three main areas of interest on the free desktop, color management, package management, and power management. Richard graduated a few years ago from the University of Surrey with a Masters in Electronics Engineering. He now works for Red Hat in the desktop group, and also manages a company selling open source calibration equipment. Richard's outside interests include taking photos and eating good food.

11 thoughts on “Fun with SuperIO”

  1. I have Dell XPS 13 model 9333 (Haswell). sensors-detect says:
    Probing for Super-I/O at 0x4e/0x4f
    Trying family `National Semiconductor/ITE’… Yes
    Found unknown chip with ID 0x8587

  2. From my ThinkPads:
    – Found SMSC FDC37B80x/FDC37M707 (id=0x42, rev=0x01) at 0x4e
    – Found NSC PC87382 (sid=0xf4, srid=0x04) at 0x164e

    From desktop machine:
    – Found ITE IT8728F (id=0x8728, rev=0x0) at 0x2e

  3. I have a noname laptop (though I think it’s a Clevo one)
    sensors-detect gave :
    # sensors-detect revision $Revision$
    # System: Notebook W54_55SU1,SUW [Not Applicable] (laptop)
    # Kernel: 4.17.14-202.fc28.x86_64 x86_64
    # Processor: Intel(R) Core(TM) i5-4200M CPU @ 2.50GHz (6/60/3)

    Some Super I/O chips contain embedded sensors. We have to write to
    standard I/O ports to probe them. This is usually safe.
    Do you want to scan for Super I/O sensors? (YES/no):
    Probing for Super-I/O at 0x2e/0x2f
    Trying family `National Semiconductor/ITE’… Yes
    Found unknown chip with ID 0x8587
    Probing for Super-I/O at 0x4e/0x4f
    Trying family `National Semiconductor/ITE’… No
    Trying family `SMSC’… No
    Trying family `VIA/Winbond/Nuvoton/Fintek’… No
    Trying family `ITE’… No

    Then superiotool gave :

    Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x2e…
    Found SMSC SCH5317 (id=0x85, rev=0x87) at 0x2e

    1. This is useful; can you tell me where you purchased the laptop please, and if it had any “brand name” OEM seller? Thanks!

  4. I have a Clevo W740SU (branded Schenker S413, same as System76 Galago UltraPro 14″ or Tuxedo Book BU1403):

    # sensors-detect
    # System: Notebook W740SU [Not Applicable] (laptop)
    # Kernel: 4.18.1-arch1-1-ARCH x86_64
    # Processor: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz (6/70/1)
    Probing for Super-I/O at 0x2e/0x2f
    Trying family `National Semiconductor/ITE’… Yes
    Found unknown chip with ID 0x8587
    Probing for Super-I/O at 0x4e/0x4f
    Trying family `National Semiconductor/ITE’… No
    Trying family `SMSC’… No
    Trying family `VIA/Winbond/Nuvoton/Fintek’… No
    Trying family `ITE’… No

    Thank you for your effort!

Comments are closed.