# Configuration for the ME909u-521 mini PCIe card (12d1:1573)
# Beware that productId=1573 has been reused by Huawei for other cards...
{ pkgs, lib, config, ... }:
{
# Enable usb_modeswitch
hardware.usbWwan.enable = true;

# Enable ModemManager
networking.networkmanager.enable = true;

# https://forum.openwrt.org/t/cdc-ether-ethertype-unknown-0x0808-on-huawei-me909u-521/5509/2
# https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/635
environment.etc."usb_modeswitch.d".source = lib.mkForce (pkgs.writeTextDir "12d1:1573" ''
  # Huawei ME909u-521: select the QMI interface, which has qmi_wwan_rx_fixup()
  Configuration=1
'');

# sudo mmcli --modem 0 --set-allowed-modes='2G|3G|4G' --set-preferred-mode=4G

environment.systemPackages = [
  pkgs.libqmi
];

}