Skip to content

Instantly share code, notes, and snippets.

@Brainiarc7
Last active January 19, 2020 01:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Brainiarc7/be30be6d5b9c424bd3bcad5cb1adeac3 to your computer and use it in GitHub Desktop.
Save Brainiarc7/be30be6d5b9c424bd3bcad5cb1adeac3 to your computer and use it in GitHub Desktop.
These gists document installing and configuring Ubuntu 18.04LTS on the EVOC P775TM1-R

Installing Linux on the EVOC P775TM1-R:

For starters,

If you are dual booting, install Windows first, and partition from there with a tool such as Minitool. You'll only need two partitions, one for root and optionally, a small one for swap (say, 8GB). Partition them as appropriate, and when done, reboot into the UEFI menu and ensure that:

(a). Secure boot is disabled (otherwise you won't be able to load up proprietary drivers needed for the Nvidia GPU).

(b). Confirm that you're booting in UEFI mode ONLY. This is the default. CSM should remain disabled. Here's why.

(c). Ensure that SATA mode in the BIOS is set strictly to AHCI. RAID mode will NOT work with Linux.

The standard Ubuntu 18.04LTS ISOs will not work, for two reasons:

  1. The desktop edition acts up particularly badly with the discrete GPU, as nouveau in its' current state on the kernel version provided in the installer medium will lock and freeze up the system as soon as its' detected. This behavior persisted even after blacklisting the nouveau driver via the pre-boot grub option blacklist=nouveau, making for a swift dead end on using the live media on this machine.

  2. The Ubuntu server image offered on the main download page disallows the use of existing partitions on your SSDs, which could be detrimental if you're dual booting. And this is where the alternate ISO comes in. Fetch it from here.

Then, create a bootable flash drive using etcher.io . If you can get Rufus to work with your flash drives (I had no such luck), you can use that too. When done, leave the USB drive plugged in and reboot to your UEFI (firmware settings). The shortcut is F2. Therein, go to the exit menu, boot override, and select your flash drive's partition with Linux on it. It will be listed as "drive-name/partition-number".

At this point, you'll also want to ensure that you have a plugged in Ethernet cable at the ready. The installer will be able to configure it as appropriate (select DHCP, its' the fastest option when you get to that point).

Start the Ubuntu server installer as you would, and take note of the custom partitioning settings:

(a). For the partition designated for root, set its' file-system as ext4, mount point /. Simple.

(b). The swap partition will be automatically recognized, if you so chose to have one.

(c). The ESP, where the UEFI-based installation boots from, will also be automatically detected and mounted as needed. This is that 100MB~ partition that the Windows installer creates and is marked as 'SYSTEM RESERVED'. Read more about it here.

The rest should be pretty straight-forward, even if you're new to Linux. The guided installer is driven primarily by keyboard input, needs no mice and you won't run into any modesetting issues. Use this as a refresher.

When done, reboot. You'll notice that grub will be the default boot manager. Go back to Linux so we can finish setting up the desktop.

When done booting, log in (with the username and password you set up earlier) and install the latest updates first. Remember that ethernet cable you had to plug in? That interface was configured by the installer, and its' configuration remains persistent , thanks to a new abstraction layer in 18.04LTS named netplan.io.

Now, update your system:

Run:

sudo apt-get -y update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade

Next, install the Ubuntu desktop via tasksel:

sudo tasksel install ubuntu-desktop

You can see the list of alternate environments by running:

tasksel --list-task

For example, if you want KDE, you could run:

sudo tasksel install kubuntu-desktop

When you're done with that step, proceed to the next bit: The drivers for your GPUs.

Next, add the NVIDIA proprietary driver repository and Oibaf's PPAs as shown:

sudo add-apt-repository ppa:graphics-drivers/ppa -y && sudo add-apt-repository ppa:oibaf/graphics-drivers

Then update your software sources:

sudo apt-get update

You will also need to install the latest HWE kernel before proceeding:

sudo apt install linux-generic-hwe-18.04 linux-image-generic-hwe-18.04 linux-headers-generic-hwe-18.04 linux-signed-generic-hwe-18.04

You can read more on the HWE enablement stacks here, and the provisioning schedule as it applies to your platform (Desktop or Server deployments).

Followed by an upgrade (to deploy the latest FOSS GPU drivers for your Intel card):

sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade

And now, install the latest NVIDIA driver (R435 as of the time of writing):

sudo apt-get -y install nvidia-driver-435

For Conky, install the conky-all package:

sudo apt install conky-all

Then add the scheduling module to /etc/modules-load.d/modules.conf:

nano /etc/modules-load.d/modules.conf

Content:

mq-deadline

When done, make the following changes to your grub configuration file, ensuring that the line below looks exactly as shown (under /etc/default/grub, use your preferred editor):

GRUB_CMDLINE_LINUX_DEFAULT="acpi_osi=! acpi_osi='Windows 2015' blacklist=nouveau scsi_mod.use_blk_mq=1 elevator=mq-deadline quiet splash"

The important options there are as follows:

  1. The acpi_osi setting ensures that you won't hang on reboot, or get stuck with lspci. It compensates for how Linux handles ACPI table parsing on these newer models.

  2. Blacklist nouveau here because that module, if loaded, will lock up your system.

  3. The scsi_mod.use_blk_mq=1 elevator=mq-deadline option enables the block multi-queue mode with the deadline scheduler in place for all block devices on the system. Ideal for SSDs.

