sp4rkie / docsis-cable-load-monitor Goto Github PK
View Code? Open in Web Editor NEWCLI tool to monitor downstream load on DOCSIS cable networks
License: GNU General Public License v2.0
CLI tool to monitor downstream load on DOCSIS cable networks
License: GNU General Public License v2.0
Hello sparkie,
i cannot record the data, because dvbtune is hanging.
E.g.:
dvbtune -c 0 -f 698000000 -s 6952 -qam 64
Using DVB card "Sundtek DVB-C (III)"
tuning DVB-C to 698000000, srate=6952000
polling....
polling....
polling....
I can switch the frequence with mediaclient:
/opt/bin/mediaclient -d /dev/dvb/adapter0/frontend0 -m DVBC -f 698000000 -M Q64 -S 6952000
Using device: /dev/dvb/adapter0/frontend0
Checking for lock:
. [LOCKED]
Do you have an idea, what could be the reason?
Thanks
Andi
Hi!
I have been trying to get it to work, but the output is always 0.
Logs are below. Any ideas? Thank you for your work.
sh CableLoadMonitor -f 770:546:554:562
reading downstream channel frequencies from command line
downstream channel frequencies now in use: [ 4 ] 770 546 554 562
(re)creating the channel frequency cache implies renewal of the RRD base
create a RRD base with RRA step size of 10
recording history size: 7 day(s) 0 hour(s) 0 minute(s) 0 second(s)
point in time where the displayed graph ends: now
time span covered by the displayed graph: 3600s
12:21:53: 0 0 0 0 0
12:22:03: 0^C
====== [ 8643 ] program start [Sat Jan 12 12:21:52 CET 2019] on osmc ======
CableLoadMonitor|-f|770:546:554:562||||||||||||||||||
reading downstream channel frequencies from command line
downstream channel frequencies now in use: [ 4 ] 770 546 554 562
(re)creating the channel frequency cache implies renewal of the RRD base
create a RRD base with RRA step size of 10
recording history size: 7 day(s) 0 hour(s) 0 minute(s) 0 second(s)
point in time where the displayed graph ends: now
time span covered by the displayed graph: 3600s
CMD: /bin/bash -c 'rrdtool create /home/osmc/CableLoadMonitor.rrd -s 1
DS:f00:GAUGE:120:U:U
DS:f01:GAUGE:120:U:U
DS:f02:GAUGE:120:U:U
DS:f03:GAUGE:120:U:U
DS:sum:GAUGE:120:U:U
RRA:AVERAGE:0.1:10:604800' 2>&1
CMD: /bin/bash -c 'rrdtool graph /home/osmc/CableLoadMonitor.png_ -a PNG -l 0 -u 200000000
--title="Graph generated at date
"
-w 1500 -h 800
--end now --start end-3600s
--color "ARROW#ffffff"
--color "BACK#000000"
--color "CANVAS#000000"
--color "GRID#ffffff"
--color "MGRID#ffffff"
--color "FONT#ffffff"
--color "AXIS#ffffff"
--color "FRAME#ffffff"
--border 1
DEF:f00=/home/osmc/CableLoadMonitor.rrd:f00:AVERAGE
DEF:f01=/home/osmc/CableLoadMonitor.rrd:f01:AVERAGE
DEF:f02=/home/osmc/CableLoadMonitor.rrd:f02:AVERAGE
DEF:f03=/home/osmc/CableLoadMonitor.rrd:f03:AVERAGE
DEF:sum=/home/osmc/CableLoadMonitor.rrd:sum:AVERAGE
"LINE:f00#ff0000:770"
"LINE:f01#ff0000:546"
"LINE:f02#0000ff:554"
"LINE:f03#0000ff:562"
"LINE:sum#00ff00:sum\l"
"GPRINT:f00:MAX:%3.0lf %s"
"GPRINT:f01:MAX:%3.0lf %s"
"GPRINT:f02:MAX:%3.0lf %s"
"GPRINT:f03:MAX:%3.0lf %s"
"GPRINT:sum:MAX:%3.0lf %s"" max\l"
"GPRINT:f00:LAST:%3.0lf %s"
"GPRINT:f01:LAST:%3.0lf %s"
"GPRINT:f02:LAST:%3.0lf %s"
"GPRINT:f03:LAST:%3.0lf %s"
"GPRINT:sum:LAST:%3.0lf %s"" last\l"
' 2>&1
1581x901
CMD: /bin/bash -c 'mv /home/osmc/CableLoadMonitor.png_ /home/osmc/CableLoadMonitor.png' 2>&1
12:21:53: CMD: /bin/bash -c 'LD_PRELOAD=/opt/lib/libmediaclient.so timeout 10 dvbtune -f 770000000 -s 6952 -qam 256' 2>&1
scanning output for: <Bit error rate: ([0-9]+)$>
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Using DVB card "Silicon Labs Si2168"
tuning DVB-C to 770000000, srate=6952000
polling....
Getting frontend event
FE_STATUS:
polling....
Getting frontend event
FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
Event: Frequency: 780600000
SymbolRate: 6952000
FEC_inner: 9
Bit error rate: 0
first match: <0>
Signal strength: 0
SNR: 0
FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
CMD: /bin/bash -c 'LD_PRELOAD=/opt/lib/libmediaclient.so timeout 1 dvbsnoop -s bandwidth 8190 -n 80000' 2>&1
scanning output for: <^## PID:.*Avrg: +([^ ]+) >
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
dvbsnoop V1.4.50 -- http://dvbsnoop.sourceforge.net/
first match: <0.000>
... aborted (Signal: 15)
0CMD: /bin/bash -c 'LD_PRELOAD=/opt/lib/libmediaclient.so timeout 10 dvbtune -f 546000000 -s 6952 -qam 256' 2>&1
scanning output for: <Bit error rate: ([0-9]+)$>
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Using DVB card "Silicon Labs Si2168"
tuning DVB-C to 546000000, srate=6952000
polling....
Getting frontend event
FE_STATUS:
polling....
Getting frontend event
FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
Event: Frequency: 556600000
SymbolRate: 6952000
FEC_inner: 9
Bit error rate: 0
first match: <0>
Signal strength: 0
SNR: 0
FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
CMD: /bin/bash -c 'LD_PRELOAD=/opt/lib/libmediaclient.so timeout 1 dvbsnoop -s bandwidth 8190 -n 80000' 2>&1
scanning output for: <^## PID:.*Avrg: +([^ ]+) >
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
dvbsnoop V1.4.50 -- http://dvbsnoop.sourceforge.net/
first match: <0.000>
... aborted (Signal: 15)
0CMD: /bin/bash -c 'LD_PRELOAD=/opt/lib/libmediaclient.so timeout 10 dvbtune -f 554000000 -s 6952 -qam 256' 2>&1
scanning output for: <Bit error rate: ([0-9]+)$>
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Using DVB card "Silicon Labs Si2168"
tuning DVB-C to 554000000, srate=6952000
polling....
Getting frontend event
FE_STATUS:
polling....
Getting frontend event
FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
Event: Frequency: 564600000
SymbolRate: 6952000
FEC_inner: 9
Bit error rate: 0
first match: <0>
Signal strength: 0
SNR: 0
FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
CMD: /bin/bash -c 'LD_PRELOAD=/opt/lib/libmediaclient.so timeout 1 dvbsnoop -s bandwidth 8190 -n 80000' 2>&1
scanning output for: <^## PID:.*Avrg: +([^ ]+) >
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
dvbsnoop V1.4.50 -- http://dvbsnoop.sourceforge.net/
first match: <0.000>
... aborted (Signal: 15)
0CMD: /bin/bash -c 'LD_PRELOAD=/opt/lib/libmediaclient.so timeout 10 dvbtune -f 562000000 -s 6952 -qam 256' 2>&1
scanning output for: <Bit error rate: ([0-9]+)$>
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Using DVB card "Silicon Labs Si2168"
tuning DVB-C to 562000000, srate=6952000
polling....
Getting frontend event
FE_STATUS:
polling....
Getting frontend event
FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
Event: Frequency: 572600000
SymbolRate: 6952000
FEC_inner: 9
Bit error rate: 0
first match: <0>
Signal strength: 0
SNR: 0
FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
CMD: /bin/bash -c 'LD_PRELOAD=/opt/lib/libmediaclient.so timeout 1 dvbsnoop -s bandwidth 8190 -n 80000' 2>&1
scanning output for: <^## PID:.*Avrg: +([^ ]+) >
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
dvbsnoop V1.4.50 -- http://dvbsnoop.sourceforge.net/
first match: <0.000>
... aborted (Signal: 15)
0CMD: /bin/bash -c 'rrdtool update /home/osmc/CableLoadMonitor.rrd N:0:0:0:0:0' 2>&1
0
CMD: /bin/bash -c 'rrdtool graph /home/osmc/CableLoadMonitor.png_ -a PNG -l 0 -u 200000000
--title="Graph generated at date
"
-w 1500 -h 800
--end now --start end-3600s
--color "ARROW#ffffff"
--color "BACK#000000"
--color "CANVAS#000000"
--color "GRID#ffffff"
--color "MGRID#ffffff"
--color "FONT#ffffff"
--color "AXIS#ffffff"
--color "FRAME#ffffff"
--border 1
DEF:f00=/home/osmc/CableLoadMonitor.rrd:f00:AVERAGE
DEF:f01=/home/osmc/CableLoadMonitor.rrd:f01:AVERAGE
DEF:f02=/home/osmc/CableLoadMonitor.rrd:f02:AVERAGE
DEF:f03=/home/osmc/CableLoadMonitor.rrd:f03:AVERAGE
DEF:sum=/home/osmc/CableLoadMonitor.rrd:sum:AVERAGE
"LINE:f00#ff0000:770"
"LINE:f01#ff0000:546"
"LINE:f02#0000ff:554"
"LINE:f03#0000ff:562"
"LINE:sum#00ff00:sum\l"
"GPRINT:f00:MAX:%3.0lf %s"
"GPRINT:f01:MAX:%3.0lf %s"
"GPRINT:f02:MAX:%3.0lf %s"
"GPRINT:f03:MAX:%3.0lf %s"
"GPRINT:sum:MAX:%3.0lf %s"" max\l"
"GPRINT:f00:LAST:%3.0lf %s"
"GPRINT:f01:LAST:%3.0lf %s"
"GPRINT:f02:LAST:%3.0lf %s"
"GPRINT:f03:LAST:%3.0lf %s"
"GPRINT:sum:LAST:%3.0lf %s"" last\l"
' 2>&1
1581x901
CMD: /bin/bash -c 'mv /home/osmc/CableLoadMonitor.png_ /home/osmc/CableLoadMonitor.png' 2>&1
12:22:03: CMD: /bin/bash -c 'LD_PRELOAD=/opt/lib/libmediaclient.so timeout 10 dvbtune -f 770000000 -s 6952 -qam 256' 2>&1
scanning output for: <Bit error rate: ([0-9]+)$>
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Using DVB card "Silicon Labs Si2168"
tuning DVB-C to 770000000, srate=6952000
polling....
Getting frontend event
FE_STATUS:
polling....
Getting frontend event
FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
Event: Frequency: 780600000
SymbolRate: 6952000
FEC_inner: 9
Bit error rate: 0
first match: <0>
Signal strength: 0
SNR: 0
FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
CMD: /bin/bash -c 'LD_PRELOAD=/opt/lib/libmediaclient.so timeout 1 dvbsnoop -s bandwidth 8190 -n 80000' 2>&1
scanning output for: <^## PID:.*Avrg: +([^ ]+) >
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/opt/lib/libmediaclient.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
dvbsnoop V1.4.50 -- http://dvbsnoop.sourceforge.net/
first match: <0.000>
... aborted (Signal: 15)
0CMD: /bin/bash -c 'rrdtool update /home/osmc/CableLoadMonitor.rrd N:0:0:0:0:0' 2>&1
Hi,
is it possible to use also DOCSIS 3.1 frequency with eg -qam 1024 ?
At the moment all freq with higher qam as 256 errors out..
{ LD_PRELOAD=/opt/lib/libmediaclient.so timeout 10 dvbtune -c 0 -f 202000000 -s 6952 -qam 1024; LD_PRELOAD=/opt/lib/libmediaclient.so timeout 1 dvbsnoop -adapter 0 -s bandwidth 8190 -n 80000; } 2>&1
## PID: 8190 (0x1ffe) bad/total packets: 0/12632 (= 0.0%) Avrg: 19093.998 kbit/s
dvbtune/dvbsnoop fails for [ 202 ] [ 7 != 3 ], retrying...
root@raspberrypi:/home/pi/cableload# dvbtune -c 0 -f 202000000 -s 6952 -qam 1024
Invalid QAM rate: 1024
Hi,
thanks for developing this tool. It works fine with the latest Raspberry OS and Raspberry Pi 4.
I want to pinpoint upstream issues (sometimes goes as low as 1 Mbits, normally 50 Mbits). What modifications are needed for this? Is this even possible?
Thanks again.
Cheers
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.