ideapad_laptop disables WiFi/BT radios on Lenovo Y540

Bug #1837136 reported by forevertheuni
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Unassigned
Disco
Fix Released
Undecided
Unassigned
Eoan
Fix Released
Undecided
Unassigned

Bug Description

=== SRU Justification ===
[Impact]
WiFi on Ideapads are rfkill HW blocked by default.

[Fix]
Remove no_hw_rfkill_list as most Ideapads don't have hardware rfkill
button.

[Test]
User reported the fix works.

[Regression Potential]
Low. If there's any actual device that has HW rfkill button, we can
simply add it to whitelist.

=== Original Bug Report ===
I have a brand new LeNovo legion Y540 and the ideapad_laptop module results in a rfkill.

If the module is removed/blacklisted, then wifi works, but some ACPI functionality is lost (the fans don't spin correctly and the laptop doesn't cool properly).

I will try to compile ideapad_laptop adding the laptop info to no_hw_rfkill_list[].

I only tried in ubuntu 19.10 (although this is a kernel issue)

rfkill output:
sudo rfkill
ID TYPE DEVICE SOFT HARD
 2 bluetooth hci0 blocked unblocked
 3 wlan phy0 unblocked unblocked
 4 wlan ideapad_wlan unblocked blocked
 5 bluetooth ideapad_bluetooth blocked blocked

1) Ubuntu 5.0.0-20.21-generic 5.0.8
(rest of info in attachment)
---
ProblemType: Bug
ApportVersion: 2.20.10-0ubuntu27.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: jmamede 2484 F.... pulseaudio
 /dev/snd/controlC0: jmamede 2484 F.... pulseaudio
CurrentDesktop: ubuntu:GNOME
DistroRelease: Ubuntu 19.04
InstallationDate: Installed on 2019-07-18 (0 days ago)
InstallationMedia: Ubuntu 19.04 "Disco Dingo" - Release amd64 (20190416)
MachineType: LENOVO 81SX
NonfreeKernelModules: nvidia_modeset nvidia
Package: linux (not installed)
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcFB: 0 EFI VGA
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.0.0-20-generic root=/dev/mapper/lvmmamede-root ro quiet splash vt.handoff=1
ProcVersionSignature: Ubuntu 5.0.0-20.21-generic 5.0.8
RelatedPackageVersions:
 linux-restricted-modules-5.0.0-20-generic N/A
 linux-backports-modules-5.0.0-20-generic N/A
 linux-firmware 1.178.3
Tags: disco
Uname: Linux 5.0.0-20-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 05/28/2019
dmi.bios.vendor: LENOVO
dmi.bios.version: BHCN28WW
dmi.board.asset.tag: NO Asset Tag
dmi.board.name: LNVNB161216
dmi.board.vendor: LENOVO
dmi.board.version: SDK0R32862 WIN
dmi.chassis.asset.tag: NO Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Legion Y540-15IRH
dmi.modalias: dmi:bvnLENOVO:bvrBHCN28WW:bd05/28/2019:svnLENOVO:pn81SX:pvrLegionY540-15IRH:rvnLENOVO:rnLNVNB161216:rvrSDK0R32862WIN:cvnLENOVO:ct10:cvrLegionY540-15IRH:
dmi.product.family: Legion Y540-15IRH
dmi.product.name: 81SX
dmi.product.sku: LENOVO_MT_81SX_BU_idea_FM_Legion Y540-15IRH
dmi.product.version: Legion Y540-15IRH
dmi.sys.vendor: LENOVO

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1837136

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
forevertheuni (forevertheuni) wrote :

Here's dmidecode, lspci, and other relevant info

summary: - deapad_laptop disables WiFi/BT radios on Lenovo Y540
+ ideapad_laptop disables WiFi/BT radios on Lenovo Y540
Revision history for this message
forevertheuni (forevertheuni) wrote :

Okay, I made a dkms based on 5.0.0-20 source code, adding lenovo Y540 IRH and now this laptop is in the no_hw_rfkill list.

Revision history for this message
forevertheuni (forevertheuni) wrote : AlsaInfo.txt

apport information

tags: added: apport-collected
description: updated
Revision history for this message
forevertheuni (forevertheuni) wrote : CRDA.txt

apport information

Revision history for this message
forevertheuni (forevertheuni) wrote : CurrentDmesg.txt

apport information

Revision history for this message
forevertheuni (forevertheuni) wrote : IwConfig.txt

apport information

Revision history for this message
forevertheuni (forevertheuni) wrote : Lspci.txt

apport information

Revision history for this message
forevertheuni (forevertheuni) wrote : Lsusb.txt

apport information

Revision history for this message
forevertheuni (forevertheuni) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
forevertheuni (forevertheuni) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
forevertheuni (forevertheuni) wrote : ProcInterrupts.txt

apport information

Revision history for this message
forevertheuni (forevertheuni) wrote : ProcModules.txt

apport information

Revision history for this message
forevertheuni (forevertheuni) wrote : PulseList.txt

apport information

Revision history for this message
forevertheuni (forevertheuni) wrote : RfKill.txt

apport information

Revision history for this message
forevertheuni (forevertheuni) wrote : UdevDb.txt

apport information

Revision history for this message
forevertheuni (forevertheuni) wrote : WifiSyslog.txt

apport information

Changed in linux (Ubuntu):
status: Incomplete → Fix Committed
status: Fix Committed → Confirmed
status: Confirmed → Incomplete
Po-Hsu Lin (cypressyew)
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
forevertheuni (forevertheuni) wrote :

I made a dkms package that fixed the problem for 19.04 (check above).

By the way. I went to linux kernel 5.2.1 ideapad_laptop.c and now there's no no_hw_rfkill_list. It's the opposite, now it has to be specified if there is a hw-rfkill. So that new laptops don't get this problem.

One option is to install a ppa with a recent kernel.

From the file:
* Some ideapads have a hardware rfkill switch, but most do not have one.
 * Reading VPCCMD_R_RF always results in 0 on models without a hardware rfkill,
 * switch causing ideapad_laptop to wrongly report all radios as hw-blocked.
 * There used to be a long list of DMI ids for models without a hw rfkill
 * switch here, but that resulted in playing whack a mole.
 * More importantly wrongly reporting the wifi radio as hw-blocked, results in
 * non working wifi. Whereas not reporting it hw-blocked, when it actually is
 * hw-blocked results in an empty SSID list, which is a much more benign
 * failure mode.
 * So the default now is the much safer option of assuming there is no
 * hardware rfkill switch. This default also actually matches most hardware,
 * since having a hw rfkill switch is quite rare on modern hardware, so this
 * also leads to a much shorter list.
 */

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :
Revision history for this message
forevertheuni (forevertheuni) wrote :
Download full text (3.6 KiB)

Hi Kai-Heng Fend,

It works great

$ uname -a
Linux gaia 5.0.0-22-generic #23~lp1833630 SMP Fri Jul 12 16:08:44 CST 2019 x86_64 x86_64 x86_64 GNU/Linux

$rfkill
ID TYPE DEVICE SOFT HARD
 0 wlan ideapad_wlan unblocked unblocked
 1 bluetooth ideapad_bluetooth blocked unblocked
 2 wlan phy0 unblocked unblocked
 3 bluetooth hci0 blocked unblocked

$dkms status
acpi-call, 1.1.0, 5.0.0-20-generic, x86_64: installed
acpi-call, 1.1.0, 5.0.0-22-generic, x86_64: installed
ideapad_laptop, 54015IRH, 5.0.0-20-generic, x86_64: installed
nvidia, 430.26, 5.0.0-20-generic, x86_64: installed
nvidia, 430.26, 5.0.0-22-generic, x86_64: installed
tp_smapi, 0.43, 5.0.0-20-generic, x86_64: installed
tp_smapi, 0.43, 5.0.0-22-generic, x86_64: installed
virtualbox, 6.0.6, 5.0.0-20-generic, x86_64: installed
virtualbox, 6.0.6, 5.0.0-22-generic, x86_64: installed

$ sudo modinfo ideapad_laptop
[sudo] password for jmamede:
filename: /lib/modules/5.0.0-22-generic/kernel/drivers/platform/x86/ideapad-laptop.ko
license: GPL
description: IdeaPad ACPI Extras
author: David Woodhouse <email address hidden>
srcversion: 7757C6921FA0FCF81A1D67E
alias: acpi*:VPC2004:*
depends: wmi,video,sparse-keymap
retpoline: Y
intree: Y
name: ideapad_laptop
vermagic: 5.0.0-22-generic SMP mod_unload
sig_id: PKCS#7
signer:
sig_key:
sig_hashalgo: md4
signature: 30:82:02:9A:06:09:2A:86:48:86:F7:0D:01:07:02:A0:82:02:8B:30:
  82:02:87:02:01:01:31:0D:30:0B:06:09:60:86:48:01:65:03:04:02:
  03:30:0B:06:09:2A:86:48:86:F7:0D:01:07:01:31:82:02:64:30:82:
  02:60:02:01:01:30:3B:30:2E:31:2C:30:2A:06:03:55:04:03:0C:23:
  42:75:69:6C:64:20:74:69:6D:65:20:61:75:74:6F:67:65:6E:65:72:
  61:74:65:64:20:6B:65:72:6E:65:6C:20:6B:65:79:02:09:00:97:64:
  FD:D9:AC:F7:97:5D:30:0B:06:09:60:86:48:01:65:03:04:02:03:30:
  0D:06:09:2A:86:48:86:F7:0D:01:01:01:05:00:04:82:02:00:67:2B:
  D7:59:96:80:F6:D2:A8:8B:8D:C0:5A:8B:59:F6:C8:D0:15:94:CC:1D:
  9F:D4:92:76:35:01:E5:D0:F5:C7:80:D4:67:AF:D6:FC:79:12:A6:87:
  E6:A7:2F:19:DD:F5:C2:77:7E:6D:D5:67:DA:67:F8:2F:1A:70:E5:7C:
  4D:AE:0A:61:67:6D:B2:04:85:D6:15:64:3F:17:00:95:A4:BD:62:98:
  23:46:C6:5A:21:C2:F2:51:49:42:28:87:44:4C:7C:5E:B7:AE:22:21:
  4B:AD:0F:EC:96:08:B7:14:A4:18:7F:42:51:0A:57:C3:F6:E4:3C:A6:
  40:A0:6B:A9:9A:18:92:D2:71:B8:C4:DF:C7:D9:99:19:1F:3A:ED:8A:
  35:72:C7:AF:3E:F8:4C:3C:55:E6:E3:33:34:BC:7F:D0:86:AE:0F:3D:
  E2:61:30:81:93:59:BA:9D:AD:6B:13:96:AC:19:BC:3D:23:9F:09:10:
  80:AD:4D:0B:BF:93:90:5D:4C:C5:31:C3:93:CC:0D:95:2E:A5:2A:A7:
  5B:5E:E6:03:CC:60:6D:13:40:12:67:B0:6F:E0:01:D6:1F:BC:98:72:
  FB:E0:AE:69:20:A8:5F:E9:6D:AA:7D:9A:0A:1F:6F:72:90:69:4C:56:
  89:D2:EB:CF:16:64:C4:9F:B2:FF:8C:D9:BE:80:13:9D:F6:4F:67:BA:
  8F:37:C1:DB:77:F0:A5:47:4F:E8:E7:A4:FE:4C:A0:3E:23:90:81:F7:
  F8:B0:EE:F8:EE:C1:08:27:19:DB:9B:EB:0D:B4:4E:29:84:17:BC:C7:
  B4:0D:3D:78:A2:3E:F6:41:70:10:D2:5F:4C:E9:6E:A5:16:C1:F2:48:
  9C:8D:CB:8E:A9:12:9E:F8:AD:AF:01:CA:91:EC:E2:D1:07:67:9E:66:
  8E:1A:3D:6E:60:C6:99:C1:A4:FD:DD:D8:97:4B:AB:36:DC:23:15:09:
  63:BB:8E:CA:07:B8:BD:58:06:51:5A:67:B4:FB:B5:5A:70:76:B2...

Read more...