Now, generate new grub configs by running:

sudo update-grub

And reboot at this stage.

When you boot up, you'll be greeted by the fruits of your labor as shown below: A clean, minimalist Ubuntu desktop that you can tweak to your heart's content.

So far, no show stoppers encountered so far.

Here's the boot log with the ACPI _OSI override above enabled:

[    0.000000] BIOS-e820: [mem 0x000000003b2de000-0x000000003b2defff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x000000004ef4c000-0x000000004efe8fff] ACPI NVS
[    0.000000] efi:  ACPI 2.0=0x4ef4c000  ACPI=0x4ef4c000  SMBIOS=0x4fde0000  SMBIOS 3.0=0x4fddf000  ESRT=0x49d04918 
[    0.016546] ACPI: Early table checksum verification disabled
[    0.016548] ACPI: RSDP 0x000000004EF4C000 000024 (v02 ALASKA)
[    0.016550] ACPI: XSDT 0x000000004EF4C0A0 0000BC (v01 ALASKA A M I    01072009 AMI  00010013)
[    0.016552] ACPI: FACP 0x000000004EF6EDC8 000114 (v06 ALASKA A M I    01072009 AMI  00010013)
[    0.016555] ACPI: DSDT 0x000000004EF4C1F0 022BD3 (v02 ALASKA A M I    01072009 INTL 20160422)
[    0.016556] ACPI: FACS 0x000000004EFB8F00 000040
[    0.016557] ACPI: APIC 0x000000004EF6EEE0 00012C (v03 ALASKA A M I    01072009 AMI  00010013)
[    0.016558] ACPI: FPDT 0x000000004EF6F010 000044 (v01 ALASKA A M I    01072009 AMI  00010013)
[    0.016560] ACPI: FIDT 0x000000004EF6F058 00009C (v01 ALASKA A M I    01072009 AMI  00010013)
[    0.016561] ACPI: MCFG 0x000000004EF6F0F8 00003C (v01 ALASKA A M I    01072009 MSFT 00000097)
[    0.016562] ACPI: SSDT 0x000000004EF6F138 0003A3 (v01 SataRe SataTabl 00001000 INTL 20160422)
[    0.016563] ACPI: SSDT 0x000000004EF6F4E0 003776 (v01 NvdRef NvdTabl  00001000 INTL 20160422)
[    0.016565] ACPI: SSDT 0x000000004EF72C58 0014AD (v02 SaSsdt SaSsdt   00003000 INTL 20160422)
[    0.016566] ACPI: HPET 0x000000004EF74108 000038 (v01 INTEL  KBL      00000001 MSFT 0000005F)
[    0.016567] ACPI: UEFI 0x000000004EF74140 000048 (v01 ALASKA A M I    00000002      01000013)
[    0.016568] ACPI: SSDT 0x000000004EF74188 0017AE (v02 CpuRef CpuSsdt  00003000 INTL 20160422)
[    0.016570] ACPI: SSDT 0x000000004EF75938 00165F (v02 INTEL  PtidDevc 00001000 INTL 20160422)
[    0.016571] ACPI: SSDT 0x000000004EF76F98 0002E9 (v02 INTEL  Wwan     00000001 INTL 20160422)
[    0.016572] ACPI: DBGP 0x000000004EF77288 000034 (v01 INTEL           00000002 MSFT 0000005F)
[    0.016573] ACPI: DBG2 0x000000004EF772C0 000054 (v00 INTEL           00000002 MSFT 0000005F)
[    0.016574] ACPI: BGRT 0x000000004EF77318 000038 (v01 ALASKA A M I    01072009 AMI  00010013)
[    0.016575] ACPI: TPM2 0x000000004EF77350 000034 (v04 ALASKA A M I    00000001 AMI  00000000)
[    0.016577] ACPI: ASF! 0x000000004EF77388 0000A0 (v32 INTEL   HCG     00000001 TFSM 000F4240)
[    0.016578] ACPI: WSMT 0x000000004EF77428 000028 (v01 ALASKA A M I    01072009 AMI  00010013)
[    0.016582] ACPI: Local APIC address 0xfee00000
[    0.206992] ACPI: PM-Timer IO Port: 0x1808
[    0.206993] ACPI: Local APIC address 0xfee00000
[    0.206998] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.206998] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
[    0.206999] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
[    0.206999] ACPI: LAPIC_NMI (acpi_id[0x04] high edge lint[0x1])
[    0.206999] ACPI: LAPIC_NMI (acpi_id[0x05] high edge lint[0x1])
[    0.206999] ACPI: LAPIC_NMI (acpi_id[0x06] high edge lint[0x1])
[    0.207000] ACPI: LAPIC_NMI (acpi_id[0x07] high edge lint[0x1])
[    0.207000] ACPI: LAPIC_NMI (acpi_id[0x08] high edge lint[0x1])
[    0.207000] ACPI: LAPIC_NMI (acpi_id[0x09] high edge lint[0x1])
[    0.207000] ACPI: LAPIC_NMI (acpi_id[0x0a] high edge lint[0x1])
[    0.207001] ACPI: LAPIC_NMI (acpi_id[0x0b] high edge lint[0x1])
[    0.207001] ACPI: LAPIC_NMI (acpi_id[0x0c] high edge lint[0x1])
[    0.207001] ACPI: LAPIC_NMI (acpi_id[0x0d] high edge lint[0x1])
[    0.207001] ACPI: LAPIC_NMI (acpi_id[0x0e] high edge lint[0x1])
[    0.207002] ACPI: LAPIC_NMI (acpi_id[0x0f] high edge lint[0x1])
[    0.207002] ACPI: LAPIC_NMI (acpi_id[0x10] high edge lint[0x1])
[    0.207030] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.207030] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.207031] ACPI: IRQ0 used by override.
[    0.207031] ACPI: IRQ9 used by override.
[    0.207032] Using ACPI (MADT) for SMP configuration information
[    0.207033] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.207321] ACPI: _OSI method disabled
[    0.313960] ACPI: Core revision 20181213
[    0.314052] ACPI: Overriding _OS definition to 'Linux'
[    0.364478] PM: Registering ACPI NVS region [mem 0x3b2de000-0x3b2defff] (4096 bytes)
[    0.364478] PM: Registering ACPI NVS region [mem 0x4ef4c000-0x4efe8fff] (643072 bytes)
[    0.364478] ACPI: bus type PCI registered
[    0.364478] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.367205] ACPI: Added _OSI(Module Device)
[    0.367205] ACPI: Added _OSI(Processor Device)
[    0.367205] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.367205] ACPI: Added _OSI(Processor Aggregator Device)
[    0.367205] ACPI: Added _OSI(Linux-Dell-Video)
[    0.367205] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    0.367205] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
[    0.390405] ACPI: 7 ACPI AML tables successfully acquired and loaded
[    0.457278] ACPI: Dynamic OEM Table Load:
[    0.457282] ACPI: SSDT 0xFFFF94515F3E3800 000759 (v02 PmRef  Cpu0Ist  00003000 INTL 20160422)
[    0.457664] ACPI: \_PR_.PR00: _OSC native thermal LVT Acked
[    0.458276] ACPI: Dynamic OEM Table Load:
[    0.458279] ACPI: SSDT 0xFFFF94515EF67C00 0003FF (v02 PmRef  Cpu0Cst  00003001 INTL 20160422)
[    0.458850] ACPI: Dynamic OEM Table Load:
[    0.458854] ACPI: SSDT 0xFFFF94515F327000 000D14 (v02 PmRef  ApIst    00003000 INTL 20160422)
[    0.459647] ACPI: Dynamic OEM Table Load:
[    0.459649] ACPI: SSDT 0xFFFF94515EF63000 00030A (v02 PmRef  ApCst    00003000 INTL 20160422)
[    0.463248] ACPI: EC: EC started
[    0.463248] ACPI: EC: interrupt blocked
[    0.464809] ACPI: \_SB_.PCI0.LPCB.EC__: Used as first EC
[    0.464810] ACPI: \_SB_.PCI0.LPCB.EC__: GPE=0x3, EC_CMD/EC_SC=0x66, EC_DATA=0x62
[    0.464811] ACPI: \_SB_.PCI0.LPCB.EC__: Used as boot DSDT EC to handle transactions
[    0.464811] ACPI: Interpreter enabled
[    0.464839] ACPI: (supports S0 S3 S4 S5)
[    0.464839] ACPI: Using IOAPIC for interrupt routing
[    0.464865] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.465244] ACPI: Enabled 9 GPEs in block 00 to 7F
[    0.466924] ACPI: Power Resource [PG00] (on)
[    0.471689] ACPI BIOS Error (bug): Could not resolve [\_SB.PAGD._STA._OSI], AE_NOT_FOUND (20181213/psargs-330)
[    0.471695] ACPI Error: Method parse/execution failed \_SB.PAGD._STA, AE_NOT_FOUND (20181213/psparse-531)
[    0.473541] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-fe])
[    0.487368] ACPI BIOS Error (bug): Could not resolve [\_SB.PAGD._STA._OSI], AE_NOT_FOUND (20181213/psargs-330)
[    0.487373] ACPI Error: Method parse/execution failed \_SB.PAGD._STA, AE_NOT_FOUND (20181213/psparse-531)
[    0.487431] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.487476] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 *10 11 12 14 15)
[    0.487521] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.487564] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.487606] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.487649] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.487692] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.487733] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.488163] ACPI: EC: interrupt unblocked
[    0.488177] ACPI: EC: event unblocked
[    0.488215] ACPI: \_SB_.PCI0.LPCB.EC__: GPE=0x3, EC_CMD/EC_SC=0x66, EC_DATA=0x62
[    0.488216] ACPI: \_SB_.PCI0.LPCB.EC__: Used as boot DSDT EC to handle transactions and events
[    0.488265] ACPI: bus type USB registered
[    0.506477] PCI: Using ACPI for IRQ routing
[    0.536494] pnp: PnP ACPI init
[    0.536637] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.536705] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.536715] pnp 00:02: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.536743] system 00:03: Plug and Play ACPI device, IDs INT3f0d PNP0c02 (active)
[    0.536758] pnp 00:04: Plug and Play ACPI device, IDs PNP0303 (active)
[    0.536839] pnp 00:05: Plug and Play ACPI device, IDs SYN1220 PNP0f13 (active)
[    0.537080] system 00:06: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.537115] system 00:07: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.537323] system 00:08: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.538169] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.538441] ACPI BIOS Error (bug): Could not resolve [\_SB.PAGD._STA._OSI], AE_NOT_FOUND (20181213/psargs-330)
[    0.538446] ACPI Error: Method parse/execution failed \_SB.PAGD._STA, AE_NOT_FOUND (20181213/psparse-531)
[    0.538640] pnp: PnP ACPI: found 10 devices
[    0.889559] ACPI: AC Adapter [AC] (on-line)
[    0.889616] ACPI: Power Button [PWRB]
[    0.889631] ACPI: Sleep Button [SLPB]
[    0.889645] ACPI: Lid Switch [LID0]
[    0.889661] ACPI: Power Button [PWRF]
[    0.890155] ACPI: Thermal Zone [TZ0] (66 C)
[    0.890804] battery: ACPI: Battery Slot [BAT0] (battery present)
[    1.115308] ACPI: Video Device [PEGP] (multi-head: yes  rom: no  post: no)
[    1.463625] ata4.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
[    1.463626] ata4.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
[    1.463626] ata4.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
[    1.467401] ata4.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
[    1.467402] ata4.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
[    1.467403] ata4.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
[    1.500750] ata3.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
[    1.500751] ata3.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
[    1.500752] ata3.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
[    1.504749] ata3.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
[    1.504750] ata3.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
[    1.504751] ata3.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
[   11.067094] ACPI Warning: \_SB.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20181213/nsarguments-66)

