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. 18
      selfdrive/hardware/tici/hardware.py
  3. 1
      selfdrive/ui/qt/sidebar.h

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

@ -85,11 +85,19 @@ class Tici(HardwareBase):
try:
primary_connection = self.nm.Get(NM, 'PrimaryConnection', dbus_interface=DBUS_PROPS, timeout=TIMEOUT)
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
elif tp in ['gsm']:
else:
active_connections = self.nm.Get(NM, 'ActiveConnections', dbus_interface=DBUS_PROPS, timeout=TIMEOUT)
for conn in active_connections:
c = self.bus.get_object(NM, conn)
tp = c.Get(NM_CON_ACT, 'Type', dbus_interface=DBUS_PROPS, timeout=TIMEOUT)
if tp == 'gsm':
modem = self.get_modem()
access_t = modem.Get(MM_MODEM, 'AccessTechnologies', dbus_interface=DBUS_PROPS, timeout=TIMEOUT)
if access_t >= MM_MODEM_ACCESS_TECHNOLOGY_LTE:
@ -254,7 +262,3 @@ class Tici(HardwareBase):
# TODO: fix permissions with udev
val = "0" if enabled else "1"
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 = {
{cereal::DeviceState::NetworkType::NONE, "--"},
{cereal::DeviceState::NetworkType::WIFI, "WiFi"},
{cereal::DeviceState::NetworkType::ETHERNET, "ETH"},
{cereal::DeviceState::NetworkType::CELL2_G, "2G"},
{cereal::DeviceState::NetworkType::CELL3_G, "3G"},
{cereal::DeviceState::NetworkType::CELL4_G, "LTE"},

Loading…
Cancel
Save