Hello
I have a very simple tcl script which embeds expect to spawn a telnet to a modem and read its state.
Here it is
#!/usr/bin/tclsh
package require Expect
set modem "192.168.13.31"
proc state{arg} {
if {arg == 1} {
puts "modem will reboot"
send "atz\r"
close
}
if {arg == 0} {
puts 'modem is ready, nothing to do"
close
}
}
spawn telnet $modem 2332
expect "\nPassword: "
send "12345\r"
expect "\nOK"
send "at*netstate?\r"
expect {
"*Ready*" {[state 1]}
"*Dormant*" {[state 0]}
}
#end of script
What I am trying to accomplish is to establish a connection to the modem, read its state by sending "at*netstate?\r" and depending on what the state is, call proc state to either reset the modem or not. I can't seem to get this to work. Is what I am doing even legitimate? Should I be using interact with -o and -re options to raed from a spawned process instead?
Thanks for any help.
I have a very simple tcl script which embeds expect to spawn a telnet to a modem and read its state.
Here it is
#!/usr/bin/tclsh
package require Expect
set modem "192.168.13.31"
proc state{arg} {
if {arg == 1} {
puts "modem will reboot"
send "atz\r"
close
}
if {arg == 0} {
puts 'modem is ready, nothing to do"
close
}
}
spawn telnet $modem 2332
expect "\nPassword: "
send "12345\r"
expect "\nOK"
send "at*netstate?\r"
expect {
"*Ready*" {[state 1]}
"*Dormant*" {[state 0]}
}
#end of script
What I am trying to accomplish is to establish a connection to the modem, read its state by sending "at*netstate?\r" and depending on what the state is, call proc state to either reset the modem or not. I can't seem to get this to work. Is what I am doing even legitimate? Should I be using interact with -o and -re options to raed from a spawned process instead?
Thanks for any help.