Welcome to our peer-to-peer forums, where owners help owners. Need help now? Visit eSupport here.

English Community

Linux Operating SystemsOther Linux Discussions
All Forum Topics
Options

6 Posts

01-30-2019

Canada

10 Signins

60 Page Views

  • Posts: 6
  • Registered: ‎01-30-2019
  • Location: Canada
  • Views: 60
  • Message 301 of 313

Re: ThinkPad E485/E585 - Firmware bug ACPI IVRS table

2020-01-01, 18:05 PM

I switched back to Windows in order to try and get things working. For Ubuntu 19.04 I was using:

 

GRUB_CMDLINE_LINUX="amdgpu.ppfeaturemask=0xfffd3fff iommu=pt"

 

with the 5.3.x kernel (I switched to Windows a couple of months ago so I don't remember the exact kernel version). Note that you will need to disable bluetooth in the BIOS or wake from sleep does not work correctly.

 

Note that even with switching back to Windows I am still seeing the following problems:

- Wake from sleep still sometimes hangs though this is much rarer than with Ubuntu. Windows does not completely resolve this problem though.

- The touch pad still becomes erratic every now and then. The "fix" I've been using for this is the same as I was using for Ubuntu - close the lid and then when opening the lid hope the computer wakes from sleep correctly. The touchpad should then work correctly again.

- Bluetooth works much better under Windows but still has problems. When using on board bluetooth the audio often becomes choppy. The network speed also drops dramatically. When using bluetooth the network sometimes just disconnects. Using an external bluetooth adapter at least resolves the choppy audio problem and network disconnect problem.

 

So with Windows there are still issues with this computer. More reliable than Ubuntu, but still has some annoying issues.

 

Reply
Options

16 Posts

01-25-2019

Georgia

23 Signins

287 Page Views

  • Posts: 16
  • Registered: ‎01-25-2019
  • Location: Georgia
  • Views: 287
  • Message 302 of 313

Re: ThinkPad E485/E585 - Firmware bug ACPI IVRS table

2020-01-02, 12:46 PM
I stoped using linux and went with Windows. That was before the bios was updated with some fixes. I remember that with this grub:

GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu_dump=1 amd_iommu=on iommu=pt ivrs_ioapic[32]=00:14.0 ivrs_ioapic[33]=00:00.1 apic=verbose amdgpu.ppfeaturemask=0xffffbfff acpi_backlight=vendor intel_pstate=disable clocksource=hpet idle=nomwait psmouse.synaptics_intertouch=1"

I was able to wake up normally, but I ened up bricking the system twice, and reinstalling, So I just gave up. Maybe someone can play around with those settings.
Reply
Options

7 Posts

01-25-2019

Australia

16 Signins

81 Page Views

  • Posts: 7
  • Registered: ‎01-25-2019
  • Location: Australia
  • Views: 81
  • Message 303 of 313

Re: ThinkPad E485/E585 - Firmware bug ACPI IVRS table

2020-01-29, 21:53 PM

My laptop appears to be stable at the moment.  My setup:

 

OS:  Arch Linux

Kernel:  linux-lts  (4.19.99)

Kernel Params:  amdgpu.ppfeaturemask=0xfffd3fff iommu=pt

 

I have found that the laptop does not wake from sleep reliably on the latest kernel version (5.4.??) when I was testing that.  4.19 seems good - but I would like to be running a more recent kernel if possible.

 

Will spend some time fiddling further with params vs kernel version as the arch wiki has different ideas about which iommu flag to use on different kernels - and supposedly it is to get X to work correctly.  Maybe someone could confirm if they've had this wake from sleep issue running a Wayland based environment?

Reply
Options

2 Posts

11-11-2019

United States of America

5 Signins

73 Page Views

  • Posts: 2
  • Registered: ‎11-11-2019
  • Location: United States of America
  • Views: 73
  • Message 304 of 313

Re: ThinkPad E485/E585 - Firmware bug ACPI IVRS table

2020-02-07, 1:12 AM

I previously posted on this fourm how I thought many of these sleep mode/ACPI problems were interrupt related, needing irqpoll or irqfixup as boot parameters, but ultimately I was throwing darts at a dartboard with a blindfold trying to make this thing work properly. So far, the most stable setup I've had on my ThinkPad E485 has been switching back to a SATA SSD with BIOS revision 1.32 (seriously) and kernel parameters:

amd_iommu=pt ivrs_ioapic[32]=00:14.0 iommu=soft trace_clock=global

 

Although, occasionally it has trouble waking from sleep mode after longer periods of time, I've had much WORSE system stability, WiFi and bluetooth cutouts, and lots of sleep mode problems with the latest BIOS (1.56) on the latest LTS kernel 5.4.14 on openSUSE Tumbleweed. Using either Xorg or Wayland seems to cause the same black screen problem after waking from sleep mode, using X seems to be more reliable though. Another note: I've gotten much better WiFi/Bluetooth reliability by swapping the stock Realtek combo card with an Intel WiFi AC 8260 card from my old ThinkPad.

 

It's unbelievable to me that Lenovo managed to patch the IVRS IOAPIC bug in the latest BIOS (1.56) yet managed to make sleep mode LESS reliable for us Linux users. Lenovo, PLEASE look into this! I've been debating on selling this ThinkPad for months now because of how unpredictable this thing can be when waking from sleep mode.

Reply
Options

2 Posts

11-11-2019

United States of America

5 Signins

73 Page Views

  • Posts: 2
  • Registered: ‎11-11-2019
  • Location: United States of America
  • Views: 73
  • Message 305 of 313

Re: ThinkPad E485/E585 - Firmware bug ACPI IVRS table

2020-02-07, 17:05 PM

Did some more retesting with the latest BIOS 1.56 and found that the most stable setup using BIOS 1.56 and Kernel 5.4.14 was by booting only with amd_iommu=off. Shorter suspends work just fine, but after a long suspend, it woke up to a black screen, but the screens backlight was on. I closed and reopened the ThinkPad to sleep-wake cycle it to find that the black screen was gone and I could login again, so I rushed to dmesg to track down what caused it to black screen in the first place. 

[ 3638.031197] WARNING: CPU: 2 PID: 20096 at drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_hw_sequencer.c:967 dcn10_verify_allow_pstate_change_high+0x32/0x290 [amdgpu]
[ 3638.031197] Modules linked in: hid_generic uhid fuse uinput ccm rfcomm xt_CHECKSUM xt_MASQUERADE nf_nat_tftp nf_conntrack_tftp xt_CT tun bridge stp llc af_packet xt_tcpudp ip6t_REJECT nf_reject_ipv6 ip6t_rpfilter ipt_REJECT nf_reject_ipv4 xt_conntrack ebtable_nat ebtable_broute ip6table_nat ip6table_mangle ip6table_raw ip6table_security iptable_nat nf_nat iptable_mangle iptable_raw iptable_security nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set nfnetlink ebtable_filter ebtables scsi_transport_iscsi ip6table_filter ip6_tables iptable_filter ip_tables x_tables bpfilter cmac algif_hash algif_skcipher af_alg dmi_sysfs bnep btusb btrtl btbcm btintel bluetooth ecdh_generic ecc edac_mce_amd kvm_amd ccp msr iwlmvm dm_crypt kvm mac80211 irqbypass nls_iso8859_1 crct10dif_pclmul nls_cp437 libarc4 vfat fat crc32_pclmul snd_hda_codec_conexant ghash_clmulni_intel snd_hda_codec_hdmi snd_hda_codec_generic iwlwifi aesni_intel snd_hda_intel snd_intel_nhlt snd_hda_codec snd_hda_core crypto_simd cfg80211
[ 3638.031220]  snd_hwdep cryptd glue_helper r8169 snd_pcm thinkpad_acpi realtek snd_timer ledtrig_audio sp5100_tco snd pcspkr wmi_bmof i2c_piix4 k10temp rfkill joydev libphy soundcore ac ucsi_acpi typec_ucsi typec i2c_scmi button acpi_cpufreq btrfs libcrc32c xor amdgpu raid6_pq amd_iommu_v2 gpu_sched i2c_algo_bit ttm drm_kms_helper xhci_pci xhci_hcd syscopyarea crc32c_intel sysfillrect sysimgblt fb_sys_fops drm sdhci_pci cqhci usbcore sdhci serio_raw mmc_core wmi battery video sg dm_multipath dm_mod scsi_dh_rdac scsi_dh_emc scsi_dh_alua ecryptfs efivarfs
[ 3638.031240] CPU: 2 PID: 20096 Comm: kworker/u32:44 Tainted: G        W         5.4.14-2-vanilla #1
[ 3638.031241] Hardware name: LENOVO 20KUCTO1WW/20KUCTO1WW, BIOS R0UET76W (1.56 ) 11/05/2019
[ 3638.031247] Workqueue: events_unbound commit_work [drm_kms_helper]
[ 3638.031310] RIP: 0010:dcn10_verify_allow_pstate_change_high+0x32/0x290 [amdgpu]
[ 3638.031312] Code: 8b 87 10 03 00 00 48 89 fb 48 8b b8 b0 01 00 00 e8 83 14 01 00 84 c0 0f 85 55 02 00 00 80 3d 34 9e 26 00 00 0f 85 4b 02 00 00 <0f> 0b 80 bb a3 01 00 00 00 0f 84 39 02 00 00 48 8b 83 10 03 00 00
[ 3638.031312] RSP: 0018:ffff9ed3c265b9e8 EFLAGS: 00010246
[ 3638.031313] RAX: 0000000000000000 RBX: ffff90d7340e0000 RCX: 0000000000000000
[ 3638.031314] RDX: 0000000000000000 RSI: ffff90d73f099a18 RDI: ffff90d73f099a18
[ 3638.031315] RBP: ffff90d7340e0000 R08: ffff90d73f099a18 R09: 0000000000000004
[ 3638.031315] R10: 0000000000000000 R11: 0000000000000001 R12: ffff90d73a3e01b8
[ 3638.031316] R13: ffff90d73a3e0000 R14: 0000000000000004 R15: ffff90d73a3e1438
[ 3638.031317] FS:  0000000000000000(0000) GS:ffff90d73f080000(0000) knlGS:0000000000000000
[ 3638.031317] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 3638.031318] CR2: 00001f6c67c2b000 CR3: 0000000400462000 CR4: 00000000003406e0
[ 3638.031319] Call Trace:
[ 3638.031383]  dcn10_pipe_control_lock.part.0+0x69/0x70 [amdgpu]
[ 3638.031444]  commit_planes_for_stream+0x47e/0x910 [amdgpu]
[ 3638.031504]  dc_commit_updates_for_stream+0x970/0xb10 [amdgpu]
[ 3638.031546]  ? amdgpu_display_get_crtc_scanoutpos+0x85/0x190 [amdgpu]
[ 3638.031558]  ? drm_vblank_enable+0x43/0x120 [drm]
[ 3638.031619]  amdgpu_dm_commit_planes.constprop.0+0x808/0xa00 [amdgpu]
[ 3638.031681]  amdgpu_dm_atomic_commit_tail+0x96f/0x1030 [amdgpu]
[ 3638.031685]  ? cpumask_next_and+0x19/0x20
[ 3638.031688]  ? load_balance+0x1ad/0xb50
[ 3638.031709]  ? __btrfs_block_rsv_release+0x1b9/0x300 [btrfs]
[ 3638.031711]  ? mutex_lock+0xe/0x30
[ 3638.031713]  ? __switch_to_asm+0x40/0x70
[ 3638.031714]  ? __switch_to_asm+0x34/0x70
[ 3638.031715]  ? __switch_to_asm+0x40/0x70
[ 3638.031716]  ? __switch_to_asm+0x34/0x70
[ 3638.031717]  ? __switch_to_asm+0x40/0x70
[ 3638.031718]  ? __switch_to_asm+0x34/0x70
[ 3638.031719]  ? __switch_to_asm+0x40/0x70
[ 3638.031720]  ? __switch_to_asm+0x34/0x70
[ 3638.031721]  ? __switch_to_asm+0x40/0x70
[ 3638.031722]  ? __switch_to_asm+0x34/0x70
[ 3638.031723]  ? __switch_to_asm+0x40/0x70
[ 3638.031724]  ? __switch_to_asm+0x34/0x70
[ 3638.031725]  ? __switch_to_asm+0x40/0x70
[ 3638.031726]  ? __switch_to_asm+0x34/0x70
[ 3638.031727]  ? __switch_to_asm+0x40/0x70
[ 3638.031728]  ? __switch_to_asm+0x34/0x70
[ 3638.031730]  ? __switch_to_asm+0x40/0x70
[ 3638.031732]  ? trace_hardirqs_off_thunk+0x1a/0x30
[ 3638.031733]  ? wait_for_completion_timeout+0x103/0x130
[ 3638.031739]  ? commit_tail+0x94/0x110 [drm_kms_helper]
[ 3638.031744]  commit_tail+0x94/0x110 [drm_kms_helper]
[ 3638.031747]  process_one_work+0x1ef/0x3b0
[ 3638.031749]  worker_thread+0x4d/0x400
[ 3638.031751]  kthread+0xf9/0x130
[ 3638.031752]  ? process_one_work+0x3b0/0x3b0
[ 3638.031753]  ? kthread_park+0x90/0x90
[ 3638.031755]  ret_from_fork+0x27/0x50
[ 3638.031757] ---[ end trace 88e96409d419cde9 ]---
[ 3638.032374] [drm] pstate TEST_DEBUG_DATA: 0x3EF60000

