Hardware/Microsoft/Surface Go 2: Difference between revisions

No edit summary
(Add LTE modem workaround)
Line 42: Line 42:
}
}
</syntaxhighlight>After that rebuild your system and reboot the machine.
</syntaxhighlight>After that rebuild your system and reboot the machine.
If the LTE modem does not appear in your network manager directly, a small workaround script is required. Add this to your system configuration<syntaxhighlight lang="nix">
systemd.services.lte_modem_fix = let
  modemFixScript = pkgs.writeScriptBin "fix_lte_modem" ''
    #!${pkgs.stdenv.shell}
    echo -n 16383 > /sys/bus/usb/devices/2-3:1.0/net/wwp0s20f0u3/cdc_ncm/rx_max
    echo -n 16383 > /sys/bus/usb/devices/2-3:1.0/net/wwp0s20f0u3/cdc_ncm/tx_max
    echo -n 16384 > /sys/bus/usb/devices/2-3:1.0/net/wwp0s20f0u3/cdc_ncm/rx_max
    echo -n 16384 > /sys/bus/usb/devices/2-3:1.0/net/wwp0s20f0u3/cdc_ncm/tx_max
  '';
in {
  wantedBy = ["multi-user.target"];
  serviceConfig = {
    Type = "oneshot";
    ExecStart = "${modemFixScript}/bin/fix_lte_modem";
  };
};
systemd.services.ModemManager.wantedBy = ["multi-user.target"];
</syntaxhighlight>