From cd723abe0287ed3ad183d3e84ff7967ad7294f51 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 8 Dec 2023 10:35:20 -0600 Subject: [PATCH] Add Qualcomm IPC router to enable USB(Lenovo x13s) Signed-off-by: Dennis Gilmore --- 2531.patch | 46 ++++++++++++++++++++++++++++++++++++++++++++++ dracut.spec | 9 ++++++++- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 2531.patch diff --git a/2531.patch b/2531.patch new file mode 100644 index 0000000..4ddce32 --- /dev/null +++ b/2531.patch @@ -0,0 +1,46 @@ +From a8015f7dfc682100434e3ee051bf9472a8e6cad4 Mon Sep 17 00:00:00 2001 +From: Jeremy Linton +Date: Fri, 6 Oct 2023 10:33:22 -0500 +Subject: [PATCH] feat(kernel-modules): add Qualcomm IPC router to enable USB + +The x13s, and possibly other Qualcomm based devices need the QC +IPC router driver in order to enable USB. Without it, its not +possible to boot from USB-C attached disks. + +IPC in this case is Inter _Processor_ Communication and forms +the message bus used to communicate between differing processing +elements in a given system/SoC running and managing various +hardware devices. This means that while it appears this driver +should be in the dracut network modules that is incorrect +because its not for enabling host networking in the initrd, +but rather for communicating with other hardware blocks. + +Those other blocks aren't limited to modems, but any SMD (shared +memory device), which on QC based machines includes the audio DSPs, +RPM (resource power manager) and of course the application +processor cores linux is running on. + +References: +https://osmocom.org/projects/quectel-modems/wiki/Qualcomm_Linux_SMD +https://android.googlesource.com/kernel/msm/+/android-7.1.0_r0.2/Documentation/arm/msm/msm_ipc_router.txt +https://github.com/dracutdevs/dracut/pull/2531 + +Signed-off-by: Jeremy Linton +--- + modules.d/90kernel-modules/module-setup.sh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh +index e217512594..75afecc86f 100755 +--- a/modules.d/90kernel-modules/module-setup.sh ++++ b/modules.d/90kernel-modules/module-setup.sh +@@ -95,7 +95,8 @@ installkernel() { + "=drivers/usb/misc" \ + "=drivers/usb/musb" \ + "=drivers/usb/phy" \ +- "=drivers/scsi/hisi_sas" ++ "=drivers/scsi/hisi_sas" \ ++ "=net/qrtr" + fi + + awk -F: '/^\// {print $1}' "$srcmods/modules.dep" 2> /dev/null | instmods diff --git a/dracut.spec b/dracut.spec index 3c3e925..4d0fb31 100644 --- a/dracut.spec +++ b/dracut.spec @@ -7,7 +7,7 @@ %global __requires_exclude pkg-config # rpmdev-bumpspec and releng automation compatible variable -%global baserelease 17 +%global baserelease 18 Name: dracut Version: 059 @@ -94,6 +94,10 @@ Patch16: https://github.com/dracutdevs/dracut/pull/2527.patch # https://github.com/dracutdevs/dracut/pull/2481 Patch17: 2481-remove-microcode-check-based-on-CONFIG_MICROCODE_.patch +# Fix for Lenovo x13s +# https://github.com/dracutdevs/dracut/pull/2531 +Patch: 2531.patch + BuildRequires: bash BuildRequires: git-core BuildRequires: pkgconfig(libkmod) >= 23 @@ -494,6 +498,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install %changelog +* Fri Dec 08 2023 Dennis Gilmore - 059-18 +- Add Qualcomm IPC router to enable USB(Lenovo x13s) + * Thu Nov 16 2023 Pavel Valena - 059-17 - fix(dracut.sh): remove microcode check based on