setup: add serial to request headers (#27237)

* setup: add dongle ID to request headers

* rename openpilot

* fix str

* hardware: get_serial

* set serial instead

* fix typo

* static

* fixes
pull/27241/head
Cameron Clough 2 years ago committed by GitHub
parent ae99a6d15d
commit 6fb5661abb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      selfdrive/ui/qt/setup/setup.cc
  2. 2
      system/hardware/base.h
  3. 17
      system/hardware/tici/hardware.h

@ -29,6 +29,9 @@ void Setup::download(QString url) {
auto version = util::read_file("/VERSION");
struct curl_slist *list = NULL;
list = curl_slist_append(list, ("X-openpilot-serial: " + Hardware::get_serial()).c_str());
char tmpfile[] = "/tmp/installer_XXXXXX";
FILE *fp = fdopen(mkstemp(tmpfile), "w");
@ -38,6 +41,7 @@ void Setup::download(QString url) {
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_USERAGENT, (USER_AGENT + version).c_str());
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
int ret = curl_easy_perform(curl);
@ -50,6 +54,7 @@ void Setup::download(QString url) {
emit finished(false);
}
curl_slist_free_all(list);
curl_easy_cleanup(curl);
fclose(fp);
}

@ -16,6 +16,8 @@ public:
static int get_voltage() { return 0; };
static int get_current() { return 0; };
static std::string get_serial() { return "cccccc"; }
static void reboot() {}
static void poweroff() {}
static void set_brightness(int percent) {}

@ -21,6 +21,23 @@ public:
static int get_voltage() { return std::atoi(util::read_file("/sys/class/hwmon/hwmon1/in1_input").c_str()); };
static int get_current() { return std::atoi(util::read_file("/sys/class/hwmon/hwmon1/curr1_input").c_str()); };
static std::string get_serial() {
static std::string serial("");
if (serial.empty()) {
std::ifstream stream("/proc/cmdline");
std::string cmdline;
std::getline(stream, cmdline);
auto start = cmdline.find("serialno=");
if (start == std::string::npos) {
serial = "cccccc";
} else {
auto end = cmdline.find(" ", start + 9);
serial = cmdline.substr(start + 9, end - start - 9);
}
}
return serial;
}
static void reboot() { std::system("sudo reboot"); };
static void poweroff() { std::system("sudo poweroff"); };

Loading…
Cancel
Save