sparkie
- Beiträge
- 821
- Punkte Reaktionen
- 54
ausgehend von einer Idee, die hier beschrieben wird: Auslastung des eigenen Segments ansehen
habe ich jetzt auf Github ein Repository zum Thema erstellt: docsis-cable-load-monitor
Mit relativ einfachen Mitteln ist ein Geraet gebaut, das (zumindest noch fuer DOCSIS 3.0) einen Anhaltspunkt dafuer gibt, wie stark das eigene Kabelsegment ausgelastet ist.
Folgende Hardware ist dazu ausreichend:
- Raspberry Pi (getestet mit Pi 3 Modell B)
- Sundtek MediaTV Pro III (DVB-C/T/T2, FM-Radio, AnalogTV)
- das TC4400 (nur erforderlich falls man die Downstreamfrequenzen automatisch ermitteln lassen moechte)
prinzipiell laesst sich jede andere DVB-C Karte ebenfalls verwenden solange sie in der eingesetzten Linux Distribution unterstuetzt wird. Weil die Installation von Sundtek TV Sticks besonders einfach ist, werde ich mich hier darauf beschraenken.
Software Installation:
- Raspberry mit Raspbian installieren (siehe Download Raspbian for Raspberry Pi)
- folgende zusaetzliche Pakete sind erforderlich:
- Sundtek Treiber installieren:
- das Messprogramm von Github installieren:
- Programm aufrufen:
wenn keine Parameter angegeben werden arbeitet das Programm mit defaults, holt sich erst die Downstreamfrequenzen aus dem TC4400 und faengt anschliessend zu messen an. Auf der Konsole werden die ermittelten Messwerte ausgegeben (Beispiel mit 16 Downstream-Frequenzen):
es wird zudem eine Grafik (in File 'CableLoadMonitor.png') erstellt:
man kann sich diese z.B. auf einen Webserver kopieren oder direkt auf dem Desktop fortlaufend ausgeben lassen (ich verwende 'feh' dazu):
der Peak von diesem Beispiel stammt aus einem kurzen Download (Dauer ca. 2 Minuten) getaetigt ueber einen 120Mbit/s Anschluss
Das Programm bietet ein paar Einstellmoeglichkeiten, die u.a. das dargestellte Zeitfenster und die Mittelung der Messwerte beeinflussen. Weitere Optionen werden folgen.
Die Doku hierzu werde ich nach und nach auf Github vervollstaendigen. Dieser Beitrag ist ja relativ bald nach Erstellung nicht mehr editierbar.
Verbesserungsvorschlaege gerne hier im Thread oder als 'Issue' auf Github. Oder am besten natuerlich gleich als 'github-pull-request'
viel Spass damit :smile:
habe ich jetzt auf Github ein Repository zum Thema erstellt: docsis-cable-load-monitor
Mit relativ einfachen Mitteln ist ein Geraet gebaut, das (zumindest noch fuer DOCSIS 3.0) einen Anhaltspunkt dafuer gibt, wie stark das eigene Kabelsegment ausgelastet ist.
Folgende Hardware ist dazu ausreichend:
- Raspberry Pi (getestet mit Pi 3 Modell B)
- Sundtek MediaTV Pro III (DVB-C/T/T2, FM-Radio, AnalogTV)
- das TC4400 (nur erforderlich falls man die Downstreamfrequenzen automatisch ermitteln lassen moechte)
prinzipiell laesst sich jede andere DVB-C Karte ebenfalls verwenden solange sie in der eingesetzten Linux Distribution unterstuetzt wird. Weil die Installation von Sundtek TV Sticks besonders einfach ist, werde ich mich hier darauf beschraenken.
Software Installation:
- Raspberry mit Raspbian installieren (siehe Download Raspbian for Raspberry Pi)
- folgende zusaetzliche Pakete sind erforderlich:
Code:
<i>
</i>sudo apt install wget gawk lynx dvbsnoop dvbtune rrdtool feh
Code:
<i>
</i>wget http://www.sundtek.de/media/sundtek_installer_180507.101237.sh
sudo sh sundtek_installer_180507.101237.sh -service -nolirc -noautostart
Code:
<i>
</i>sudo wget https://raw.githubusercontent.com/sp4rkie/docsis-cable-load-monitor/master/l5.awklib -O /usr/local/lib/l5.awklib
wget https://raw.githubusercontent.com/sp4rkie/docsis-cable-load-monitor/master/CableLoadMonitor
Code:
<i>
</i>sh CableLoadMonitor
Code:
<i>
</i>display time frame start: now
display time frame size: 3600s
frequencies in use: [ 16 ] 546 530 538 554 562 570 578 586 594 602 610 618 626 634 642 650
14:42:20: 4967 11105 3123 7030 2538 264 1519 746 2 109 3 82 110 7 873 124 32602
14:42:45: 5293 3108 2228 2422 649 183 207 298 130 66 274 24 8 141 3 135 15169
14:43:09: 2779 2298 4882 4094 454 752 2262 1015 16 4 60 55 112 89 166 6 19044
14:43:35: 2862 6100 2568 2956 253 799 2270 1414 102 32 4 171 902 140 150 119 20842
14:43:58: 2680 3958 3629 3889 4096 684 224 916 54 60 63 57 137 138 224 52 20861
14:44:20: 2281 2613 2711 3060 298 871 248 552 62 87 48 176 118 201 48 194 13568
14:44:43: 2530 4366 2848 2538 1128 1718 324 271 61 64 52 69 69 68 68 78 16252
14:45:06: 2458 2594 2568 5957 789 982 197 2593 517 169 167 830 48 68 295 41 20273
14:45:27: 2349 2675 3058 2359 249 1141 3113 162 5 2 178 0 2 3 3 3 15302
14:45:56: 3357 4917 4457 4228 66 953 367 1460 15 95 110 233 114 56 69 79 20576
14:46:18: 3530 2727 4061 3941 446 804 852 1671 50 173 98 59 85 71 87 59 18714
14:46:40: 3697 7030 4993 3417 1838 2124 440 892 90 234 55 160 627 222 57 82 25958
14:47:02: 2482 2409 2544 3597 2773 866 384 983 55 132 93 74 10 3 17 27 16449
14:47:24: 2503 2521 2663 5200 5919 1891 5693 672 28 68 57 23 120 58 66 185 27667
14:47:46: 2416 4156 2259 2253 620 290 405 214 65 24 5 12 19 4 2 2 12746
14:48:12: 2680 4928 5111 2422 593 448 461 1216 3 3 122 253 4 487 802 64 19597
14:48:35: 2455 2373 2484 3077 408 445 909 542 63 69 58 56 53 53 60 52 13157
14:48:58: 3858 2282 2664 2921 411 90 588 2519 68 54 54 42 60 66 53 53 15783
14:49:20: 2419 2828 2595 3067 1637 271 1059 142 63 57 65 54 83 22 107 13 14482
14:49:44: 2282 2358 2406 2382 89 2540 2781 505 0 4994 7925 7950 7713 7687 7428 7809 66849
14:49:59: 11598 10881 9275 11430 9417 7712 8418 8041 7687 8460 8122 7447 7783 8053 7748 7520 139592
14:50:10: 9621 9088 9753 10042 9245 10599 9860 10204 7593 7339 7844 7710 7863 7612 7854 7783 140010
14:50:20: 10503 9495 10401 8847 8788 9903 8244 9548 7952 7539 7809 8272 7614 7920 7882 7780 138497
14:50:31: 10011 11830 14935 8683 16282 7963 7848 7836 7983 8021 7758 7650 7465 7428 7706 7996 147395
14:50:42: 11242 9518 10743 9981 7722 7783 7729 8040 7614 8021 7952 8214 7710 7952 7920 7520 135661
14:50:52: 10787 9571 9548 9635 8638 8659 9487 9217 7813 8575 8098 8122 8396 8330 8360 8503 141739
14:51:03: 11959 9275 9471 9046 8262 8530 7840 7829 7882 7829 7687 7520 7825 7911 7614 7882 134362
14:51:13: 14395 9138 8770 10152 7783 8058 8053 7901 7520 7924 7882 7593 7339 7984 7593 7958 136043
14:51:24: 9649 10057 8924 9716 7648 7670 7630 8961 8047 7339 8122 7710 7882 7576 7952 8041 132924
14:51:34: 9471 11706 8904 9209 8743 9681 7934 1338 93 97 82 55 66 52 67 54 67552
14:51:53: 3123 2403 2325 3765 871 850 627 760 54 67 63 56 60 95 54 53 15226
14:52:15: 3696 6388 2454 2375 941 2936 373 354 124 97 457 54 53 52 123 56 20533
14:52:36: 2311 2549 3390 5807 179 340 310 1382 89 105 56 57 76 82 45 76 16854
14:52:57: 2839 3380 2295 2582 2139 391 649 1854 54 48 8 58 2 4 5 15 16323
14:53:22: 3165 3885 3239 2505 806 4014 2204 3472 8 211 37 13 2 2 4 25 23592
14:53:45: 4004 4415 2405 2711 1264 327 357 175 50 11 16 40 113 105 0 20 16013
14:54:10: 2334 3164 2311 3349 73 411 944 121 40 106 22 2 7 25 40 34 12983
14:54:35: 2958 3077 4057 5971 2851 2872 3399 2798 3 15 2 20 28 21 6 28 28106
14:54:55: 4354 3942 4407 4327 1752 1934 2264 3001 8 21 75 44 15 16 32 9 26201
14:55:18: 3234 2314 3719 3656 411 1461 1222 941 699 1163 1331 1410 1391 1212 1391 675 26230
14:55:36: 7724 2853 2482 2490 76 373 983 511 9 0 3 12 33 6 57 23 17635
14:56:01: 3421 2908 2267 2259 100 573 828 1873 89 16 14 14 9 9 7 6 14393
14:56:26: 7939 2262 2315 2416 121 90 1098 463 102 32 75 77 25 5 9 4 17033
es wird zudem eine Grafik (in File 'CableLoadMonitor.png') erstellt:
man kann sich diese z.B. auf einen Webserver kopieren oder direkt auf dem Desktop fortlaufend ausgeben lassen (ich verwende 'feh' dazu):
Code:
<i>
</i>feh -d --reload .5 CableLoadMonitor.png
der Peak von diesem Beispiel stammt aus einem kurzen Download (Dauer ca. 2 Minuten) getaetigt ueber einen 120Mbit/s Anschluss
Das Programm bietet ein paar Einstellmoeglichkeiten, die u.a. das dargestellte Zeitfenster und die Mittelung der Messwerte beeinflussen. Weitere Optionen werden folgen.
Die Doku hierzu werde ich nach und nach auf Github vervollstaendigen. Dieser Beitrag ist ja relativ bald nach Erstellung nicht mehr editierbar.
Verbesserungsvorschlaege gerne hier im Thread oder als 'Issue' auf Github. Oder am besten natuerlich gleich als 'github-pull-request'
viel Spass damit :smile: