diff --git a/dmtree/tr181/deviceinfo.c b/dmtree/tr181/deviceinfo.c index 9ecbeb4d..8f08216e 100644 --- a/dmtree/tr181/deviceinfo.c +++ b/dmtree/tr181/deviceinfo.c @@ -226,13 +226,19 @@ static int get_device_productclass(char *refparam, struct dmctx *ctx, void *data static int get_device_serialnumber(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - db_get_value_string("device", "deviceinfo", "SerialNumber", value); + dmuci_get_option_value_string("cwmp", "cpe", "serial_number", value); + if (*value[0] == '\0') + db_get_value_string("device", "deviceinfo", "SerialNumber", value); + return 0; } static int get_device_softwareversion(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - db_get_value_string("device", "deviceinfo", "SoftwareVersion", value); + dmuci_get_option_value_string("cwmp", "cpe", "software_version", value); + if (*value[0] == '\0') + db_get_value_string("device", "deviceinfo", "SoftwareVersion", value); + return 0; } diff --git a/libbbf_api/dmuci.c b/libbbf_api/dmuci.c index c1cb5e99..7aa9eeea 100644 --- a/libbbf_api/dmuci.c +++ b/libbbf_api/dmuci.c @@ -48,7 +48,7 @@ int bbf_uci_init(void) dmuci_init_bbfdm(); - db_config = (folder_exists(LIB_DB_CONFIG)) ? LIB_DB_CONFIG : ETC_DB_CONFIG; + db_config = ETC_DB_CONFIG; return 0; } @@ -838,7 +838,7 @@ int db_get_value_string(char *package, char *section, char *option, char **value { struct uci_option *o; - o = dmuci_get_option_ptr((db_config) ? db_config : LIB_DB_CONFIG, package, section, option); + o = dmuci_get_option_ptr((db_config) ? db_config : ETC_DB_CONFIG, package, section, option); if (o) { *value = o->v.string ? dmstrdup(o->v.string) : ""; // MEM WILL BE FREED IN DMMEMCLEAN } else { diff --git a/libbbf_api/dmuci.h b/libbbf_api/dmuci.h index 262af5d8..ce67b146 100644 --- a/libbbf_api/dmuci.h +++ b/libbbf_api/dmuci.h @@ -24,7 +24,6 @@ #include #include -#define LIB_DB_CONFIG "/lib/db/config" #define ETC_DB_CONFIG "/etc/board-db/config" #define VARSTATE_CONFIG "/var/state" #define BBFDM_CONFIG "/etc/bbfdm/dmmap"