mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-10-31 10:48:02 +00:00 
			
		
		
		
	wlanpro: Use 200Mbps max upload speed in bi-directional test.
And record the total time it took to run the script.
This commit is contained in:
		| @@ -47,6 +47,7 @@ my $gui_port = 7777; | |||||||
| my $resource = 2; | my $resource = 2; | ||||||
| my $speed_dl_tot = 1000000000; | my $speed_dl_tot = 1000000000; | ||||||
| my $speed_ul_tot = 1000000000; | my $speed_ul_tot = 1000000000; | ||||||
|  | my $speed_ul_bi_tot = 200000000; # 200Mbps upload speed when in bi-directional mode | ||||||
| my $testcase = -1; | my $testcase = -1; | ||||||
| my $manager = "localhost"; | my $manager = "localhost"; | ||||||
| my $log_name = ""; | my $log_name = ""; | ||||||
| @@ -61,6 +62,7 @@ my $quiet = "yes"; | |||||||
| my $report_timer = 1000; # 1 second report timer | my $report_timer = 1000; # 1 second report timer | ||||||
| my $rpt_timer_wct = 3000; # 3-second rpt timer for wifi-capacity test | my $rpt_timer_wct = 3000; # 3-second rpt timer for wifi-capacity test | ||||||
| my $settle_timer_wct = 10000; # 10-sec wait for connections to get running before clearing and starting the test proper | my $settle_timer_wct = 10000; # 10-sec wait for connections to get running before clearing and starting the test proper | ||||||
|  | my $wct_duration_sec = 20; # Duration for each iteration | ||||||
| my $one_way_test_time = 30; | my $one_way_test_time = 30; | ||||||
| my $bi_test_time = 30; | my $bi_test_time = 30; | ||||||
| my $interferer_cx = "inteferer_cx"; | my $interferer_cx = "inteferer_cx"; | ||||||
| @@ -76,8 +78,9 @@ my $usage = "$0 | |||||||
|   [--resource {resource-number}] |   [--resource {resource-number}] | ||||||
|   [--upstream_resource {resource-number}] |   [--upstream_resource {resource-number}] | ||||||
|   [--upstream_port {port}] |   [--upstream_port {port}] | ||||||
|   [--speed_ul_tot {speed-bps}] |   [--speed_ul_tot {speed-bps (default: $speed_ul_tot)}] | ||||||
|   [--speed_dl_tot {speed-bps}] |   [--speed_dl_tot {speed-bps (default: $speed_dl_tot)}] | ||||||
|  |   [--speed_ul_bi_tot {speed-bps for upload in bi-directional test (default: $speed_ul_bi_tot)}] | ||||||
|   [--security {open | wpa2}] |   [--security {open | wpa2}] | ||||||
|   [--manager {manager-machine IP or hostname}] |   [--manager {manager-machine IP or hostname}] | ||||||
|   [--testcase {test-case:  -1: all except cleanup, 0: setup, 1: 3x3 ul/dl, |   [--testcase {test-case:  -1: all except cleanup, 0: setup, 1: 3x3 ul/dl, | ||||||
| @@ -103,6 +106,14 @@ Example command: | |||||||
| ./wlanpro_test.pl --ssid mu-mimo-5G --passphrase hello123 --resource 2 --upstream_resource 1 \ | ./wlanpro_test.pl --ssid mu-mimo-5G --passphrase hello123 --resource 2 --upstream_resource 1 \ | ||||||
|   --upstream_port eth4 --manager 192.168.100.182 --gui_port 7777 --interferer_cx inter_r3_w0 --testcase 5 |   --upstream_port eth4 --manager 192.168.100.182 --gui_port 7777 --interferer_cx inter_r3_w0 --testcase 5 | ||||||
|  |  | ||||||
|  | Interesting bugs: | ||||||
|  |  | ||||||
|  | While testing with a netgear r7800, I noticed that the RX encoding rate received from the AP | ||||||
|  | can be NSS 2 even when the station is configured for NSS 1.  I double-checked that the association | ||||||
|  | request is using NSS 1 info, so this appears to be a bug in the Netgear.  But, since the LANforge | ||||||
|  | radio can actually decode NSS 2 frames, then the packets are actually received and the Netgear gets | ||||||
|  | better performance than is warranted in this configuration.  This appears to be a bug in the Netgear. | ||||||
|  |  | ||||||
| "; | "; | ||||||
|  |  | ||||||
| my $usage_notes = " | my $usage_notes = " | ||||||
| @@ -113,6 +124,8 @@ Errors reported by the LANforge-GUI that you should be able to ignore: | |||||||
|  |  | ||||||
| "; | "; | ||||||
|  |  | ||||||
|  | my $script_start = time(); | ||||||
|  |  | ||||||
| GetOptions ( | GetOptions ( | ||||||
| 	    'pld_size=i'     => \$pld_size, | 	    'pld_size=i'     => \$pld_size, | ||||||
| 	    'ssid=s'         => \$ssid, | 	    'ssid=s'         => \$ssid, | ||||||
| @@ -126,6 +139,7 @@ GetOptions ( | |||||||
| 	    'upstream_port=s' => \$upstream_port, | 	    'upstream_port=s' => \$upstream_port, | ||||||
| 	    'rest_time=i'    => \$rest_time, | 	    'rest_time=i'    => \$rest_time, | ||||||
| 	    'speed_ul_tot=s' => \$speed_ul_tot, | 	    'speed_ul_tot=s' => \$speed_ul_tot, | ||||||
|  | 	    'speed_ul_bi_tot=s' => \$speed_ul_bi_tot, | ||||||
| 	    'speed_dl_tot=s' => \$speed_dl_tot, | 	    'speed_dl_tot=s' => \$speed_dl_tot, | ||||||
| 	    'security=s'     => \$security, | 	    'security=s'     => \$security, | ||||||
| 	    'manager=s'      => \$manager, | 	    'manager=s'      => \$manager, | ||||||
| @@ -147,6 +161,7 @@ my $cmd; | |||||||
| my $log_prefix = "LANforge wlanpro-test\nConfiguration:\n" . | my $log_prefix = "LANforge wlanpro-test\nConfiguration:\n" . | ||||||
|   "  SSID: $ssid  passphrase: $psk  security: $security  resource: $resource\n" . |   "  SSID: $ssid  passphrase: $psk  security: $security  resource: $resource\n" . | ||||||
|   "  speed_dl_request: $speed_dl_tot  speed_ul_request: $speed_ul_tot  payload-size: $pld_size  traffic-type: $endp_type\n" . |   "  speed_dl_request: $speed_dl_tot  speed_ul_request: $speed_ul_tot  payload-size: $pld_size  traffic-type: $endp_type\n" . | ||||||
|  |   "  speed_ul_bi_request: $speed_ul_bi_tot  interferer: $interferer_cx\n" . | ||||||
|   "  Test started at: " . `date` . "\n\n"; |   "  Test started at: " . `date` . "\n\n"; | ||||||
| my $brief_log = "$log_prefix"; | my $brief_log = "$log_prefix"; | ||||||
| my $summary_text = "$log_prefix"; | my $summary_text = "$log_prefix"; | ||||||
| @@ -159,7 +174,7 @@ my @stations4a = (); | |||||||
| my $sta_on_4a = 0; | my $sta_on_4a = 0; | ||||||
|  |  | ||||||
| $SIG{'INT'} = sub { | $SIG{'INT'} = sub { | ||||||
|   print "Caught ctrl-C, existing!\n"; |   print "Caught ctrl-C, exiting!\n"; | ||||||
|   exit 1; |   exit 1; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| @@ -386,7 +401,7 @@ if ($testcase == -1 || $testcase == 6) { | |||||||
|   #wait_for_stations();  WCT takes care of bringing stations up/down |   #wait_for_stations();  WCT takes care of bringing stations up/down | ||||||
|   my $sta_list = join(",", @stations4a); |   my $sta_list = join(",", @stations4a); | ||||||
|   # Call to automated wifi capacity test plugin |   # Call to automated wifi capacity test plugin | ||||||
|   do_cmd("./lf_auto_wifi_cap.pl --mgr $manager --resource $resource --radio $radio_4a --speed_dl $speed_dl_tot --ssid $ssid --num_sta $wct_sta_max --upstream $upstream_port --upstream_resource $upstream_resource --percent_tcp 50 --increment 1,5,10,20,30,45,64 --duration 15 --endp_type mix --test_name wlanpro-$ssid --test_text 'Wlan-Pro test case #6 to ssid $ssid' --multicon 1 --use_existing_sta --use_existing_cfg --use_station $sta_list --gui_host $gui_host --gui_port $gui_port --report_timer $rpt_timer_wct --settle_timer $settle_timer_wct"); |   do_cmd("./lf_auto_wifi_cap.pl --mgr $manager --resource $resource --radio $radio_4a --speed_dl $speed_dl_tot --ssid $ssid --num_sta $wct_sta_max --upstream $upstream_port --upstream_resource $upstream_resource --percent_tcp 50 --increment 1,5,10,20,30,45,64 --duration $wct_duration_sec --endp_type mix --test_name wlanpro-$ssid --test_text 'Wlan-Pro test case #6 to ssid $ssid' --multicon 1 --use_existing_sta --use_existing_cfg --use_station $sta_list --gui_host $gui_host --gui_port $gui_port --report_timer $rpt_timer_wct --settle_timer $settle_timer_wct"); | ||||||
| } | } | ||||||
|  |  | ||||||
| if ($testcase == 100) { | if ($testcase == 100) { | ||||||
| @@ -413,6 +428,9 @@ if ($testcase == 100) { | |||||||
|  |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | my $now_sec = time(); | ||||||
|  | my $took = ($now_sec - $script_start) / 60; | ||||||
|  | logpb("Entire run took: $took minutes.\n"); | ||||||
| logpb("Completed test at " . `date` . "\n\n"); | logpb("Completed test at " . `date` . "\n\n"); | ||||||
|  |  | ||||||
| # Append brief log and final log to the report. | # Append brief log and final log to the report. | ||||||
| @@ -940,7 +958,7 @@ sub do_test_series { | |||||||
|   do_one_test(($speed_ul_tot * $speed_mult) / 20, 0, 20, $one_way_test_time, $desc); |   do_one_test(($speed_ul_tot * $speed_mult) / 20, 0, 20, $one_way_test_time, $desc); | ||||||
|   # Upload/Download 1 minute sec |   # Upload/Download 1 minute sec | ||||||
|   logpb("\nDoing upload/download test with 40 stations.\n"); |   logpb("\nDoing upload/download test with 40 stations.\n"); | ||||||
|   do_one_test(($speed_ul_tot * $speed_mult) / 40, ($speed_dl_tot * $speed_mult) / 40, 40, $bi_test_time, $desc); |   do_one_test(($speed_ul_bi_tot * $speed_mult) / 40, ($speed_dl_tot * $speed_mult) / 40, 40, $bi_test_time, $desc); | ||||||
| } | } | ||||||
|  |  | ||||||
| sub do_cmd { | sub do_cmd { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Ben Greear
					Ben Greear