User:Tuxayo/Dell Latitude E6420

From ArchWiki

Context

This page is about one experience with a Dell Latitude E6420.

It was done with Antergos XFCE in November 2016. As nothing seemed Antergos specific, this feedback has been written here to benefit more users.

The iso used for the installation was antergos-2016.10.23-x86_64.

What works

Disabling NVDIA GPU to save power

Install nouveau + bumblebee (even if it's not recommended).

Install bbswitch.

Set `options bbswitch load_state=0` as instructed here Bumblebee#Default_power_state_of_NVIDIA_card_using_bbswitch

But it's not sure that last step is was necessary.

What does not work well

Suspend on RAM

With mainline kernel 4.8.6, there were often freezes when suspending or resuming, making suspending unusable.

It seems related to bug #51703

Using LTS kernel 4.4.30 circumvented the issue.

Other remaining suspend issues

Various freezes when suspending or waking up. It happened less than 5% of the time.

Fan speed control

By default the BIOS controls the fan with a too short time interval (~3 seconds) before lowering the speed and changes the speed too abruptly. This results in a rollercoaster like behavior depending on the workload.

Disabling BIOS fan speed control with smm makes suspend crash and only allows to have 3 different speeds. (0 rpm, around 2400 rpm and more than 4200 rpm)

Used resource: Fan_speed_control#i8kutils

Relevant resource if one wants to go further: https://www.cyberciti.biz/faq/controlling-dell-fan-speeds-temperature-on-ubuntu-debian-linux/

Touchpad: Lagging/jumping/jittering/jerking at random moments

It happened both with and without the battery. Sometimes unplugging the charger stopped the issue and replugging retriggered it. And holding the laptop differently mitigated it few times. It seems like an electrical issue.

Warning: this might be a hardware issue with one particular unit. As after extensive research no other testimony with a similar issue could be found.

When the problem was reproducible, there were no issues in the UEFI menu (which uses the touchpad), so the hypothesis is that the Linux driver couldn't mitigate the electrical noise or whatever the issue actually was, whereas the UEFI touchpad driver could.

Switching from xf86-input-synaptics to libinput didn't change anything.

Attempts to fix the issues

Appending i8042.nomux=1 to kernel parameters didn't help

rmmod psmouse && modprob psmouse didn't help

Resources used

Touchpad_Synaptics#Cursor_jump

Bug #56948

Bug #21558

Touchpad: Scrolling

With xf86-input-synaptics and libinput, 2 fingers scrolling has a variable speed and jittering/jumping making it very difficult to use. (constantly happens, it's independent of the above cursor issue)

It also randomly triggers right clicks when scrolling.

Solution/workaround

Edge scrolling (with libinput, not sure about xf86-input-synaptics) is precise and comfortable to use.

Key repeat/auto-repeat issue

Sometimes when a key is pressed and released quickly, it will auto-repeat until the keyboard is touched again.

It happened four times in a month of usage even with the latest BIOS (A23).

Wi-Fi related freezes

One freeze happened when restarting NetworkManager.

Three freezes happened when trying to reconnect to a network after a mysterious disconnection.

All with LTS (4.4.30) kernel.

Related kernel stack traces

Dec 03 19:01:25 some-computer kernel: atkbd serio0: Unknown key pressed (translated set 2, code 0x88 on isa0060/serio0). Dec 03 19:01:25 some-computer kernel: atkbd serio0: Use 'setkeycodes e008 <keycode>' to make it known. Dec 03 19:01:25 some-computer kernel: ------------[ cut here ]------------ Dec 03 19:01:25 some-computer kernel: WARNING: CPU: 4 PID: 27 at kernel/workqueue.c:864 wq_worker_waking_up+0x53/0x70() Dec 03 19:01:25 some-computer kernel: Modules linked in: uas usb_storage snd_hda_codec_hdmi fuse uvcvideo videobuf2_vmalloc videobuf2_memops btusb videobuf2_v Dec 03 19:01:25 some-computer kernel: e1000e snd wmi parport_pc soundcore ptp parport mei pps_core shpchp fjes dell_smo8800 tpm_tis tpm video battery ac proc Dec 03 19:01:25 some-computer kernel: CPU: 4 PID: 27 Comm: migration/4 Tainted: G O 4.4.35-1-lts #1 Dec 03 19:01:25 some-computer kernel: Hardware name: Dell Inc. Latitude E6420/038C0K, BIOS A23 01/04/2016 Dec 03 19:01:25 some-computer kernel: 0000000000000086 00000000051e4e67 ffff88032f773c48 ffffffff812c47af Dec 03 19:01:25 some-computer kernel: 0000000000000000 ffffffff81722f55 ffff88032f773c80 ffffffff81076f82 Dec 03 19:01:25 some-computer kernel: 0000000000000000 ffff88033dc15740 ffff8802a628e6d4 0000000000000004 Dec 03 19:01:25 some-computer kernel: Call Trace: Dec 03 19:01:25 some-computer kernel: [<ffffffff812c47af>] dump_stack+0x63/0x84 Dec 03 19:01:25 some-computer kernel: [<ffffffff81076f82>] warn_slowpath_common+0x82/0xc0 Dec 03 19:01:25 some-computer kernel: [<ffffffff810770ca>] warn_slowpath_null+0x1a/0x20 Dec 03 19:01:25 some-computer kernel: [<ffffffff8108f6e3>] wq_worker_waking_up+0x53/0x70 Dec 03 19:01:25 some-computer kernel: [<ffffffff8109ef80>] ttwu_do_activate.constprop.35+0x50/0x70 Dec 03 19:01:25 some-computer kernel: [<ffffffff8109fa5f>] try_to_wake_up+0x16f/0x3a0 Dec 03 19:01:25 some-computer kernel: [<ffffffff8109edd2>] ? check_preempt_curr+0x52/0x90 Dec 03 19:01:25 some-computer kernel: [<ffffffff8109fd32>] default_wake_function+0x12/0x20 Dec 03 19:01:25 some-computer kernel: [<ffffffff810b6c3d>] __wake_up_common+0x4d/0x80 Dec 03 19:01:25 some-computer kernel: [<ffffffff810b6cd3>] __wake_up_locked+0x13/0x20 Dec 03 19:01:25 some-computer kernel: [<ffffffff810b73c7>] complete+0x37/0x50 Dec 03 19:01:25 some-computer kernel: [<ffffffff810a00e0>] ? sched_ttwu_pending+0x60/0x60 Dec 03 19:01:25 some-computer kernel: [<ffffffff8110d3a6>] cpu_stop_signal_done+0x26/0x30 Dec 03 19:01:25 some-computer kernel: [<ffffffff8110d6c7>] cpu_stopper_thread+0x57/0x140 Dec 03 19:01:25 some-computer kernel: [<ffffffff8158b3d9>] ? __schedule+0x3a9/0x9f0 Dec 03 19:01:25 some-computer kernel: [<ffffffff81097985>] smpboot_thread_fn+0x105/0x160 Dec 03 19:01:stack traces25 some-computer kernel: [<ffffffff81097880>] ? sort_range+0x30/0x30 Dec 03 19:01:25 some-computer kernel: [<ffffffff81094988>] kthread+0xd8/0xf0 Dec 03 19:01:25 some-computer kernel: [<ffffffff810948b0>] ? kthread_worker_fn+0x160/0x160 Dec 03 19:01:25 some-computer kernel: [<ffffffff8158f3ff>] ret_from_fork+0x3f/0x70 Dec 03 19:01:25 some-computer kernel: [<ffffffff810948b0>] ? kthread_worker_fn+0x160/0x160 Dec 03 19:01:25 some-computer kernel: ---[ end trace 3a4b8d45ec69d2d6 ]--- Dec 03 19:01:25 some-computer kernel: ------------[ cut here ]------------ Dec 03 19:01:25 some-computer kernel: ------------[ cut here ]------------ Dec 03 19:01:25 some-computer kernel: WARNING: CPU: 0 PID: 16958 at kernel/workqueue.c:900 wq_worker_sleeping+0x7b/0x90() Dec 03 19:01:25 some-computer kernel: Modules linked in: uas usb_storage snd_hda_codec_hdmi fuse uvcvideo videobuf2_vmalloc videobuf2_memops btusb videobuf2_v Dec 03 19:01:25 some-computer kernel: e1000e snd wmi parport_pc soundcore ptp parport mei pps_core shpchp fjes dell_smo8800 tpm_tis tpm video battery ac proc Dec 03 19:01:25 some-computer kernel: CPU: 0 PID: 16958 Comm: kworker/4:1 Tainted: G W O 4.4.35-1-lts #1 Dec 03 19:01:25 some-computer kernel: Hardware name: Dell Inc. Latitude E6420/038C0K, BIOS A23 01/04/2016 Dec 03 19:01:25 some-computer kernel: Workqueue: events dell_update_rfkill [dell_laptop] Dec 03 19:01:25 some-computer kernel: 0000000000000086 00000000e2a2f2ca ffff88032decfa68 ffffffff812c47af Dec 03 19:01:25 some-computer kernel: 0000000000000000 ffffffff81722f55 ffff88032decfaa0 ffffffff81076f82 Dec 03 19:01:25 some-computer kernel: 0000000000000000 0000000000015740 ffff8802a628e588 ffff8802a628e040 Dec 03 19:01:25 some-computer kernel: Call Trace: Dec 03 19:01:25 some-computer kernel: [<ffffffff812c47af>] dump_stack+0x63/0x84 Dec 03 19:01:25 some-computer kernel: [<ffffffff81076f82>] warn_slowpath_common+0x82/0xc0 Dec 03 19:01:25 some-computer kernel: [<ffffffff810770ca>] warn_slowpath_null+0x1a/0x20 Dec 03 19:01:25 some-computer kernel: [<ffffffff8108f77b>] wq_worker_sleeping+0x7b/0x90 Dec 03 19:01:25 some-computer kernel: [<ffffffff8158b666>] __schedule+0x636/0x9f0 Dec 03 19:01:25 some-computer kernel: [<ffffffff8158ba55>] schedule+0x35/0x80 Dec 03 19:01:25 some-computer kernel: [<ffffffff8158e26f>] schedule_timeout+0x1ef/0x250 Dec 03 19:01:25 some-computer kernel: [<ffffffff8101f939>] ? sched_clock+0x9/0x10 Dec 03 19:01:25 some-computer kernel: [<ffffffff810a51c9>] ? sched_clock_cpu+0x99/0xb0 Dec 03 19:01:25 some-computer kernel: [<ffffffff8109edd2>] ? check_preempt_curr+0x52/0x90 Dec 03 19:01:25 some-computer kernel: [<ffffffff8109ee29>] ? ttwu_do_wakeup+0x19/0xe0 Dec 03 19:01:25 some-computer kernel: [<ffffffff8158c4a0>] wait_for_common+0xc0/0x190 Dec 03 19:01:25 some-computer kernel: [<ffffffff8109fd20>] ? wake_up_q+0x70/0x70 Dec 03 19:01:25 some-computer kernel: [<ffffffff8158c58d>] wait_for_completion+0x1d/0x20 Dec 03 19:01:25 some-computer kernel: [<ffffffff8110d85d>] stop_one_cpu+0x6d/0xa0 Dec 03 19:01:25 some-computer kernel: [<ffffffff810a00e0>] ? sched_ttwu_pending+0x60/0x60 Dec 03 19:01:25 some-computer kernel: [<ffffffff812c45cf>] ? cpumask_next_and+0x2f/0x40 Dec 03 19:01:25 some-computer kernel: [<ffffffff8109f67a>] __set_cpus_allowed_ptr+0x1ca/0x1e0 Dec 03 19:01:25 some-computer kernel: [<ffffffff8109f6a0>] set_cpus_allowed_ptr+0x10/0x20 Dec 03 19:01:25 some-computer kernel: [<ffffffffa0896453>] dcdbas_smi_request+0x93/0x120 [dcdbas] Dec 03 19:01:25 some-computer kernel: [<ffffffff810156cf>] ? __switch_to+0x23f/0x4a0 Dec 03 19:01:25 some-computer kernel: [<ffffffffa02fc14b>] dell_send_request+0x6b/0xa0 [dell_laptop] Dec 03 19:01:25 some-computer kernel: [<ffffffffa02fda67>] dell_update_rfkill+0x27/0x182 [dell_laptop] Dec 03 19:01:25 some-computer kernel: [<ffffffff8108ebb8>] process_one_work+0x1e8/0x440 Dec 03 19:01:25 some-computer kernel: [<ffffffff8108ee5b>] worker_thread+0x4b/0x4b0 Dec 03 19:01:25 some-computer kernel: [<ffffffff8108ee10>] ? process_one_work+0x440/0x440 Dec 03 19:01:25 some-computer kernel: [<ffffffff8108ee10>] ? process_one_work+0x440/0x440 Dec 03 19:01:25 some-computer kernel: [<ffffffff81094988>] kthread+0xd8/0xf0 Dec 03 19:01:25 some-computer kernel: [<ffffffff810948b0>] ? kthread_worker_fn+0x160/0x160 Dec 03 19:01:25 some-computer kernel: [<ffffffff8158f3ff>] ret_from_fork+0x3f/0x70 Dec 03 19:01:25 some-computer kernel: [<ffffffff810948b0>] ? kthread_worker_fn+0x160/0x160 Dec 03 19:01:25 some-computer kernel: ---[ end trace 3a4b8d45ec69d2d7 ]--- Dec 03 19:01:25 some-computer kernel: ------------[ cut here ]------------ Dec 03 19:01:25 some-computer kernel: WARNING: CPU: 4 PID: 16958 at kernel/workqueue.c:1616 worker_enter_idle+0xcd/0x140() Dec 03 19:01:25 some-computer kernel: Modules linked in: uas usb_storage snd_hda_codec_hdmi fuse uvcvideo videobuf2_vmalloc videobuf2_memops btusb videobuf2_v Dec 03 19:01:25 some-computer kernel: e1000e snd wmi parport_pc soundcore ptp parport mei pps_core shpchp fjes dell_smo8800 tpm_tis tpm video battery ac proc Dec 03 19:01:25 some-computer kernel: CPU: 4 PID: 16958 Comm: kworker/4:1 Tainted: G W O 4.4.35-1-lts #1 Dec 03 19:01:25 some-computer kernel: Hardware name: Dell Inc. Latitude E6420/038C0K, BIOS A23 01/04/2016 Dec 03 19:01:25 some-computer kernel: 0000000000000086 00000000e2a2f2ca ffff88032decfdf8 ffffffff812c47af Dec 03 19:01:25 some-computer kernel: 0000000000000000 ffffffff81722f55 ffff88032decfe30 ffffffff81076f82 Dec 03 19:01:25 some-computer kernel: ffff88033dc94f40 ffff88033dc94f40 0000000000000008 ffff88033dc94f58 Dec 03 19:01:25 some-computer kernel: Call Trace: Dec 03 19:01:25 some-computer kernel: [<ffffffff812c47af>] dump_stack+0x63/0x84 Dec 03 19:01:25 some-computer kernel: [<ffffffff81076f82>] warn_slowpath_common+0x82/0xc0 Dec 03 19:01:25 some-computer kernel: [<ffffffff810770ca>] warn_slowpath_null+0x1a/0x20 Dec 03 19:01:25 some-computer kernel: [<ffffffff8108cb4d>] worker_enter_idle+0xcd/0x140 Dec 03 19:01:25 some-computer kernel: [<ffffffff8108eeba>] worker_thread+0xaa/0x4b0 Dec 03 19:01:25 some-computer kernel: [<ffffffff8108ee10>] ? process_one_work+0x440/0x440 Dec 03 19:01:25 some-computer kernel: [<ffffffff8108ee10>] ? process_one_work+0x440/0x440 Dec 03 19:01:25 some-computer kernel: [<ffffffff81094988>] kthread+0xd8/0xf0 Dec 03 19:01:25 some-computer kernel: [<ffffffff810948b0>] ? kthread_worker_fn+0x160/0x160 Dec 03 19:01:25 some-computer kernel: [<ffffffff8158f3ff>] ret_from_fork+0x3f/0x70 Dec 03 19:01:25 some-computer kernel: [<ffffffff810948b0>] ? kthread_worker_fn+0x160/0x160 Dec 03 19:01:25 some-computer kernel: ---[ end trace 3a4b8d45ec69d2d8 ]---

nm-applet

It often had to be restarted to see the available networks.

Connecting to some wifi networks

It happened twice (two different networks). They had WPA2-PSK.

According to journalctl, auth was failling.

Passphrases were carefully checked multiple times.

It worked flawlessly when checking with another device.

What wasn't tested

NVIDIA GPU

No use for it, it was disabled ASAP to reduce power consumption.

Power consumption

As reported by powertop.

Discharge rate when running nothing, screen on, full brightness

nouveau driver enabled: 12.3 W

nouveau blacklisted: 18.3 W

Discharge rate when running nothing, screen on, brightness unknown

Bumblebee loaded + using bbswitch load=0 so NVIDIA GPU should be disabled: 12.8 W

After installing TLP: 10 W