Docsis 3.0 Dump Tool

Internet und Telefon gestört oder gar ganz ausgefallen? Speedprobleme, die nicht offensichtlich auf die verwendeten Geräte zurückzuführen sind? Dann ist dieses Forum genau richtig!
Forumsregeln
Forenregeln


Bitte gib bei der Erstellung eines Threads im Feld „Präfix“ an, ob du Kunde von Vodafone Kabel Deutschland („[VFKD]“), von Vodafone West („[VF West]“), von eazy („[eazy]“) oder von O2 über Kabel („[O2]“) bist.
sparkie
Kabelexperte
Beiträge: 721
Registriert: 04.09.2010, 12:35

Docsis 3.0 Dump Tool

Beitrag von sparkie »

ausgehend von der Idee in http://www.kdgforum.de/viewtopic.php?f= ... ng#p207248 werde ich hier nach und nach ein paar Scripten reinstellen, die mir moeglichst den kompletten Status meines KDG 100Mbit Zuganges per CLI dumpen koennen. Ziel ist natuerlich noch die Integration der Ausgabe der Segmentauslastung.

Man kann so z.B. leicht einen automatisierten Snapshot aller wichtigen Daten per cron erstellen. Und ist so immer auf dem laufenden...

Leider habe ich im Moment Urlaub und deswegen nicht soviel Zeit :) Deswegen erst mal ein Script fuer das epc3212, das mir aus den Modemdaten wenigstens schon mal eine kompakt-uebersichtliche Ausgabe erstellt z.B:

Code: Alles auswählen

firmware file: epc3212-E10-12-v302r12901-100609c-KDG.bin
firmware date: 2010-06-09 19:53:25
last reset at: 2011-01-19 13:34:50

C: 1 F: 562.0 M: 256 G:  66.8 B:     - D: 38.6 <=
C: 2 F: 570.0 M: 256 G:  66.9 B:     - D: 39.0
C: 3 F: 546.0 M: 256 G:  66.7 B:     - D: 39.0
C: 4 F: 554.0 M: 256 G:  60.9 B:     - D: 39.0
C: 1 F:  45.8 M:  16 G: 104.7 B: 25600 D:    -

SFID:  Direction:   Primary:   Packets:
16115  Downstream   Yes             N/A
16417  Upstream     Yes         3120277
25914  Upstream     No             1436
25918  Downstream   No              N/A

ErrType:          C 129:     C 130:     C 133:     C 134:
Unerrored      482570604  100277348  100129448   99981435
Correctable         1017        722        398        104
Uncorrectable          0          0          0          0
das Script hierzu:

Code: Alles auswählen

awk '
func setup_cmd(what \
    )
{
    if ("'`hostname`'" == "bajada") {
        return "cat /root/" what
    } else {
        return "lynx -dump http://192.168.100.1/" what ".htm"
    }
}

BEGIN {
    MONTHS = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"
    split(MONTHS, a)
    for (i in a) MONTHSi[a[i]] = sprintf("%02d", i)

# ---
    CMD = setup_cmd("ChannelsSelection")
    while (CMD | getline > 0) {
        if (match($0, "([0-9]+)$", a)) pres_down_freq = a[1] / 1000000
    }
    close(CMD)
# ---
    CMD = setup_cmd("Docsis_system")
    while (CMD | getline > 0) {
        if (match($0, ": (.*\\.bin)$", a)) print "firmware file: " a[1]
        if (match($0, ": ([^ ]+) ([^ ]+) ([^ ]+) ([0-9][0-9]:[0-9][0-9]:[0-9][0-9])$", a)) 
            print "firmware date: " a[3] "-" MONTHSi[a[1]] "-" a[2] " " a[4]
    }
    close(CMD)
# ---
    CMD = setup_cmd("Docsis_signal")
    while (CMD | getline > 0) {
        if (match($0, "Channel ([0-9]):$", a)) {
            if (F) CH[cnt++] = sprintf("C: %s F: %5.1f M: %3s G: %5.1f B: %5s D: %4s", C, F, M, G, B, D)
            C = a[1]
            F = 0
            M = 0
            G = 0
            B = "-"
            D = "-"
        }
        if (match($0, "([0-9.]+) Hz$", a))        F = a[1] / 1000000
        if (match($0, "([0-9.]+) QAM$", a))       M = a[1]
        if (match($0, "([0-9.]+) dBuV$", a))      G = a[1]
        if (match($0, "([0-9.]+) kBits/sec$", a)) B = a[1]
        if (match($0, "([0-9.]+) dB$", a))        D = a[1]
    }
    close(CMD)
# ---
    CMD = setup_cmd("Docsis_status")
    while (CMD | getline > 0) {
        if (match($0, ": ([0-9]+) days ([0-9]+)h:([0-9]+)m:([0-9]+)s$", a)) {
            rst_secs_back = ((a[1] * 24 + a[2]) * 60 + a[3]) * 60 + a[4]
            print strftime("last reset at: %Y-%m-%d %H:%M:%S", strftime("%s") - rst_secs_back)
            print ""
            for (i = 0; i < cnt; ++i) {
                printf CH[i]
                if (match(CH[i], pres_down_freq)) {
                    print " <="
                    ++found
                } else {
                    print ""
                }
            }
            if (!found) print "ERROR: SELECTED FREQU [ " pres_down_freq " ] NOT FOUND"
            print ""
        }
        if (match($0, "SFID"))                printf "%-6s %-12s %-8s %10s\n", $1 ":", $2 ":", $3 ":", $4 ":"
        if (match($0, "Downstream|Upstream")) printf "%-6s %-12s %-8s %10s\n", $1, $2, $3, $4
        if (match($1, "Channel")) printf "\n%-13s %10s %10s %10s %10s\n", "ErrType:", "C " $3 ":", "C " $4 ":", "C " $5 ":", "C " $6 ":"
        if (match($1, "Total"))   printf   "%-13s %10s %10s %10s %10s\n", $2, $4, $5, $6, $7
    }
    close(CMD)
}'   
- sparkie
sparkie
Kabelexperte
Beiträge: 721
Registriert: 04.09.2010, 12:35

Re: Scripten zur Statusermittlung KDG Internetzugang

Beitrag von sparkie »

so, ich habe mal wieder ein wenig gescriptet. DIe Ermittlung der Auslastung pro Kanal ist jetzt auch integriert. Die Frequenzen werden aus dem EPC3212 gelesen und dann der Sundtek MediaTV Pro Stick entsprechend programmiert. Heraus kommt dann typisch die nachfolgende Ausgabe. Der Spalte 'R:' ist zusaetzlich die aktuelle Bitrate (kbit) pro Kanal zu entnehmen. Die letzten 20 Messungen werden ganz am Ende nochmal als Balkendiagramm ausgegeben. Volle Balkenlaenge von 20 bedeutet maximale Auslastung (51285kbit). Im unteren Teil (Messung 12 - 18) habe ich testweise mal einen Download mit maximaler Last erzeugt. Man sieht die Auslastung steigt auf allen 4 Kanaelen recht huebsch. Es waren zu der Zeit ca. 39803kbit, 38387kbit, 40106kbit, 39962kbit auf den Kanaelen 1 - 4. Es ist aber trotzdem immer noch Luft nach oben :)

- sparkie

Beispielaugabe:

Code: Alles auswählen

Every 2.0s: scan_EPC3212                                                                                    Sun Jan 30 18:22:24 2011

firmware file: epc3212-E10-12-v302r12901-100609c-KDG.bin
firmware date: 2010-06-09 19:53:25
last reset at: 2011-01-19 13:35:00

C: 1 F: 562.0 M: 256 G:  67.1 B:     - D: 38.6 R:  7163 <=
C: 2 F: 570.0 M: 256 G:  67.3 B:     - D: 39.0 R:  4643
C: 3 F: 546.0 M: 256 G:  66.9 B:     - D: 39.0 R: 12032
C: 4 F: 554.0 M: 256 G:  61.5 B:     - D: 38.8 R: 15158
C: 1 F:  45.8 M:  16 G: 104.7 B: 25600 D:    - R:     -

SFID:  Direction:   Primary:   Packets:
16115  Downstream   Yes             N/A
16417  Upstream     Yes         3773000
25914  Upstream     No             2018
25918  Downstream   No              N/A

ErrType:            C 129:       C 130:       C 133:       C 134:
Unerrored      -1343257658    143934748    126255937    108586539
Correctable         106658        71682        36215          109
Uncorrectable           29           12            0            0

----                --                  -----               ----------
---                 --                  -------             -----------
--                  -                   -------             ---------------
----                --                  -----               ----------------
---                 --                  ----                -----------
----                ----                ----                ------------
---                 --                  ----                ---------
--                  --                  ------              -----------
--                  ---                 --------            ---------------
--                  --                  -----               --------------
--                  --                  -----               -----------
---------           --------------      --------------      ------------------
---------------     ---------------     ----------------    ----------------
-------------       ---------------     ---------------     -----------------
---------------     ---------------     ---------------     ----------------
---------------     --------------      ---------------     ----------------
---------------     --------------      ---------------     ---------------
-----------         -----------         --------------      ----------------
---                 --                  -----               ------
--                  -                   ----                -----
das Script dazu:

Code: Alles auswählen

awk '
func setup_cmd(what \
    )
{
    if ("'`hostname`'" == "bajada") {
        return "cat /root/" what
    } else {
        return "lynx -dump http://192.168.100.1/" what ".htm"
    }
}

func meter(freq, \
    rate, disp, locked, CMD)
{
    if (freq == "FLUSH") {
        print "" >> HIST
        close(HIST)

        CMD = "tail -20 " HIST
        while (CMD | getline > 0) {
            print 
        }
        close(CMD)
        return
    }

    # upstream is not tunable, just ignore
    if (freq < 100000000) {
        return sprintf("R: %5s", "-")
    }
    CMD = "/opt/bin/mediaclient -d " DEVICE " -m DVBC -f " freq " -M Q256 -S 6952000"
    while (CMD | getline > 0) {
        if (match($0, "\\[LOCKED\\]")) ++locked
    }
    close(CMD)
    if (!locked) print "ERROR: FREQ [ " freq " ] NOT LOCKED"
    CMD = "dvbtraffic -a " ADAPTER
    while (CMD | getline > 0) {
#       print "<" $0 ">"
        if (match($0, "^2000")) {
            rate = $6
            disp = rate / RATEMAX * length(FIL1)
            printf substr(FIL2, 1, disp) >> HIST
            printf substr(FIL1, 1 + disp) >> HIST
        }
    }
    close(CMD)
    return sprintf("R: %5s", rate)
}
    
BEGIN {
    # configure this to your needs
    HIST = "/root/bwhist.log"
    ADAPTER = 1
    DEVICE = "/dev/dvb/adapter" ADAPTER "/frontend0"

# ---
    FIL1 = "                    "
    FIL2 = "--------------------"
    len1 = length(FIL1)
    RATEMAX = 51285 # maximum kbitrate per channel??

    MONTHS = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"
    split(MONTHS, a)
    for (i in a) MONTHSi[a[i]] = sprintf("%02d", i)

# ---
    CMD = setup_cmd("ChannelsSelection")
    while (CMD | getline > 0) {
        if (match($0, "([0-9]+)$", a)) pres_down_freq = a[1] / 1000000
    }
    close(CMD)
# ---
    CMD = setup_cmd("Docsis_system")
    while (CMD | getline > 0) {
        if (match($0, ": (.*\\.bin)$", a)) print "firmware file: " a[1]
        if (match($0, ": ([^ ]+) ([^ ]+) ([^ ]+) ([0-9][0-9]:[0-9][0-9]:[0-9][0-9])$", a)) 
            print "firmware date: " a[3] "-" MONTHSi[a[1]] "-" a[2] " " a[4]
    }
    close(CMD)
# ---
    cnt = 0
    CMD = setup_cmd("Docsis_signal")
    while (CMD | getline > 0) {
        if (match($0, "Channel ([0-9]):$", a)) {
            if (F) {
                FR[cnt] = F
                CH[cnt++] = sprintf("C: %s F: %5.1f M: %3s G: %5.1f B: %5s D: %4s ", C, F, M, G, B, D)
            }
            C = a[1]
            F = 0
            M = 0
            G = 0
            B = "-"
            D = "-"
        }
        if (match($0, "([0-9.]+) Hz$", a))        F = a[1] / 1000000
        if (match($0, "([0-9.]+) QAM$", a))       M = a[1]
        if (match($0, "([0-9.]+) dBuV$", a))      G = a[1]
        if (match($0, "([0-9.]+) kBits/sec$", a)) B = a[1]
        if (match($0, "([0-9.]+) dB$", a))        D = a[1]
    }
    close(CMD)
# ---
    CMD = setup_cmd("Docsis_status")
    while (CMD | getline > 0) {
        if (match($0, ": ([0-9]+) days ([0-9]+)h:([0-9]+)m:([0-9]+)s$", a)) {
            rst_secs_back = ((a[1] * 24 + a[2]) * 60 + a[3]) * 60 + a[4]
            print strftime("last reset at: %Y-%m-%d %H:%M:%S", strftime("%s") - rst_secs_back)
            print ""
            for (i = 0; i < cnt; ++i) {
                printf CH[i] meter(FR[i] * 1000000)
                if (match(CH[i], pres_down_freq)) {
                    print " <="
                    ++found
                } else {
                    print ""
                }
            }
            if (!found) print "ERROR: SELECTED FREQ [ " pres_down_freq " ] NOT FOUND"
            print ""
        }
        if (match($0, "SFID"))                printf "%-6s %-12s %-8s %10s\n", $1 ":", $2 ":", $3 ":", $4 ":"
        if (match($0, "Downstream|Upstream")) printf "%-6s %-12s %-8s %10s\n", $1, $2, $3, $4
        if (match($1, "Channel")) printf "\n%-13s %12s %12s %12s %12s\n", "ErrType:", "C " $3 ":", "C " $4 ":", "C " $5 ":", "C " $6 ":"
        if (match($1, "Total"))   printf   "%-13s %12s %12s %12s %12s\n", $2, $4, $5, $6, $7
    }
    close(CMD)
# ---
    print ""
    meter("FLUSH")
}'

Benutzeravatar
RcRaCk2k
Ehrenmitglied
Beiträge: 2402
Registriert: 20.09.2007, 10:23
Wohnort: Freilassing

Re: Scripten zur Statusermittlung KDG Internetzugang

Beitrag von RcRaCk2k »

Respekt Sparkie! Wo hast du denn die ganzen AWK Kenntnisse her? Super programmiert, muss ich sagen! 1A :)
Anschlüsse: 3x Internet&Phone 100 MBits, 2x Internet&Phone 26MBit, 1x Internet&Phone 32 MBits Telefon-Anschluss: sipgate.de, dus.net, easybell.de, personal-voip.de
Router: Linux x64 Router, Interne Verkablung: Patchpannel, CAT 7, Netzwerkdosen, CAT 5e, wirelessLAN

Links:
- Kabel-Deutschland und die Geschwindigkeit des Internet-Zugangs
sparkie
Kabelexperte
Beiträge: 721
Registriert: 04.09.2010, 12:35

Re: Scripten zur Statusermittlung KDG Internetzugang

Beitrag von sparkie »

RcRaCk2k hat geschrieben:Wo hast du denn die ganzen AWK Kenntnisse her?
ich programmiere eigentlich alle Scripten in AWK - solange ich nicht direkt auf Systemcall-Ebene arbeiten muss. AWK ist ja immerhin bereits in der BusyBox enthalten. Und damit viel allgemeiner verwendbar als so manch' andere Script-Sprache.

naja, momentan ist alles noch ein ziemlicher Hack. Aber wenn ich mal an ein anderes Modem (z.B. fuer 60Mbit/32Mbit) komme, koennte ich es etwas verallgemeinern und schoener machen. Ist erst mal ein Proof-of-Concept :-)

Ich hoffe, heute abend liefert Sundtek (wie angekuendigt) 'nen Treiberupdate zum Vermessen des Upstream. Bin ja gespannt ob das ueberhaupt funktionieren kann. Eigentlich setzt das ja voraus, dass die Rueckkanalfrequenzen nicht irgendwo schon zu sehr geblockt werden, bevor sie den Stick erreichen...

- sparkie
sparkie
Kabelexperte
Beiträge: 721
Registriert: 04.09.2010, 12:35

DOCSIS 3.0 dump tool

Beitrag von sparkie »

wieder mal ein Update. Da man hier im Forum offenbar keine Anhaenge posten kann cut&paste ich das Script wieder.

Die Ausgabe habe ich jetzt etwas erweitert. Man sieht jetzt gut die prozentuale Auslastung der Einzelkanaele, dargestellt durch '-'. Der Bereich 0% - 100% entspricht dabei 0 - 20 Einzelstrichen '-'.

Zugleich wird jetzt die Anzeige der prozentualen Gesamtauslastung in Form von '*' daruebergeblendet. Dabei entspricht der Bereich 0% - 100% der Position von '*' auf einer Skala 0 - 80.

Ganz rechts in eckigen Klammern befindet sich der Zahlenwert der Gesamtdatenrate in kbit aufsummiert ueber die 4 Einzelkanaele und der dazugehoerige Prozentsatz der Gesamtauslastung. Dabei gehe ich davon aus, dass Maximal 4 * 51285kbit == 205140kbit moeglich sind. Den Zahlenwert habe ich hier im Forum irgendwo gelesen, bin mir aber nicht sicher, ob das ueberhaupt korrekt ist. Den ping auf heise habe ich als dritten Zahlenwert hinzugefuegt.

Um eine fortlaufende Anzeige mit Scan alle 60s zu erhalten ruft man das Script z.B. mit watch auf z.B. so:

Code: Alles auswählen

watch -n60 scan_docsis30
So ergibt sich ein Ueberblick aller relevanten Parameter (Frequenzen, PowerLevel und SignalToNoiseRatio, etc.) mit Historie der Auslastung. Man sieht in der Zeit 13:57:24 - 13:58:21 duempelt mein Anschluss mit ca. 20% vor sich hin. Dann (13:58:32 - 13:59:29) habe ich kurz mal volle Last erzeugt um den Anstieg in der Anzeige zu verdeutlichen :)

Ausgabe der Messwerte (ohne Modemwerte):

Code: Alles auswählen

11-02-01 13:57:24: -----          *    --                  --                  -----               [  39597 19.30% 27.4ms ]
11-02-01 13:57:35: ---          *      --                  --                  ----                [  34576 16.85% 17.7ms ]
11-02-01 13:57:47: --               *  ----                ------              ---                 [  44770 21.82% 18.0ms ]
11-02-01 13:57:58: ----            *   -----               ---                 ----                [  42797 20.86% 15.0ms ]
11-02-01 13:58:10: ---              *  -----               ---                 ----                [  43643 21.27% 16.4ms ]
11-02-01 13:58:21: ---                 ------   *          ------              -------------       [  76791 37.43% 38.3ms ]
11-02-01 13:58:32: -------------       ------------        ------------*-      ------------        [ 135332 65.97% 29.5ms ]
11-02-01 13:58:44: -------------       -------------       --------------- *   -------------       [ 143691 70.05% 32.0ms ]
11-02-01 13:58:55: --------------      ------------        -------------*      ------------        [ 136618 66.60% 34.3ms ]
11-02-01 13:59:07: --------------      --------------      --------------  *   -------------       [ 146124 71.23% 15.2ms ]
11-02-01 13:59:18: ------------        ----------------    -------------    *  ---------------     [ 147200 71.76% 34.0ms ]
11-02-01 13:59:29: -------------       ----------------    --------------      *---------------    [ 156202 76.14% 14.9ms ]
11-02-01 13:59:41: -------------       --        *         ----                ----------          [  77687 37.87% 16.1ms ]
11-02-01 13:59:52: --                * --                  -----               -------             [  48514 23.65% 17.7ms ]
11-02-01 14:00:03: --                * ----                ---                 --------            [  48073 23.43% 14.3ms ]
11-02-01 14:00:15: --            *     ---                 ---                 ---                 [  36155 17.62% 22.6ms ]
11-02-01 14:00:26: ---           *     ----                ---                 ---                 [  37125 18.10% 14.0ms ]
das Script:

Code: Alles auswählen

awk '
func read_from_epc3212(what \
    )
{
    return "lynx -dump http://192.168.100.1/" what ".htm"
}

func insert(str, pos \
    )
{
    return substr(str, 1, pos - 1) "." substr(str, pos + 1)
}

func meter(freq, \
    quot, rate, disp, locked, ping, a, RATEMAX, CMD)
{
    FIL1 = "                    "
    FIL2 = "--------------------"
    RATEMAX = 51285 # maximum kbit rate per channel - is that correct??

    if (freq == "INIT") {
        LOGSTR = strftime("%y-%m-%d %T: ")
        LOGSTR_DATE_BIAS = length(LOGSTR) + 1
        return
    }
    if (freq == "FLUSH") {
        CMD = "ping -c1 heise.de"
        while (CMD | getline > 0) if (match($0, "time=(.+)$", a)) ping = gensub(" ", "", "g", a[1]); close(CMD)
        quot = SUMRATE / (4 * RATEMAX)
        LOGSTR = LOGSTR sprintf("[ %6s %5.2f%% %6s ]", SUMRATE, quot * 100, ping)
        LOGSTR = insert(LOGSTR, LOGSTR_DATE_BIAS + int(quot * 80))
        print LOGSTR >> LOGFILE; close(LOGFILE)
        CMD = "tail -66 " LOGFILE
        while (CMD | getline > 0) print; close(CMD)
        return
    }
    CMD = "/opt/bin/mediaclient -d " DEVICE " -m DVBC -f " freq " -M Q256 -S 6952000"
    while (CMD | getline > 0) if (match($0, "\\[LOCKED\\]")) ++locked; close(CMD)
    if (!locked) print "ERROR: FREQ [ " freq " ] NOT LOCKED"
    CMD = "dvbtraffic -a " ADAPTER
    while (CMD | getline > 0) {
        if (match($0, "^2000")) {
            rate = $6
            disp = rate / RATEMAX * length(FIL1)
            LOGSTR = LOGSTR substr(FIL2, 1, disp) substr(FIL1, 1 + disp)
        } else if (!match($0, "^1ffe")) {
            print "ERROR: unknown PID detected in [ " $0 " ]"
        }
    }
    close(CMD)
    return rate
}

BEGIN {
    # configure this to your needs
    ADAPTER = 1
    DEVICE = "/dev/dvb/adapter" ADAPTER "/frontend0"
    LOGFILE = "/root/scan_docsis30.log"
# ---
    MONTHS = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"
    split(MONTHS, a)
    for (i in a) MONTHSi[a[i]] = sprintf("%02d", i)
# ---
    CMD = read_from_epc3212("ChannelsSelection")
    while (CMD | getline > 0) {
        if (match($0, "([0-9]+)$", a)) pres_down_freq = a[1] / 1000000
    }
    close(CMD)
# ---
    CMD = read_from_epc3212("Docsis_system")
    while (CMD | getline > 0) {
        if (match($0, ": (.*\\.bin)$", a)) print "firmware file: " a[1]
        if (match($0, ": ([^ ]+) ([^ ]+) ([^ ]+) ([0-9][0-9]:[0-9][0-9]:[0-9][0-9])$", a))
            print "firmware date: " a[3] "-" MONTHSi[a[1]] "-" a[2] " " a[4]
    }
    close(CMD)
# ---
    cnt = 0
    CMD = read_from_epc3212("Docsis_signal")
    while (CMD | getline > 0) {
        if (match($0, "Channel ([0-9]):$", a)) {
            if (F) {
                FR[cnt] = F
                CH[cnt++] = sprintf("C: %s F: %5.1f M: %3s G: %5.1f B: %5s D: %4s ", C, F, M, G, B, D)
            }
            C = a[1]
            F = 0
            M = 0
            G = 0
            B = "-"
            D = "-"
        }
        if (match($0, "([0-9.]+) Hz$", a))        F = a[1] / 1000000
        if (match($0, "([0-9.]+) QAM$", a))       M = a[1]
        if (match($0, "([0-9.]+) dBuV$", a))      G = a[1]
        if (match($0, "([0-9.]+) kBits/sec$", a)) B = a[1]
        if (match($0, "([0-9.]+) dB$", a))        D = a[1]
    }
    close(CMD)
# ---
    CMD = read_from_epc3212("Docsis_status")
    while (CMD | getline > 0) {
        if (match($0, ": ([0-9]+) days ([0-9]+)h:([0-9]+)m:([0-9]+)s$", a)) {
            rst_secs_back = ((a[1] * 24 + a[2]) * 60 + a[3]) * 60 + a[4]
            print strftime("last reset at: %Y-%m-%d %H:%M:%S\n", strftime("%s") - rst_secs_back)
            meter("INIT")
            for (i = 0; i < cnt; ++i) {
                printf CH[i]
                if (i < 4) {
                    o = meter(FR[i] * 1000000)
                    SUMRATE += o
                    printf "R: %5s ", o
                } else {
                    printf "R: %5s ", "-"
                }
                if (match(CH[i], pres_down_freq)) {
                    print "<="
                    ++found
                } else {
                    print ""
                }
            }
            if (!found) print "ERROR: SELECTED FREQ [ " pres_down_freq " ] NOT FOUND"
            print ""
        }
        if (match($0, "SFID"))                printf "%-6s %-12s %-8s %10s\n", $1 ":", $2 ":", $3 ":", $4 ":"
        if (match($0, "Downstream|Upstream")) printf "%-6s %-12s %-8s %10s\n", $1, $2, $3, $4
        if (match($1, "Channel")) printf "\n%-13s %12s %12s %12s %12s\n", "ErrType:", "C " $3 ":", "C " $4 ":", "C " $5 ":", "C " $6 ":"
        if (match($1, "Total"))   printf   "%-13s %12s %12s %12s %12s\n", $2, $4, $5, $6, $7
    }
    close(CMD)
# ---
    print ""
    meter("FLUSH")
}'
sparkie
Kabelexperte
Beiträge: 721
Registriert: 04.09.2010, 12:35

Re: Docsis 3.0 Dump Tool

Beitrag von sparkie »

Hallo Leute,

ich habe im Script noch ein wenig aufgeraeumt und ein paar Optimierungen vorgenommen. Das Script ist jetzt auch mit einem anderem Modem als dem Cisco EPC3212 verwendbar.

Falls jemand z.B. so ein schlaues Modem bekommen hat, das glaubt die Downstreamfrequenzen vor dem Nutzer verbergen zu muessen ist das gar kein Problem. Einfach Tool starten und anschliessend einen Download. Die Frequenz/die Frequenzen auf denen der Traffic hochgeht sind sofort identifizierbar.

Hierzu werden die zu beobachtenden Frequenzen einfach entsprechend manuell eingetragen (siehe Kommentar). Ich bin zwar kein Freund ueberlanger Tabellenspalten. Aber es geht hier wohl nicht anders. Verbesserungsvorschlaege sind natuerlich jederzeit willkommen :)

- sparkie

Script:

Code: Alles auswählen

awk '
func read_from_epc3212(what \
    )
{
    return "lynx -dump http://192.168.100.1/" what ".htm"
}

func place_dot(str, pos \
    )
{
    return substr(str, 1, pos - 1) "." substr(str, pos + 1)
}

func meter(freq, \
    quot, rate, disp, locked, ping, a, RATEMAX, CMD)
{
    FIL1 = "                    "
    FIL2 = "--------------------"
    RATEMAX = 51285 # maximum kbit rate per channel - is that correct??

    if (freq == "INIT") {
        LOGSTR = strftime("%y-%m-%d %T: ")
        LOGSTR_DATE_BIAS = length(LOGSTR)
        HEADER = substr(FIL1, 1, LOGSTR_DATE_BIAS)
        return
    }
    if (freq == "FLUSH") {
        CMD = "ping -c1 heise.de"
        while (CMD | getline > 0) if (match($0, "time=(.+)$", a)) ping = gensub(" ", "", "g", a[1]); close(CMD)
        quot = SUMRATE / (4 * RATEMAX)
        LOGSTR = place_dot(LOGSTR, LOGSTR_DATE_BIAS + 1 + int(quot * length(FIL1)))
        LOGSTR = LOGSTR sprintf("[%s %6s %5.2f%% %6s ]", RATES, SUMRATE, quot * 100, ping)
        print LOGSTR >> LOGFILE; close(LOGFILE)
        print HEADER
        CMD = "tail -65 " LOGFILE
        while (CMD | getline > 0) print; close(CMD)
        return
    }
    HEADER = HEADER sprintf("%-20.1f", freq)
    CMD = "/opt/bin/mediaclient -d " DEVICE " -m DVBC -f " freq * 1000000 " -M Q256 -S 6952000"
    while (CMD | getline > 0) if (match($0, "\\[LOCKED\\]")) ++locked; close(CMD)
    if (!locked) print "ERROR: FREQ [ " freq " ] NOT LOCKED"
    CMD = "/root/dvbtraffic_1shot -a " ADAPTER
    while (CMD | getline > 0) {
        if (match($0, "^2000")) {
            rate = $6
            disp = rate / RATEMAX * length(FIL1)
            LOGSTR = LOGSTR substr(FIL2, 1, disp) substr(FIL1, 1 + disp)
        } else if (!match($0, "^1ffe")) {
            print "ERROR: unknown PID detected in [ " $0 " ]"
        }
    }
    close(CMD)
    return rate
}

BEGIN {
    # configure this to your needs
    ADAPTER = 1
    DEVICE = "/dev/dvb/adapter" ADAPTER "/frontend0"
    LOGFILE = "/root/docsis30_scan.log"

    # you can add/remove freqs manually here. they then
    # are scanned anyway. even if not used by the modem
    ++FREQ["546"]
    ++FREQ["554"]
    ++FREQ["562"]
    ++FREQ["570"]
    ++FREQ["578"]
    ++FREQ["586"]
    ++FREQ["594"]
    ++FREQ["602"]
# ---
    MONTHS = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"
    split(MONTHS, a)
    for (i in a) MONTHSi[a[i]] = sprintf("%02d", i)
# ---
    CMD = read_from_epc3212("ChannelsSelection")
    while (CMD | getline > 0) {
        if (match($0, "([0-9]+)$", a)) pres_down_freq = a[1] / 1000000
    }
    close(CMD)
# ---
    CMD = read_from_epc3212("Docsis_system")
    while (CMD | getline > 0) {
        if (match($0, ": (.*\\.bin)$", a)) print "firmware file: " a[1]
        if (match($0, ": ([^ ]+) ([^ ]+) ([^ ]+) ([0-9][0-9]:[0-9][0-9]:[0-9][0-9])$", a))
            print "firmware date: " a[3] "-" MONTHSi[a[1]] "-" a[2] " " a[4]
    }
    close(CMD)
# ---
    cnt = 0
    meter("INIT")
    CMD = read_from_epc3212("Docsis_signal")
    while (CMD | getline > 0) {
        if (match($0, "Channel ([0-9]):$", a)) {
            if (F) {
                if (cnt < 4) {
                    O = meter(F)
                    X = "D"
                    FREQ[F] = 0
                    SUMRATE += O
                    RATES = RATES sprintf("%6s", O)
                }
                CH[cnt++] = sprintf("C: %s F: %5.1f M: %3s G: %5.1f B: %5s D: %4s ", X C, F, M, G, B, D)
            }
            X = "U"
            C = a[1]
            F = 0
            M = 0
            G = 0
            B = "-"
            D = "-"
            O = "-"
        }
        if (match($0, "([0-9.]+) Hz$", a))        F = a[1] / 1000000
        if (match($0, "([0-9.]+) QAM$", a))       M = a[1]
        if (match($0, "([0-9.]+) dBuV$", a))      G = a[1]
        if (match($0, "([0-9.]+) kBits/sec$", a)) B = a[1]
        if (match($0, "([0-9.]+) dB$", a))        D = a[1]
    }
    close(CMD)
# ---
    CMD = read_from_epc3212("Docsis_status")
    while (CMD | getline > 0) {
        if (match($0, ": ([0-9]+) days ([0-9]+)h:([0-9]+)m:([0-9]+)s$", a)) {
            rst_secs_back = ((a[1] * 24 + a[2]) * 60 + a[3]) * 60 + a[4]
            print strftime("last reset at: %Y-%m-%d %H:%M:%S\n", strftime("%s") - rst_secs_back)
            for (i = 0; CH[i]; ++i) {
                if (match(CH[i], pres_down_freq)) {
                    CH[i] = CH[i] "<="
                    ++found
                }
                print CH[i]
            }
            if (!found) print "ERROR: SELECTED FREQ [ " pres_down_freq " ] NOT FOUND"
            print ""
        }
        if (match($0, "SFID"))                printf "%-6s %-12s %-8s %10s\n", $1 ":", $2 ":", $3 ":", $4 ":"
        if (match($0, "Downstream|Upstream")) printf "%-6s %-12s %-8s %10s\n", $1, $2, $3, $4
        if (match($1, "Channel")) printf "\n%-13s %12s %12s %12s %12s\n", "ErrType:", "C " $3 ":", "C " $4 ":", "C " $5 ":", "C " $6 ":"
        if (match($1, "Total"))   printf   "%-13s %12s %12s %12s %12s\n", $2, $4, $5, $6, $7
    }
    close(CMD)
# ---
    print ""
    for (i in FREQ) if (FREQ[i]) meter(i)
    meter("FLUSH")
}'
sparkie
Kabelexperte
Beiträge: 721
Registriert: 04.09.2010, 12:35

24h Messprotokoll

Beitrag von sparkie »

nachfolgend mal ein 24h Messprotokoll. EIne Messung erfolgt alle 10min. Die 4 Frequenzen des Modems sind mit '-' gekennzeichnet, Nachbarfrequenzen mit '.'.

Man sieht wie in den Abendstunden der Traffic deutlich zunimmt, um dann ab 3:00 Uhr morgens auf fast Null abzufallen...

Bin ja gespannt, wie das Protokoll ein paar Wochen nach dieser Ankuendigung aussieht :)

- sparkie


[code]
Every 600.0s: docsis30_scan Sat Feb 5 10:39:51 2011

firmware file: epc3212-E10-12-v302r12901-100609c-KDG.bin
firmware date: 2010-06-09 19:53:25
last reset at: 2011-02-03 20:31:32
LAN interface: Link Up 1 GBits

C: D1 F: 562.0 M: 256 G: 66.5 B: - D: 38.4 <=
C: D2 F: 570.0 M: 256 G: 66.5 B: - D: 38.6
C: D3 F: 546.0 M: 256 G: 66.2 B: - D: 38.9
C: D4 F: 554.0 M: 256 G: 61.1 B: - D: 38.8
C: U1 F: 45.8 M: 16 G: 104.7 B: 25600 D: -

SFID: Direction: Primary: Packets:
16115 Downstream Yes N/A
16417 Upstream Yes 513101
18451 Upstream No 365
19236 Downstream No N/A

ErrType: C 129: C 130: C 133: C 134:
Unerrored 658784074 616440664 594258253 572098198
Correctable 136473 90343 46752 773
Uncorrectable 32 34 0 0

11-02-04 10:00:52: - # - - -- ................. .. . . [ 4873 4717 4404 6360 20354 9.92% 13.1ms ]
11-02-04 10:10:52: - ----# - ----------------- ................ ....... . . [ 4638 10979 3564 44057 63238 30.83% 14.3ms ]
11-02-04 10:20:52: ----- ------ # - --------------- ................. .. .. . [ 14572 16042 4854 40226 75694 36.90% 20.9ms ]
11-02-04 10:30:52: ----------- - # - ----------- ................. .... . . [ 30665 4965 5085 29823 70538 34.39% 12.4ms ]
11-02-04 10:40:52: --------- # -- - - ...... .... . ..... [ 24559 5957 3705 4451 38672 18.85% 12.8ms ]
11-02-04 10:50:52: --- # - -- - ...... .... .. .. [ 8369 4588 6105 4503 23565 11.49% 13.4ms ]
11-02-04 10:52:52: --------------- #- - - .... ..... .. . [ 38848 5800 4250 3161 52059 25.38% 12.2ms ]
11-02-04 11:00:52: --------------- -# - - .................. ... .. . [ 40066 5709 4601 4362 54738 26.68% 15.0ms ]
11-02-04 11:10:52: -------------- --#- - -- .................. .... .. .. [ 36048 11076 4148 5279 56551 27.57% 15.1ms ]
11-02-04 11:20:52: ------------- -#- - --- .. .... . .... [ 34016 8490 3568 9976 56050 27.32% 14.5ms ]
11-02-04 11:30:52: ----------- # -- - -- .. .... . .. [ 29203 5912 3272 6728 45115 21.99% 14.1ms ]
11-02-04 11:40:52: ----- # --- - - .. .. . .. [ 13682 9901 4608 5109 33300 16.23% 12.0ms ]
11-02-04 11:50:52: ----------- # -- - - ... . . . [ 28422 6429 4218 3309 42378 20.66% 12.9ms ]
11-02-04 12:00:52: ---- # -- - - ................ .. . .. [ 10476 7411 3208 4941 26036 12.69% 12.5ms ]
11-02-04 12:10:52: ------- # - - - .. ............... .. .. [ 18708 4785 3642 4579 31714 15.46% 12.1ms ]
11-02-04 12:20:52: --- # - - - . .... .. ...... [ 8531 3947 4494 4878 21850 10.65% 12.1ms ]
11-02-04 12:30:52: ----- # -- - ----- ... .. ... ....... [ 12973 6683 4840 13302 37798 18.43% 13.9ms ]
11-02-04 12:40:52: --- # --- ----- -- ...... . .... . [ 8136 7693 13536 5623 34988 17.06% 13.0ms ]
11-02-04 12:50:52: ----- # ---- -- - . ..... ... . [ 13522 10610 6330 4883 35345 17.23% 15.1ms ]
11-02-04 13:00:52: - # -- -- - ... .. .. .. [ 4168 5321 6135 3050 18674 9.10% 11.3ms ]
11-02-04 13:10:52: ----------- #---- - - .. .. .. ... [ 30679 12020 4902 3601 51202 24.96% 13.3ms ]
11-02-04 13:20:52: - # -- ----- -- ........ . .. .. [ 4156 5906 12986 7656 30704 14.97% 11.8ms ]
11-02-04 13:30:52: --- # ------ - -- . . .. .... [ 8776 16506 4583 5153 35018 17.07% 13.9ms ]
11-02-04 13:40:52: -- # -- -- --- .... ... .... ...... [ 7116 5537 5326 9709 27688 13.50% 12.3ms ]
11-02-04 13:50:52: -- # -- --- -- ......... .... .. .. [ 6626 5690 8829 7172 28317 13.80% 11.7ms ]
11-02-04 14:00:52: -- # -- -- -- .. ........ ... ..... [ 5310 6980 6811 6287 25388 12.38% 13.6ms ]
11-02-04 14:10:52: -------------- --- # - ----- ...... . . ........... [ 37432 8393 3846 13619 63290 30.85% 12.6ms ]
11-02-04 14:20:52: ---- # -- - - ...... .. ... . [ 10767 6039 4215 5051 26072 12.71% 20.5ms ]
11-02-04 14:30:52: ----- # ---- - ----- .... . .. ... [ 12986 10364 4704 13764 41818 20.39% 14.4ms ]
11-02-04 14:40:52: -- # - - --- ... . .. .... [ 7150 3364 3052 9835 23401 11.41% 12.1ms ]
11-02-04 14:50:52: - # -- - -- .. .......... .. .. [ 4064 5607 4052 6927 20650 10.07% 11.7ms ]
11-02-04 15:00:52: -- # --- --- - .............. . ... ... [ 5900 7926 10073 5047 28946 14.11% 13.8ms ]
11-02-04 15:10:52: -------- # -- -- -- ............... . ... ... [ 22560 7109 7157 7237 44063 21.48% 12.3ms ]
11-02-04 15:20:52: --- # ------ - --- ...... . .. ... [ 9709 17433 4060 8160 39362 19.19% 19.4ms ]
11-02-04 15:30:52: - # ------ - -- ..... . ... ..... [ 4960 15853 4785 5305 30903 15.06% 16.6ms ]
11-02-04 15:40:52: -- # -- --- - ... .... ... ....... [ 6373 6980 10112 4704 28169 13.73% 13.1ms ]
11-02-04 15:50:52: ------ # -- --- -- ...... . ..... ... [ 15900 6875 9882 7286 39943 19.47% 11.9ms ]
11-02-04 16:00:52: ----- # --- - -- ................. ..... ..... ... [ 14386 8733 4717 6695 34531 16.83% 11.6ms ]
11-02-04 16:10:52: -- # --- - -- .... ... .. ... [ 5912 10083 4926 7149 28070 13.68% 12.4ms ]
11-02-04 16:20:52: - # --------- - - .... ..... ...... ... [ 4647 23139 4127 3832 35745 17.42% 11.1ms ]
11-02-04 16:30:52: ------ -- # -- ----------- ....... .... .... .... [ 17363 6683 6210 29440 59696 29.10% 14.1ms ]
11-02-04 16:40:52: - # --- -- ----------- ... .... ... ....... [ 3943 8531 5585 30145 48204 23.50% 14.6ms ]
11-02-04 16:50:52: ---- --#-- -- --------- .... .. .. ... [ 11454 15278 7646 23472 57850 28.20% 12.4ms ]
11-02-04 17:00:52: --- ---------# --- ---------- ................ .... .. ... [ 10112 27583 9336 27883 74914 36.52% 14.4ms ]
11-02-04 17:10:52: -------- ---- # ---- ---------- ................... ... .. ...... [ 22198 12680 11214 26434 72526 35.35% 14.1ms ]
11-02-04 17:20:52: ----- ----- # --- ------------ .......... ... . ..... [ 14543 14146 9176 31414 69279 33.77% 12.7ms ]
11-02-04 17:30:52: --- # --- ----- ---- .............. .. .. ....... [ 9194 9980 13536 11794 44504 21.69% 13.5ms ]
11-02-04 17:40:52: ---- # -- ---- --- ...... ....... ....... ....... [ 12198 7541 12067 8785 40591 19.79% 14.1ms ]
11-02-04 17:50:52: --- # - --- --- .... ......... ... ........ [ 8059 4744 8433 9203 30439 14.84% 15.4ms ]
11-02-04 18:00:52: --- # -- -- --- .... .... ... .. [ 8013 7172 5269 8793 29247 14.26% 16.4ms ]
11-02-04 18:10:52: ---- # --- ------ -- ................... ............ ........... ........... [ 12655 10132 17658 6392 46837 22.83% 14.4ms ]
11-02-04 18:20:52: -- --- # ------ ------------- ..... .. .. .... [ 6606 8184 17120 35593 67503 32.91% 13.8ms ]
11-02-04 18:30:52: -- # --- -- --- ....... ...... ... .... [ 6708 7729 6305 9318 30060 14.65% 15.2ms ]
11-02-04 18:40:52: -- # --- - ------ ........... ........... .......... ........... [ 6051 8707 3834 16359 34951 17.04% 14.2ms ]
11-02-04 18:50:52: --- # --- -- ---- ....... .... .. ...... [ 9980 8425 7088 12432 37925 18.49% 21.4ms ]
11-02-04 19:00:52: -- # ---- ----- ---- ... .. ... ....... [ 7178 11892 14721 11380 45171 22.02% 13.9ms ]
11-02-04 19:10:52: -------------- ---------- -----#---- ---------- ... ... ............ .... [ 37124 27309 26129 26051 116613 56.85% 14.7ms ]
11-02-04 19:20:52: --------- ----------- -----#------ ------------ ..... ...... ... ... [ 24901 28590 33012 31155 117658 57.35% 13.8ms ]
11-02-04 19:30:52: -------------- -------------- -------------- # ------------- ..... .... .. ... [ 38387 36904 36467 33513 145271 70.82% 13.1ms ]
11-02-04 19:40:52: ------------ ----# --- --- ..... .. .... .. [ 30787 13709 10063 9221 63780 31.09% 16.5ms ]
11-02-04 19:50:52: ---- # ---- --- --- ....... ..... ...... ..... [ 10507 10798 8021 9318 38644 18.84% 12.6ms ]
11-02-04 20:00:52: -- --#--------- --- ---- ...... .... .... .... [ 6373 30983 9464 11389 58209 28.38% 15.5ms ]
11-02-04 20:10:52: -- # --- --- -- ......... .. .... . [ 6902 8759 9299 7136 32096 15.65% 17.5ms ]
11-02-04 20:20:52: -- # ---- -- --- .................. ... .... .... [ 5811 11532 5698 8846 31887 15.54% 13.2ms ]
11-02-04 20:30:52: -- # --- -- --- ..... ... ... .. [ 5855 10102 6486 8403 30846 15.04% 15.2ms ]
11-02-04 20:40:52: ------- ----# ----- ----- ........ .. ... .... [ 19803 14823 14881 14189 63696 31.05% 26.6ms ]
11-02-04 20:50:52: ---- #--- ----- ----- ...... ...... .... ..... [ 12693 12480 13211 12948 51332 25.02% 12.8ms ]
11-02-04 20:52:52: ----- # ---- ---- ---- ........ .......... ..... ..... [ 13737 10272 10354 11391 45754 22.30% 23.5ms ]
11-02-04 21:00:52: --- # ---- -- -- .......... ...... ...... ..... [ 10073 10808 6417 7264 34562 16.85% 15.3ms ]
11-02-04 21:10:52: ----- -#-- ------ ---- ........ ...... ...... ....... [ 13051 11770 17587 11701 54109 26.38% 15.0ms ]
11-02-04 21:20:52: ----- #------ -- ---- .......... ..... ...... ... [ 14664 15431 7586 11367 49048 23.91% 12.8ms ]
11-02-04 21:30:52: ---- # -- ---- ---- ...... .......... ...... ... [ 12395 7116 10694 11121 41326 20.15% 26.4ms ]
11-02-04 21:40:52: ------------ ---# --- --- ...... ..... ......... ... [ 31508 10375 7997 9492 59372 28.94% 16.3ms ]
11-02-04 21:50:52: ------ ------ # ---------- ------- .................. .... ........ ... [ 15629 15598 27528 19461 78216 38.13% 12.8ms ]
11-02-04 22:10:52: ------- #- ------ ---- ................... ..... ...... ... [ 18818 6689 16105 10664 52276 25.48% 13.7ms ]
11-02-04 22:20:52: ------ # -- ---- --- ................... ..... ..... .. [ 16903 7237 11402 9931 45473 22.17% 12.0ms ]
11-02-04 22:30:52: ---- --# ----------- --- ................... ... .... ... [ 11938 6600 29823 8419 56780 27.68% 13.1ms ]
11-02-04 22:40:52: ----------- --------# -- ---- ....... ..... .... .... [ 30325 25259 6631 11127 73342 35.75% 15.5ms ]
11-02-04 22:50:52: ----- ------ # ------ --------- ................... .... .. . [ 14793 15738 15979 23153 69663 33.96% 15.1ms ]
11-02-04 23:00:52: ------ ------#--- --- ----- ................... ........ ............ ............ [ 15522 27994 9501 15135 68152 33.22% 14.0ms ]
11-02-04 23:10:52: --- # ---- --- ----- ................... ..... ..... ... [ 7804 12667 8176 14692 43339 21.13% 12.8ms ]
11-02-04 23:20:52: -- # -- --- ---- ........ .. .. ..... [ 6486 6087 9785 10610 32968 16.07% 12.9ms ]
11-02-04 23:30:52: ---- # ---- - --- ................... .... ... ..... [ 10548 10652 4438 8490 34128 16.64% 13.5ms ]
11-02-04 23:40:52: -- # -- --- ---- ................... ..... .... ...... [ 6045 6801 8631 11258 32735 15.96% 12.6ms ]
11-02-04 23:50:52: --------- # --- - - ................... .. .. .. [ 24445 8927 4569 5051 42992 20.96% 12.7ms ]
11-02-05 00:00:52: --- # -- - -- ................... .. .. ... [ 7981 6768 3789 6093 24631 12.01% 11.4ms ]
11-02-05 00:10:52: ---- # - -- -- ................... ....... ... .. [ 10600 4429 6907 6043 27979 13.64% 14.5ms ]
11-02-05 00:20:52: ---- # --- --- -- ................... ...... ..... .. [ 12660 8707 9950 7627 38944 18.98% 12.4ms ]
11-02-05 00:30:52: -- # - ----- -- ................... ... ....... .. [ 5645 5094 15193 6493 32425 15.81% 13.6ms ]
11-02-05 00:40:52: --- # -- - ----- ................... . .. .. [ 10191 5148 4181 14911 34431 16.78% 12.4ms ]
11-02-05 00:50:52: -- # -- - -- ................... . .. . [ 6923 5839 3734 6960 23456 11.43% 12.9ms ]
11-02-05 00:52:52: ------- -#------- - -- ................... .... ... .. [ 19098 25265 3202 7291 54856 26.74% 11.8ms ]
11-02-05 01:00:52: --- # ---- ---- ----- ................... . . . [ 7767 11368 11402 14231 44768 21.82% 12.3ms ]
11-02-05 01:10:52: -- # - -- - ................... .. .. . [ 5342 4990 7038 4708 22078 10.76% 14.1ms ]
11-02-05 01:20:52: --- # -- - ------ ................... . .. ............. [ 8820 5438 2611 15583 32452 15.82% 12.2ms ]
11-02-05 01:30:52: -- # ---- -- ................. . ..... . [ 5580 12505 2419 5607 26111 12.73% 12.3ms ]
11-02-05 01:40:52: - # -- - ---- .................. . .. .. [ 4525 5553 2797 11290 24165 11.78% 12.5ms ]
11-02-05 01:50:52: -- # - - --- ................... ..... ..... . [ 5153 4006 2718 8411 20288 9.89% 12.7ms ]
11-02-05 02:00:52: -- # - - -- .......... ... .... ... [ 7027 4056 4808 7054 22945 11.19% 12.0ms ]
11-02-05 02:10:52: - # - - ................... ... ..... .... [ 4588 4246 2296 3067 14197 6.92% 13.1ms ]
11-02-05 02:20:52: -- # ---- - -- ................... . .. .. [ 5580 10282 4606 6612 27080 13.20% 12.7ms ]
11-02-05 02:30:52: -------- # - - -- .. . .. . [ 22648 4613 4164 5284 36709 17.89% 11.4ms ]
11-02-05 02:40:52: --- # - .. . . [ 9203 3538 2210 2459 17410 8.49% 11.7ms ]
11-02-05 02:50:52: --- # - -- ... . .. . [ 8742 4056 2251 6087 21136 10.30% 12.2ms ]
11-02-05 03:00:52: -- # - - .... . .. . [ 5521 3999 3454 2227 15201 7.41% 11.2ms ]
11-02-05 03:10:52: - # - - . . .. .. [ 3834 4152 2107 3407 13500 6.58% 12.1ms ]
11-02-05 03:20:52: --- # - - ..... ............... .. . [ 8564 3896 2219 3657 18336 8.94% 12.5ms ]
11-02-05 03:30:52: -- # - .. . .. . [ 5590 4835 2148 2179 14752 7.19% 11.3ms ]
11-02-05 03:40:52: - # - .. . .. . [ 3284 3322 2463 2031 11100 5.41% 22.9ms ]
11-02-05 03:50:52: - # - - .... . .. . [ 3380 4507 2195 3133 13215 6.44% 12.2ms ]
11-02-05 04:00:52: - # ........ . . . [ 3265 2154 2506 2227 10152 4.95% 11.5ms ]
11-02-05 04:10:52: - # - - ... . . [ 3247 2029 2629 3042 10947 5.34% 11.3ms ]
11-02-05 04:20:52: - # - ... . . . [ 3306 2212 2010 2673 10201 4.97% 12.2ms ]
11-02-05 04:30:52: - # . . .. [ 3335 1923 1957 2134 9349 4.56% 11.5ms ]
11-02-05 04:40:52: - # - . . . [ 3272 2219 1981 2976 10448 5.09% 11.5ms ]
11-02-05 04:50:52: - # . . . [ 3303 2280 2083 2305 9971 4.86% 12.2ms ]
11-02-05 05:00:52: - # .. .. . [ 3437 2278 2216 2280 10211 4.98% 16.2ms ]
11-02-05 05:10:52: - # - . . .. [ 3247 2202 1976 2982 10407 5.07% 13.1ms ]
11-02-05 05:20:52: - # - ............... . .......... . [ 3275 2249 2088 3138 10750 5.24% 12.7ms ]
11-02-05 05:30:52: - # - -- - .. .. ........... [ 3417 2657 7461 3220 16755 8.17% 12.7ms ]
11-02-05 05:40:52: - # -- - .. . .... . [ 3767 5656 2511 3058 14992 7.31% 11.0ms ]
11-02-05 05:50:52: - # - . .. ........... [ 3281 2227 2955 1979 10442 5.09% 12.5ms ]
11-02-05 06:00:52: - # - - . . . [ 3400 2293 2817 3058 11568 5.64% 12.3ms ]
11-02-05 06:10:52: - # - ... .. . [ 3287 3307 2035 2017 10646 5.19% 13.1ms ]
11-02-05 06:20:52: - # . . . [ 3223 2256 2008 2113 9600 4.68% 12.4ms ]
11-02-05 06:30:52: - # - - . .... . [ 3344 3921 2028 3000 12293 5.99% 11.6ms ]
11-02-05 06:40:52: - # - - . . . . [ 3374 4022 2088 3347 12831 6.25% 12.6ms ]
11-02-05 06:50:52: - # - --- - .. . . [ 3275 3878 7834 3071 18058 8.80% 11.6ms ]
11-02-05 07:00:52: - # - - . . . . [ 3364 4321 2353 3232 13270 6.47% 11.6ms ]
11-02-05 07:10:52: - # - .. . . [ 3331 3698 2173 2073 11275 5.50% 13.0ms ]
11-02-05 07:20:52: - # - -- .. ............... . . [ 4317 4010 5347 2066 15740 7.67% 11.4ms ]
11-02-05 07:30:52: - # - .. . [ 4222 3176 2036 2247 11681 5.69% 13.0ms ]
11-02-05 07:40:52: --------------- # - . . . . [ 39225 4358 2084 2357 48024 23.41% 14.8ms ]
11-02-05 07:50:52: ----- # - .. . . . [ 14146 4682 2280 2144 23252 11.33% 11.2ms ]
11-02-05 08:00:52: - # - - . .. . .. [ 2973 3545 4513 2347 13378 6.52% 13.2ms ]
11-02-05 08:10:52: --------------- #-- - - . . . ... [ 38809 5855 2857 2652 50173 24.46% 12.0ms ]
11-02-05 08:20:52: # -- - - .. . . ... [ 2391 6512 3834 3080 15817 7.71% 13.2ms ]
11-02-05 08:30:52: # -- - -- .. .. . ....... [ 2456 5438 2663 6486 17043 8.31% 11.3ms ]
11-02-05 08:40:52: - # -- - ------------ ... ..... .. ..... [ 2760 6027 4562 31062 44411 21.65% 12.5ms ]
11-02-05 08:50:52: - #- - --------------- ...... . .. ............. [ 3118 6980 2961 39538 52597 25.64% 13.0ms ]
11-02-05 09:00:52: ---- - # - --------------- ......... . .. .. [ 11022 4817 4111 40387 60337 29.41% 13.4ms ]
11-02-05 09:10:52: -- # - - - .............. . .. ............ [ 6141 5018 2663 4578 18400 8.97% 12.7ms ]
11-02-05 09:20:52: - # --- --- ----- ....... .. .. .... [ 3615 8885 7751 12935 33186 16.18% 12.8ms ]
11-02-05 09:30:52: - # - - -- ................... . .. .. [ 4748 5085 4845 6774 21452 10.46% 11.8ms ]
11-02-05 09:40:52: ----- # -- -- -- ........... . .. ... [ 13536 6135 6987 6329 32987 16.08% 23.0ms ]
11-02-05 09:50:52: - # -- --- - ........... .. ... ..... [ 3133 7571 8673 4451 23828 11.62% 16.5ms ]
11-02-05 10:00:52: - # -- --- - .............. . . .... [ 3116 5248 8263 3357 19984 9.74% 11.7ms ]
11-02-05 10:10:52: - # -- -- -- ............. .... ... .... [ 3535 5515 5955 5326 20331 9.91% 13.0ms ]
11-02-05 10:20:52: -- # --- - - ................... ............... ... ..... [ 6619 8345 5028 3804 23796 11.60% 13.2ms ]
11-02-05 10:30:52: - # -- - ---------- ................... ... ... .. [ 5089 7685 4556 26513 43843 21.37% 11.5ms ]
11-02-05 10:40:52: - # --- --- - .......... .... ... .... [ 4757 9511 9221 3628 27117 13.22% 12.2ms ]
[/code]
Benutzeravatar
koaschten
Insider
Beiträge: 3982
Registriert: 04.06.2010, 14:21
Wohnort: Itzehoe

Re: Docsis 3.0 Dump Tool

Beitrag von koaschten »

Jetzt noch das ganze mit MRTG plotten und in DD-WRT anzeigen *pfeif* ;)

Nein Spass bei Seite, das ist mal wirklich nen klasse Tool.
Benutzeravatar
RcRaCk2k
Ehrenmitglied
Beiträge: 2402
Registriert: 20.09.2007, 10:23
Wohnort: Freilassing

Re: Docsis 3.0 Dump Tool

Beitrag von RcRaCk2k »

sparkie hat geschrieben:Bin ja gespannt, wie das Protokoll ein paar Wochen nach dieser Ankuendigung aussieht
Bin ich auch gespannt.... 70% am Abend... Also da brauchen wir glaub ich nicht viel spekulieren :) Das artet in einem Kollaps aus :)
Anschlüsse: 3x Internet&Phone 100 MBits, 2x Internet&Phone 26MBit, 1x Internet&Phone 32 MBits Telefon-Anschluss: sipgate.de, dus.net, easybell.de, personal-voip.de
Router: Linux x64 Router, Interne Verkablung: Patchpannel, CAT 7, Netzwerkdosen, CAT 5e, wirelessLAN

Links:
- Kabel-Deutschland und die Geschwindigkeit des Internet-Zugangs
sparkie
Kabelexperte
Beiträge: 721
Registriert: 04.09.2010, 12:35

Re: Docsis 3.0 Dump Tool

Beitrag von sparkie »

RcRaCk2k hat geschrieben: Bin ich auch gespannt.... 70% am Abend... Also da brauchen wir glaub ich nicht viel spekulieren :) Das artet in einem Kollaps aus :)
naja ich selbst produziere eigentlich wenig Traffic, allenfalls bei meinen Tests. Darum faellt mir das im Moment gar nicht so auf, wenn die Auslastung mal hoeher ist.

Aber es ist zumindest interessant zu sehen, dass ich meinen Downstream nur dicht bekomme (Gesamtlast dann bei 99%) , wenn die Grundlast (ohne mich) schon bei mindestens 65% liegt. In diesem Fall erreiche ich im 40s Durchschnitt nur noch ca. 9MB/s. Im Normalfall liegt der Wert ueber 12MB/s.
koaschten hat geschrieben:Jetzt noch das ganze mit MRTG plotten und in DD-WRT anzeigen *pfeif* ;)
am besten uebermittelt dann jeder noch seine Ergebnisse an einen zentralen Server, um eine Echtzeit-Auslastungsmap ueber ganz Deutschland zu erzeugen.
ich glaube den Segen von KD wuerde so eine Firmware wohl eher nicht erhalten :D

- sparkie