Software properties gtk implies my cpu is unknown and not working.

Bug #1444682 reported by Brendan Perrine on 2015-04-15
54
This bug affects 11 people
Affects Status Importance Assigned to Milestone
software-properties (Ubuntu)
Medium
Unassigned
ubuntu-drivers-common (Ubuntu)
Medium
Unassigned

Bug Description

To reproduce install lubuntu 415 i386 on a t6500 core 2 duo cpu. I know I am installing 32 bit on 64 but it will show like in with both a braodcom 4322 which I have not yet installed the prorpietary driver and this intel cpu. Open additional drivers from the menu in lxde.
software-properties-gtk:
  Installed: 0.96.4
  Candidate: 0.96.4
  Version table:
 *** 0.96.4 0
        500 http://us.archive.ubuntu.com/ubuntu/ vivid/main i386 Packages
        100 /var/lib/dpkg/status
Description: Ubuntu Vivid Vervet (development branch)
Release: 15.04
https://gist.github.com/dabcbbc9bdcb7ed8d87d is the hardware tracker profile for this laptop.

I expected software-properties-gtk to not say my processor is unkown and not working because I have not installed the latest microcode. Instead it said this device which can use the proprietary intel microcode driver is unknown and not working and the only device this makes sense to be is the cpu.

I have a screenshot attached of the messages that make no sense.

ProblemType: Bug
DistroRelease: Ubuntu 15.04
Package: software-properties-gtk 0.96.4
ProcVersionSignature: Ubuntu 3.19.0-14.14-generic 3.19.3
Uname: Linux 3.19.0-14-generic i686
ApportVersion: 2.17.1-0ubuntu1
Architecture: i386
CurrentDesktop: LXDE
Date: Wed Apr 15 13:11:51 2015
InstallationDate: Installed on 2015-04-15 (0 days ago)
InstallationMedia: Lubuntu 15.04 "Vivid Vervet" - Beta i386 (20150415)
PackageArchitecture: all
SourcePackage: software-properties
UpgradeStatus: No upgrade log present (probably fresh install)

Brendan Perrine (walterorlin) wrote :
Brian Murray (brian-murray) wrote :

This can also be confirmed using the ubuntu-drivers cli:

bdmurray@blacklightning:~$ ubuntu-drivers devices
== cpu-microcode.py ==
driver : intel-microcode - distro non-free

Changed in software-properties (Ubuntu):
status: New → Confirmed
importance: Undecided → Medium
affects: software-properties (Ubuntu) → ubuntu-drivers-common (Ubuntu)
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu ISO testing tracker.

A list of all reports related to this bug can be found here:
http://iso.qa.ubuntu.com/qatracker/reports/bugs/1444682

tags: added: iso-testing
tags: added: wily
Changed in software-properties (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
Simon Quigley (tsimonq2) wrote :

Confirmed in Lubuntu Xenial Xerus Alpha 2.

Matt Sturgeon (mattsturgeon) wrote :

Confirmed in Xenial

Matt Sturgeon (mattsturgeon) wrote :

(with amd cpu):

    == cpu-microcode.py ==
    driver : amd64-microcode - distro non-free

Dimitri John Ledkov (xnox) wrote :

Please note that this is nothing new, this has been the case in vivid too. In general we detect cpu architecture and suggest installation of intel-microcode, which is normally included on the cd and installed.

http://blog.surgut.co.uk/2015/03/intel-cpu-microcode-support-in-ubuntu.html

it is recommended to install microcode by default.

the plugin in ubuntu-drivers code does the right thing. I have no idea if it needs to expose more metadata to display something nicer in the drivers dialog.

Simon Quigley (tsimonq2) wrote :

Not able to confirm in Yakkety yet because we are waiting for python-apt to be migrated from proposed, that fixes it for Yakkety.

moreje (j-redoute) wrote :

same for me, on Ubuntu 16.04, my CPU is listed unknown:unknown
I have an Intel i5-5250U Broadwell

Brian Murray (brian-murray) wrote :

The Unknown strings come from software-properties so this probably doesn't need fixing in ubuntu-drivers-common.

1359 widget = Gtk.Label.new("{}: {}".format(self.devices[device].get('vendor', _('Unknown')), self.devices[device].get('model', _('Unknown'))))

The devices detected are the following:

ipdb> self.devices
{'cpu-microcode.py': {'drivers': {'intel-microcode': {'from_distro': True, 'free': False}}}}

Having said that I don't know how software-properties would determine the right vendor and device. Additionally, I think all the devices here will have the same problem.

 $ ls /usr/share/ubuntu-drivers-common/detect/
arm-gles.py cpu-microcode.py open-vm-dkms.py sl-modem.py

So maybe those should return more than just the package to use.

md_5 (md-5) wrote :

```
╰─$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001184sv00003842sd00003778bc03sc00i00
model : GK104 [GeForce GTX 770]
vendor : NVIDIA Corporation
driver : nvidia-340 - distro non-free
driver : nvidia-367 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin

== cpu-microcode.py ==
driver : intel-microcode - distro non-free
```

cpu-microcode needs to return model and vendor for usage in software-properties.
Both are available in /proc/cpuinfo which is already where cpu-microcode looks:
```
vendor_id : GenuineIntel
model name : Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
```

md_5 (md-5) wrote :

Forgot to add, I'm on Yakkety (up to date as of 10/10/16) and it is not fixed.

FWIW, here are some points to consider when implementing this:

1. A multi-processor system may contain processors that differ in stepping, or for other reasons (e.g. ARM big.LITTLE). This *is* quite common on x86 servers and workstations. So, you might have more than one processor model to list.

2. The "vendor_id" and "model name" fields are not enough to single out the exact processor model, or for that matter, the microcode it needs for Intel processors. It is common for Intel to NOT change the processor model names when there is a bump in stepping, for example. And there are the (unsupported and unsupportable) Engineering Sample processors that people keep buying from the black market, and later sell to unsuspecting third-parties. I don't know if AMD does better.

3. I suggest augmenting the vendor_id and model name fields with:

3a. Family, model, stepping information (cpuinfo fields "cpu family", "model", "stepping"). They are in decimal in /proc/cpuinfo, but nobody uses them like that, so they should be reported in hexadecimal. The kernel actually has a suggested way to display this, which it uses for /lib/firmware/intel-ucode/* files: "%02x-%02x-%02x" (family, model, stepping).

3b. Microcode platform id (cpuinfo field "platform_id", currently being added upstream to the next Linus kernel -- platform_id is a number in decimal). It is enough to add this field only when present: on AMD it will be absent, on Intel it will be present in the future.

I suggest these fields to be reported as a single line to identify the "hardware":
GenuineIntel, Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz; FMS: 06-2a-07

or, on a kernel that reports platform_id in /proc/cpuinfo:
GenuineIntel, Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz; FMS: 06-2a-07 (id: 1)

4. Current microcode version is *relevant* (when it is too old, even the installer will malfunction, as seen with Intel Broadwell and Skylake), so it might also be useful to have it upfront in the screen. This is present in cpuinfo as well (field "microcode"), and should be reported in hexadecimal.

NOTE: I suggest compressing repeated sequences of spaces in the "model name" field.

(BTW: if reporting microcode revision in hexadecimal, it should be prefixed with 0x for clarity).

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers