Feature #4258
Append adapter number (An) to adapter name
100%
Description
When people have more than one identical adapter installed, it is sometimes hard to tell which adapter is being referenced in the logs. Especially if they assign the same network to both adapters (Dual LNB, etc...)
old log:
2017-03-02 13:09:41.062 [ INFO] subscription: 0004: "HTTP" subscribing on channel "sport", weight: 100, adapter: "Conexant CX24123/CX24109 : DVB-S #0", network: "SAT", mux: "12004V", service: "sport", profile="all", hostname="192.168.1.16", client="VLC/2.2.4 LibVLC/2.2.4"
new log:
2017-03-02 13:09:41.062 [ INFO] subscription: 0004: "HTTP" subscribing on channel "sport", weight: 100, adapter: "Conexant CX24123/CX24109 (A2) : DVB-S #0", network: "SAT", mux: "12004V", service: "sport", profile="all", hostname="192.168.1.16", client="VLC/2.2.4 LibVLC/2.2.4"
Note: I did not use the "#n" (like for "DVB-S #0") because, if for example you have three adapters and the second and third adapters are the identical ones, they would be named "#2" and "#3" which could be confusing.
Suggested patch:
diff --git a/src/input/mpegts/linuxdvb/linuxdvb_adapter.c b/src/input/mpegts/linuxdvb/linuxdvb_adapter.c index 5b03732..3339c5f 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_adapter.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_adapter.c @@ -278,7 +278,7 @@ linuxdvb_adapter_add ( const char *path ) #define MAX_DEV_OPEN_ATTEMPTS 20 extern int linuxdvb_adapter_mask; int a, i, j, r, fd; - char fe_path[512], dmx_path[512], dvr_path[512]; + char fe_path[512], dmx_path[512], dvr_path[512], name[132]; #if ENABLE_LINUXDVB_CA char ca_path[512]; htsmsg_t *caconf = NULL; @@ -338,6 +338,7 @@ linuxdvb_adapter_add ( const char *path ) tvherror(LS_LINUXDVB, "unable to query %s", fe_path); continue; } + snprintf(name, sizeof(name), "%s (A%i)",dfi.name, a); type = linuxdvb_get_type(dfi.type); if (type == DVB_TYPE_NONE) { tvherror(LS_LINUXDVB, "unable to determine FE type %s - %i", fe_path, dfi.type); @@ -360,7 +361,7 @@ linuxdvb_adapter_add ( const char *path ) /* Create/Find adapter */ pthread_mutex_lock(&global_lock); if (!la) { - la = linuxdvb_adapter_new(path, a, dfi.name, &conf, &save); + la = linuxdvb_adapter_new(path, a, name, &conf, &save); if (la == NULL) { tvherror(LS_LINUXDVB, "failed to create %s", path); return; // Note: save to return here as global_lock is held @@ -391,15 +392,15 @@ linuxdvb_adapter_add ( const char *path ) /* Create */ linuxdvb_frontend_create(feconf, la, i, fe_path, dmx_path, dvr_path, - type5, dfi.name); + type5, name); fetypes[type5] = 1; fenum++; } if (fenum == 0) linuxdvb_frontend_create(feconf, la, i, fe_path, dmx_path, dvr_path, - type, dfi.name); + type, name); #else - linuxdvb_frontend_create(feconf, la, i, fe_path, dmx_path, dvr_path, type, dfi.name); + linuxdvb_frontend_create(feconf, la, i, fe_path, dmx_path, dvr_path, type, name); #endif pthread_mutex_unlock(&global_lock); }
Files
History
Updated by Joe User over 7 years ago
Jaroslav already added a better fix for this, so this issue can be closed.
[[https://github.com/tvheadend/tvheadend/commit/b346243f96c882f12230e4a533eb25a18bacd3d3]]
Updated by Mark Clarkstone over 7 years ago
- Status changed from New to Fixed
- Target version set to 4.2
- % Done changed from 0 to 100
Joe User wrote:
Jaroslav already added a better fix for this, so this issue can be closed.
[[https://github.com/tvheadend/tvheadend/commit/b346243f96c882f12230e4a533eb25a18bacd3d3]]
Thanks for pointing this out Joe. If you see any more let us know!