
Hi Cory. I note the "-clocal" which is telling stty to honor the modem control signals, and I'm not sure what state "raw" leaves the "crtscts" and "cdsrdsr" options in. It couldn't be something as silly as CTS/RTS, DSR/DTR flow control doing its thing could it? Without knowing what signals are in use on the interface, I can't guess what may or may not be critical. The signals may be jumpered into a fixed state, required, or not even present. An RS232 tester could also prove useful in dignosing the issue. (The ones with the dual colour LEDs for the the various pins. They are not as common as they used to be, but they should still be a part of the toolbox for anyone that needs to deal with older RS232 technologies. Amazon show a couple of options including one that is a USB to Serial adapter with built-in LEDs, but that one doesn't have the two colour LEDs, so only tells half the story.) Morrie. From: luv-main [mailto:luv-main-bounces@luv.asn.au] On Behalf Of cory seligman via luv-main Sent: Monday, 20 August 2018 10:30 AM To: luv-main Subject: expect script Hi All, I'm having some trouble making expect work. I need it to talk to some vintage equipment over usb serial, and I think I'm getting hung up on opening the port. When the script runs, it just connects to the device and sits there. I can drive it interactively, but it doesn't attempt to automate anything. Any ideas? Thanks. My expect script looks like this: #!/usr/bin/expect -f # device set modem /dev/ttyUSB0 # keep it open exec sh -c "sleep 3 < $modem" & # serial port parameters exec stty -F $modem 2400 raw -clocal -echo -istrip -hup # connect send_user "connecting to $modem, exit with ~,\n" spawn -open [open $modem w+] interact { ~, exit ~~ {send "\034"} } set force_conservative 1 ;# set to 1 to force conservative mode even if ;# script wasn't run conservatively originally if {$force_conservative} { set send_slow {1 .1} proc send {ignore arg} { sleep .1 exp_send -s -- $arg } } set timeout -1 match_max 100000 send -- "\r" send -- "\r" expect ">" send -- "p 7d91\r" expect ">" send -- "p b2ff\r" expect ">" send -- "h\r" expect ">" send -- "td\r" expect "td\r 18 215 12 24 33\r
" send -- "gd 215\r" expect eof