diff --git a/cisco_wifi_ctl.py b/cisco_wifi_ctl.py index 992a5d59..6556743d 100755 --- a/cisco_wifi_ctl.py +++ b/cisco_wifi_ctl.py @@ -327,7 +327,7 @@ def main(): while logged_in_9800 == False and loop_count <= 2: #egg.sendline(CR) try: - i = egg.expect_exact(["Escape character is '^]'.","WLC>","WLC#","ser\:","ssword\:",pexpect.TIMEOUT],timeout=2) + i = egg.expect_exact(["Escape character is '^]'.","WLC>","WLC#","ser\:","ssword\:","WLC(config)#",pexpect.TIMEOUT],timeout=2) except pexpect.EOF as e: print('connection failed. or refused') exit(1) @@ -343,7 +343,7 @@ def main(): j = egg.expect(["WLC>","WLC#","ser\:","ssword\:",pexpect.TIMEOUT],timeout=3) sleep(1) if j == 0: - print("9800 found > will elevate loging j: {} before {} after {}".format(j,egg.before,egg.after)) + print("9800 found WLC> will elevate loging j: {} before {} after {}".format(j,egg.before,egg.after)) egg.sendline("en") sleep(1) k = egg.expect(["ssword\:",pexpect.TIMEOUT], timeout=2) @@ -450,6 +450,65 @@ def main(): # egg.sendline(CR) if i == 5: + print("9800 received WLC(config)# prompt doing some cleanup") + egg.sendline("end") + sleep(0.1) + j = egg.expect(["WLC>","WLC#","ser\:","ssword\:",pexpect.TIMEOUT],timeout=3) + sleep(1) + if j == 0: + print("9800 found WLC> will elevate loging j: {} before {} after {}".format(j,egg.before,egg.after)) + egg.sendline("en") + sleep(1) + k = egg.expect(["ssword\:",pexpect.TIMEOUT], timeout=2) + if k == 0: + print("9800 received password prompt will send password: {} k: {} before {} after {}".format(args.passwd, k,egg.before,egg.after)) + egg.sendline(args.passwd) + sleep(1) + l = egg.expect(["WLC#",pexpect.TIMEOUT],timeout=2) + if l == 0: + print("9800 Successfully received # prompt l {}".format(l)) + logged_in_9800 = True + if l == 1: + print("9800 Timed out waiting for # prompt l {} before {} after {}".format(l,egg.before,egg.after)) + if k == 1: + print("8900 received timeout after looking for password: prompt k {} before {} after {}".format(k,egg.before,egg.after)) + if j == 1: + print("9800 found # so logged in can start sending commands j {}".format(j)) + logged_in_9800 = True + if j == 2: + print("9800 found User\: will put in args.user {} j: {}".format(args.user,j)) + egg.sendline(args.user) + sleep(1) + k = egg.expect(["ssword\:",pexpect.TIMEOUT], timeout=2) + if k == 0: + print("9800 received password prompt after sending User, sending password: {} k: {}".format(args.passwd,k)) + egg.sendline(args.passwd) + sleep(1) + l = egg.expect(["WLC#",pexpect.TIMEOUT],timeout=2) + if l == 0: + print("8900 Successfully received # prompt l: {}".format(l)) + logged_in_9800 = True + if l == 1: + print("9800 Timed out waiting for # prompt l: {} before {} after {}".format(l,egg.before,egg.after)) + if k == 1: + print("9800 received timeout after looking for password after sending user k: {} before {} after {}".format(k,egg.before,egg.after)) + if j == 3: + sleep(1) + print("9800 received Password prompt will send password {} j: {} before {} after {}".format(args.passwd,j,egg.before,egg.after)) + egg.sendline(args.passwd) + sleep(1) + k = egg.expect(["WLC#",pexpect.TIMEOUT],timeout=2) + if k == 0: + print("8900 Successfully received # prompt k: {} before {} after {}".format(k,egg.before,egg.after)) + logged_in_9800 = True + if k == 1: + print("9800 Timed out waiting for # prompt k: {} before {} after {}".format(k,egg.before,egg.after)) + if j == 4: + print("9800 timed out looking for >, #, User, Password j: {} before {} after {}".format(j,egg.before,egg.after)) + egg.sendline(CR) + + + if i == 6: print("9800 Timed out waiting for intial prompt will send carriage return and line feed i: {} before {} after {}".format(i, egg.before,egg.after)) egg.sendline(CR) sleep(2)