From 6e515f7988a4dbb539de18c20bc061d17490f37e Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Mon, 21 Oct 2024 22:58:32 +0200 Subject: [PATCH 01/37] feat: automatically parse jhovold's kernel version --- packages/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/default.nix b/packages/default.nix index 5674e77..ff2fab6 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -26,7 +26,10 @@ in { linux_jhovold = pkgs.callPackage linux_x13s_pkg { src = inputs.linux-jhovold; - version = "6.12.0-rc2"; + version = let + lock = builtins.fromJSON (builtins.readFile ../flake.lock); + in builtins.elemAt (builtins.tail (builtins.split "xp-" lock.nodes.linux-jhovold.original.ref)) 1; + defconfig = "johan_defconfig"; }; From cfbc5046538290682cb0475c52c80329ebc21649 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Mon, 21 Oct 2024 22:59:00 +0200 Subject: [PATCH 02/37] feat: bump jhovold to 6.12-rc3 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 422ac12..7d6c499 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1728631036, - "narHash": "sha256-1LnClVjY6WS+IR9eqPFA7gzXm0cio3mY23NXj9cKHHs=", + "lastModified": 1728887054, + "narHash": "sha256-fyXyjrzptxvhG+7xI4ADo6raKRZWzg/Jph1waR2Vc30=", "owner": "jhovold", "repo": "linux", - "rev": "6a97bc22fa36010400b91e6d5979741c391112c3", + "rev": "6bc37da2231cfed860662fa9717d0cf2896e1145", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.12-rc2", + "ref": "wip/sc8280xp-6.12-rc3", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index a0a9d0c..449ab28 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.12-rc2"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.12-rc3"; linux-jhovold.flake = false; }; From 1166c321f8f772af8cfedc6389a52a6e7fdd9ff5 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 22 Oct 2024 09:22:31 +0200 Subject: [PATCH 03/37] fix(packages/linux_jhovold): pad version to produce valid modVersion --- packages/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/default.nix b/packages/default.nix index ff2fab6..09f2120 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -28,7 +28,9 @@ in src = inputs.linux-jhovold; version = let lock = builtins.fromJSON (builtins.readFile ../flake.lock); - in builtins.elemAt (builtins.tail (builtins.split "xp-" lock.nodes.linux-jhovold.original.ref)) 1; + original = builtins.elemAt (builtins.tail (builtins.split "xp-" lock.nodes.linux-jhovold.original.ref)) 1; + modVersion = lib.versions.pad 3 original; + in modVersion; defconfig = "johan_defconfig"; }; From 59518326605df94b1e48ebddb8cc760868780147 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Mon, 21 Oct 2024 22:59:00 +0200 Subject: [PATCH 04/37] feat: bump jhovold to 6.12-rc4 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 7d6c499..62ffd75 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1728887054, - "narHash": "sha256-fyXyjrzptxvhG+7xI4ADo6raKRZWzg/Jph1waR2Vc30=", + "lastModified": 1729611773, + "narHash": "sha256-9aMsXr5M2QsqbNpM3dcTApDxMdtdS0PHmarHZkHXReA=", "owner": "jhovold", "repo": "linux", - "rev": "6bc37da2231cfed860662fa9717d0cf2896e1145", + "rev": "47eaeee39f67f1aca064615b6929da7b765e93da", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.12-rc3", + "ref": "wip/sc8280xp-6.12-rc4", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index 449ab28..66647c4 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.12-rc3"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.12-rc4"; linux-jhovold.flake = false; }; From 13748008aee498832a59927b4ea428cec44c80c0 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sat, 26 Oct 2024 19:21:24 +0200 Subject: [PATCH 05/37] don't use regulator_ignore_unused --- module.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module.nix b/module.nix index 0038fbe..0ce673b 100644 --- a/module.nix +++ b/module.nix @@ -78,7 +78,7 @@ in "clk_ignore_unused" "pd_ignore_unused" "arm64.nopauth" - "regulator_ignore_unused" # allows for > 30 sec to load msm, at the potential cost of power + # "regulator_ignore_unused" # allows for > 30 sec to load msm, at the potential cost of power ]; initrd = { From ff41877fbdf32f2029ade902f10142afb053d2da Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 29 Oct 2024 16:17:19 +0100 Subject: [PATCH 06/37] feat: bump kernel to 6.12-rc5 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 62ffd75..766b8e0 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1729611773, - "narHash": "sha256-9aMsXr5M2QsqbNpM3dcTApDxMdtdS0PHmarHZkHXReA=", + "lastModified": 1730186574, + "narHash": "sha256-QjStPt3c/v55lJUgn4Rdx/WTaQKdUxNL9nwkIKQ8O2Q=", "owner": "jhovold", "repo": "linux", - "rev": "47eaeee39f67f1aca064615b6929da7b765e93da", + "rev": "699d5b0ccdc1a343ded65aa876f0b720ca7dada9", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.12-rc4", + "ref": "wip/sc8280xp-6.12-rc5", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index 66647c4..ada6658 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.12-rc4"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.12-rc5"; linux-jhovold.flake = false; }; From b74e8bfe82f059a5854cfc40f7206191edff365d Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 8 Nov 2024 22:25:50 +0100 Subject: [PATCH 07/37] feat: bump linux-jhovold -> 6.12-rc6 --- flake.lock | 8 ++++---- flake.nix | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 766b8e0..f5ed28c 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1730186574, - "narHash": "sha256-QjStPt3c/v55lJUgn4Rdx/WTaQKdUxNL9nwkIKQ8O2Q=", + "lastModified": 1730883079, + "narHash": "sha256-+ZU70M+mqo9SZNLkVtCM0+TdXEh7X39Kxmk6z58GMaM=", "owner": "jhovold", "repo": "linux", - "rev": "699d5b0ccdc1a343ded65aa876f0b720ca7dada9", + "rev": "9e9890798b6b4e81db66c572ee6acd291cf8cb77", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.12-rc5", + "ref": "wip/sc8280xp-6.12-rc6", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index ada6658..c2fafbc 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.12-rc5"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.12-rc6"; linux-jhovold.flake = false; }; @@ -21,7 +21,7 @@ ]; perSystem = - { pkgs, ... }: + { pkgs, inputs' , ... }: { devShells = rec { default = pkgs.mkShellNoCC { packages = ci.nativeBuildInputs; }; From b957608c2a0b7808f17588be2f38d8ddb6321b2f Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sat, 16 Nov 2024 22:49:40 +0100 Subject: [PATCH 08/37] chore: bump kernel to 6.12-rc7 --- flake.lock | 8 ++++---- flake.nix | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index f5ed28c..858432c 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1730883079, - "narHash": "sha256-+ZU70M+mqo9SZNLkVtCM0+TdXEh7X39Kxmk6z58GMaM=", + "lastModified": 1731424601, + "narHash": "sha256-+ErrKhGSyiBJGwO1XrfxzsLoGWoJmVD2ldi5Ag5uJqE=", "owner": "jhovold", "repo": "linux", - "rev": "9e9890798b6b4e81db66c572ee6acd291cf8cb77", + "rev": "15326bf5cbf6526eefb10cb5bc112a6a95990ec2", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.12-rc6", + "ref": "wip/sc8280xp-6.12-rc7", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index c2fafbc..b7eaccc 100644 --- a/flake.nix +++ b/flake.nix @@ -3,8 +3,9 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.12-rc6"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.12-rc7"; linux-jhovold.flake = false; + }; outputs = From b78fc5d593e6f7b85f8b1d3585098ac333b5dc76 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sat, 16 Nov 2024 23:31:38 +0100 Subject: [PATCH 09/37] chore: bump uefi to 1.61.1 --- packages/uefi.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/uefi.nix b/packages/uefi.nix index 10bd361..441e446 100644 --- a/packages/uefi.nix +++ b/packages/uefi.nix @@ -1,3 +1,5 @@ +# https://support.lenovo.com/us/en/downloads/ds556845-bios-update-utility-bootable-cd-for-windows-11-thinkpad-x13s-gen-1-type-21bx-21by + { stdenv, fetchurl, @@ -6,11 +8,11 @@ stdenv.mkDerivation { name = "uefi"; - version = "1.60"; + version = "1.61"; src = fetchurl { - url = "https://download.lenovo.com/pccbbs/mobiles/n3huj19w.exe"; - hash = "sha256-ZSjkvbMb0e9CoL2OYo3Aioyz3or1YkOX/BdOOeAuL7I="; + url = "https://download.lenovo.com/pccbbs/mobiles/n3huj20w.exe"; + hash = "sha256-A3l/ZfIbFcvFX+bMWYgpW+1kkYPu5MQkuTCgszhaoIY="; }; nativeBuildInputs = [ innoextract ]; From 01295d13cef642d26000c85ddf96681345d4377b Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 26 Nov 2024 10:10:50 +0100 Subject: [PATCH 10/37] feat: bump jhovold/linux to 6.12 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 858432c..53f3d7c 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1731424601, - "narHash": "sha256-+ErrKhGSyiBJGwO1XrfxzsLoGWoJmVD2ldi5Ag5uJqE=", + "lastModified": 1731933860, + "narHash": "sha256-F9PtGVeT3i6EYt3uNp5PaFKPXiWOe6T8Y5U5WzXHauE=", "owner": "jhovold", "repo": "linux", - "rev": "15326bf5cbf6526eefb10cb5bc112a6a95990ec2", + "rev": "24dcd44a39079e920512fc280fa08907be2a6c31", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.12-rc7", + "ref": "wip/sc8280xp-6.12", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index b7eaccc..627a5a5 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.12-rc7"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.12"; linux-jhovold.flake = false; }; From 887d0550a7c41322067978d70004c6f67d325c59 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 5 Dec 2024 09:54:00 +0100 Subject: [PATCH 11/37] bump to 6.13-rc1 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 53f3d7c..2094cdb 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1731933860, - "narHash": "sha256-F9PtGVeT3i6EYt3uNp5PaFKPXiWOe6T8Y5U5WzXHauE=", + "lastModified": 1733214488, + "narHash": "sha256-nhS3FgdJm1KBjAuTePgcQ4oXzigyDufQfz2TUUahHtM=", "owner": "jhovold", "repo": "linux", - "rev": "24dcd44a39079e920512fc280fa08907be2a6c31", + "rev": "ccd13b9fd1a31c869789e2320e777bfdc150face", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.12", + "ref": "wip/sc8280xp-6.13-rc1", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index 627a5a5..0300ea2 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.12"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13-rc1"; linux-jhovold.flake = false; }; From 6f094672416c4aa704e5347db3f155e73013761e Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 5 Dec 2024 09:54:23 +0100 Subject: [PATCH 12/37] remove `efi=noruntime` as it's not required anymore according to jhovold --- module.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/module.nix b/module.nix index 0ce673b..2b87694 100644 --- a/module.nix +++ b/module.nix @@ -74,7 +74,6 @@ in "dtb=${dtbEfiPath}" # jhovold recommended - "efi=noruntime" "clk_ignore_unused" "pd_ignore_unused" "arm64.nopauth" From 0727184585aff4ce779da0d494569c80b5b38c0a Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 5 Dec 2024 10:15:16 +0100 Subject: [PATCH 13/37] chore: bump flake inputs --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 2094cdb..dc7abfa 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1725234343, - "narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "567b938d64d4b4112ee253b9274472dc3a346eb6", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -37,11 +37,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725432240, - "narHash": "sha256-+yj+xgsfZaErbfYM3T+QvEE2hU7UuE+Jf0fJCJ8uPS0=", + "lastModified": 1733212471, + "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ad416d066ca1222956472ab7d0555a6946746a80", + "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", "type": "github" }, "original": { From 46229fc2b9d15187b3ea4f902688243d211a0726 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 5 Dec 2024 10:15:22 +0100 Subject: [PATCH 14/37] feat: add (misisng) bluetooth-firmware files --- flake.lock | 28 +++++++++++++++++++++++----- flake.nix | 24 ++++++++++++++++++++++++ module.nix | 6 +++++- packages/default.nix | 5 +++++ 4 files changed, 57 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index dc7abfa..fa922aa 100644 --- a/flake.lock +++ b/flake.lock @@ -53,21 +53,39 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1725233747, - "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=", + "lastModified": 1733096140, + "narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" } }, "root": { "inputs": { "flake-parts": "flake-parts", "linux-jhovold": "linux-jhovold", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "x13s-bt-linux-firmware": "x13s-bt-linux-firmware" + } + }, + "x13s-bt-linux-firmware": { + "flake": false, + "locked": { + "lastModified": 1733240564, + "narHash": "sha256-348f+wuX7x8xqaBRkraTclupdnRcwL/z2l/1Bs/reXc=", + "ref": "refs/heads/main", + "rev": "06aea4d8bfd5ca3624b56162b24339d7b0449913", + "revCount": 4282, + "type": "git", + "url": "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git" + }, + "original": { + "rev": "06aea4d8bfd5ca3624b56162b24339d7b0449913", + "type": "git", + "url": "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git" } } }, diff --git a/flake.nix b/flake.nix index 0300ea2..947b031 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,30 @@ linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13-rc1"; linux-jhovold.flake = false; + x13s-bt-linux-firmware = { + flake = false; + + # 2024-12-05 now required by jhovold's (and soon mainline) kernel. need two files from here: hpnv21.b8c hpnv21g.b8c + # url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qca/hpnv21.b8c?id=8d24066f829b97966818fd0d9b5881190670f53f"; + url = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git?rev=06aea4d8bfd5ca3624b56162b24339d7b0449913"; + + + # revisions for this file: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/log/qca/hpbtfw21.tlv + + # 2024-07-29 + # not working well + # url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qca/hpbtfw21.tlv?id=d118dc8ad5562ac0ae0c07be748cbe35a9361b47"; + + # 2024-05-30 + # url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qca/hpbtfw21.tlv?id=436b0a920352d13290043d9ec9e50c420ab10f92"; + + # 2023-12-18 + # not working well + # url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qca/hpbtfw21.tlv?id=598f5bd22361d7e92eebe8452d1f8013a1d35b9a"; + + # 2013-01-17 + # url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qca/hpbtfw21.tlv?id=2ba1beaae0c649ce8a50baecc8df9e81cd524e65"; + }; }; outputs = diff --git a/module.nix b/module.nix index 2b87694..7e46748 100644 --- a/module.nix +++ b/module.nix @@ -28,6 +28,7 @@ let paths = [ modulesClosure x13sPackages.graphics-firmware + x13sPackages.bluetooth-firmware ]; }; in @@ -53,7 +54,10 @@ in environment.systemPackages = [ pkgs.efibootmgr ]; hardware.enableAllFirmware = true; - hardware.firmware = lib.mkBefore [ x13sPackages.graphics-firmware ]; + hardware.firmware = lib.mkBefore [ + x13sPackages.graphics-firmware + x13sPackages.bluetooth-firmware + ]; boot = { initrd.systemd.enable = true; diff --git a/packages/default.nix b/packages/default.nix index 09f2120..bcd7bfe 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -47,4 +47,9 @@ in ${lib.getExe pkgs.innoextract} ${gpu-src} cp -v code\$GetExtractPath\$/*/*.mbn "$out/lib/firmware/qcom/sc8280xp/LENOVO/21BX/" ''; + + bluetooth-firmware = pkgs.runCommand "x13s-bluetooth-firmware" { } '' + mkdir -p $out/lib/firmware/qca + cp -v ${inputs.x13s-bt-linux-firmware}/qca/{hpnv21.b8c,hpnv21g.b8c} $out/lib/firmware/qca/ + ''; } From 4ad2bf71ca60791a4f071f916edd027a90e25278 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 5 Dec 2024 11:07:07 +0100 Subject: [PATCH 15/37] refactor: add overlay stub --- flake.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 947b031..f25df5d 100644 --- a/flake.nix +++ b/flake.nix @@ -46,8 +46,18 @@ ]; perSystem = - { pkgs, inputs' , ... }: + { pkgs, inputs' , system, lib, ... }: { + _module.args.pkgs = import inputs.nixpkgs { + inherit system; + overlays = [ + (final: prev: { + # overlay here + }) + ]; + config = { }; + }; + devShells = rec { default = pkgs.mkShellNoCC { packages = ci.nativeBuildInputs; }; From 80d92e5c1f6c04e567a7e496a2b2fb6cee0d4002 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 5 Dec 2024 11:07:30 +0100 Subject: [PATCH 16/37] fix(example): set bluetoothMac --- flake.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/flake.nix b/flake.nix index f25df5d..caa77d0 100644 --- a/flake.nix +++ b/flake.nix @@ -96,6 +96,8 @@ nixos-x13s.enable = true; nixos-x13s.kernel = "jhovold"; # jhovold is default + nixos-x13s.bluetoothMac = "02:68:b3:29:da:98"; + # allow unfree firmware nixpkgs.config.allowUnfree = true; From b116d698f4b531a7577ccb875ca6a8106b9d63ee Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 5 Dec 2024 11:07:42 +0100 Subject: [PATCH 17/37] fix(nixpkgs): use fork with cpupower fix --- flake.lock | 12 ++++++------ flake.nix | 3 ++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index fa922aa..4e3e6f2 100644 --- a/flake.lock +++ b/flake.lock @@ -37,16 +37,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733212471, - "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", - "owner": "NixOS", + "lastModified": 1733393026, + "narHash": "sha256-hpUyV0NHnIZpFzN6p7udW6Jh+m9tlLvCcNf1/wG5pQY=", + "owner": "steveej-forks", "repo": "nixpkgs", - "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", + "rev": "b1714b7f9e5761ad965a4df7602105f1e159b89e", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable", + "owner": "steveej-forks", + "ref": "steveej-unstable", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index caa77d0..01daa7c 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,7 @@ { inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:steveej-forks/nixpkgs/steveej-unstable"; + # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13-rc1"; From c95058f8aa1b361df3874429c5dc0f694f9cba78 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 10 Dec 2024 19:29:45 +0100 Subject: [PATCH 18/37] feat(flake): jhovold linux 6.13-rc1 -> 6.13-rc2 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 4e3e6f2..b675235 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1733214488, - "narHash": "sha256-nhS3FgdJm1KBjAuTePgcQ4oXzigyDufQfz2TUUahHtM=", + "lastModified": 1733829848, + "narHash": "sha256-eSMC7QBA4N6oKNemce/7tuyjGHHnXDjoLJLyxHaJrJI=", "owner": "jhovold", "repo": "linux", - "rev": "ccd13b9fd1a31c869789e2320e777bfdc150face", + "rev": "bc85c6f253096667ccbf2a60d37070f347e67ae4", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.13-rc1", + "ref": "wip/sc8280xp-6.13-rc2", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index 01daa7c..614a7dd 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13-rc1"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13-rc2"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From 77c000d82d6ca0078effb963e08bedce009534ab Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 18 Dec 2024 11:16:57 +0100 Subject: [PATCH 19/37] chore: bump jhovold sources to 6.13-rc3 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index b675235..3bda417 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1733829848, - "narHash": "sha256-eSMC7QBA4N6oKNemce/7tuyjGHHnXDjoLJLyxHaJrJI=", + "lastModified": 1734331387, + "narHash": "sha256-q49Gk6MNWX5cZZlls3mcZ1UloDtOjJGEVTFNQD/UtWM=", "owner": "jhovold", "repo": "linux", - "rev": "bc85c6f253096667ccbf2a60d37070f347e67ae4", + "rev": "e6114ad3a4a32e01978f87af5844e03d50b7732b", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.13-rc2", + "ref": "wip/sc8280xp-6.13-rc3", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index 614a7dd..9afb570 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13-rc2"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13-rc3"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From 3c79ed01fb15d9e1f2c6226dae1a2ee883c77c8e Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sat, 21 Dec 2024 21:54:38 +0100 Subject: [PATCH 20/37] add linux usb patch https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e9b8ffafd20ad21357a789cc58ffaa162b3ad074 --- packages/default.nix | 7 + patches/6-13rc3-usb.patch | 776 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 783 insertions(+) create mode 100644 patches/6-13rc3-usb.patch diff --git a/packages/default.nix b/packages/default.nix index bcd7bfe..3316f8b 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -33,6 +33,13 @@ in in modVersion; defconfig = "johan_defconfig"; + + kernelPatches = [ + { + name = "6-13rc3-usb"; + patch = ../patches/6-13rc3-usb.patch; + } + ]; }; graphics-firmware = diff --git a/patches/6-13rc3-usb.patch b/patches/6-13rc3-usb.patch new file mode 100644 index 0000000..bfb3dfc --- /dev/null +++ b/patches/6-13rc3-usb.patch @@ -0,0 +1,776 @@ +From 8644b48714dca8bf2f42a4ff8311de8efc9bd8c3 Mon Sep 17 00:00:00 2001 +From: Mika Westerberg +Date: Tue, 14 May 2024 10:15:14 +0300 +Subject: thunderbolt: Add support for Intel Panther Lake-M/P + +Intel Panther Lake-M/P has the same integrated Thunderbolt/USB4 +controller as Lunar Lake. Add these PCI IDs to the driver list of +supported devices. + +Cc: stable@vger.kernel.org +Signed-off-by: Mika Westerberg +--- + drivers/thunderbolt/nhi.c | 8 ++++++++ + drivers/thunderbolt/nhi.h | 4 ++++ + 2 files changed, 12 insertions(+) + +diff --git a/drivers/thunderbolt/nhi.c b/drivers/thunderbolt/nhi.c +index 1257dd3ce7e6a3..f3a2264e012bcd 100644 +--- a/drivers/thunderbolt/nhi.c ++++ b/drivers/thunderbolt/nhi.c +@@ -1520,6 +1520,14 @@ static struct pci_device_id nhi_ids[] = { + .driver_data = (kernel_ulong_t)&icl_nhi_ops }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_LNL_NHI1), + .driver_data = (kernel_ulong_t)&icl_nhi_ops }, ++ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_PTL_M_NHI0), ++ .driver_data = (kernel_ulong_t)&icl_nhi_ops }, ++ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_PTL_M_NHI1), ++ .driver_data = (kernel_ulong_t)&icl_nhi_ops }, ++ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_PTL_P_NHI0), ++ .driver_data = (kernel_ulong_t)&icl_nhi_ops }, ++ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_PTL_P_NHI1), ++ .driver_data = (kernel_ulong_t)&icl_nhi_ops }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_BARLOW_RIDGE_HOST_80G_NHI) }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_BARLOW_RIDGE_HOST_40G_NHI) }, + +diff --git a/drivers/thunderbolt/nhi.h b/drivers/thunderbolt/nhi.h +index 7a07c7c1a9c2c6..16744f25a9a069 100644 +--- a/drivers/thunderbolt/nhi.h ++++ b/drivers/thunderbolt/nhi.h +@@ -92,6 +92,10 @@ extern const struct tb_nhi_ops icl_nhi_ops; + #define PCI_DEVICE_ID_INTEL_RPL_NHI1 0xa76d + #define PCI_DEVICE_ID_INTEL_LNL_NHI0 0xa833 + #define PCI_DEVICE_ID_INTEL_LNL_NHI1 0xa834 ++#define PCI_DEVICE_ID_INTEL_PTL_M_NHI0 0xe333 ++#define PCI_DEVICE_ID_INTEL_PTL_M_NHI1 0xe334 ++#define PCI_DEVICE_ID_INTEL_PTL_P_NHI0 0xe433 ++#define PCI_DEVICE_ID_INTEL_PTL_P_NHI1 0xe434 + + #define PCI_CLASS_SERIAL_USB_USB4 0x0c0340 + +-- +cgit 1.2.3-korg + + +From e34f1717ef0632fcec5cb827e5e0e9f223d70c9b Mon Sep 17 00:00:00 2001 +From: Mario Limonciello +Date: Mon, 9 Dec 2024 10:25:51 -0600 +Subject: thunderbolt: Don't display nvm_version unless upgrade supported + +The read will never succeed if NVM wasn't initialized due to an unknown +format. + +Add a new callback for visibility to only show when supported. + +Cc: stable@vger.kernel.org +Fixes: aef9c693e7e5 ("thunderbolt: Move vendor specific NVM handling into nvm.c") +Reported-by: Richard Hughes +Closes: https://github.com/fwupd/fwupd/issues/8200 +Signed-off-by: Mario Limonciello +Signed-off-by: Mika Westerberg +--- + drivers/thunderbolt/retimer.c | 19 +++++++++++++++---- + 1 file changed, 15 insertions(+), 4 deletions(-) + +diff --git a/drivers/thunderbolt/retimer.c b/drivers/thunderbolt/retimer.c +index 89d2919d0193e8..eeb64433ebbca0 100644 +--- a/drivers/thunderbolt/retimer.c ++++ b/drivers/thunderbolt/retimer.c +@@ -103,6 +103,7 @@ static int tb_retimer_nvm_add(struct tb_retimer *rt) + + err_nvm: + dev_dbg(&rt->dev, "NVM upgrade disabled\n"); ++ rt->no_nvm_upgrade = true; + if (!IS_ERR(nvm)) + tb_nvm_free(nvm); + +@@ -182,8 +183,6 @@ static ssize_t nvm_authenticate_show(struct device *dev, + + if (!rt->nvm) + ret = -EAGAIN; +- else if (rt->no_nvm_upgrade) +- ret = -EOPNOTSUPP; + else + ret = sysfs_emit(buf, "%#x\n", rt->auth_status); + +@@ -323,8 +322,6 @@ static ssize_t nvm_version_show(struct device *dev, + + if (!rt->nvm) + ret = -EAGAIN; +- else if (rt->no_nvm_upgrade) +- ret = -EOPNOTSUPP; + else + ret = sysfs_emit(buf, "%x.%x\n", rt->nvm->major, rt->nvm->minor); + +@@ -342,6 +339,19 @@ static ssize_t vendor_show(struct device *dev, struct device_attribute *attr, + } + static DEVICE_ATTR_RO(vendor); + ++static umode_t retimer_is_visible(struct kobject *kobj, struct attribute *attr, ++ int n) ++{ ++ struct device *dev = kobj_to_dev(kobj); ++ struct tb_retimer *rt = tb_to_retimer(dev); ++ ++ if (attr == &dev_attr_nvm_authenticate.attr || ++ attr == &dev_attr_nvm_version.attr) ++ return rt->no_nvm_upgrade ? 0 : attr->mode; ++ ++ return attr->mode; ++} ++ + static struct attribute *retimer_attrs[] = { + &dev_attr_device.attr, + &dev_attr_nvm_authenticate.attr, +@@ -351,6 +361,7 @@ static struct attribute *retimer_attrs[] = { + }; + + static const struct attribute_group retimer_group = { ++ .is_visible = retimer_is_visible, + .attrs = retimer_attrs, + }; + +-- +cgit 1.2.3-korg + + +From fdad4fb7c506bea8b419f70ff2163d99962e8ede Mon Sep 17 00:00:00 2001 +From: Daniel Swanemar +Date: Mon, 4 Nov 2024 14:42:17 +0100 +Subject: USB: serial: option: add TCL IK512 MBIM & ECM + +Add the following TCL IK512 compositions: + +0x0530: Modem + Diag + AT + MBIM +T: Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=10000 MxCh= 0 +D: Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1 +P: Vendor=1bbb ProdID=0530 Rev=05.04 +S: Manufacturer=TCL +S: Product=TCL 5G USB Dongle +S: SerialNumber=3136b91a +C: #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=896mA +I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option +E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms +E: Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms +E: Ad=82(I) Atr=03(Int.) MxPS= 10 Ivl=32ms +I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option +E: Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms +E: Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms +I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option +E: Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms +E: Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms +E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms +I: If#= 3 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim +E: Ad=86(I) Atr=03(Int.) MxPS= 64 Ivl=32ms +I: If#= 4 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim +E: Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms +E: Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms + +0x0640: ECM + Modem + Diag + AT +T: Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 4 Spd=10000 MxCh= 0 +D: Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1 +P: Vendor=1bbb ProdID=0640 Rev=05.04 +S: Manufacturer=TCL +S: Product=TCL 5G USB Dongle +S: SerialNumber=3136b91a +C: #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=896mA +I: If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether +E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=32ms +I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether +E: Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms +E: Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms +I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option +E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms +E: Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms +E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms +I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option +E: Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms +E: Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms +I: If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option +E: Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms +E: Ad=85(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms +E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms + +Signed-off-by: Daniel Swanemar +Cc: stable@vger.kernel.org +Signed-off-by: Johan Hovold +--- + drivers/usb/serial/option.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c +index 9ba5584061c8c4..437960002bc3b1 100644 +--- a/drivers/usb/serial/option.c ++++ b/drivers/usb/serial/option.c +@@ -2385,6 +2385,10 @@ static const struct usb_device_id option_ids[] = { + { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x60) }, ++ { USB_DEVICE_INTERFACE_CLASS(0x1bbb, 0x0530, 0xff), /* TCL IK512 MBIM */ ++ .driver_info = NCTRL(1) }, ++ { USB_DEVICE_INTERFACE_CLASS(0x1bbb, 0x0640, 0xff), /* TCL IK512 ECM */ ++ .driver_info = NCTRL(3) }, + { } /* Terminating entry */ + }; + MODULE_DEVICE_TABLE(usb, option_ids); +-- +cgit 1.2.3-korg + + +From 724d461e44dfc0815624d2a9792f2f2beb7ee46d Mon Sep 17 00:00:00 2001 +From: Michal Hrusecky +Date: Tue, 19 Nov 2024 14:00:18 +0100 +Subject: USB: serial: option: add MeiG Smart SLM770A + +Update the USB serial option driver to support MeiG Smart SLM770A. + +ID 2dee:4d57 Marvell Mobile Composite Device Bus + +T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 +D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=2dee ProdID=4d57 Rev= 1.00 +S: Manufacturer=Marvell +S: Product=Mobile Composite Device Bus +C:* #Ifs= 6 Cfg#= 1 Atr=c0 MxPwr=500mA +A: FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=03 +I:* If#= 0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=rndis_host +E: Ad=87(I) Atr=03(Int.) MxPS= 64 Ivl=4096ms +I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=rndis_host +E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=0c(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=0b(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=88(I) Atr=03(Int.) MxPS= 64 Ivl=4096ms +E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=89(I) Atr=03(Int.) MxPS= 64 Ivl=4096ms +E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=0e(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms + +Tested successfully connecting to the Internet via rndis interface after +dialing via AT commands on If#=3 or If#=4. +Not sure of the purpose of the other serial interfaces. + +Signed-off-by: Michal Hrusecky +Cc: stable@vger.kernel.org +Signed-off-by: Johan Hovold +--- + drivers/usb/serial/option.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c +index 437960002bc3b1..a807101548e7b5 100644 +--- a/drivers/usb/serial/option.c ++++ b/drivers/usb/serial/option.c +@@ -625,6 +625,8 @@ static void option_instat_callback(struct urb *urb); + #define MEIGSMART_PRODUCT_SRM825L 0x4d22 + /* MeiG Smart SLM320 based on UNISOC UIS8910 */ + #define MEIGSMART_PRODUCT_SLM320 0x4d41 ++/* MeiG Smart SLM770A based on ASR1803 */ ++#define MEIGSMART_PRODUCT_SLM770A 0x4d57 + + /* Device flags */ + +@@ -2382,6 +2384,7 @@ static const struct usb_device_id option_ids[] = { + { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, TOZED_PRODUCT_LT70C, 0xff, 0, 0) }, + { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, LUAT_PRODUCT_AIR720U, 0xff, 0, 0) }, + { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SLM320, 0xff, 0, 0) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SLM770A, 0xff, 0, 0) }, + { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x60) }, +-- +cgit 1.2.3-korg + + +From aa954ae08262bb5cd6ab18dd56a0b58c1315db8b Mon Sep 17 00:00:00 2001 +From: Mank Wang +Date: Fri, 22 Nov 2024 09:06:00 +0000 +Subject: USB: serial: option: add Netprisma LCUK54 modules for WWAN Ready + +LCUK54-WRD's pid/vid +0x3731/0x010a +0x3731/0x010c + +LCUK54-WWD's pid/vid +0x3731/0x010b +0x3731/0x010d + +Above products use the exact same interface layout and option +driver: +MBIM + GNSS + DIAG + NMEA + AT + QDSS + DPL + +T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 5 Spd=480 MxCh= 0 +D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 +P: Vendor=3731 ProdID=0101 Rev= 5.04 +S: Manufacturer=NetPrisma +S: Product=LCUK54-WRD +S: SerialNumber=feeba631 +C:* #Ifs= 8 Cfg#= 1 Atr=a0 MxPwr=500mA +A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00 +I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim +E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=32ms +I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim +I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim +E: Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 2 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) +E: Ad=82(I) Atr=03(Int.) MxPS= 64 Ivl=32ms +I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option +E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=option +E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms +E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option +E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms +E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 6 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=70 Driver=(none) +E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 7 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=80 Driver=(none) +E: Ad=8f(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms + +Signed-off-by: Mank Wang +[ johan: use lower case hex notation ] +Cc: stable@vger.kernel.org +Signed-off-by: Johan Hovold +--- + drivers/usb/serial/option.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c +index a807101548e7b5..e897c723b041cd 100644 +--- a/drivers/usb/serial/option.c ++++ b/drivers/usb/serial/option.c +@@ -2377,6 +2377,18 @@ static const struct usb_device_id option_ids[] = { + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for Golbal EDU */ + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0x00, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0xff, 0x40) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010a, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WRD for WWAN Ready */ ++ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010a, 0xff, 0x00, 0x40) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010a, 0xff, 0xff, 0x40) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010b, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for WWAN Ready */ ++ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010b, 0xff, 0x00, 0x40) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010b, 0xff, 0xff, 0x40) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010c, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WRD for WWAN Ready */ ++ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010c, 0xff, 0x00, 0x40) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010c, 0xff, 0xff, 0x40) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010d, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for WWAN Ready */ ++ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010d, 0xff, 0x00, 0x40) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010d, 0xff, 0xff, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(OPPO_VENDOR_ID, OPPO_PRODUCT_R11, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x40) }, +-- +cgit 1.2.3-korg + + +From f07dfa6a1b65034a5c3ba3a555950d972f252757 Mon Sep 17 00:00:00 2001 +From: Jack Wu +Date: Thu, 28 Nov 2024 10:22:27 +0800 +Subject: USB: serial: option: add MediaTek T7XX compositions + +Add the MediaTek T7XX compositions: + +T: Bus=03 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 74 Spd=480 MxCh= 0 +D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=0e8d ProdID=7129 Rev= 0.01 +S: Manufacturer=MediaTek Inc. +S: Product=USB DATA CARD +S: SerialNumber=004402459035402 +C:* #Ifs=10 Cfg#= 1 Atr=a0 MxPwr=500mA +A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00 +I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim +E: Ad=82(I) Atr=03(Int.) MxPS= 64 Ivl=32ms +I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim +I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim +E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none) +E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 7 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 8 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 9 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=8a(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=09(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms + +------------------------------- +| If Number | Function | +------------------------------- +| 2 | USB AP Log Port | +------------------------------- +| 3 | USB AP GNSS Port| +------------------------------- +| 4 | USB AP META Port| +------------------------------- +| 5 | ADB port | +------------------------------- +| 6 | USB MD AT Port | +------------------------------ +| 7 | USB MD META Port| +------------------------------- +| 8 | USB NTZ Port | +------------------------------- +| 9 | USB Debug port | +------------------------------- + +Signed-off-by: Jack Wu +Cc: stable@vger.kernel.org +Signed-off-by: Johan Hovold +--- + drivers/usb/serial/option.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c +index e897c723b041cd..dcedb88ad7c13b 100644 +--- a/drivers/usb/serial/option.c ++++ b/drivers/usb/serial/option.c +@@ -2249,6 +2249,8 @@ static const struct usb_device_id option_ids[] = { + .driver_info = NCTRL(2) }, + { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x7127, 0xff, 0x00, 0x00), + .driver_info = NCTRL(2) | NCTRL(3) | NCTRL(4) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x7129, 0xff, 0x00, 0x00), /* MediaTek T7XX */ ++ .driver_info = NCTRL(2) | NCTRL(3) | NCTRL(4) }, + { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) }, + { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MPL200), + .driver_info = RSVD(1) | RSVD(4) }, +-- +cgit 1.2.3-korg + + +From 8366e64a4454481339e7c56a8ad280161f2e441d Mon Sep 17 00:00:00 2001 +From: Daniele Palmas +Date: Mon, 9 Dec 2024 16:32:54 +0100 +Subject: USB: serial: option: add Telit FE910C04 rmnet compositions + +Add the following Telit FE910C04 compositions: + +0x10c0: rmnet + tty (AT/NMEA) + tty (AT) + tty (diag) +T: Bus=02 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 13 Spd=480 MxCh= 0 +D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 +P: Vendor=1bc7 ProdID=10c0 Rev=05.15 +S: Manufacturer=Telit Cinterion +S: Product=FE910 +S: SerialNumber=f71b8b32 +C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA +I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan +E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms +I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=60 Driver=option +E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=84(I) Atr=03(Int.) MxPS= 10 Ivl=32ms +I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option +E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms +I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option +E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms + +0x10c4: rmnet + tty (AT) + tty (AT) + tty (diag) +T: Bus=02 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 14 Spd=480 MxCh= 0 +D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 +P: Vendor=1bc7 ProdID=10c4 Rev=05.15 +S: Manufacturer=Telit Cinterion +S: Product=FE910 +S: SerialNumber=f71b8b32 +C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA +I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan +E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms +I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option +E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=84(I) Atr=03(Int.) MxPS= 10 Ivl=32ms +I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option +E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms +I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option +E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms + +0x10c8: rmnet + tty (AT) + tty (diag) + DPL (data packet logging) + adb +T: Bus=02 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 17 Spd=480 MxCh= 0 +D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 +P: Vendor=1bc7 ProdID=10c8 Rev=05.15 +S: Manufacturer=Telit Cinterion +S: Product=FE910 +S: SerialNumber=f71b8b32 +C: #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA +I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan +E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms +I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option +E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=84(I) Atr=03(Int.) MxPS= 10 Ivl=32ms +I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option +E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I: If#= 3 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=80 Driver=(none) +E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I: If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none) +E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms + +Signed-off-by: Daniele Palmas +Cc: stable@vger.kernel.org +Signed-off-by: Johan Hovold +--- + drivers/usb/serial/option.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c +index dcedb88ad7c13b..64317b390d2285 100644 +--- a/drivers/usb/serial/option.c ++++ b/drivers/usb/serial/option.c +@@ -1397,6 +1397,12 @@ static const struct usb_device_id option_ids[] = { + .driver_info = RSVD(0) | NCTRL(2) | RSVD(3) | RSVD(4) }, + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10aa, 0xff), /* Telit FN920C04 (MBIM) */ + .driver_info = NCTRL(3) | RSVD(4) | RSVD(5) }, ++ { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10c0, 0xff), /* Telit FE910C04 (rmnet) */ ++ .driver_info = RSVD(0) | NCTRL(3) }, ++ { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10c4, 0xff), /* Telit FE910C04 (rmnet) */ ++ .driver_info = RSVD(0) | NCTRL(3) }, ++ { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10c8, 0xff), /* Telit FE910C04 (rmnet) */ ++ .driver_info = RSVD(0) | NCTRL(2) | RSVD(3) | RSVD(4) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910), + .driver_info = NCTRL(0) | RSVD(1) | RSVD(3) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910_DUAL_MODEM), +-- +cgit 1.2.3-korg + + +From 24740385cb0d6d22ab7fa7adf36546d5b3cdcf73 Mon Sep 17 00:00:00 2001 +From: Mika Westerberg +Date: Fri, 15 Nov 2024 11:54:40 +0200 +Subject: thunderbolt: Improve redrive mode handling + +When USB-C monitor is connected directly to Intel Barlow Ridge host, it +goes into "redrive" mode that basically routes the DisplayPort signals +directly from the GPU to the USB-C monitor without any tunneling needed. +However, the host router must be powered on for this to work. Aaron +reported that there are a couple of cases where this will not work with +the current code: + + - Booting with USB-C monitor plugged in. + - Plugging in USB-C monitor when the host router is in sleep state + (runtime suspended). + - Plugging in USB-C device while the system is in system sleep state. + +In all these cases once the host router is runtime suspended the picture +on the connected USB-C display disappears too. This is certainly not +what the user expected. + +For this reason improve the redrive mode handling to keep the host +router from runtime suspending when detect that any of the above cases +is happening. + +Fixes: a75e0684efe5 ("thunderbolt: Keep the domain powered when USB4 port is in redrive mode") +Reported-by: Aaron Rainbolt +Closes: https://lore.kernel.org/linux-usb/20241009220118.70bfedd0@kf-ir16/ +Cc: stable@vger.kernel.org +Signed-off-by: Mika Westerberg +--- + drivers/thunderbolt/tb.c | 41 +++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 41 insertions(+) + +diff --git a/drivers/thunderbolt/tb.c b/drivers/thunderbolt/tb.c +index 4f777788e9179c..a7c6919fbf9788 100644 +--- a/drivers/thunderbolt/tb.c ++++ b/drivers/thunderbolt/tb.c +@@ -2059,6 +2059,37 @@ static void tb_exit_redrive(struct tb_port *port) + } + } + ++static void tb_switch_enter_redrive(struct tb_switch *sw) ++{ ++ struct tb_port *port; ++ ++ tb_switch_for_each_port(sw, port) ++ tb_enter_redrive(port); ++} ++ ++/* ++ * Called during system and runtime suspend to forcefully exit redrive ++ * mode without querying whether the resource is available. ++ */ ++static void tb_switch_exit_redrive(struct tb_switch *sw) ++{ ++ struct tb_port *port; ++ ++ if (!(sw->quirks & QUIRK_KEEP_POWER_IN_DP_REDRIVE)) ++ return; ++ ++ tb_switch_for_each_port(sw, port) { ++ if (!tb_port_is_dpin(port)) ++ continue; ++ ++ if (port->redrive) { ++ port->redrive = false; ++ pm_runtime_put(&sw->dev); ++ tb_port_dbg(port, "exit redrive mode\n"); ++ } ++ } ++} ++ + static void tb_dp_resource_unavailable(struct tb *tb, struct tb_port *port) + { + struct tb_port *in, *out; +@@ -2909,6 +2940,7 @@ static int tb_start(struct tb *tb, bool reset) + tb_create_usb3_tunnels(tb->root_switch); + /* Add DP IN resources for the root switch */ + tb_add_dp_resources(tb->root_switch); ++ tb_switch_enter_redrive(tb->root_switch); + /* Make the discovered switches available to the userspace */ + device_for_each_child(&tb->root_switch->dev, NULL, + tb_scan_finalize_switch); +@@ -2924,6 +2956,7 @@ static int tb_suspend_noirq(struct tb *tb) + + tb_dbg(tb, "suspending...\n"); + tb_disconnect_and_release_dp(tb); ++ tb_switch_exit_redrive(tb->root_switch); + tb_switch_suspend(tb->root_switch, false); + tcm->hotplug_active = false; /* signal tb_handle_hotplug to quit */ + tb_dbg(tb, "suspend finished\n"); +@@ -3016,6 +3049,7 @@ static int tb_resume_noirq(struct tb *tb) + tb_dbg(tb, "tunnels restarted, sleeping for 100ms\n"); + msleep(100); + } ++ tb_switch_enter_redrive(tb->root_switch); + /* Allow tb_handle_hotplug to progress events */ + tcm->hotplug_active = true; + tb_dbg(tb, "resume finished\n"); +@@ -3079,6 +3113,12 @@ static int tb_runtime_suspend(struct tb *tb) + struct tb_cm *tcm = tb_priv(tb); + + mutex_lock(&tb->lock); ++ /* ++ * The below call only releases DP resources to allow exiting and ++ * re-entering redrive mode. ++ */ ++ tb_disconnect_and_release_dp(tb); ++ tb_switch_exit_redrive(tb->root_switch); + tb_switch_suspend(tb->root_switch, true); + tcm->hotplug_active = false; + mutex_unlock(&tb->lock); +@@ -3110,6 +3150,7 @@ static int tb_runtime_resume(struct tb *tb) + tb_restore_children(tb->root_switch); + list_for_each_entry_safe(tunnel, n, &tcm->tunnel_list, list) + tb_tunnel_restart(tunnel); ++ tb_switch_enter_redrive(tb->root_switch); + tcm->hotplug_active = true; + mutex_unlock(&tb->lock); + +-- +cgit 1.2.3-korg + + +From e21ebe51af688eb98fd6269240212a3c7300deea Mon Sep 17 00:00:00 2001 +From: Mathias Nyman +Date: Tue, 17 Dec 2024 12:21:21 +0200 +Subject: xhci: Turn NEC specific quirk for handling Stop Endpoint errors + generic + +xHC hosts from several vendors have the same issue where endpoints start +so slowly that a later queued 'Stop Endpoint' command may complete before +endpoint is up and running. + +The 'Stop Endpoint' command fails with context state error as the endpoint +still appears as stopped. + +See commit 42b758137601 ("usb: xhci: Limit Stop Endpoint retries") for +details + +CC: stable@vger.kernel.org +Signed-off-by: Mathias Nyman +Link: https://lore.kernel.org/r/20241217102122.2316814-2-mathias.nyman@linux.intel.com +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/host/xhci-ring.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c +index 4cf5363875c704..09b05a62375e01 100644 +--- a/drivers/usb/host/xhci-ring.c ++++ b/drivers/usb/host/xhci-ring.c +@@ -1199,8 +1199,6 @@ static void xhci_handle_cmd_stop_ep(struct xhci_hcd *xhci, int slot_id, + * Keep retrying until the EP starts and stops again, on + * chips where this is known to help. Wait for 100ms. + */ +- if (!(xhci->quirks & XHCI_NEC_HOST)) +- break; + if (time_is_before_jiffies(ep->stop_time + msecs_to_jiffies(100))) + break; + fallthrough; +-- +cgit 1.2.3-korg + + +From b9252f80b807801056e67e3a672fb1be0ecb81d8 Mon Sep 17 00:00:00 2001 +From: Niklas Neronin +Date: Tue, 17 Dec 2024 12:21:22 +0200 +Subject: usb: xhci: fix ring expansion regression in 6.13-rc1 + +The source and destination rings were incorrectly assigned during the ring +linking process. The "source" ring, which contains the new segments, +was not spliced into the "destination" ring, leading to incorrect ring +expansion. + +Fixes: fe688e500613 ("usb: xhci: refactor xhci_link_rings() to use source and destination rings") +Reported-by: Jeff Chua +Closes: https://lore.kernel.org/lkml/CAAJw_ZtppNqC9XA=-WVQDr+vaAS=di7jo15CzSqONeX48H75MA@mail.gmail.com/ +Signed-off-by: Niklas Neronin +Signed-off-by: Mathias Nyman +Link: https://lore.kernel.org/r/20241217102122.2316814-3-mathias.nyman@linux.intel.com +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/host/xhci-mem.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c +index 15db90c54a45ab..92703efda1f7b3 100644 +--- a/drivers/usb/host/xhci-mem.c ++++ b/drivers/usb/host/xhci-mem.c +@@ -436,7 +436,7 @@ int xhci_ring_expansion(struct xhci_hcd *xhci, struct xhci_ring *ring, + goto free_segments; + } + +- xhci_link_rings(xhci, ring, &new_ring); ++ xhci_link_rings(xhci, &new_ring, ring); + trace_xhci_ring_expansion(ring); + xhci_dbg_trace(xhci, trace_xhci_dbg_ring_expansion, + "ring expansion succeed, now has %d segments", +-- +cgit 1.2.3-korg + From 483f41c278c663a7538054a66fa73425a5e7b8e5 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Mon, 23 Dec 2024 14:54:55 +0100 Subject: [PATCH 21/37] feat: bump to 6.13-rc4 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 3bda417..1e0f757 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1734331387, - "narHash": "sha256-q49Gk6MNWX5cZZlls3mcZ1UloDtOjJGEVTFNQD/UtWM=", + "lastModified": 1734949573, + "narHash": "sha256-m1O1PLTDYrpt62+aj850I/xBLKbAulx+JlXj99KWjfw=", "owner": "jhovold", "repo": "linux", - "rev": "e6114ad3a4a32e01978f87af5844e03d50b7732b", + "rev": "2f0b291243ef93a37f93608d373e21a322af41a2", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.13-rc3", + "ref": "wip/sc8280xp-6.13-rc4", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index 9afb570..96121d3 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13-rc3"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13-rc4"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From 5583f444c6abb38ca88cf2046bb792bea01a5496 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Mon, 23 Dec 2024 15:00:07 +0100 Subject: [PATCH 22/37] Revert "add linux usb patch" This reverts commit 3c79ed01fb15d9e1f2c6226dae1a2ee883c77c8e. --- packages/default.nix | 7 - patches/6-13rc3-usb.patch | 776 -------------------------------------- 2 files changed, 783 deletions(-) delete mode 100644 patches/6-13rc3-usb.patch diff --git a/packages/default.nix b/packages/default.nix index 3316f8b..bcd7bfe 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -33,13 +33,6 @@ in in modVersion; defconfig = "johan_defconfig"; - - kernelPatches = [ - { - name = "6-13rc3-usb"; - patch = ../patches/6-13rc3-usb.patch; - } - ]; }; graphics-firmware = diff --git a/patches/6-13rc3-usb.patch b/patches/6-13rc3-usb.patch deleted file mode 100644 index bfb3dfc..0000000 --- a/patches/6-13rc3-usb.patch +++ /dev/null @@ -1,776 +0,0 @@ -From 8644b48714dca8bf2f42a4ff8311de8efc9bd8c3 Mon Sep 17 00:00:00 2001 -From: Mika Westerberg -Date: Tue, 14 May 2024 10:15:14 +0300 -Subject: thunderbolt: Add support for Intel Panther Lake-M/P - -Intel Panther Lake-M/P has the same integrated Thunderbolt/USB4 -controller as Lunar Lake. Add these PCI IDs to the driver list of -supported devices. - -Cc: stable@vger.kernel.org -Signed-off-by: Mika Westerberg ---- - drivers/thunderbolt/nhi.c | 8 ++++++++ - drivers/thunderbolt/nhi.h | 4 ++++ - 2 files changed, 12 insertions(+) - -diff --git a/drivers/thunderbolt/nhi.c b/drivers/thunderbolt/nhi.c -index 1257dd3ce7e6a3..f3a2264e012bcd 100644 ---- a/drivers/thunderbolt/nhi.c -+++ b/drivers/thunderbolt/nhi.c -@@ -1520,6 +1520,14 @@ static struct pci_device_id nhi_ids[] = { - .driver_data = (kernel_ulong_t)&icl_nhi_ops }, - { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_LNL_NHI1), - .driver_data = (kernel_ulong_t)&icl_nhi_ops }, -+ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_PTL_M_NHI0), -+ .driver_data = (kernel_ulong_t)&icl_nhi_ops }, -+ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_PTL_M_NHI1), -+ .driver_data = (kernel_ulong_t)&icl_nhi_ops }, -+ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_PTL_P_NHI0), -+ .driver_data = (kernel_ulong_t)&icl_nhi_ops }, -+ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_PTL_P_NHI1), -+ .driver_data = (kernel_ulong_t)&icl_nhi_ops }, - { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_BARLOW_RIDGE_HOST_80G_NHI) }, - { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_BARLOW_RIDGE_HOST_40G_NHI) }, - -diff --git a/drivers/thunderbolt/nhi.h b/drivers/thunderbolt/nhi.h -index 7a07c7c1a9c2c6..16744f25a9a069 100644 ---- a/drivers/thunderbolt/nhi.h -+++ b/drivers/thunderbolt/nhi.h -@@ -92,6 +92,10 @@ extern const struct tb_nhi_ops icl_nhi_ops; - #define PCI_DEVICE_ID_INTEL_RPL_NHI1 0xa76d - #define PCI_DEVICE_ID_INTEL_LNL_NHI0 0xa833 - #define PCI_DEVICE_ID_INTEL_LNL_NHI1 0xa834 -+#define PCI_DEVICE_ID_INTEL_PTL_M_NHI0 0xe333 -+#define PCI_DEVICE_ID_INTEL_PTL_M_NHI1 0xe334 -+#define PCI_DEVICE_ID_INTEL_PTL_P_NHI0 0xe433 -+#define PCI_DEVICE_ID_INTEL_PTL_P_NHI1 0xe434 - - #define PCI_CLASS_SERIAL_USB_USB4 0x0c0340 - --- -cgit 1.2.3-korg - - -From e34f1717ef0632fcec5cb827e5e0e9f223d70c9b Mon Sep 17 00:00:00 2001 -From: Mario Limonciello -Date: Mon, 9 Dec 2024 10:25:51 -0600 -Subject: thunderbolt: Don't display nvm_version unless upgrade supported - -The read will never succeed if NVM wasn't initialized due to an unknown -format. - -Add a new callback for visibility to only show when supported. - -Cc: stable@vger.kernel.org -Fixes: aef9c693e7e5 ("thunderbolt: Move vendor specific NVM handling into nvm.c") -Reported-by: Richard Hughes -Closes: https://github.com/fwupd/fwupd/issues/8200 -Signed-off-by: Mario Limonciello -Signed-off-by: Mika Westerberg ---- - drivers/thunderbolt/retimer.c | 19 +++++++++++++++---- - 1 file changed, 15 insertions(+), 4 deletions(-) - -diff --git a/drivers/thunderbolt/retimer.c b/drivers/thunderbolt/retimer.c -index 89d2919d0193e8..eeb64433ebbca0 100644 ---- a/drivers/thunderbolt/retimer.c -+++ b/drivers/thunderbolt/retimer.c -@@ -103,6 +103,7 @@ static int tb_retimer_nvm_add(struct tb_retimer *rt) - - err_nvm: - dev_dbg(&rt->dev, "NVM upgrade disabled\n"); -+ rt->no_nvm_upgrade = true; - if (!IS_ERR(nvm)) - tb_nvm_free(nvm); - -@@ -182,8 +183,6 @@ static ssize_t nvm_authenticate_show(struct device *dev, - - if (!rt->nvm) - ret = -EAGAIN; -- else if (rt->no_nvm_upgrade) -- ret = -EOPNOTSUPP; - else - ret = sysfs_emit(buf, "%#x\n", rt->auth_status); - -@@ -323,8 +322,6 @@ static ssize_t nvm_version_show(struct device *dev, - - if (!rt->nvm) - ret = -EAGAIN; -- else if (rt->no_nvm_upgrade) -- ret = -EOPNOTSUPP; - else - ret = sysfs_emit(buf, "%x.%x\n", rt->nvm->major, rt->nvm->minor); - -@@ -342,6 +339,19 @@ static ssize_t vendor_show(struct device *dev, struct device_attribute *attr, - } - static DEVICE_ATTR_RO(vendor); - -+static umode_t retimer_is_visible(struct kobject *kobj, struct attribute *attr, -+ int n) -+{ -+ struct device *dev = kobj_to_dev(kobj); -+ struct tb_retimer *rt = tb_to_retimer(dev); -+ -+ if (attr == &dev_attr_nvm_authenticate.attr || -+ attr == &dev_attr_nvm_version.attr) -+ return rt->no_nvm_upgrade ? 0 : attr->mode; -+ -+ return attr->mode; -+} -+ - static struct attribute *retimer_attrs[] = { - &dev_attr_device.attr, - &dev_attr_nvm_authenticate.attr, -@@ -351,6 +361,7 @@ static struct attribute *retimer_attrs[] = { - }; - - static const struct attribute_group retimer_group = { -+ .is_visible = retimer_is_visible, - .attrs = retimer_attrs, - }; - --- -cgit 1.2.3-korg - - -From fdad4fb7c506bea8b419f70ff2163d99962e8ede Mon Sep 17 00:00:00 2001 -From: Daniel Swanemar -Date: Mon, 4 Nov 2024 14:42:17 +0100 -Subject: USB: serial: option: add TCL IK512 MBIM & ECM - -Add the following TCL IK512 compositions: - -0x0530: Modem + Diag + AT + MBIM -T: Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=10000 MxCh= 0 -D: Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1 -P: Vendor=1bbb ProdID=0530 Rev=05.04 -S: Manufacturer=TCL -S: Product=TCL 5G USB Dongle -S: SerialNumber=3136b91a -C: #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=896mA -I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=82(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option -E: Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 3 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim -E: Ad=86(I) Atr=03(Int.) MxPS= 64 Ivl=32ms -I: If#= 4 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim -E: Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms - -0x0640: ECM + Modem + Diag + AT -T: Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 4 Spd=10000 MxCh= 0 -D: Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1 -P: Vendor=1bbb ProdID=0640 Rev=05.04 -S: Manufacturer=TCL -S: Product=TCL 5G USB Dongle -S: SerialNumber=3136b91a -C: #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=896mA -I: If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether -E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=32ms -I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether -E: Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option -E: Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -I: If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=85(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms - -Signed-off-by: Daniel Swanemar -Cc: stable@vger.kernel.org -Signed-off-by: Johan Hovold ---- - drivers/usb/serial/option.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c -index 9ba5584061c8c4..437960002bc3b1 100644 ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -2385,6 +2385,10 @@ static const struct usb_device_id option_ids[] = { - { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x30) }, - { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x40) }, - { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x60) }, -+ { USB_DEVICE_INTERFACE_CLASS(0x1bbb, 0x0530, 0xff), /* TCL IK512 MBIM */ -+ .driver_info = NCTRL(1) }, -+ { USB_DEVICE_INTERFACE_CLASS(0x1bbb, 0x0640, 0xff), /* TCL IK512 ECM */ -+ .driver_info = NCTRL(3) }, - { } /* Terminating entry */ - }; - MODULE_DEVICE_TABLE(usb, option_ids); --- -cgit 1.2.3-korg - - -From 724d461e44dfc0815624d2a9792f2f2beb7ee46d Mon Sep 17 00:00:00 2001 -From: Michal Hrusecky -Date: Tue, 19 Nov 2024 14:00:18 +0100 -Subject: USB: serial: option: add MeiG Smart SLM770A - -Update the USB serial option driver to support MeiG Smart SLM770A. - -ID 2dee:4d57 Marvell Mobile Composite Device Bus - -T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 -D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 -P: Vendor=2dee ProdID=4d57 Rev= 1.00 -S: Manufacturer=Marvell -S: Product=Mobile Composite Device Bus -C:* #Ifs= 6 Cfg#= 1 Atr=c0 MxPwr=500mA -A: FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=03 -I:* If#= 0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=rndis_host -E: Ad=87(I) Atr=03(Int.) MxPS= 64 Ivl=4096ms -I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=rndis_host -E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=0c(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=0b(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=88(I) Atr=03(Int.) MxPS= 64 Ivl=4096ms -E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=89(I) Atr=03(Int.) MxPS= 64 Ivl=4096ms -E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=0e(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms - -Tested successfully connecting to the Internet via rndis interface after -dialing via AT commands on If#=3 or If#=4. -Not sure of the purpose of the other serial interfaces. - -Signed-off-by: Michal Hrusecky -Cc: stable@vger.kernel.org -Signed-off-by: Johan Hovold ---- - drivers/usb/serial/option.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c -index 437960002bc3b1..a807101548e7b5 100644 ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -625,6 +625,8 @@ static void option_instat_callback(struct urb *urb); - #define MEIGSMART_PRODUCT_SRM825L 0x4d22 - /* MeiG Smart SLM320 based on UNISOC UIS8910 */ - #define MEIGSMART_PRODUCT_SLM320 0x4d41 -+/* MeiG Smart SLM770A based on ASR1803 */ -+#define MEIGSMART_PRODUCT_SLM770A 0x4d57 - - /* Device flags */ - -@@ -2382,6 +2384,7 @@ static const struct usb_device_id option_ids[] = { - { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, TOZED_PRODUCT_LT70C, 0xff, 0, 0) }, - { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, LUAT_PRODUCT_AIR720U, 0xff, 0, 0) }, - { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SLM320, 0xff, 0, 0) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SLM770A, 0xff, 0, 0) }, - { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x30) }, - { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x40) }, - { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x60) }, --- -cgit 1.2.3-korg - - -From aa954ae08262bb5cd6ab18dd56a0b58c1315db8b Mon Sep 17 00:00:00 2001 -From: Mank Wang -Date: Fri, 22 Nov 2024 09:06:00 +0000 -Subject: USB: serial: option: add Netprisma LCUK54 modules for WWAN Ready - -LCUK54-WRD's pid/vid -0x3731/0x010a -0x3731/0x010c - -LCUK54-WWD's pid/vid -0x3731/0x010b -0x3731/0x010d - -Above products use the exact same interface layout and option -driver: -MBIM + GNSS + DIAG + NMEA + AT + QDSS + DPL - -T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 5 Spd=480 MxCh= 0 -D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 -P: Vendor=3731 ProdID=0101 Rev= 5.04 -S: Manufacturer=NetPrisma -S: Product=LCUK54-WRD -S: SerialNumber=feeba631 -C:* #Ifs= 8 Cfg#= 1 Atr=a0 MxPwr=500mA -A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00 -I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim -E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=32ms -I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim -I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim -E: Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 2 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) -E: Ad=82(I) Atr=03(Int.) MxPS= 64 Ivl=32ms -I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option -E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=option -E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 6 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=70 Driver=(none) -E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 7 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=80 Driver=(none) -E: Ad=8f(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms - -Signed-off-by: Mank Wang -[ johan: use lower case hex notation ] -Cc: stable@vger.kernel.org -Signed-off-by: Johan Hovold ---- - drivers/usb/serial/option.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c -index a807101548e7b5..e897c723b041cd 100644 ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -2377,6 +2377,18 @@ static const struct usb_device_id option_ids[] = { - { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for Golbal EDU */ - { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0x00, 0x40) }, - { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0xff, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010a, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WRD for WWAN Ready */ -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010a, 0xff, 0x00, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010a, 0xff, 0xff, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010b, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for WWAN Ready */ -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010b, 0xff, 0x00, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010b, 0xff, 0xff, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010c, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WRD for WWAN Ready */ -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010c, 0xff, 0x00, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010c, 0xff, 0xff, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010d, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for WWAN Ready */ -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010d, 0xff, 0x00, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010d, 0xff, 0xff, 0x40) }, - { USB_DEVICE_AND_INTERFACE_INFO(OPPO_VENDOR_ID, OPPO_PRODUCT_R11, 0xff, 0xff, 0x30) }, - { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x30) }, - { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x40) }, --- -cgit 1.2.3-korg - - -From f07dfa6a1b65034a5c3ba3a555950d972f252757 Mon Sep 17 00:00:00 2001 -From: Jack Wu -Date: Thu, 28 Nov 2024 10:22:27 +0800 -Subject: USB: serial: option: add MediaTek T7XX compositions - -Add the MediaTek T7XX compositions: - -T: Bus=03 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 74 Spd=480 MxCh= 0 -D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 -P: Vendor=0e8d ProdID=7129 Rev= 0.01 -S: Manufacturer=MediaTek Inc. -S: Product=USB DATA CARD -S: SerialNumber=004402459035402 -C:* #Ifs=10 Cfg#= 1 Atr=a0 MxPwr=500mA -A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00 -I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim -E: Ad=82(I) Atr=03(Int.) MxPS= 64 Ivl=32ms -I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim -I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim -E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none) -E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 7 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 8 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 9 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=8a(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=09(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms - -------------------------------- -| If Number | Function | -------------------------------- -| 2 | USB AP Log Port | -------------------------------- -| 3 | USB AP GNSS Port| -------------------------------- -| 4 | USB AP META Port| -------------------------------- -| 5 | ADB port | -------------------------------- -| 6 | USB MD AT Port | ------------------------------- -| 7 | USB MD META Port| -------------------------------- -| 8 | USB NTZ Port | -------------------------------- -| 9 | USB Debug port | -------------------------------- - -Signed-off-by: Jack Wu -Cc: stable@vger.kernel.org -Signed-off-by: Johan Hovold ---- - drivers/usb/serial/option.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c -index e897c723b041cd..dcedb88ad7c13b 100644 ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -2249,6 +2249,8 @@ static const struct usb_device_id option_ids[] = { - .driver_info = NCTRL(2) }, - { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x7127, 0xff, 0x00, 0x00), - .driver_info = NCTRL(2) | NCTRL(3) | NCTRL(4) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x7129, 0xff, 0x00, 0x00), /* MediaTek T7XX */ -+ .driver_info = NCTRL(2) | NCTRL(3) | NCTRL(4) }, - { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) }, - { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MPL200), - .driver_info = RSVD(1) | RSVD(4) }, --- -cgit 1.2.3-korg - - -From 8366e64a4454481339e7c56a8ad280161f2e441d Mon Sep 17 00:00:00 2001 -From: Daniele Palmas -Date: Mon, 9 Dec 2024 16:32:54 +0100 -Subject: USB: serial: option: add Telit FE910C04 rmnet compositions - -Add the following Telit FE910C04 compositions: - -0x10c0: rmnet + tty (AT/NMEA) + tty (AT) + tty (diag) -T: Bus=02 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 13 Spd=480 MxCh= 0 -D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 -P: Vendor=1bc7 ProdID=10c0 Rev=05.15 -S: Manufacturer=Telit Cinterion -S: Product=FE910 -S: SerialNumber=f71b8b32 -C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA -I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan -E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms -I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=60 Driver=option -E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=84(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option -E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms - -0x10c4: rmnet + tty (AT) + tty (AT) + tty (diag) -T: Bus=02 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 14 Spd=480 MxCh= 0 -D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 -P: Vendor=1bc7 ProdID=10c4 Rev=05.15 -S: Manufacturer=Telit Cinterion -S: Product=FE910 -S: SerialNumber=f71b8b32 -C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA -I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan -E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms -I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=84(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option -E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms - -0x10c8: rmnet + tty (AT) + tty (diag) + DPL (data packet logging) + adb -T: Bus=02 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 17 Spd=480 MxCh= 0 -D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 -P: Vendor=1bc7 ProdID=10c8 Rev=05.15 -S: Manufacturer=Telit Cinterion -S: Product=FE910 -S: SerialNumber=f71b8b32 -C: #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA -I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan -E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms -I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=84(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option -E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I: If#= 3 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=80 Driver=(none) -E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I: If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none) -E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms - -Signed-off-by: Daniele Palmas -Cc: stable@vger.kernel.org -Signed-off-by: Johan Hovold ---- - drivers/usb/serial/option.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c -index dcedb88ad7c13b..64317b390d2285 100644 ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -1397,6 +1397,12 @@ static const struct usb_device_id option_ids[] = { - .driver_info = RSVD(0) | NCTRL(2) | RSVD(3) | RSVD(4) }, - { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10aa, 0xff), /* Telit FN920C04 (MBIM) */ - .driver_info = NCTRL(3) | RSVD(4) | RSVD(5) }, -+ { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10c0, 0xff), /* Telit FE910C04 (rmnet) */ -+ .driver_info = RSVD(0) | NCTRL(3) }, -+ { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10c4, 0xff), /* Telit FE910C04 (rmnet) */ -+ .driver_info = RSVD(0) | NCTRL(3) }, -+ { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10c8, 0xff), /* Telit FE910C04 (rmnet) */ -+ .driver_info = RSVD(0) | NCTRL(2) | RSVD(3) | RSVD(4) }, - { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910), - .driver_info = NCTRL(0) | RSVD(1) | RSVD(3) }, - { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910_DUAL_MODEM), --- -cgit 1.2.3-korg - - -From 24740385cb0d6d22ab7fa7adf36546d5b3cdcf73 Mon Sep 17 00:00:00 2001 -From: Mika Westerberg -Date: Fri, 15 Nov 2024 11:54:40 +0200 -Subject: thunderbolt: Improve redrive mode handling - -When USB-C monitor is connected directly to Intel Barlow Ridge host, it -goes into "redrive" mode that basically routes the DisplayPort signals -directly from the GPU to the USB-C monitor without any tunneling needed. -However, the host router must be powered on for this to work. Aaron -reported that there are a couple of cases where this will not work with -the current code: - - - Booting with USB-C monitor plugged in. - - Plugging in USB-C monitor when the host router is in sleep state - (runtime suspended). - - Plugging in USB-C device while the system is in system sleep state. - -In all these cases once the host router is runtime suspended the picture -on the connected USB-C display disappears too. This is certainly not -what the user expected. - -For this reason improve the redrive mode handling to keep the host -router from runtime suspending when detect that any of the above cases -is happening. - -Fixes: a75e0684efe5 ("thunderbolt: Keep the domain powered when USB4 port is in redrive mode") -Reported-by: Aaron Rainbolt -Closes: https://lore.kernel.org/linux-usb/20241009220118.70bfedd0@kf-ir16/ -Cc: stable@vger.kernel.org -Signed-off-by: Mika Westerberg ---- - drivers/thunderbolt/tb.c | 41 +++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 41 insertions(+) - -diff --git a/drivers/thunderbolt/tb.c b/drivers/thunderbolt/tb.c -index 4f777788e9179c..a7c6919fbf9788 100644 ---- a/drivers/thunderbolt/tb.c -+++ b/drivers/thunderbolt/tb.c -@@ -2059,6 +2059,37 @@ static void tb_exit_redrive(struct tb_port *port) - } - } - -+static void tb_switch_enter_redrive(struct tb_switch *sw) -+{ -+ struct tb_port *port; -+ -+ tb_switch_for_each_port(sw, port) -+ tb_enter_redrive(port); -+} -+ -+/* -+ * Called during system and runtime suspend to forcefully exit redrive -+ * mode without querying whether the resource is available. -+ */ -+static void tb_switch_exit_redrive(struct tb_switch *sw) -+{ -+ struct tb_port *port; -+ -+ if (!(sw->quirks & QUIRK_KEEP_POWER_IN_DP_REDRIVE)) -+ return; -+ -+ tb_switch_for_each_port(sw, port) { -+ if (!tb_port_is_dpin(port)) -+ continue; -+ -+ if (port->redrive) { -+ port->redrive = false; -+ pm_runtime_put(&sw->dev); -+ tb_port_dbg(port, "exit redrive mode\n"); -+ } -+ } -+} -+ - static void tb_dp_resource_unavailable(struct tb *tb, struct tb_port *port) - { - struct tb_port *in, *out; -@@ -2909,6 +2940,7 @@ static int tb_start(struct tb *tb, bool reset) - tb_create_usb3_tunnels(tb->root_switch); - /* Add DP IN resources for the root switch */ - tb_add_dp_resources(tb->root_switch); -+ tb_switch_enter_redrive(tb->root_switch); - /* Make the discovered switches available to the userspace */ - device_for_each_child(&tb->root_switch->dev, NULL, - tb_scan_finalize_switch); -@@ -2924,6 +2956,7 @@ static int tb_suspend_noirq(struct tb *tb) - - tb_dbg(tb, "suspending...\n"); - tb_disconnect_and_release_dp(tb); -+ tb_switch_exit_redrive(tb->root_switch); - tb_switch_suspend(tb->root_switch, false); - tcm->hotplug_active = false; /* signal tb_handle_hotplug to quit */ - tb_dbg(tb, "suspend finished\n"); -@@ -3016,6 +3049,7 @@ static int tb_resume_noirq(struct tb *tb) - tb_dbg(tb, "tunnels restarted, sleeping for 100ms\n"); - msleep(100); - } -+ tb_switch_enter_redrive(tb->root_switch); - /* Allow tb_handle_hotplug to progress events */ - tcm->hotplug_active = true; - tb_dbg(tb, "resume finished\n"); -@@ -3079,6 +3113,12 @@ static int tb_runtime_suspend(struct tb *tb) - struct tb_cm *tcm = tb_priv(tb); - - mutex_lock(&tb->lock); -+ /* -+ * The below call only releases DP resources to allow exiting and -+ * re-entering redrive mode. -+ */ -+ tb_disconnect_and_release_dp(tb); -+ tb_switch_exit_redrive(tb->root_switch); - tb_switch_suspend(tb->root_switch, true); - tcm->hotplug_active = false; - mutex_unlock(&tb->lock); -@@ -3110,6 +3150,7 @@ static int tb_runtime_resume(struct tb *tb) - tb_restore_children(tb->root_switch); - list_for_each_entry_safe(tunnel, n, &tcm->tunnel_list, list) - tb_tunnel_restart(tunnel); -+ tb_switch_enter_redrive(tb->root_switch); - tcm->hotplug_active = true; - mutex_unlock(&tb->lock); - --- -cgit 1.2.3-korg - - -From e21ebe51af688eb98fd6269240212a3c7300deea Mon Sep 17 00:00:00 2001 -From: Mathias Nyman -Date: Tue, 17 Dec 2024 12:21:21 +0200 -Subject: xhci: Turn NEC specific quirk for handling Stop Endpoint errors - generic - -xHC hosts from several vendors have the same issue where endpoints start -so slowly that a later queued 'Stop Endpoint' command may complete before -endpoint is up and running. - -The 'Stop Endpoint' command fails with context state error as the endpoint -still appears as stopped. - -See commit 42b758137601 ("usb: xhci: Limit Stop Endpoint retries") for -details - -CC: stable@vger.kernel.org -Signed-off-by: Mathias Nyman -Link: https://lore.kernel.org/r/20241217102122.2316814-2-mathias.nyman@linux.intel.com -Signed-off-by: Greg Kroah-Hartman ---- - drivers/usb/host/xhci-ring.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c -index 4cf5363875c704..09b05a62375e01 100644 ---- a/drivers/usb/host/xhci-ring.c -+++ b/drivers/usb/host/xhci-ring.c -@@ -1199,8 +1199,6 @@ static void xhci_handle_cmd_stop_ep(struct xhci_hcd *xhci, int slot_id, - * Keep retrying until the EP starts and stops again, on - * chips where this is known to help. Wait for 100ms. - */ -- if (!(xhci->quirks & XHCI_NEC_HOST)) -- break; - if (time_is_before_jiffies(ep->stop_time + msecs_to_jiffies(100))) - break; - fallthrough; --- -cgit 1.2.3-korg - - -From b9252f80b807801056e67e3a672fb1be0ecb81d8 Mon Sep 17 00:00:00 2001 -From: Niklas Neronin -Date: Tue, 17 Dec 2024 12:21:22 +0200 -Subject: usb: xhci: fix ring expansion regression in 6.13-rc1 - -The source and destination rings were incorrectly assigned during the ring -linking process. The "source" ring, which contains the new segments, -was not spliced into the "destination" ring, leading to incorrect ring -expansion. - -Fixes: fe688e500613 ("usb: xhci: refactor xhci_link_rings() to use source and destination rings") -Reported-by: Jeff Chua -Closes: https://lore.kernel.org/lkml/CAAJw_ZtppNqC9XA=-WVQDr+vaAS=di7jo15CzSqONeX48H75MA@mail.gmail.com/ -Signed-off-by: Niklas Neronin -Signed-off-by: Mathias Nyman -Link: https://lore.kernel.org/r/20241217102122.2316814-3-mathias.nyman@linux.intel.com -Signed-off-by: Greg Kroah-Hartman ---- - drivers/usb/host/xhci-mem.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c -index 15db90c54a45ab..92703efda1f7b3 100644 ---- a/drivers/usb/host/xhci-mem.c -+++ b/drivers/usb/host/xhci-mem.c -@@ -436,7 +436,7 @@ int xhci_ring_expansion(struct xhci_hcd *xhci, struct xhci_ring *ring, - goto free_segments; - } - -- xhci_link_rings(xhci, ring, &new_ring); -+ xhci_link_rings(xhci, &new_ring, ring); - trace_xhci_ring_expansion(ring); - xhci_dbg_trace(xhci, trace_xhci_dbg_ring_expansion, - "ring expansion succeed, now has %d segments", --- -cgit 1.2.3-korg - From 743ad5409ed11fd9e0978c23cce32d790de70420 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 10 Jan 2025 14:22:25 +0100 Subject: [PATCH 23/37] feat: bump to 6.13-rc6 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 1e0f757..c1d4647 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1734949573, - "narHash": "sha256-m1O1PLTDYrpt62+aj850I/xBLKbAulx+JlXj99KWjfw=", + "lastModified": 1736237795, + "narHash": "sha256-y02ET78V93MvOWffuu4fRxWkNR6mcwczGUJWYardgtg=", "owner": "jhovold", "repo": "linux", - "rev": "2f0b291243ef93a37f93608d373e21a322af41a2", + "rev": "d0c349e623dce916cf6834af540d6fb06d1f9afa", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.13-rc4", + "ref": "wip/sc8280xp-6.13-rc6", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index 96121d3..689fc58 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13-rc4"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13-rc6"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From 00a940407a7ccc144d887e25c7568c1573c488ce Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 10 Jan 2025 14:22:25 +0100 Subject: [PATCH 24/37] feat: bump to 6.13-rc7 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index c1d4647..9ac75e1 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1736237795, - "narHash": "sha256-y02ET78V93MvOWffuu4fRxWkNR6mcwczGUJWYardgtg=", + "lastModified": 1736759316, + "narHash": "sha256-cNqR3H797YcCsHutwNGdV+u6T0AUh17TGev/LCqNCy8=", "owner": "jhovold", "repo": "linux", - "rev": "d0c349e623dce916cf6834af540d6fb06d1f9afa", + "rev": "1ca98ace316a107b488b33959ce012b5875edbef", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.13-rc6", + "ref": "wip/sc8280xp-6.13-rc7", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index 689fc58..017dea0 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13-rc6"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13-rc7"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From fe236e55c5fcdb8fb194ade6dc62ab67f396537e Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 10 Jan 2025 14:22:25 +0100 Subject: [PATCH 25/37] feat: bump to 6.13 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 9ac75e1..61a325b 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1736759316, - "narHash": "sha256-cNqR3H797YcCsHutwNGdV+u6T0AUh17TGev/LCqNCy8=", + "lastModified": 1737386371, + "narHash": "sha256-FIbwr2WKslYbC/AIBNcUgoEpDm0aB8knhHYQ6m2bu6k=", "owner": "jhovold", "repo": "linux", - "rev": "1ca98ace316a107b488b33959ce012b5875edbef", + "rev": "5602f2f7c53f5c0d2566f493224b82f55ed68abb", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.13-rc7", + "ref": "wip/sc8280xp-6.13", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index 017dea0..4203ef1 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13-rc7"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From 6784c72db5476449c9be197ed1bfd4fa9bf8b6a7 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 10 Jan 2025 14:22:25 +0100 Subject: [PATCH 26/37] feat: bump to 6.14-rc2 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 61a325b..5771be3 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1737386371, - "narHash": "sha256-FIbwr2WKslYbC/AIBNcUgoEpDm0aB8knhHYQ6m2bu6k=", + "lastModified": 1739194097, + "narHash": "sha256-vPoE9Hu2dXqZh7n0BMQwXx9Q2pFRdsu17bhFaHrgi8Q=", "owner": "jhovold", "repo": "linux", - "rev": "5602f2f7c53f5c0d2566f493224b82f55ed68abb", + "rev": "7a06e4bfc53f53969db374662de9e5f43e3c3d1d", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.13", + "ref": "wip/sc8280xp-6.14-rc2", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index 4203ef1..ecbfd97 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.13"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.14-rc2"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From 4736fc5861dd329e0e41fde67d7cc9452470a368 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 10 Jan 2025 14:22:25 +0100 Subject: [PATCH 27/37] feat: bump to 6.14-rc3 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 5771be3..30f75ea 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1739194097, - "narHash": "sha256-vPoE9Hu2dXqZh7n0BMQwXx9Q2pFRdsu17bhFaHrgi8Q=", + "lastModified": 1739778587, + "narHash": "sha256-fMt2Ao9+y71/x7zaUxzpu28M9Ugie6yl4N9lufxhc2Q=", "owner": "jhovold", "repo": "linux", - "rev": "7a06e4bfc53f53969db374662de9e5f43e3c3d1d", + "rev": "a2890743ed6d5cdfd2591cebf2d06af8dfd9180d", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.14-rc2", + "ref": "wip/sc8280xp-6.14-rc3", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index ecbfd97..be4fd44 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.14-rc2"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.14-rc3"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From b12e6ec3ac35a1e5c6a96b85551a6a4263d8f016 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 28 Feb 2025 22:01:39 +0100 Subject: [PATCH 28/37] bump to 6.14-rc4 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 30f75ea..c729932 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1739778587, - "narHash": "sha256-fMt2Ao9+y71/x7zaUxzpu28M9Ugie6yl4N9lufxhc2Q=", + "lastModified": 1740384000, + "narHash": "sha256-UWjjl1+tF8s7QOSUdJ/UDkXYZLa9gMedY6/p/xBu++Y=", "owner": "jhovold", "repo": "linux", - "rev": "a2890743ed6d5cdfd2591cebf2d06af8dfd9180d", + "rev": "726299a6b3c485852c139035fca7e9d6e2fd05b2", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.14-rc3", + "ref": "wip/sc8280xp-6.14-rc4", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index be4fd44..969097f 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.14-rc3"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.14-rc4"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From 3201095d3db14f54ba915483bdd0848d473aef21 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 28 Feb 2025 22:01:51 +0100 Subject: [PATCH 29/37] use upstream nixpkgs --- flake.lock | 12 ++++++------ flake.nix | 3 +-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/flake.lock b/flake.lock index c729932..2619d34 100644 --- a/flake.lock +++ b/flake.lock @@ -37,16 +37,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733393026, - "narHash": "sha256-hpUyV0NHnIZpFzN6p7udW6Jh+m9tlLvCcNf1/wG5pQY=", - "owner": "steveej-forks", + "lastModified": 1740560979, + "narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "b1714b7f9e5761ad965a4df7602105f1e159b89e", + "rev": "5135c59491985879812717f4c9fea69604e7f26f", "type": "github" }, "original": { - "owner": "steveej-forks", - "ref": "steveej-unstable", + "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 969097f..c6cc11c 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,6 @@ { inputs = { - nixpkgs.url = "github:steveej-forks/nixpkgs/steveej-unstable"; - # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.14-rc4"; From df9d37e84a65fd5e80c6b70da43a0de299e440e1 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 28 Feb 2025 22:57:22 +0100 Subject: [PATCH 30/37] kernel: ignore config errors --- packages/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/default.nix b/packages/default.nix index bcd7bfe..eba4884 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -20,6 +20,7 @@ let }; extraMeta.branch = lib.versions.majorMinor version; + ignoreConfigErrors = true; } ); in From 4b33de16a0c94f3c7f3ca07995c2b9b8ea21c925 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 28 Feb 2025 22:01:39 +0100 Subject: [PATCH 31/37] bump to 6.14-rc5 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 2619d34..37030f4 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1740384000, - "narHash": "sha256-UWjjl1+tF8s7QOSUdJ/UDkXYZLa9gMedY6/p/xBu++Y=", + "lastModified": 1740983234, + "narHash": "sha256-3QykehVbxJJhCUAL4sZ/bxtHrNYrkhMF0K8DPE5tcOw=", "owner": "jhovold", "repo": "linux", - "rev": "726299a6b3c485852c139035fca7e9d6e2fd05b2", + "rev": "29912bfc7c8a54baf65a5c4c4aee7cbb32990527", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.14-rc4", + "ref": "wip/sc8280xp-6.14-rc5", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index c6cc11c..aaaec92 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.14-rc4"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.14-rc5"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From 7a10b19edcd05f2bf437a4e2c60aa357343ba530 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 28 Feb 2025 22:01:39 +0100 Subject: [PATCH 32/37] bump to 6.14-rc7 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 37030f4..51325fb 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1740983234, - "narHash": "sha256-3QykehVbxJJhCUAL4sZ/bxtHrNYrkhMF0K8DPE5tcOw=", + "lastModified": 1742216967, + "narHash": "sha256-SGtSwpn8YdCZac4vwse4HrdzyXL6aGuPBGL0hGn3aog=", "owner": "jhovold", "repo": "linux", - "rev": "29912bfc7c8a54baf65a5c4c4aee7cbb32990527", + "rev": "7659429a6d897f0bd52d4871f8bb0f1e716afdfc", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.14-rc5", + "ref": "wip/sc8280xp-6.14-rc7", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index aaaec92..decce66 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.14-rc5"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.14-rc7"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From f4591e4478838272ec024c2bd346001af919a79a Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 28 Feb 2025 22:01:39 +0100 Subject: [PATCH 33/37] bump to 6.14 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 51325fb..eb729a7 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1742216967, - "narHash": "sha256-SGtSwpn8YdCZac4vwse4HrdzyXL6aGuPBGL0hGn3aog=", + "lastModified": 1742827326, + "narHash": "sha256-HJdy4JgRvFojago9I0InGPkAwsJ0xv7NvVS05JygWsc=", "owner": "jhovold", "repo": "linux", - "rev": "7659429a6d897f0bd52d4871f8bb0f1e716afdfc", + "rev": "cf34af9cea0db94254af3897c5e403364cb2eb5b", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.14-rc7", + "ref": "wip/sc8280xp-6.14", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index decce66..3cb6ebe 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.14-rc7"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.14"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From c15672e2607e4b1b118f86cbcff9924824ec0cc2 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 28 Feb 2025 22:01:39 +0100 Subject: [PATCH 34/37] bump to 6.15-rc1 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index eb729a7..19e74ba 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1742827326, - "narHash": "sha256-HJdy4JgRvFojago9I0InGPkAwsJ0xv7NvVS05JygWsc=", + "lastModified": 1744034672, + "narHash": "sha256-Fa2qBQm6V7GsrWbFZ1aAfMX/849N/xs9AzFj/V3NWuw=", "owner": "jhovold", "repo": "linux", - "rev": "cf34af9cea0db94254af3897c5e403364cb2eb5b", + "rev": "3ceba4ec8dfa3ec7d9929249b666c89f911a27d9", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.14", + "ref": "wip/sc8280xp-6.15-rc1", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index 3cb6ebe..403346f 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.14"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.15-rc1"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From 66640a57be73d702cbf7edde5ef3a8f565cbc92c Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 28 Feb 2025 22:01:39 +0100 Subject: [PATCH 35/37] bump to 6.15-rc2 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 19e74ba..21b26dc 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1744034672, - "narHash": "sha256-Fa2qBQm6V7GsrWbFZ1aAfMX/849N/xs9AzFj/V3NWuw=", + "lastModified": 1744636104, + "narHash": "sha256-p4voWqXIqupN+7NhSXvF9xuGErA5jv3tS3TdgPlYdMw=", "owner": "jhovold", "repo": "linux", - "rev": "3ceba4ec8dfa3ec7d9929249b666c89f911a27d9", + "rev": "344c8e59eee25351d19652f654e6968f34d7702c", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.15-rc1", + "ref": "wip/sc8280xp-6.15-rc2", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index 403346f..71f7d06 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.15-rc1"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.15-rc2"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From 465bfd5d456851cc214a22959386b1d5087c0bce Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 28 Feb 2025 22:01:39 +0100 Subject: [PATCH 36/37] bump to 6.15-rc3 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 21b26dc..5fe38da 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1744636104, - "narHash": "sha256-p4voWqXIqupN+7NhSXvF9xuGErA5jv3tS3TdgPlYdMw=", + "lastModified": 1745394888, + "narHash": "sha256-yRTPjHTcg1gwRuYOsnzyVft7Dt8KCZE3W+DOrV3ruLI=", "owner": "jhovold", "repo": "linux", - "rev": "344c8e59eee25351d19652f654e6968f34d7702c", + "rev": "f4e0af2c7a2ef3a3ef4efdf8f240b31f643c3588", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.15-rc2", + "ref": "wip/sc8280xp-6.15-rc3", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index 71f7d06..47bacbc 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.15-rc2"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.15-rc3"; linux-jhovold.flake = false; x13s-bt-linux-firmware = { From 8bd7972c74b12b45aee190ce2ddd6960a0771af6 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 28 Feb 2025 22:01:39 +0100 Subject: [PATCH 37/37] bump to 6.15-rc4 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 5fe38da..2b11edb 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,16 @@ "linux-jhovold": { "flake": false, "locked": { - "lastModified": 1745394888, - "narHash": "sha256-yRTPjHTcg1gwRuYOsnzyVft7Dt8KCZE3W+DOrV3ruLI=", + "lastModified": 1745847827, + "narHash": "sha256-ewM7Rpd6On6ys3OkcWOtR7TNWSRZRLZpRP7L9syhn6s=", "owner": "jhovold", "repo": "linux", - "rev": "f4e0af2c7a2ef3a3ef4efdf8f240b31f643c3588", + "rev": "1786db28b335abb5a0fa1e8a27e9950a73f64acf", "type": "github" }, "original": { "owner": "jhovold", - "ref": "wip/sc8280xp-6.15-rc3", + "ref": "wip/sc8280xp-6.15-rc4", "repo": "linux", "type": "github" } diff --git a/flake.nix b/flake.nix index 47bacbc..33221a9 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; - linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.15-rc3"; + linux-jhovold.url = "github:jhovold/linux/wip/sc8280xp-6.15-rc4"; linux-jhovold.flake = false; x13s-bt-linux-firmware = {