mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2025-12-10 07:44:39 +01:00
deviceinfo-iopsyswrt: fetch static data from db deviceinfo
This commit is contained in:
parent
9b21446772
commit
44682f5fcd
1 changed files with 12 additions and 32 deletions
|
|
@ -8,7 +8,7 @@ char * os__get_deviceid_manufacturer()
|
||||||
char *v;
|
char *v;
|
||||||
dmuci_get_option_value_string("cwmp","cpe","manufacturer", &v);
|
dmuci_get_option_value_string("cwmp","cpe","manufacturer", &v);
|
||||||
if (v[0] == '\0') {
|
if (v[0] == '\0') {
|
||||||
db_get_value_string("hw", "board", "manufacturer", &v);
|
db_get_value_string("device", "deviceinfo", "Manufacturer", &v);
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
return v;
|
return v;
|
||||||
|
|
@ -20,7 +20,7 @@ char * os__get_deviceid_productclass()
|
||||||
char *v;
|
char *v;
|
||||||
dmuci_get_option_value_string("cwmp", "cpe", "product_class", &v);
|
dmuci_get_option_value_string("cwmp", "cpe", "product_class", &v);
|
||||||
if (v[0] == '\0') {
|
if (v[0] == '\0') {
|
||||||
db_get_value_string("hw", "board", "iopVerFam", &v);
|
db_get_value_string("device", "deviceinfo", "ProductClass", &v);
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
return v;
|
return v;
|
||||||
|
|
@ -29,20 +29,20 @@ char * os__get_deviceid_productclass()
|
||||||
char * os__get_deviceid_serialnumber()
|
char * os__get_deviceid_serialnumber()
|
||||||
{
|
{
|
||||||
char *v;
|
char *v;
|
||||||
db_get_value_string("hw", "board", "serial_number", &v);
|
db_get_value_string("device", "deviceinfo", "SerialNumber", &v);
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
char * os__get_softwareversion()
|
char * os__get_softwareversion()
|
||||||
{
|
{
|
||||||
char *v;
|
char *v;
|
||||||
db_get_value_string("hw", "board", "iopVerTag", &v);
|
db_get_value_string("device", "deviceinfo", "SoftwareVersion", &v);
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
int os__get_device_hardwareversion(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
int os__get_device_hardwareversion(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||||
{
|
{
|
||||||
db_get_value_string("hw", "board", "model_name", value);
|
db_get_value_string("device", "deviceinfo", "HardwareVersion", value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -51,7 +51,7 @@ int os__get_device_modelname(char *refparam, struct dmctx *ctx, void *data, char
|
||||||
{
|
{
|
||||||
dmuci_get_option_value_string("cwmp", "cpe", "model_name", value);
|
dmuci_get_option_value_string("cwmp", "cpe", "model_name", value);
|
||||||
if (*value[0] == '\0')
|
if (*value[0] == '\0')
|
||||||
db_get_value_string("hw", "board", "model_name", value);
|
db_get_value_string("device", "deviceinfo", "ModelName", value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,45 +60,25 @@ int os__get_device_description(char *refparam, struct dmctx *ctx, void *data, ch
|
||||||
{
|
{
|
||||||
dmuci_get_option_value_string("cwmp", "cpe", "description", value);
|
dmuci_get_option_value_string("cwmp", "cpe", "description", value);
|
||||||
if (*value[0] == '\0')
|
if (*value[0] == '\0')
|
||||||
db_get_value_string("hw", "board", "description", value);
|
db_get_value_string("device", "deviceinfo", "Description", value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*#Device.DeviceInfo.ManufacturerOUI!UCI:cwmp/cpe,cpe/manufacturer_oui*/
|
/*#Device.DeviceInfo.ManufacturerOUI!UCI:cwmp/cpe,cpe/manufacturer_oui*/
|
||||||
char * os__get_deviceid_manufactureroui()
|
char * os__get_deviceid_manufactureroui()
|
||||||
{
|
{
|
||||||
char *v, *mac = NULL, str[16];
|
char *v;
|
||||||
json_object *res;
|
|
||||||
|
|
||||||
dmuci_get_option_value_string("cwmp", "cpe", "manufacturer_oui", &v);
|
dmuci_get_option_value_string("cwmp", "cpe", "manufacturer_oui", &v);
|
||||||
if (v[0])
|
if (v[0] == '\0') {
|
||||||
return v;
|
db_get_value_string("device", "deviceinfo", "ManufacturerOUI", &v);
|
||||||
|
|
||||||
dmubus_call("router.system", "info", UBUS_ARGS{{}}, 0, &res);
|
|
||||||
if (!(res))
|
|
||||||
db_get_value_string("hw", "board", "basemac", &mac);
|
|
||||||
else
|
|
||||||
mac = dmjson_get_value(res, 1, "basemac");
|
|
||||||
|
|
||||||
if(mac) {
|
|
||||||
size_t ln = strlen(mac);
|
|
||||||
if (ln < 17) goto not_found;
|
|
||||||
sscanf (mac,"%2c:%2c:%2c",str,str+2,str+4);
|
|
||||||
str[6] = '\0';
|
|
||||||
v = dmstrdup(str); // MEM WILL BE FREED IN DMMEMCLEAN
|
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
return v;
|
||||||
not_found:
|
|
||||||
return "";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int os__get_base_mac_addr(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
int os__get_base_mac_addr(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||||
{
|
{
|
||||||
json_object *res;
|
db_get_value_string("device", "deviceinfo", "BaseMACAddress", value);
|
||||||
dmubus_call("router.system", "info", UBUS_ARGS{{}}, 0, &res);
|
|
||||||
DM_ASSERT(res, *value = "");
|
|
||||||
*value = dmjson_get_value(res, 1, "basemac");
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue