Bug#1040956: systemd: Internal USB devices disconnected when `udevadm settle` run in early boot

Undef debian at undef.tools
Thu Jul 13 05:14:05 BST 2023


Package: systemd
Version: 253.5-1
Severity: important
X-Debbugs-Cc: debian at undef.tools

Dear Maintainer,

On upgrade to systemd 253.5-1 the USB modem on my Librem5 stopped
working. This also occurs on 252.11-1 (testing) but not on 252.6-1
(stable) or 253-3 (previously available in unstable.

This only seems to happen in a very specific configuration:
  * Librem5
  * Booting from eMMC
  * Using full disk encryption
  * Using an on-screen keyboard such as osk-sdl to unlock the device.

Digging into the issue, it seems I can trigger it by adding an initramfs
script which will run `udevadm settle` in the initramfs. This itself
doesn't remove the USB device, but later in the boot the device will
disappear.

The following logs are found in dmesg:
```
[   28.890890] usbcore: registered new interface driver option
[   28.890948] usbserial: USB Serial support registered for GSM modem (1-port)
[   28.960264] input: Librem 5 Headphones as /devices/platform/sound/sound/card0/input5
[   29.080045] option 1-1.2:1.0: GSM modem (1-port) converter detected
[   29.080766] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0
[   29.091094] input: Librem 5 Headset Mic as /devices/platform/sound/sound/card0/input6
[   29.092893] imx-hdmi sound-hdmi: snd_soc_register_card failed (-517)
[   29.107724] option 1-1.2:1.1: GSM modem (1-port) converter detected
[   29.277461] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1
[   29.292653] option 1-1.2:1.2: GSM modem (1-port) converter detected
[   29.326085] imx-hdmi sound-hdmi: snd_soc_register_card failed (-517)
[   29.427883] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB2
[   29.457265] option 1-1.2:1.3: GSM modem (1-port) converter detected
[...]
[   31.474866] usb 1-1.2: USB disconnect, device number 4
[   31.475478] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[   31.475542] option 1-1.2:1.0: device disconnected
[   31.482999] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
[   31.483071] option 1-1.2:1.1: device disconnected
[   31.507980] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
[   31.508439] option 1-1.2:1.2: device disconnected
[   31.552074] option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
[   31.552146] option 1-1.2:1.3: device disconnected
[   31.552425] qmi_wwan 1-1.2:1.4 wwan0: unregister 'qmi_wwan' usb-xhci-hcd.4.auto-1.2, WWAN/QMI device
```
If `udevadm settle` or the on-screen disk encryption keyboard is not run
in the initramfs the issue does not occur.

Rolling back to systemd 252-3 or 252.6-1 works around the issue. I
originally saw the issue on 252.11-1 but didn't report it as upgrading
to systemd from unstable (253-3) fixed the issue.

Additionally, using a keyfile such that running `udevadm settle` or
equivalent is not required works around the issue (though makes disk
encryption slightly pointless).


-- Package-specific info:

-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing'), (1, 'experimental')
Architecture: arm64 (aarch64)

Kernel: Linux 6.1-librem5 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_CRAP
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages systemd depends on:
ii  libacl1            2.3.1-3
ii  libaudit1          1:3.0.9-1
ii  libblkid1          2.38.1-5+b1
ii  libc6              2.37-5
ii  libcap2            1:2.66-4
ii  libcryptsetup12    2:2.6.1-4
ii  libfdisk1          2.38.1-5+b1
ii  libgcrypt20        1.10.2-2
ii  libkmod2           30+20230519-1
ii  liblz4-1           1.9.4-1
ii  liblzma5           5.4.1-0.2
ii  libmount1          2.38.1-5+b1
ii  libp11-kit0        0.24.1-2
ii  libseccomp2        2.5.4-1+b3
ii  libselinux1        3.4-1+b6
ii  libssl3            3.0.9-1
ii  libsystemd-shared  253.5-1
ii  libsystemd0        253.5-1
ii  libzstd1           1.5.5+dfsg2-1
ii  mount              2.38.1-5+b1
ii  systemd-dev        253.5-1

Versions of packages systemd recommends:
ii  chrony [time-daemon]            4.3-4
ii  dbus [default-dbus-system-bus]  1.14.8-1
ii  dbus-broker [dbus-system-bus]   33-1

Versions of packages systemd suggests:
ii  libfido2-1            1.13.0-1
ii  libqrencode4          4.1.1-1
pn  libtss2-esys-3.0.2-0  <none>
pn  libtss2-mu0           <none>
pn  libtss2-rc0           <none>
ii  polkitd               122-4
pn  systemd-boot          <none>
pn  systemd-container     <none>
pn  systemd-homed         <none>
ii  systemd-resolved      253.5-1
pn  systemd-userdbd       <none>

Versions of packages systemd is related to:
ii  dbus-user-session  1.14.8-1
pn  dracut             <none>
ii  initramfs-tools    0.142
ii  libnss-systemd     253.5-1
ii  libpam-systemd     253.5-1
ii  udev               253.5-1

-- no debconf information



More information about the Pkg-systemd-maintainers mailing list