Last active
October 6, 2024 20:00
-
-
Save Kansattica/c886b0f21f90a0bdc7ace439d256f225 to your computer and use it in GitHub Desktop.
more working nixpackage for unlocking cellular modem on nixos
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
networking.networkmanager.fccUnlockScripts = [ | |
{id = "8086:7560"; path = "${pkgs.lenovo-wwan-unlock}/bin/fcc_unlock.sh";} | |
]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sometimes modemmanager times out while running the unlock script and I have to run it manually with: | |
sudo /etc/ModemManager/fcc-unlock.d/8086\:7560 whatever wwan0 wwan0at0 wwan0at1 wwam0mbim0 | |
which seems to work |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ stdenvNoCC, fetchurl, lib }: | |
stdenvNoCC.mkDerivation rec { | |
#name = "lenovo-wwan-unlock-${version}"; | |
pname = "lenovo-wwan-unlock-easy"; | |
version = "2.0.0"; | |
src = ./wwan-unlock.sh; | |
# I like to keep the file locally in my repo, but you can also download it from here | |
# this PR, specifically: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1141/diffs?commit_id=2734ac25191264e6d786af8a9577fb51519cb846 | |
/*src = fetchurl { | |
url = "https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/raw/2734ac25191264e6d786af8a9577fb51519cb846/data/dispatcher-fcc-unlock/8086"; | |
hash = "sha256-QuAC2a0renRZQsZvWfTEE9a/Pj6G+ZhGEmYtVagaurE="; | |
};*/ | |
dontUnpack = true; | |
installPhase = '' | |
runHook preInstall | |
mkdir -p $out/bin/ | |
cp -v $src $out/bin/fcc_unlock.sh | |
chmod +x $out/bin/fcc_unlock.sh | |
patchShebangs $out/bin/fcc_unlock.sh | |
runHook postInstall | |
''; | |
meta = with lib; { | |
homepage = "https://gist.github.com/BohdanTkachenko/3f852c352cb2e02cdcbb47419e2fcc74"; | |
description = "Easy unlock for Lenovo PC wwan."; | |
license = licenses.cc0; | |
platforms = platforms.linux; | |
maintainers = [ "The Internet's Beloved Princess Grace" ]; | |
}; | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# add the package to nixpkgs in an overlay | |
modules = [ | |
({ config, pkgs, ... }: { nixpkgs.overlays = | |
[ | |
(self: super: { | |
lenovo-wwan-unlock = super.callPackage ./easy-lenovo-wwan-unlock.nix { }; | |
} | |
) | |
] | |
After messing with these kernel modules for days, I decided to open up the laptop and confirm which modem model # was even in here. You should have seen my face when I noticed the M.2 slot was empty 😂 🤦
Who sells a new laptop SKU with "... 5G" in the title, a nano SIM slot in the side of the chassis, but then doesn't include the modem?! Haha
Oh well, mystery solved for now at least. Thanks!
Oh, yep, that'd do it. Best of luck!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Annoying. Mine looks like it's using the
iosm
kernel module if that helps.My relevant
dev
ices are (according to mmcli):wwan0 (net), wwan0at0 (at), wwan0at1 (at), wwan0mbim0 (mbim)
, noqmi
orcdc
that I know of.