Shortly after waking from sleep mode, bluetooth disappears completely as an adaptor on my ThinkPad. Even though Intel's WiFi combo cards have wireless + bluetooth on one card that connects via PCIe, the bluetooth adaptor is independently routed through the system as a USB device. Checking dmesg once again reveals that:

 

[ 4280.106804] xhci_hcd 0000:05:00.4: Refused to change power state, currently in D3
[ 4280.126951] xhci_hcd 0000:05:00.4: enabling device (0000 -> 0002)
[ 4280.350783] xhci_hcd 0000:05:00.4: Port resume timed out, port 3-1: 0x400603
[ 4290.714793] xhci_hcd 0000:05:00.4: xHCI host not responding to stop endpoint command.
[ 4290.718768] xhci_hcd 0000:05:00.4: Host halt failed, -110
[ 4290.718768] xhci_hcd 0000:05:00.4: xHCI host controller not responding, assume dead
[ 4290.718768] xhci_hcd 0000:05:00.4: HC died; cleaning up
[ 4290.718768] usb 3-1: USB disconnect, device number 2
[ 4290.731643] usb usb3-port1: couldn't allocate usb_device

EDIT: For anyone using Intel WiFi combo cards on this laptop, if bluetooth disappears after sleep mode, running these commands to remove and reload the xhci drivers will bring bluetooth back without a reboot (xhci_hcd depends on xhci_pci so you'll have to do both). Eventually I'd like to get this into a systemd service that triggers on sleep so this process is automated.

sudo rmmod xhci_pci
sudo rmmod xhci_hcd
sudo modprobe xhci_pci
sudo modprobe xhci_hcd

 

This ultimately seems to me like a conflict between the firmware on the laptop and the Linux Kernel itself with its associated drivers. I hope we can see a fix for these problems on a BIOS level. I will keep this thread posted if I find any other info.

 

 

 

Reply
Options

2 Posts

08-05-2019

Korea (the Republic of)

2 Signins

16 Page Views

  • Posts: 2
  • Registered: ‎08-05-2019
  • Location: Korea (the Republic of)
  • Views: 16
  • Message 306 of 313

Re: ThinkPad E485/E585 - Firmware bug ACPI IVRS table

2020-02-08, 9:36 AM

I updated BIOS to 1.56 and now FreeBSD does work without set hw.pci.mcfg=0

but I don't use Bluetooth so I'm not sure whether it works.

other things works perfectly.

Reply
Options

0 Posts

02-09-2020

United States of America

0 Signins

0 Page Views

  • Posts: 0
  • Registered: ‎02-09-2020
  • Location: United States of America
  • Views: 0
  • Message 307 of 313

Re: ThinkPad E485/E585 - Firmware bug ACPI IVRS table

2020-02-09, 17:05 PM

Hi,

 

This is my first post in this forum. According to some comment in https://evilazrael.de/comment/970#comment-970, the grub parameters are not needed anymore after BIOS 1.54 update.  So far, my E485 runs stable and wake up after suspend is working.  Currently running Ubuntu 18.04.4 LTS, kernel 5.3.0-28.

 

 

 

 

Reply
Options

4 Posts

01-03-2017

United States of America

5 Signins

106 Page Views

  • Posts: 4
  • Registered: ‎01-03-2017
  • Location: United States of America
  • Views: 106
  • Message 308 of 313

Re:ThinkPad E485/E585 - Firmware bug ACPI IVRS table

2020-05-02, 10:42 AM

Can affirm that updating the BIOS to 1.56 on the E585 will allow you to remove the boot parameters, ivrs_ioapic[32]=00:14.0, that used to be needed needed to boot successfully.

 

Pick your poison on how you go about doing it: I just used a Windows install already present on my machine to do it.

Reply
Options

3 Posts

10-09-2018

Austria

4 Signins

59 Page Views

  • Posts: 3
  • Registered: ‎10-09-2018
  • Location: Austria
  • Views: 59
  • Message 309 of 313

Re:ThinkPad E485/E585 - Firmware bug ACPI IVRS table

2020-06-17, 18:53 PM

A new BIOS version (1.57) is out but the boot error/warning messages remain. Finally I found a Linux distro (OpenSuSE Leap 15.2 - still beta status!!!) where all works fine. The most problems with Ubuntu, Fedora, OpenSuSE Tumbleweed I had with resume from suspend. With Leap 15.2 all works how it should - at least until now. So we hope in the next BIOS version(s) that should fix the boot messages and the horrible Kernel panics. A shame.

Reply
Options

3 Posts

10-09-2018

Austria

4 Signins

59 Page Views

  • Posts: 3
  • Registered: ‎10-09-2018
  • Location: Austria
  • Views: 59
  • Message 310 of 313

Re:ThinkPad E485/E585 - Firmware bug ACPI IVRS table

2020-06-17, 18:55 PM
Oh, I forgot: the Kernel option iommu=soft is needed - without, no success!
Reply
Forum Home

Community Guidelines

Please review our Guidelines before posting.

Learn More

Check out current deals!

Go Shop
X

Save

X

Delete

X

No, I don’t want to share ideas Yes, I agree to these terms