Linux on a Dell Latitude 7400

by Martin Monperrus

Tips and tricks to run Linux on “Dell Latitude 7400”

$ dmidecode | grep -i Product

  Product Name: Latitude 7400
  Product Name: 07WDVW

Bios

By default, the function keys f1 .. are disabled, which is an issue for Alt-F4 (close window), etc.

In BIOS, disable “launch hotkeys without fn keypress”.

Graphics

$ lspci | grep VGA  
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (Whiskey Lake) (rev 02)

Graphics works with the Xorg drivers: “vesa” (default), “modesetting” (recommended, eDP-1), “intel” (eDP1). Default resolution is 1920x1080, in Randr/Xrandr the laptop screen is eDP-1

modesetting is the most recent, recommended driver according to https://wiki.gentoo.org/wiki/Intel. To get xbacklight working, see https://gitlab.com/wavexx/acpilight/

intel

$ cat /etc/X11/xorg.conf.d/20-intel.conf 
Section "Device"
        Identifier "card0"
        Driver "intel"
        Option      "AccelMethod"  glamor # "glamor" (using it) "sna" od "uxa" 
        Option "Backlight" "intel_backlight"
EndSection

Suspend on Lid closed works if handled by systemd with “HandleLidSwitchDocked=suspend”. ‘wake when lid is opened’ is disabled by default in Bios, must be re-enabled.

Touchpad

Touchpad works out of the box. It supports two-fingers scrolling.

Docking

Docking with Thunderbolt somehow works:

Wireless Wifi

Wireless works with kernel module “iwlwifi” and firmware “firmware-iwlwifi”.

# dmesg | grep iwl
[    5.687696] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[    5.692292] iwlwifi 0000:00:14.3: loaded firmware version 38.3235921300.0 op_mode iwlmvm
[    5.712064] iwlwifi 0000:00:14.3: Detected Intel(R) Dual Band Wireless AC 9560, REV=0x318

Wireless Mobile Broadband (LTE)

It works! System: Default Ubuntu installation from Dell, Module cdc_mbim + ModemManager + NetworkManager. You may have to restart ModemManager after supsend (service ModemManager restart)

# mmcli -m 0
  ------------------------------------
  General  |                dbus path: /org/freedesktop/ModemManager1/Modem/0
           |                device id: 
  ------------------------------------
  Hardware |             manufacturer: Dell Inc.
           |                    model: DW5821e Snapdragon X20 LTE
           |                 revision: T77W968.F1.0.0.4.2.GC.010
           |                           026

Virtualization

The processor provides hardware support for virtualization. It is enabled by default in the BIOS.

To enable it:

Audio/Webcam

Sound works with the module snd-hda-intel (’‘$ modprobe snd-hda-intel’’).


$ lspci | grep Audio   
00:1f.3 Audio device: Intel Corporation Device 9dc8 (rev 30)

# head -n 1 /proc/asound/card0/codec#0 
Codec: Realtek ALC3254

# head -n 1 /proc/asound/card0/codec#2 
Codec: Intel Kabylake HDMI

Hard drive

It is a M.2 NVME (hence the partition starts with nvme).

$ apt-get install nvme-cli

$ nvme list
Node             SN                   Model                                    Namespace Usage                      Format           FW Rev  
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1     NS04N892410304S2W    PC611 NVMe SK hynix 512GB                1         512,11  GB / 512,11  GB    512   B +  0 B   11000111


$ # nvme id-ctrl /dev/nvme0
NVME Identify Controller:
vid     : 0x1c5c
ssvid   : 0x1c5c
sn      : NS04N892410304S2W   
mn      : PC611 NVMe SK hynix 512GB               


$ cat /sys/class/block/nvme0n1/queue//physical_block_size 
512
$ cat /sys/class/block/nvme0n1/queue//logical_block_size 
512
$ cat /sys/class/block/nvme0n1/queue/scheduler 
[none] mq-deadline 

$ hdparm -tT  /dev/nvme0n1

