Hey Alex,
Good news: your diagnostic output shows the driver fix is actually working. The DKMS module is loaded, the modem initializes without crashing, iommu=pt is set, and ModemManager detects the modem with all three ports (wwan0, wwan0at0, wwan0mbim0). The SIM slot issue from your earlier posts is also resolved – slot 1 is active with your physical SIM.
The module verification failed: signature and/or required key missing message in dmesg is completely normal – DKMS modules built locally aren’t signed with the Fedora distribution key. The kernel loads them anyway and just sets a taint flag. The module is loaded and working, nothing to worry about there.
The one remaining problem is clear from this line:
Status | state: disabled
| power state: low
power state: low means FCC unlock hasn’t succeeded. The modem stays locked in low-power mode until FCC unlock runs, and ModemManager won’t enable it until the power state goes to on.
The lock: sim-pin2 you’re seeing is most likely a side-effect of this – when the modem is in low power state it can’t properly interrogate the SIM, so the reported lock type is unreliable. Once FCC unlock succeeds and the modem fully powers on, this should resolve to a normal sim-pin prompt (or clear entirely if PIN is disabled).
The strange part is: the FCC unlock script IS in the right place, xxd IS available, and the AT port exists. So something is preventing the script from running or it’s failing silently. I need a few more diagnostics to pinpoint it.
Diagnostics
Can you run these and paste the output?
# 1. Did ModemManager even attempt FCC unlock?
journalctl -u ModemManager -b --no-pager | grep -i -E "fcc|unlock"
# 2. SELinux context of the FCC unlock script
# (Fedora's SELinux may be blocking ModemManager from executing it)
ls -laZ /usr/lib64/ModemManager/fcc-unlock.d/14c3:4d75
# 3. Any SELinux denials related to modem?
sudo ausearch -m avc -ts boot 2>/dev/null | grep -i -E "modem|fcc|wwan" || echo "no denials found"
# 4. Does the AT port device exist?
ls -la /dev/wwan0at0
# 5. Try manually enabling the modem
sudo mmcli -m 0 -e
# 6. Restart ModemManager and check if FCC unlock triggers
sudo systemctl restart ModemManager
sleep 15
mmcli -m 0 | grep -E "state|power"
Why I suspect SELinux
In your file listing, I noticed the FCC unlock script has group mangochutney instead of root:
-rwxr-xr-x. 1 root mangochutney 2338 24. Feb 22:39 14c3:4d75
This tells me the install script didn’t place that file – you copied it manually. Here’s why: the reinstall.sh script had a bug where it cds into src/ to build the module, then tries to re-exec itself with exec sudo bash "$0" – but $0 is a relative path that’s no longer valid from the new working directory. That’s the error you saw:
bash: reinstall.sh: Datei oder Verzeichnis nicht gefunden
So the entire install section (DKMS setup, FCC unlock copy, restorecon) never ran from the script. You must have done parts of it manually afterwards, which is why the FCC unlock script ended up with wrong ownership and likely a wrong SELinux context.
The permissions (755) are fine, so any user can execute it. But Fedora runs SELinux in enforcing mode, and ModemManager runs in a confined SELinux domain (modemmanager_t). A file with an unexpected SELinux context (e.g. user_home_t instead of lib_t) will be silently blocked from execution – even though normal Unix permissions allow it.
If ls -laZ shows something like unconfined_u:object_r:user_home_t:s0 instead of system_u:object_r:lib_t:s0, that’s the problem. Fix it with:
sudo chown root:root /usr/lib64/ModemManager/fcc-unlock.d/14c3:4d75
sudo restorecon -v /usr/lib64/ModemManager/fcc-unlock.d/14c3:4d75
sudo systemctl restart ModemManager
sleep 15
mmcli -m 0 | grep -E "state|power"
If that doesn’t help: debug ModemManager
This will show exactly what ModemManager does during modem probing, including FCC unlock attempts:
sudo systemctl stop ModemManager
sudo /usr/libexec/ModemManager --debug 2>&1 | tee /tmp/mm-debug.log &
sleep 20
sudo kill %1
grep -i -E "fcc|unlock|14c3|power" /tmp/mm-debug.log
sudo systemctl start ModemManager
Paste the grep output from that – it will tell us whether MM tried the FCC unlock script, whether it succeeded or failed, and why.
About the reinstall.sh bug
I’ve fixed the script in the repo – git pull and you can re-run sudo bash reinstall.sh if you want a clean setup that also runs dracut --force and fixes the FCC unlock file properly. But you don’t have to reinstall – the DKMS module is already working. The SELinux fix above is all you should need.
Once the modem shows power state: on and state: registered, the connection setup from my previous post should work. We’re close – the hard part (the driver) is already working. Just need to sort out the FCC unlock.
Kind regards
Flo