Continue on to system monitoring with conky below.

System monitoring:

See the conky script below. Note that you'll need to set hddtemp in daemon mode if you want HDD temps in the app:

Notes:

This laptop has two Samsung 860 Evo 4 TB SSDs in the 2.5" drive bays. The temperature sensor on this drive isn't known to hddtemp, so we must add its' entry.

First, check the drive's SMART data output for temperature sensor data and look for the field "ID#":

sudo smartctl /dev/sda -a | grep -i Temp

190 Airflow_Temperature_Cel 0x0032   069   054   000    Old_age   Always       -       31

Now add this to hddtemp's database file, /etc/hddtemp.db, such that the bottom of the file looks like this:

tail -n 3 /etc/hddtemp.db

#Samsung 860 Evo 4TB:
"Samsung SSD 860 EVO 4TB"					 190 C "Label for SSD 4TB"

One liner:

sudo su
echo '"Samsung SSD 860 EVO 4TB"					 190 C "Label for SSD 4TB"' >> /etc/hddtemp.db

When done, /etc/hddtemp.db should resemble this:

#
# Insert a regular expression for support of the model or the serie of your hard drive.
# If you don't know what to put in the second field, put the number
# that appears most often for your brand :o)
# A value of zero meens that we know that the drive doesn't have
# a temperature sensor (you can set the unit to C or F).
#
############################################################################
# The following list was found at (http://www.almico.com/forumharddisks.php)
# If your drive is in the list send me a mail.
#
# Manufacturer   Model   Size   Notes
# FUJITSU FUJITSU MPF3102AH 10.0GB
# FUJITSU FUJITSU MPG3204AH E 20.0GB
# FUJITSU FUJITSU MPG3307AT 30.0GB
# FUJITSU FUJITSU MPG3409AH 40.0GB
# FUJITSU FUJITSU MPG3409AH EF 40.0GB
# HITACHI HITACHI_DK23CA-10 9.8GB
# HITACHI HITACHI_DK23CA-15 14.7GB
# SAMSUNG SAMSUNG SV3012H 29.4GB
# SEAGATE ST310210A 10.0GB
# SEAGATE ST310211A 9.8GB
# SEAGATE ST310215A 10.0GB
# SEAGATE ST315320A 14.9GB
# SEAGATE ST320410A 19.6GB
# SEAGATE ST320413A 19.6GB
# SEAGATE ST320420A 19.9GB
# SEAGATE ST330610A 29.3GB
# SEAGATE ST330620A 29.3GB
# SEAGATE ST330621A 29.3GB
# SEAGATE ST330630A 29.9GB
# SEAGATE ST340016A 39.1GB
# SEAGATE ST340810ACE 39.1GB
# SEAGATE ST380020ACE 78.2GB
# WESTERN DIGITAL WDC AC210200D 10.0GB
# WESTERN DIGITAL WDC AC29100D 8.9GB
# WESTERN DIGITAL WDC AC420400D 19.9GB
# WESTERN DIGITAL WDC WD102AA 10.0GB
#
#################################################

########################################
############# ExcelStor drives
########################################
# "ExcelStor Technology CT215"    ??? ? "ExcelStor CT215"


########################################
############# Fujitsu drives
########################################
"FUJITSU MHM2100AT"		0    C  "Fujitsu MHM2100AT"


########################################
############# Hitachi drives
########################################
"HITACHI_DK228A-65"		0    C  "Hitachi DK228A-65"


########################################
############# IBM drives
########################################

# DJSA serie is using F0h command to report temperature and also have
# SMART capabilties but it was reported not to work.
# "DJSA-2(30|32|10|20|05)"	0    C  "IBM Travelstar 20GN, 32GH, 30GT series"

"IBM-DARA-212000"               0    C  "IBM Travelstar 12GN"
"IBM-DTTA-35*"			0    C  "IBM Deskstar 16GP serie"

# according to specifications they do not seems to have sensor
# but I prefer waiting for a report
#"IBM-DTTA-37*"			0    C  "IBM Deskstar 14GXP serie"

"IBM-DJNA-35.*"                 231  C  "IBM Deskstar 25 GP serie"
"IBM-DJNA-37.*"                 231  C  "IBM Deskstar 22 GXP serie"
"IBM-DHEA-(34330|36480)"	0    C  "IBM Deskstar 5 serie"
"IBM-DHEA-(34331|36481|38451)"	0    C  "IBM Deskstar 8 serie"
"IBM-DPTA-37.*"                 231  C  "IBM Deskstar 34GXP serie"
"IBM-DPTA-35.*"                 231  C  "IBM Deskstar 37GP serie"


########################################
############# Maxtor drives
########################################
#"Maxtor 2B0[012][04568]H1"				???  C  "Maxtor Fireball 541DX"
# which one must I trust ?
#"Maxtor 4D040H2"					9    C	"Maxtor DiamondMax D540X-4D"
#"Maxtor 4D040H2"                        		0    C  "Maxtor 4D040H2"
#"Maxtor 4D080H4"					12   C	"Maxtor DiamondMax D540X-4D"
#"Maxtor 4D060H3"					12   C	"Maxtor DiamondMax D540X-4D"
#"Maxtor 4D080H4"					9    C	"Maxtor DiamondMax D540X-4D"
"Maxtor 5(1024|1369|2049|2732|3073|4098)U(2|3|4|6|8)"	0    C	"Maxtor DiamondMax Plus 40"
"Maxtor 5T0[24]0H[24]"					0    C  "Maxtor DiamondMax Plus 60"
"Maxtor 94098U8"			 		11   C  "Maxtor DiamondMax 40 94098U8"


########################################
############# Quantum drives
########################################
"QUANTUM FIREBALLP AS40.0"		0  C  "Quantum Fireball AS40"
"QUANTUM FIREBALL CX10.2A"		0  C  "Quantum Fireball CX10.2A"
#"QUANTUM FIREBALLlct10 20"		4  C  "Quantum Fireball CT10 20GB"
# I suspect the QUANTUM FIREBALL_TM2110A to have a sensor in field 9...
# "QUANTUM FIREBALL_TM2110A"		9  C  "Quantum Fireball TM2110A"


########################################
############# Samsung drives
########################################
# somenone reported a problem with the SP8004H which reports a temperature
# 10°C below the ambient temperature
"SAMSUNG SW0434A"					0    C  "Samsung SW0434A"
"SAMSUNG SV0432A"					0    C  "Samsung SV0432A"
"SAMSUNG SV3002H"					0    C  "Samsung SpinPoint V30 serie"
#"SAMSUNG SV(0221|0602|0813|1204)H"			9    C  "Samsung SpinPoint V60 serie"


########################################
############# Seagate drives
########################################
"Seagate Technology 1275MB - ST31276A"	0    C  "Seagate ST31276A"
"ST3412A"				0    C  "Seagate ST3412A"
"ST38641A"                              0    C  "Seagate ST38641A"
"ST310210A"				0    C  "Seagate ST310210A"
"ST310220A"				0    C  "Seagate ST310220A"
# SEAGATE ST313021A 13.0GB
"ST313021A"                             0    C  "Seagate U8 ST313021A"
"ST310240A"				0    C  "Seagate Medalist 10240 Ultra ATA-3"
"ST320423A"				0    C  "Seagate U10 20423, Ultra ATA/66"


########################################
############# TOSHIBA Laptops
########################################
"MK4313MAT"				220  C  "Toshiba MK4313MAT"
"TOSHIBA MK1517GAP"			0    C  "Toshiba MK1517GAP"
"TOSHIBA MK2018GAS"			226  F  "Toshiba MK2018GAS"

"TOSHIBA MK3017GAP"			0    C  "Toshiba MK3017GAP"

#"TOSHIBA MK4019GAX"			222  C  "Toshiba MK4019GAX"


########################################
############# Western Digital drives
########################################
# WDC AC310100B and WDC AC2850F are reported not working
# no more informations were given
"WDC AC22000L"							  0 C "Western Digital Caviar AC22000"
"WDC AC420400D"                 				231 C "Western Digital Caviar AC420400D"
"WDC AC418000D"							231 C "Western Digital AC418000D"
"WDC WD135BA"							231 C "Western Digital WD135BA"

"WDC WD100EB-00BHF0"            				  0 C "Western Digital 100EB-00BHF0"
"WDC WD200BB-00AUA1"            				  0 C "Western Digital Caviar WD200BB"
#"WDC WD200BB-60DGA0"						  0 C "Western Digital Caviar WD200BB"
"WDC WD300BB-00CAA0"						  0 C "Western Digital WD300BB"
"WDC WD400BB-00CAA0"						  0 C "Western Digital 400BB-00CAA0"
#"WDC WD400BB-00GFA0"						  0 C ""
"WDC WD400BB-(18CA|00DE)A0"     				  0 C "Western Digital Caviar WD400BB"
"WDC WD400EB-00CPF0"						  0 C "Western Digital 400EB-00CPF0"
"WDC WD600BB-32BSA0"						  0 C "Western Digital 600BB-32BSA0"
"WDC WD800BB-00CAA1"						  0 C "Western Digital WD800BB-00CAA1"
"WDC WD800JB-00CRA1"            				  0 C "Western Digital Caviar WD800JB"

