-
-
Save Kansattica/c886b0f21f90a0bdc7ace439d256f225 to your computer and use it in GitHub Desktop.
networking.networkmanager.fccUnlockScripts = [ | |
{id = "8086:7560"; path = "${pkgs.lenovo-wwan-unlock}/bin/fcc_unlock.sh";} | |
]; |
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 |
{ 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" ]; | |
}; | |
} | |
# 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 { }; | |
} | |
) | |
] | |
I couldn't tell you- I'm using a US computer in the US. You can try connecting with modemmanager/modem-manager-gui (possibly after running sudo mmcli --set-logging=debug
) and watch journalctl to see what it says. Worst case scenario, the modem gets in a weird state until you reboot.
Okay thanks for the quick response. Unfortunately I'm still having issues getting the device to be detected at all under kernel 6.9.7. I've enabled a few kernel modules by hand (wwan
, mhi
, mhi_pci_generic
, usbserial
, etc. etc.) and at first nothing at all related to this device was appearing in lspci
or lsusb
. However, after enabling the wwan_hwsim
kernel module, I did get /dev/wwan0at0
and /dev/wwan0at1
devices to show up under /dev/*
. Unfortunatley there's no other ttyUSB*
or qmi
or cdc
device available, and as such modem manager (neither gui nor the cli (mmcli
)) detect anything :(. There are no related messages under dmesg
during boot either. I'm slowly getting to the point where I don't think this is gonna work haha. Although I did find messages on the kernel mailinglist that this device should be supported as of 6.6. They even mentioned device Id's for a "lenovo variant" 🤷
I tried passing these devices to the fcc_unlock.sh
script so that it sends those AT commands there, but it always responds with "Failed to get challenge..", i.e. the initial command doesn't return any response whatsoever
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)
, no qmi
or cdc
that I know of.
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!
Hmm okay, stupid question, but do you need to do this FCC unlock AT command dance for SKU's / modems bought outside the US? I have a 12thgen X1 Carbon with a Quectel RM520N-GL that I bought in Germany 🤔