diff --git a/system/hardware/tici/esim.nmconnection b/system/hardware/tici/esim.nmconnection new file mode 100644 index 0000000000..d170f9d066 --- /dev/null +++ b/system/hardware/tici/esim.nmconnection @@ -0,0 +1,28 @@ +[connection] +id=esim +uuid=fff6553c-3284-4707-a6b1-acc021caaafb +type=gsm +permissions= +autoconnect=true +autoconnect-retries=100 + +[gsm] +apn= +home-only=false +auto-config=true +sim-id= + +[ipv4] +route-metric=1000 +dns-priority=1000 +dns-search= +method=auto + +[ipv6] +ddr-gen-mode=stable-privacy +dns-search= +route-metric=1000 +dns-priority=1000 +method=auto + +[proxy] diff --git a/system/hardware/tici/hardware.py b/system/hardware/tici/hardware.py index 7460e49f6d..8b1f9abe74 100644 --- a/system/hardware/tici/hardware.py +++ b/system/hardware/tici/hardware.py @@ -3,6 +3,7 @@ import math import os import subprocess import time +import tempfile from enum import IntEnum from functools import cached_property, lru_cache from pathlib import Path @@ -532,11 +533,23 @@ class Tici(HardwareBase): except Exception: pass - # blue prime config + # blue prime blue_prime = sim_id.startswith('8901410') initial_apn = "Broadband" if blue_prime else "" os.system(f'mmcli -m any --3gpp-set-initial-eps-bearer-settings="apn={initial_apn}"') + # eSIM prime + if sim_id.startswith('8985235'): + with open('/data/openpilot/system/hardware/tici/esim.nmconnection') as f, tempfile.NamedTemporaryFile(mode='w') as tf: + dat = f.read() + dat = dat.replace("sim-id=", f"sim-id={sim_id}") + tf.write(dat) + tf.flush() + + # needs to be root + os.system(f"sudo cp {tf.name} /data/etc/NetworkManager/system-connections/esim.nmconnection") + os.system("sudo nmcli con reload") + def get_networks(self): r = {}