# not sure for next
# "WDC WD1200JB-00CRA1"		9   C "Western Digital 1200JB-00CRA1"
# "WDC WD273BA"			9   C "Western Digital WD273BA"

#Samsung 860 line:

"Samsung SSD 860 EVO 4TB"					 190 C "Label for SSD 4TB"

The very first field is the sensors attribute id#, "190" in this case.

For hard drive temperature, ensure that hddtemp is running as a daemon. You can do that by editing /etc/default/hddtemp and ensuring that RUN_DAEMON is set to TRUE. When done, restart the hddtemp unit service by:

sudo systemctl restart hddtemp.service

On autostart: https://wiki.archlinux.org/index.php/conky#Autostart

Getting the WMI keys (airplane mode, etc) to work:

Add tuxedo's package repositories to your Linux distribution. Note that unlike System76, whose drivers will only work on their systems, Tuxedo's repos contain the package mentioned above. After adding the repositories, proceed to install tuxedo-wmi when done and reboot.

Ubuntu / Lubuntu / Kubuntu / Xubuntu / Gnome / Cinnamon and Mate:

From the main menu / dashboard, select Software & Updates and go to the Other Software tab . Select Add ... and enter as APT line:

deb http://deb.tuxedocomputers.com/ubuntu <UBUNTU_CODENAME> main
deb http://graphics.tuxedocomputers.com/ubuntu <UBUNTU_CODENAME> main
deb http://intel.tuxedocomputers.com/ubuntu <UBUNTU_CODENAME> main
deb http://kernel.tuxedocomputers.com/ubuntu <UBUNTU_CODENAME> main

Please replace <UBUNTU_CODENAME> with the version alias of your system.

Codename for Ubuntu 14.04: trusty 
Codename for Ubuntu 16.04: xenial 
Codename for Ubuntu 16.10: yakkety 
Codename for Ubuntu 17.04: zesty
Codename for Ubuntu 18.04: Bionic

Check the key data (see below) and confirm with `i (always trust)`.

Handling Key installations for package signing verification:

GnuPG Keys:

Packages (and metadata) of the repositories are signed with a GnuPG (GPG) key to verify their authenticity. In particular, when importing the public key, check the respective fingerprint / fingerprint for compliance with the data given below before importing the key.

Ubuntu / Lubuntu / Kubuntu / Xubuntu / Gnome / Cinnamon and Mate:

Import the public key by running:

wget -O - http://deb.tuxedocomputers.com/0x54840598.pub.asc | sudo apt-key add -
sudo apt-key adv - fingerprint 54840598

Verify the key with:

pub 4096R / 54840598 2016-05-12
Key fingerprint = E5D0 C320 BBCE 8D21 CDF6 0DD5 120E D28D 5484 0598
uid TUXEDO Computers GmbH (www.tuxedocomputers.com) <tux@tuxedocomputers.com>
sub 4096R / A5842AD4 2016-05-12

When done, update the apt cache:

sudo apt -y update

Then install the necessary packages:

sudo apt install realtek-clevo-pin-fix-dkms tuxedo-wmi-dkms tuxedo-keyboard-dkms 

Note that you will not be able to install tuxedofancontrol from that repository unless you're running a Tuxedo-branded botebook. Note that the same can be installed later by compiling from source and launching it with an override that skips the vendor check.

On undervolting and custom BIOS settings:

This machine runs the Prema BIOS mod, and as such, nearly every BIOS option imaginable is available for tweaking.

Our immediate concerns are getting temperatures under control when running with the Intel Core i9 9900k chip on this machine, and ensuring that a proper XMP profile selected and enabled in the BIOS.

For the correct multiplier settings per-core, under the Overclocking menu (when using the Prema Mod BIOS), stick to these:

Near top in advanced menu (overclocking menu) add in:

Try this for OC settings:

180w for Power limit 1 and 2. An AVX offset of 3.

For a stable OC, under processor features, disable SGX.

1023 for VR Current Limit (A). 1023 value in Core /IA VR Domain - See the VR Current Limit (A) settings. The Core /IA VR Domain is in another place in the Advanced menu. Put the same VR Current Limit (1023) in System Agent VR Domain.

For processor clocks:

Base freq: 3.6GHz (unchanged, but can be downclocked via Flex Ratio Override. Leave it as is) Ring Ratio that is 3x less than the single CPU target Ratio. Set Ring Ratio to a max of 44 (or 47, but test for stability) and leave it as is.

1-Core Ratio Limit Override: 50 2-Core Ratio Limit Override: 50 3-Core Ratio Limit Override: 49 4-Core Ratio Limit Override: 48 5-Core Ratio Limit Override: 48 6-Core Ratio Limit Override: 47 7-Core Ratio Limit Override: 47 8-Core Ratio Limit Override: 47

CPU Voltage settings:

Mode: Adaptive (default) Voltage offset (undervolt): 130mv for Voltage Offset. Offset Prefix to (-) for undervolt.

Other settings:

On power: Enable power efficient P-state and power efficient Turbo boost.

OC menu:

OC feature: Enabled WDT interface: Enabled XTU interface: Disabled IMON Scaling support: Disabled Vboost enable: Disable BLCK Aware Adaptive Voltage: Enabled

Boot settings:

Setup Prompt timeout: 1 Bootup NumLock state: On Legacy Boot Logo: Enabled

Advanced:

ICC/DC Watchdog timer: Disabled ICC Profile: 0 (Leave the rest untouched)

Advanced/Processor sub-menu: (In overclocking)

Core Max OC Ratio: 50 Core Voltage Mode: Adaptive Core Extra Turbo Voltage: Untouched Core Voltage Offset:130 Offset Prefix: - Core PLL Voltage Offset: 0 Cache Ratio: Untouched Ring Min OC Ratio: Untouched AVX Offset:3

Also important:

Ensure that Ring Down Bin is set to enabled. Reasons: https://www.reddit.com/r/intel/comments/ae958r/whats_the_real_purpose_of_ring_down_bin/ednkx7d/?utm_source=share&utm_medium=web2x

Apply and test.

Here is my conky configuration:

alignment top_right
background = true 
border_width 1
color1 07CC0D
color2 D1E7D1
color3 FF0000
color4 FFFFFF
cpu_avg_samples 2
default_color D1E7D1
default_outline_color white
default_shade_color white
double_buffer yes
draw_borders no
draw_graph_borders yes
draw_outline no
draw_shades no
#gap_x 20
#gap_y 20
border_outer_margin 10
max_port_monitor_connections 64
maximum_width 500
minimum_width 500
# max_specials 512
max_user_text 16384
minimum_size 330 10
net_avg_samples 2
no_buffers yes
out_to_console no
# wm_class_name Conky
stippled_borders 2
# wn_window yes
#settings to define how to draw the window. compiz needs these settings, adjust for your WM
own_window true
own_window_class Conky
#own_window_type override
#own_window_class conky-semi
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_transparent yes
own_window_argb_visual yes
own_window_argb_value 50
update_interval 2
uppercase no
use_xft yes
xftalpha 0.8
xftfont  Bitstream Vera Sans Mono:size=7

# WIDTH = 500pixel, ${goto 270} for 2 column designs
# SMALL BAR HEIGHT: 12, LARGE GRAPH HEIGHT: 240

