Public bug reported:

[Impact]
On Dell systems with a DW5826e WWAN module, the modem can enter a
frozen state where it no longer responds to USB commands. The system
has no way to reset just the modem, so the user must reboot the whole
machine to recover it.

There is no kernel error log from this failure because the modem simply
stops answering on USB; the symptom is a dead wwan0 interface that does
not come back after toggling the modem.

[Fix]
Add a reset driver for the DW5826e that exposes a sysfs file,
wwan_reset, under the PALC0001 platform device. Writing to it triggers
an ACPI Platform Level Device Reset (PLDR) of the modem via _DSM,
recovering a frozen module without a reboot:

echo 1 > /sys/bus/platform/devices/PALC0001\:00/wwan_reset

Include the follow-up fix so the reset actually reaches the right ACPI
function: the original driver passed a bitmask to acpi_evaluate_dsm(),
which needs a 0-based function index, so it evaluated Function 2
instead of Function 1. Both are upstream.

Patches:
- Add reset driver, upstream in v7.2-rc1:
https://lore.kernel.org/all/[email protected]/
  1ab843135a77 platform/x86: dell-dw5826e: Add reset driver for DW5826e
- Fix _DSM function index and bitmask usage, upstream in v7.2-rc6:
https://patch.msgid.link/[email protected]
  39490ec6063d platform/x86: dell-dw5826e: fix ACPI _DSM function index and 
bitmask usage

[Test Plan]
Freeze the DW5826e modem (or reproduce with a modem stuck after a
failed power cycle), then reset it:

$ echo 1 > /sys/bus/platform/devices/PALC0001\:00/wwan_reset

Without the driver: no wwan_reset file exists and there is no way to
reset the modem short of rebooting.

With the driver (and the _DSM fix): writing 1 to wwan_reset returns
success and the modem re-enumerates and responds to USB commands again.

[Where problems could occur]
Could affect the WWAN/USB stack on Dell systems with this modem.

If the _DSM function index were still wrong, the reset would hit the
wrong function and the modem would not recover, or the reset could
misbehave. If the driver probes on a system where the modem is healthy,
writing wwan_reset resets an in-use modem and briefly drops its wwan0
interface, which would interrupt an active data connection.

The driver only binds to the PALC0001 ACPI ID and checks _DSM support
before activating, so non-Dell or unsupported systems are unaffected.

** Affects: hwe-next
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu Resolute)
     Importance: Undecided
     Assignee: AceLan Kao (acelankao)
         Status: In Progress


** Tags: jira-somerville-4542 oem-priority somerville

** Also affects: linux (Ubuntu Resolute)
   Importance: Undecided
       Status: New

** Changed in: linux (Ubuntu Resolute)
       Status: New => In Progress

** Changed in: linux (Ubuntu Resolute)
     Assignee: (unassigned) => AceLan Kao (acelankao)

** Tags added: jira-somerville-4542 oem-priority somerville

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2163214

Title:
  WWAN modem unresponsive after freeze on Dell systems with DW5826e

To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/2163214/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to