ADSL Graphs

It can be very useful to have a look at the performance of the actual line by
carrier or frequency. I am working on a program to do this but it is not
finished, and may never be finished. Whilst I am working on it I thought it
might be instructional to put information on this www site about how to
produce the graphs.The TDSL GOLDEN ON command takes some time to initialize. Failing
to use this command will mean that only one direction of the link is
reported.The information that is produced by the unit can be used to create a couple
of two dimension graphs – one for uplink and the other for downlink. By
adding a time axis a 3D graph is created. This is useful for detecting
problems with the physical phone line.

Please have a look arround the rest of this site – many people find the
CONSULT area to be most useful. In addition on the right hand side is a
link to a book on ADSL from Amazon.COM. Books purchased through this site
help to pay for the upkeep of the site

The Commands

EXPERT<CR>

123456789<CR>

tdsl golden on<CR>

golden channel_data<CR>

golden oeprational_data<CR>

NORMAL<CR>

EXIT<CR>

Example

>tdsl golden on
>golden channel_data


Channel report : near end (Downstream)
--------------------------------------
1) SNR (dB)
Carrier  38 : 55.1 55.4
Carrier  40 : 55.8 56.1 55.8 55.8 55.6 55.7 55.0 51.7 55.6 55.9
Carrier  50 : 55.8 56.0 55.7 55.5 55.9 56.4 55.7 55.6 55.6 55.5
Carrier  60 : 55.0 53.2 47.9 48.0 53.8 54.5 54.9 54.6 54.1 55.2
Carrier  70 : 54.8 54.4 54.2 54.6 54.5 53.9 53.6 53.6 51.7 53.5
Carrier  80 : 53.4 53.2 53.3 53.1 53.6 53.4 53.0 52.9 53.1 52.8
Carrier  90 : 52.6 52.2 52.5 52.4 52.3 52.3 52.2 52.4 52.5 51.5
Carrier 100 : 51.6 51.3 51.1 51.2 51.4 51.2 50.7 50.9 51.1 49.6
Carrier 110 : 49.8 50.4 50.2 50.3 50.2 50.4 49.9 49.5 49.6 49.3
Carrier 120 : 49.1 49.4 48.8 48.9 48.5 46.7 47.9 47.8 47.4 46.5
Carrier 130 : 45.6 44.2 41.2 32.8 30.6 39.8 43.5 44.7 45.4 45.7
Carrier 140 : 45.9 45.8 45.9 46.3 46.3 45.9 38.1 45.9 45.9 45.9
Carrier 150 : 46.3 45.5 45.3 45.3 45.5 45.1 45.3 44.8 44.9 44.6
Carrier 160 : 44.3 43.9 43.2 36.7 43.4 43.8 44.2 43.5 43.7 43.7
Carrier 170 : 43.6 43.6 42.9 43.4 43.1 43.1 43.0 42.5 42.2 42.6
Carrier 180 : 42.1 42.1 41.7 41.9 42.1 41.7 41.6 41.5 41.3 41.3
Carrier 190 : 40.8 41.2 40.6 40.9 40.6 40.3 40.4 40.3 40.0 39.8
Carrier 200 : 39.6 39.4 35.3 36.4 39.0 38.7 39.1 39.2 38.9 38.2
Carrier 210 : 38.5 38.6 38.4 38.5 37.8 37.7 37.1 37.5 37.1 36.6
Carrier 220 : 36.2 30.0 35.4 36.7 36.8 36.7 36.1 36.5 36.6 36.2
Carrier 230 : 35.9 35.6 35.6 35.3 35.0 34.1 31.5 34.9 34.7 34.5
Carrier 240 : 34.3 33.9 34.0 33.5 33.2 33.5 32.9 32.6 31.9 32.0
Carrier 250 : 31.7 31.3 30.5 30.0 29.7 28.8

2) Line Attenuation (db)
Carrier  38 : 26.0 25.2
Carrier  40 : 24.9 24.8 24.7 24.7 24.7 24.8 24.8 24.9 24.9 24.9
Carrier  50 : 25.0 25.0 25.1 25.1 25.2 25.3 25.4 25.5 25.6 25.7
Carrier  60 : 25.8 25.9 26.0 26.1 26.2 26.4 26.5 26.6 26.7 26.9
Carrier  70 : 27.0 27.2 27.3 27.4 27.6 27.7 27.9 28.0 28.2 28.3
Carrier  80 : 28.5 28.6 28.8 28.9 29.1 29.2 29.3 29.5 29.6 29.8
Carrier  90 : 29.9 30.0 30.2 30.3 30.5 30.6 30.7 30.8 31.0 31.1
Carrier 100 : 31.3 31.4 31.5 31.7 31.8 31.9 32.1 32.2 32.3 32.5
Carrier 110 : 32.6 32.7 32.9 33.0 33.1 33.3 33.4 33.5 33.7 33.8
Carrier 120 : 33.9 34.1 34.2 34.3 34.5 34.6 34.7 34.9 35.0 35.1
Carrier 130 : 35.2 35.4 35.5 35.6 35.7 35.9 36.0 36.1 36.2 36.4
Carrier 140 : 36.5 36.6 36.8 36.9 37.0 37.2 37.3 37.4 37.6 37.7
Carrier 150 : 37.8 38.0 38.1 38.2 38.3 38.5 38.6 38.7 38.8 39.0
Carrier 160 : 39.1 39.2 39.3 39.4 39.6 39.7 39.8 39.9 40.1 40.2
Carrier 170 : 40.3 40.4 40.5 40.7 40.8 40.9 41.0 41.2 41.3 41.4
Carrier 180 : 41.6 41.7 41.8 41.9 42.1 42.2 42.3 42.4 42.6 42.7
Carrier 190 : 42.8 43.0 43.1 43.2 43.3 43.4 43.5 43.7 43.8 43.9
Carrier 200 : 44.0 44.2 44.3 44.4 44.5 44.7 44.8 44.9 45.1 45.2
Carrier 210 : 45.3 45.4 45.6 45.7 45.9 46.0 46.2 46.2 46.4 46.5
Carrier 220 : 46.7 46.8 47.0 47.1 47.2 47.3 47.4 47.6 47.7 47.9
Carrier 230 : 48.0 48.2 48.3 48.5 48.6 48.8 49.0 49.2 49.5 49.7
Carrier 240 : 49.9 50.2 50.6 50.8 51.2 51.6 52.0 52.4 52.9 53.4
Carrier 250 : 53.8 54.4 55.0 55.6 56.3 57.0

Channel report : far end (Upstream)
-----------------------------------
1) SNR (dB)
Carrier   7 : 50.8 55.7 57.0
Carrier  10 : 57.1 57.2 57.2 56.9 57.1 56.2 56.5 56.9 56.2 55.6
Carrier  20 : 55.7 55.3 55.2 54.9 54.2 53.8 53.5 53.4 53.1 52.5
2) Line Attenuation (db)
Carrier   7 : 25.6 19.3 17.5
Carrier  10 : 17.0 17.0 17.2 17.6 18.0 18.5 18.9 19.4 19.8 20.3
Carrier  20 : 20.8 21.3 21.7 22.2 22.6 23.0 23.2 23.2 23.2 24.2

golden operational_data


Operational data report : near end (Downstream)
-----------------------------------------------
Attainable line rate      :  9096 kbit/sec
Attainable Atm rate       :  8608 kbit/sec
Used line rate            :   408 kbit/sec
Fast used Atm rate        :   256 kbit/sec
Interleaved used Atm rate :     0 kbits/sec
Rel. capacity occupation  :     4
Noise Margin              :    35 dB
Line attenuation          :    31 dB
Output Power              :    10 dBm

Operational data report : far end (Upstream)
--------------------------------------------
Attainable line rate      :  1008 kbit/sec
Attainable Atm rate       :   896 kbit/sec
Used line rate            :   148 kbit/sec
Fast used Atm rate        :    64 kbit/sec
Interleaved used Atm rate :     0 kbits/sec
Rel. capacity occupation  :    15
Noise Margin              :    34 dB
Line attenuation          :    20 dB
Output Power              :     4 dBm

>
#!/usr/local/bin/perl
$| = 1;
#require "cgi-lib.pl"; 
#require "care-lib.pl";
#require "auth-lib.pl";

#print &PrintHeader; 
#&ReadParse;
#print &PrintVariables;
#print "---\n";
#print &PrintEnv;



print  "

\n”; print “MySQL Test System – $in{‘REMOTE_ADDR’}”; print ”

\n";

        $RX_READ = new FileHandle;              $RX_WRITE = new FileHandle;
        $WR_READ = new FileHandle;              $WR_WRITE = new FileHandle;

        $pid = IPC::Open2::open2($RX_READ, $RX_WRITE, "telnet 192.168.102.250");

        fcntl ($RX_READ, 4, 04000);     fcntl ($WR_READ, 4, 04000);


print "$version\n Telnet is $pid \n";

        while (1 ==1){
                        $pause = 1;
                        $line = <$RX_READ>; $line =~ s/\n//; $line =~ s/\r//;
                        if (length ( $line) > 0) {
                                $pause = 0;
				print "$line\n";
				if (index ($line, "User :") >= 0 ){
					print "USER OK\n";
					print $RX_WRITE "\n";
				}
				if (index ($line, "Password :") >= 0 ){
					print "USER OK\n";
					print $RX_WRITE "mypass\n";
				}
				if (index ($line, "-----------------------------------------------------------------------") >= 0 ){
					print "USER OK\n";
					print $RX_WRITE "EXPERT\n\r";
					sleep (2);
					print $RX_WRITE "myexpertnumber\n\r";
					sleep (2);
					print $RX_WRITE "tdsl golden on\n\r";
					sleep (30);
					print $RX_WRITE "golden channel_data\n\r";
					sleep (5);
					print $RX_WRITE "NORMAL\n\r";
					sleep (2);
					print $RX_WRITE "EXIT\n\r";

					while ($line = <$RX_READ>){
					print $line;
					}

					kill (9,$pid);
					
					sleep (2);
					exit;
				}
				$line = "";
                        }
	}