TEXT
${color1}$nodename ${alignr}$kernel
${color1}Uptime:${color} $uptime ${color1} ${alignr}Load:${color} $loadavg
$hr
${alignr}${color1}RAM: $memperc% = $mem / $memmax
${color #88cc00}${cpugraph 60,240 07CC0D FF0000 -t} ${goto 270}${color #88cc00}${memgraph 60,250 07CC0D FF0000 -t}
${execi 1000 cat /proc/cpuinfo | grep 'model name' | sed -e 's/model name.*: //'| uniq | cut -c 1-26}
${font sans-serif:bold:size=8}PROCESSOR UTILIZATION & FREQUENCY ${hr 2}${font}
CPU1: ${cpu cpu1}% $alignr ${exec awk '/cpu MHz/{i++}i==1{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu1 8,60}
CPU2: ${cpu cpu2}% $alignr ${exec awk '/cpu MHz/{i++}i==2{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu2 8,60}
CPU3: ${cpu cpu3}% $alignr ${exec awk '/cpu MHz/{i++}i==3{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu3 8,60}
CPU4: ${cpu cpu4}% $alignr ${exec awk '/cpu MHz/{i++}i==4{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu4 8,60}
CPU5: ${cpu cpu5}% $alignr ${exec awk '/cpu MHz/{i++}i==5{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu5 8,60}
CPU6: ${cpu cpu6}% $alignr ${exec awk '/cpu MHz/{i++}i==6{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu6 8,60}
CPU7: ${cpu cpu7}% $alignr ${exec awk '/cpu MHz/{i++}i==7{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu7 8,60}
CPU8: ${cpu cpu8}% $alignr ${exec awk '/cpu MHz/{i++}i==8{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu8 8,60}
CPU9: ${cpu cpu1}% $alignr ${exec awk '/cpu MHz/{i++}i==1{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu9 8,60}
CPU10: ${cpu cpu2}% $alignr ${exec awk '/cpu MHz/{i++}i==2{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu10 8,60}
CPU11: ${cpu cpu3}% $alignr ${exec awk '/cpu MHz/{i++}i==3{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu11 8,60}
CPU12: ${cpu cpu4}% $alignr ${exec awk '/cpu MHz/{i++}i==4{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu12 8,60}
CPU13: ${cpu cpu5}% $alignr ${exec awk '/cpu MHz/{i++}i==5{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu13 8,60}
CPU14: ${cpu cpu6}% $alignr ${exec awk '/cpu MHz/{i++}i==6{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu14 8,60}
CPU15: ${cpu cpu7}% $alignr ${exec awk '/cpu MHz/{i++}i==7{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu15 8,60}
CPU16: ${cpu cpu8}% $alignr ${exec awk '/cpu MHz/{i++}i==8{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu16 8,60}

${color #88cc00}Swap Usage: $swapperc% = $swap/$swapmax ${color #88cc00} ${swapbar 4 color1 color3}
$hr
${color1}Net Down:${color} ${downspeed wlp113s0} ${goto 270}${color1}Net Up:${color} ${upspeed wlp113s0}
${color1}${downspeedgraph wlp113s0 60,240 07CC0D FF0000 -t}${color1} ${goto 270}${upspeedgraph wlp113s0 60,250 07CC0D FF0000 -t}
$hr
${color1}Temperatures in Celsius:
${color1}HDDs	${color} ${hddtemp /dev/sda} ${hddtemp /dev/sdb}       
${color1}CPUs	${color} ${hwmon 1 temp 1}    ${hwmon 1 temp 2}

#GPU Attributes:

${color1}GPU:${color #FCAF3E}${nvidia modelname} $color
${color1}GPU Temperature ${color}  ${nvidia temp} °C
${color1}GPU Utilization ${color}  ${nvidia gpuutil} %
${color1}GPU Core Frequency ${color}  ${nvidia gpufreq} MHz
${color1}GPU Memory Frequency ${color}  ${nvidia memfreq} MHz
${color1}VRAM Utilization ${color} ${nvidia memused} MB
${color1}GPU Power Draw ${color} ${exec nvidia-smi | grep % | cut -c 21-23} W
${color1}PCIe Utilization ${color} ${nvidia pcieutil} %
${color1}NVENC Utilization ${color} ${nvidia videoutil} %

${color1}Top Processes:
${color1}Name              PID    CPU%   MEM%  TIME     USER
${color}${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1} ${top time 1} ${top user 1}
${color}${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2} ${top time 2} ${top user 2}
${color}${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3} ${top time 3} ${top user 3}
${color}${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4} ${top time 4} ${top user 4}
${color}${top name 5} ${top pid 5} ${top cpu 5} ${top mem 5} ${top time 5} ${top user 5}

$hr
${color1} Port(s) ${alignr} #Connections
${color}  Inbound: ${tcp_portmon 1 32767 count}  Outbound: ${tcp_portmon 32768 61000 count} ${alignr} ALL: ${tcp_portmon 1 65535 count}
${color1} Inbound Connection ${alignr} Local Service/Port ${color}
${tcp_portmon 1 32767 rhost 0} ${alignr} ${tcp_portmon 1 32767 lservice 0}
${tcp_portmon 1 32767 rhost 1} ${alignr} ${tcp_portmon 1 32767 lservice 1}
${tcp_portmon 1 32767 rhost 2} ${alignr} ${tcp_portmon 1 32767 lservice 2}
${tcp_portmon 1 32767 rhost 3} ${alignr} ${tcp_portmon 1 32767 lservice 3}
${tcp_portmon 1 32767 rhost 4} ${alignr} ${tcp_portmon 1 32767 lservice 4}
${color1}Outbound Connection ${alignr} Remote Service/Port${color}
${tcp_portmon 32768 61000 rhost 0} ${alignr} ${tcp_portmon 32768 61000 rservice 0}
${tcp_portmon 32768 61000 rhost 1} ${alignr} ${tcp_portmon 32768 61000 rservice 1}
${tcp_portmon 32768 61000 rhost 2} ${alignr} ${tcp_portmon 32768 61000 rservice 2}
${tcp_portmon 32768 61000 rhost 3} ${alignr} ${tcp_portmon 32768 61000 rservice 3}
${tcp_portmon 32768 61000 rhost 4} ${alignr} ${tcp_portmon 32768 61000 rservice 4}

The Intel wireless driver (iwlwifi) can be tuned even further.

Edit /etc/modprobe.d/iwlwifi.conf and add the following:

# /etc/modprobe.d/iwlwifi.conf
# iwlwifi will dyamically load either iwldvm or iwlmvm depending on the
# microcode file installed on the system.  When removing iwlwifi, first
# remove the iwl?vm module and then iwlwifi.
#remove iwlwifi \
(/sbin/lsmod | grep -o -e ^iwlmvm -e ^iwldvm -e ^iwlwifi | xargs /sbin/rmmod) \
&& /sbin/modprobe -r mac80211


#Add some sauce bro

options iwlwifi 11n_disable=8

That should fix the performance issues observed with Wireless N access points on the Netgear R7000.

Original documentation from the Intel wireless entry on the Arch Wiki.

Place this in ~/.config/autostart/conky.desktop :

[Desktop Entry]
Type=Application
Name=conky
Exec=conky --daemonize --pause=5
StartupNotify=false
Terminal=false

Making a hardware probe of the EVOC P775TM1-R:

On Ubuntu, install the hw-probe tool:

sudo add-apt-repository universe
sudo add-apt-repository ppa:mikhailnov/hw-probe
sudo apt update
sudo apt install hw-probe --no-install-recommends

Then run a probe:

sudo hw-probe -all -upload -id "DESC"

Where "DESC" is the description you want to use to identify your hardware probe.

When done, the process will generate a unique URL pointing to your submission. In my case, that points to: https://linux-hardware.org/?probe=2ec595f039

Notes:

  1. The HWE kernel I have installed does not support my WiFi AX adapter at the present. You can confirm that's the case with the hardware probe above. Will install the mainline kernel later.

  2. I'll follow up with Tuxedo Computers for an update to the realtek-clevo-pin-fix-dkms package with support for this machine. Related patchwork: i. Original: https://patchwork.kernel.org/patch/9552671/ ii. Ported to the alsa-git tip current: https://www.spinics.net/lists/alsa-devel/msg95421.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment