flip controller/controlled relationship for wwan services

This commit is contained in:
Daniel Barlow 2024-06-11 14:02:48 +01:00
parent e6ca5ea064
commit 6daeaf29a0
1 changed files with 20 additions and 23 deletions

View File

@ -29,42 +29,39 @@ let
"OK" "AT\\^NDISDUP=1,1" "OK" "AT\\^NDISDUP=1,1"
"OK" "OK"
]; ];
modeswitch = oneshot { modeswitch = oneshot rec {
name = "modem-modeswitch"; name = "modem-modeswitch";
controller = (svc.uevent-rule.build {
serviceName = name;
terms = { devtype = "usb_device"; product = "12d1/14fe/102"; };
});
up = '' up = ''
${usb-modeswitch}/bin/usb_modeswitch -v 12d1 -p 14fe --huawei-new-mode ${usb-modeswitch}/bin/usb_modeswitch -v 12d1 -p 14fe --huawei-new-mode
''; '';
}; };
atz = oneshot { atz = oneshot rec {
name = "modem-atz"; name = "modem-atz";
dependencies = [ modeswitch ]; dependencies = [ modeswitch ];
controller = (svc.uevent-rule.build {
serviceName = name;
terms = {
subsystem = "tty";
attrs = {
idVendor = "12d1";
idProduct = "1506";
};
};
symlink = "/dev/modem";
});
up = '' up = ''
ls -l /dev/modem ls -l /dev/modem
test -L /dev/modem || exit 1
${ppp}/bin/chat -s -v ${chat} 0<>/dev/modem 1>&0 ${ppp}/bin/chat -s -v ${chat} 0<>/dev/modem 1>&0
''; '';
down = "${ppp}/bin/chat -v '' ATZ OK 0<>/dev/modem 1>&0"; down = "${ppp}/bin/chat -v '' ATZ OK 0<>/dev/modem 1>&0";
}; };
setup = bundle {
name = "modemm-mm-mm-mm";
contents = [
(svc.uevent-rule.build {
service = modeswitch;
terms = { devtype = "usb_device"; product = "12d1/14fe/102"; };
})
(svc.uevent-rule.build {
service = atz;
terms = {
subsystem = "tty";
attrs = {
idVendor = "12d1";
idProduct = "1506";
};
};
symlink = "/dev/modem";
})
];
};
in svc.network.link.build { in svc.network.link.build {
ifname = "wwan0"; ifname = "wwan0";
dependencies = [ setup ]; dependencies = [ atz ];
} }