From 725d8b608feffc1b71a5d1e8b9fb5077e1d92f55 Mon Sep 17 00:00:00 2001 From: Daniel Barlow Date: Sun, 14 Jul 2024 12:07:28 +0100 Subject: [PATCH] huawei-cdc-ncm kernel driver -> module --- modules/wwan/default.nix | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/modules/wwan/default.nix b/modules/wwan/default.nix index bd1f794..a676d2f 100644 --- a/modules/wwan/default.nix +++ b/modules/wwan/default.nix @@ -2,6 +2,10 @@ let inherit (pkgs) liminix; inherit (lib) mkOption types; + huawei-cdc-ncm = pkgs.kmodloader.override { + targets = ["huawei_cdc_ncm"]; + inherit (config.system.outputs) kernel; + }; in { imports = [ ../service-trigger @@ -14,18 +18,28 @@ in { }; config = { kernel.config = { - USB_NET_HUAWEI_CDC_NCM = "y"; + USB_NET_HUAWEI_CDC_NCM = "m"; USB_USBNET = "y"; USB_SERIAL = "y"; USB_SERIAL_OPTION = "y"; }; # https://www.0xf8.org/2017/01/flashing-a-huawei-e3372h-4g-lte-stick-from-hilink-to-stick-mode/ - system.service.wwan.huawei-e3372 = config.system.callService ./huawei-e3372.nix { - apn = mkOption { type = types.str; }; - username = mkOption { type = types.str; }; - password = mkOption { type = types.str; }; - authType = mkOption { type = types.enum [ "pap" "chap" ]; }; - }; + system.service.wwan.huawei-e3372 = + let svc = config.system.callService ./huawei-e3372.nix { + apn = mkOption { type = types.str; }; + username = mkOption { type = types.str; }; + password = mkOption { type = types.str; }; + authType = mkOption { type = types.enum [ "pap" "chap" ]; }; + }; + in + svc // { + build = args : + let args' = args // { + dependencies = (args.dependencies or []) ++ + [huawei-cdc-ncm]; + }; + in svc.build args' ; + }; }; }