diff --git a/lib/libcoolstream/hardware_caps.cpp b/lib/libcoolstream/hardware_caps.cpp index 66460e8a8..f488e046a 100644 --- a/lib/libcoolstream/hardware_caps.cpp +++ b/lib/libcoolstream/hardware_caps.cpp @@ -10,6 +10,7 @@ #include #include +#include #include "hardware_caps.h" static int initialized = 0; @@ -22,6 +23,7 @@ hw_caps_t *get_hwcaps(void) if (initialized && frontend_check) return ∩︀ + struct utsname u; unsigned int system_rev = cs_get_revision(); CFEManager* fem = CFEManager::getInstance(); @@ -74,6 +76,11 @@ hw_caps_t *get_hwcaps(void) strcpy(caps.chipset, "Nevis"); + if (! uname(&u)) + strncpy(caps.boxarch, u.machine, sizeof(caps.boxarch)); + else + fprintf(stderr, "%s: uname() failed: %m\n", __func__); + initialized = 1; return ∩︀ } diff --git a/lib/libcoolstream/hardware_caps.h b/lib/libcoolstream/hardware_caps.h index 676d9a2de..c45c173dc 100644 --- a/lib/libcoolstream/hardware_caps.h +++ b/lib/libcoolstream/hardware_caps.h @@ -36,6 +36,7 @@ typedef struct hw_caps { int can_set_display_brightness; char boxvendor[64]; char boxname[64]; + char boxarch[64]; char chipset[64]; char frontend[64]; } hw_caps_t; diff --git a/lib/libcoolstream2/hardware_caps.cpp b/lib/libcoolstream2/hardware_caps.cpp index dba06de0a..1e1c4a8c1 100644 --- a/lib/libcoolstream2/hardware_caps.cpp +++ b/lib/libcoolstream2/hardware_caps.cpp @@ -10,6 +10,7 @@ #include #include +#include #include "hardware_caps.h" static int initialized = 0; @@ -89,6 +90,7 @@ hw_caps_t *get_hwcaps(void) if (initialized) return ∩︀ + struct utsname u; unsigned int system_rev = cs_get_revision(); caps.has_fan = 0; @@ -158,6 +160,11 @@ hw_caps_t *get_hwcaps(void) } strcpy(caps.chipset, chipset); + if (! uname(&u)) + strncpy(caps.boxarch, u.machine, sizeof(caps.boxarch)); + else + fprintf(stderr, "%s: uname() failed: %m\n", __func__); + initialized = 1; return ∩︀ } diff --git a/lib/libcoolstream2/hardware_caps.h b/lib/libcoolstream2/hardware_caps.h index 676d9a2de..c45c173dc 100644 --- a/lib/libcoolstream2/hardware_caps.h +++ b/lib/libcoolstream2/hardware_caps.h @@ -36,6 +36,7 @@ typedef struct hw_caps { int can_set_display_brightness; char boxvendor[64]; char boxname[64]; + char boxarch[64]; char chipset[64]; char frontend[64]; } hw_caps_t;