/dev/nvme0n1:
 Timing cached reads:   33194 MB in  2.00 seconds = 16630.94 MB/sec
 Timing buffered disk reads: 5080 MB in  3.00 seconds = 1693.06 MB/sec

Opsec

One can set an admin password in the BIOS. Grub entries has to protected as well.

Trusted Platform Module

There is a TPM that can be activated in the bios.

$ dmidecode
TPM Device
  Vendor ID:  MTS
  Specification Version: 2.0
  Firmware Revision: 74.8
  Description: ST
  Characteristics:
    Family configurable via platform software support
  OEM-specific Information: 0x00000000

$ cat /sys/class/tpm/tpm0/tpm_version_major 
2

See also https://www.monperrus.net/martin/7-things-to-do-with-your-TPM-on-Linux

Troubleshooting

$ lspci
00:00.0 Host bridge: Intel Corporation Device 3e34 (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation Device 3ea0 (rev 02)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0c)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Device 9df9 (rev 30)
00:14.0 USB controller: Intel Corporation Device 9ded (rev 30)
00:14.2 RAM memory: Intel Corporation Device 9def (rev 30)
00:14.3 Network controller: Intel Corporation Device 9df0 (rev 30)
00:15.0 Serial bus controller [0c80]: Intel Corporation Device 9de8 (rev 30)
00:15.1 Serial bus controller [0c80]: Intel Corporation Device 9de9 (rev 30)
00:15.3 Serial bus controller [0c80]: Intel Corporation Device 9deb (rev 30)
00:16.0 Communication controller: Intel Corporation Device 9de0 (rev 30)
00:19.0 Serial bus controller [0c80]: Intel Corporation Device 9dc5 (rev 30)
00:1c.0 PCI bridge: Intel Corporation Device 9dbc (rev f0)
00:1d.0 PCI bridge: Intel Corporation Device 9db3 (rev f0)
00:1d.4 PCI bridge: Intel Corporation Device 9db4 (rev f0)
00:1f.0 ISA bridge: Intel Corporation Device 9d84 (rev 30)
00:1f.3 Audio device: Intel Corporation Device 9dc8 (rev 30)
00:1f.4 SMBus: Intel Corporation Device 9da3 (rev 30)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 9da4 (rev 30)
01:00.0 PCI bridge: Intel Corporation JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] (rev 02)
02:00.0 PCI bridge: Intel Corporation JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] (rev 02)
02:01.0 PCI bridge: Intel Corporation JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] (rev 02)
02:02.0 PCI bridge: Intel Corporation JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] (rev 02)
03:00.0 System peripheral: Intel Corporation JHL6340 Thunderbolt 3 NHI (C step) [Alpine Ridge 2C 2016] (rev 02)
04:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] (rev 06)
05:02.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] (rev 06)
05:04.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] (rev 06)
06:00.0 USB controller: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] (rev 06)
39:00.0 USB controller: Intel Corporation Device 15db (rev 02)
3a:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
3b:00.0 Non-Volatile memory controller: SK hynix Device 1639


$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family  : 6
model   : 142
model name  : Intel(R) Core(TM) i5-8365U CPU @ 1.60GHz
stepping  : 12
microcode : 0xd6
cpu MHz   : 700.470
cache size  : 6144 KB
physical id : 0
siblings  : 8
core id   : 0
cpu cores : 4
apicid    : 0
initial apicid  : 0
fpu   : yes
fpu_exception : yes
cpuid level : 22
wp    : yes
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities
bugs    : spectre_v1 spectre_v2 spec_store_bypass swapgs taa itlb_multihit srbds
bogomips  : 3799.90
clflush size  : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

$ dmidecode
BIOS Information
        Vendor: Dell Inc.
        Version: 1.7.3
        Release Date: 03/23/2020
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 32 MB
        Characteristics:
                PCI is supported
                PNP is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                ACPI is supported
                USB legacy is supported
                Smart battery is supported
                BIOS boot specification is supported
                Function key-initiated network boot is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.7
Tagged as: