kerrigan: back to using modem in ECM mode; no ModemManager

In this configuration we don't properly support IPv6. So be it, for now.
This commit is contained in:
Luke Granger-Brown 2023-10-10 23:30:19 +00:00
parent 7b585fab0d
commit 3348c34a96
2 changed files with 27 additions and 60 deletions

View file

@ -39,19 +39,6 @@ in
domain = "as205479.net"; domain = "as205479.net";
hostId = "c424eeb8"; hostId = "c424eeb8";
useNetworkd = true; useNetworkd = true;
networkmanager = {
enable = true;
dns = "systemd-resolved";
unmanaged = [ "*,except:type:gsm,except:interface-name:enu*" ];
extraConfig = ''
[main]
no-auto-default=*
[logging]
level=TRACE
domains=ALL
'';
};
nameservers = [ nameservers = [
"2001:4860:4860::8888" "2001:4860:4860::8888"
"2001:4860:4860::8844" "2001:4860:4860::8844"
@ -59,6 +46,8 @@ in
"8.8.4.4" "8.8.4.4"
]; ];
interfaces.eth2.useDHCP = true; interfaces.eth2.useDHCP = true;
interfaces.enu1u4i10.useDHCP = true;
firewall.interfaces.br0.allowedTCPPorts = [ 80 ];
}; };
users.users.lukegb.extraGroups = lib.mkAfter [ "networkmanager" ]; users.users.lukegb.extraGroups = lib.mkAfter [ "networkmanager" ];
my.systemType = "aarch64-linux"; my.systemType = "aarch64-linux";
@ -75,17 +64,20 @@ in
systemd.network.networks.br0 = { systemd.network.networks.br0 = {
matchConfig.Name = "br0"; matchConfig.Name = "br0";
networkConfig = { networkConfig = {
LinkLocalAddressing = "ipv6"; Address = [ "10.42.0.1/24" "2a09:a443:ee::1/64" ];
Address = "10.42.0.1/24";
IPForward = true;
IPMasquerade = "ipv4";
IPv6AcceptRA = true;
DHCPServer = true; DHCPServer = true;
IPv6SendRA = true;
}; };
ipv6AcceptRAConfig = { ipv6Prefixes = [{
UseGateway = false; ipv6PrefixConfig = {
RouteMetric = 100; Prefix = "2a09:a443:ee::/64";
}; };
}];
ipv6RoutePrefixes = [{
ipv6RoutePrefixConfig = {
Route = "::/0";
};
}];
dhcpServerConfig = { dhcpServerConfig = {
PoolOffset = 100; PoolOffset = 100;
PoolSize = 100; PoolSize = 100;
@ -96,34 +88,25 @@ in
networkConfig.Bridge = "br0"; networkConfig.Bridge = "br0";
}; };
systemd.services.ModemManager = { environment.systemPackages = with pkgs; [
wantedBy = [ "network.target" ]; libqmi screen minicom conntrack-tools
];
services.caddy = {
enable = true;
extraConfig = ''
10.42.0.1:80 {
reverse_proxy /mbbstatus http://add-on.ee.co.uk {
header_up Host add-on.ee.co.uk
}
}
'';
}; };
environment.etc = nmBits;
boot.loader.efi.canTouchEfiVariables = false; boot.loader.efi.canTouchEfiVariables = false;
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
services.radvd = {
enable = true;
config = ''
interface br0 {
IgnoreIfMissing on;
AdvSendAdvert on;
AdvLinkMTU 1280;
prefix ffff:ffff:ffff:ffff::/64 {
Base6Interface wwan0;
AdvValidLifetime 600;
AdvPreferredLifetime 300;
};
};
'';
};
systemd.services."systemd-networkd-wait-online".wantedBy = lib.mkForce []; systemd.services."systemd-networkd-wait-online".wantedBy = lib.mkForce [];
systemd.services."ModemManager".serviceConfig.ExecStart = ["" "${pkgs.modemmanager}/sbin/ModemManager --debug"];
system.stateVersion = "23.05"; system.stateVersion = "23.05";
} }

View file

@ -1,16 +0,0 @@
[connection]
id=EE
uuid=f4c3ad45-d4a3-44ee-b29f-af10b5974d22
type=gsm
[gsm]
apn=everywhere
[ipv4]
method=auto
[ipv6]
addr-gen-mode=default
method=auto
[proxy]