description: updated
Changed in linux (Ubuntu Eoan):
status: Confirmed → Fix Released
Changed in linux (Ubuntu Bionic):
status: New → Fix Committed
Changed in linux (Ubuntu Disco):
status: New → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-disco' to 'verification-done-disco'. If the problem still exists, change the tag 'verification-needed-disco' to 'verification-failed-disco'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-disco
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-bionic' to 'verification-done-bionic'. If the problem still exists, change the tag 'verification-needed-bionic' to 'verification-failed-bionic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-bionic
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-xenial' to 'verification-done-xenial'. If the problem still exists, change the tag 'verification-needed-xenial' to 'verification-failed-xenial'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-xenial
Revision history for this message
forevertheuni (forevertheuni) wrote :

How do I add the tag verification-done-disco ?

tags: added: verification-done-disco
tags: removed: verification-needed-disco
tags: removed: verification-needed-xenial
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (34.4 KiB)

This bug was fixed in the package linux - 5.0.0-27.28

---------------
linux (5.0.0-27.28) disco; urgency=medium

  * disco/linux: 5.0.0-27.28 -proposed tracker (LP: #1840816)

  * [Potential Regression] System crashes when running ftrace test in
    ubuntu_kernel_selftests (LP: #1840750)
    - x86/kprobes: Set instruction page as executable

linux (5.0.0-26.27) disco; urgency=medium

  * disco/linux: 5.0.0-26.27 -proposed tracker (LP: #1839972)

  * Packaging resync (LP: #1786013)
    - [Packaging] update helper scripts

  * alsa/hdmi: add icelake hdmi audio support for a Dell machine (LP: #1836916)
    - ALSA: hda: hdmi - add Icelake support
    - ALSA: hda/hdmi - Remove duplicated define
    - ALSA: hda/hdmi - Fix i915 reverse port/pin mapping

  * input/mouse: alps trackpoint-only device doesn't work (LP: #1836752)
    - Input: alps - don't handle ALPS cs19 trackpoint-only device
    - Input: alps - fix a mismatch between a condition check and its comment

  * [18.04 FEAT] Enhanced hardware support (LP: #1836857)
    - s390: report new CPU capabilities
    - s390: add alignment hints to vector load and store

  * System does not auto detect disconnection of external monitor (LP: #1835001)
    - drm/i915: Add support for retrying hotplug
    - drm/i915: Enable hotplug retry

  * [18.04 FEAT] Enhanced CPU-MF hardware counters - kernel part (LP: #1836860)
    - s390/cpum_cf: Add support for CPU-MF SVN 6
    - s390/cpumf: Add extended counter set definitions for model 8561 and 8562

  * EeePC 1005px laptop backlight is off after system boot up (LP: #1837117)
    - platform/x86: asus-wmi: Only Tell EC the OS will handle display hotkeys from
      asus_nb_wmi

  * br_netfilter: namespace sysctl operations (LP: #1836910)
    - netfilter: bridge: port sysctls to use brnf_net
    - netfilter: bridge: namespace bridge netfilter sysctls
    - netfilter: bridge: prevent UAF in brnf_exit_net()

  * ideapad_laptop disables WiFi/BT radios on Lenovo Y540 (LP: #1837136)
    - platform/x86: ideapad-laptop: Remove no_hw_rfkill_list

  * shiftfs: allow overlayfs (LP: #1838677)
    - SAUCE: shiftfs: enable overlayfs on shiftfs

  * bcache: bch_allocator_thread(): hung task timeout (LP: #1784665)
    - bcache: never writeback a discard operation
    - bcache: improve bcache_reboot()
    - SAUCE: bcache: fix deadlock in bcache_allocator

  * Regressions in CMA allocation rework (LP: #1839395)
    - dma-contiguous: do not overwrite align in dma_alloc_contiguous()
    - dma-contiguous: page-align the size in dma_free_contiguous()

  * CVE-2019-3900
    - vhost: introduce vhost_exceeds_weight()
    - vhost_net: fix possible infinite loop
    - vhost: vsock: add weight support
    - vhost: scsi: add weight support

  * Disco update: 5.0.21 upstream stable release (LP: #1837518)
    - bonding/802.3ad: fix slave link initialization transition states
    - cxgb4: offload VLAN flows regardless of VLAN ethtype
    - inet: switch IP ID generator to siphash
    - ipv4/igmp: fix another memory leak in igmpv3_del_delrec()
    - ipv4/igmp: fix build error if !CONFIG_IP_MULTICAST
    - ipv6: Consider sk_bound_dev_if when binding a raw socket to an address
    - ipv6: Fix redi...

Changed in linux (Ubuntu Disco):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (235.3 KiB)

This bug was fixed in the package linux - 4.15.0-60.67

---------------
linux (4.15.0-60.67) bionic; urgency=medium

  * bionic/linux: 4.15.0-60.67 -proposed tracker (LP: #1841086)

  * [Regression] net test from ubuntu_kernel_selftests failed due to bpf test
    compilation issue (LP: #1840935)
    - SAUCE: Fix "bpf: relax verifier restriction on BPF_MOV | BPF_ALU"

  * [Regression] failed to compile seccomp test from ubuntu_kernel_selftests
    (LP: #1840932)
    - Revert "selftests: skip seccomp get_metadata test if not real root"

  * Packaging resync (LP: #1786013)
    - [Packaging] resync getabis

linux (4.15.0-59.66) bionic; urgency=medium

  * bionic/linux: 4.15.0-59.66 -proposed tracker (LP: #1840006)

  * zfs not completely removed from bionic tree (LP: #1840051)
    - SAUCE: (noup) remove completely the zfs code

  * Packaging resync (LP: #1786013)
    - [Packaging] update helper scripts

  * [18.04 FEAT] Enhanced hardware support (LP: #1836857)
    - s390: report new CPU capabilities
    - s390: add alignment hints to vector load and store

  * [18.04 FEAT] Enhanced CPU-MF hardware counters - kernel part (LP: #1836860)
    - s390/cpum_cf: Add support for CPU-MF SVN 6
    - s390/cpumf: Add extended counter set definitions for model 8561 and 8562

  * ideapad_laptop disables WiFi/BT radios on Lenovo Y540 (LP: #1837136)
    - platform/x86: ideapad-laptop: Remove no_hw_rfkill_list

  * Stacked onexec transitions fail when under NO NEW PRIVS restrictions
    (LP: #1839037)
    - SAUCE: apparmor: fix nnp subset check failure when, stacking

  * bcache: bch_allocator_thread(): hung task timeout (LP: #1784665) // Tight
    timeout for bcache removal causes spurious failures (LP: #1796292)
    - SAUCE: bcache: fix deadlock in bcache_allocator

  * bcache: bch_allocator_thread(): hung task timeout (LP: #1784665)
    - bcache: never writeback a discard operation
    - bcache: improve bcache_reboot()
    - bcache: fix writeback target calc on large devices
    - bcache: add journal statistic
    - bcache: fix high CPU occupancy during journal
    - bcache: use pr_info() to inform duplicated CACHE_SET_IO_DISABLE set
    - bcache: fix incorrect sysfs output value of strip size
    - bcache: fix error return value in memory shrink
    - bcache: fix using of loop variable in memory shrink
    - bcache: Fix indentation
    - bcache: Add __printf annotation to __bch_check_keys()
    - bcache: Annotate switch fall-through
    - bcache: Fix kernel-doc warnings
    - bcache: Remove an unused variable
    - bcache: Suppress more warnings about set-but-not-used variables
    - bcache: Reduce the number of sparse complaints about lock imbalances
    - bcache: Fix a compiler warning in bcache_device_init()
    - bcache: Move couple of string arrays to sysfs.c
    - bcache: Move couple of functions to sysfs.c
    - bcache: Replace bch_read_string_list() by __sysfs_match_string()

  * linux hwe i386 kernel 5.0.0-21.22~18.04.1 crashes on Lenovo x220
    (LP: #1838115)
    - x86/mm: Check for pfn instead of page in vmalloc_sync_one()
    - x86/mm: Sync also unmappings in vmalloc_sync_all()
    - mm/vmalloc.c: add priority threshold to __purge_vmap_area_lazy()...

Changed in linux (Ubuntu Bionic):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.