tici: differentiate ethernet and tethering (#21391)

* differentiate ethernet

* fix tethering

* cleanup

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 050a89e598
commatwo_master
Adeeb Shihadeh 4 years ago committed by GitHub
parent 1a0ebedad0
commit 28c60666ff
  1. 2
      cereal
  2. 34
      selfdrive/hardware/tici/hardware.py
  3. 1
      selfdrive/ui/qt/sidebar.h

@ -1 +1 @@
Subproject commit fe5690347ec33f7040c93a579ed4467f5f68d6e5 Subproject commit 232e28c2bb049fa8b7c2da0a2add27645b5a6bc2

@ -85,19 +85,27 @@ class Tici(HardwareBase):
try: try:
primary_connection = self.nm.Get(NM, 'PrimaryConnection', dbus_interface=DBUS_PROPS, timeout=TIMEOUT) primary_connection = self.nm.Get(NM, 'PrimaryConnection', dbus_interface=DBUS_PROPS, timeout=TIMEOUT)
primary_connection = self.bus.get_object(NM, primary_connection) primary_connection = self.bus.get_object(NM, primary_connection)
tp = primary_connection.Get(NM_CON_ACT, 'Type', dbus_interface=DBUS_PROPS, timeout=TIMEOUT) primary_type = primary_connection.Get(NM_CON_ACT, 'Type', dbus_interface=DBUS_PROPS, timeout=TIMEOUT)
primary_id = primary_connection.Get(NM_CON_ACT, 'Id', dbus_interface=DBUS_PROPS, timeout=TIMEOUT)
if tp in ['802-3-ethernet', '802-11-wireless']: if primary_type == '802-3-ethernet':
return NetworkType.ethernet
elif primary_type == '802-11-wireless' and primary_id != 'Hotspot':
return NetworkType.wifi return NetworkType.wifi
elif tp in ['gsm']: else:
modem = self.get_modem() active_connections = self.nm.Get(NM, 'ActiveConnections', dbus_interface=DBUS_PROPS, timeout=TIMEOUT)
access_t = modem.Get(MM_MODEM, 'AccessTechnologies', dbus_interface=DBUS_PROPS, timeout=TIMEOUT) for conn in active_connections:
if access_t >= MM_MODEM_ACCESS_TECHNOLOGY_LTE: c = self.bus.get_object(NM, conn)
return NetworkType.cell4G tp = c.Get(NM_CON_ACT, 'Type', dbus_interface=DBUS_PROPS, timeout=TIMEOUT)
elif access_t >= MM_MODEM_ACCESS_TECHNOLOGY_UMTS: if tp == 'gsm':
return NetworkType.cell3G modem = self.get_modem()
else: access_t = modem.Get(MM_MODEM, 'AccessTechnologies', dbus_interface=DBUS_PROPS, timeout=TIMEOUT)
return NetworkType.cell2G if access_t >= MM_MODEM_ACCESS_TECHNOLOGY_LTE:
return NetworkType.cell4G
elif access_t >= MM_MODEM_ACCESS_TECHNOLOGY_UMTS:
return NetworkType.cell3G
else:
return NetworkType.cell2G
except Exception: except Exception:
pass pass
@ -254,7 +262,3 @@ class Tici(HardwareBase):
# TODO: fix permissions with udev # TODO: fix permissions with udev
val = "0" if enabled else "1" val = "0" if enabled else "1"
os.system(f"sudo su -c 'echo {val} > /sys/devices/system/cpu/cpu{i}/online'") os.system(f"sudo su -c 'echo {val} > /sys/devices/system/cpu/cpu{i}/online'")
if __name__ == "__main__":
import sys
Tici().set_power_save(bool(int(sys.argv[1])))

@ -37,6 +37,7 @@ private:
const QMap<cereal::DeviceState::NetworkType, QString> network_type = { const QMap<cereal::DeviceState::NetworkType, QString> network_type = {
{cereal::DeviceState::NetworkType::NONE, "--"}, {cereal::DeviceState::NetworkType::NONE, "--"},
{cereal::DeviceState::NetworkType::WIFI, "WiFi"}, {cereal::DeviceState::NetworkType::WIFI, "WiFi"},
{cereal::DeviceState::NetworkType::ETHERNET, "ETH"},
{cereal::DeviceState::NetworkType::CELL2_G, "2G"}, {cereal::DeviceState::NetworkType::CELL2_G, "2G"},
{cereal::DeviceState::NetworkType::CELL3_G, "3G"}, {cereal::DeviceState::NetworkType::CELL3_G, "3G"},
{cereal::DeviceState::NetworkType::CELL4_G, "LTE"}, {cereal::DeviceState::NetworkType::CELL4_G, "LTE"},

Loading…
Cancel
Save