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