I used kermit and an Expect script to automate it. I use my Zthincable to connect the DB9 Aircable to my Zaurus, then run the following script:
aircable settings (to check settings).
aircable mode service (to change to serial service provider mode for my XP machine and Zaurus BT with CF BT card.
aircable mode cable (to change back to aircable mode for use with other aircable products (I use all 3)).
#!/usr/bin/expect
log_user 0
set command [lindex $argv 0]
set mode [lindex $argv 1]
spawn kermit -y /dev/null
set timeout 5
expect {
"C-Kermit>" {
send "set line /dev/ttyS0\r"
expect {
"C-Kermit>" {
send "set speed 115200\r"
expect "C-Kermit>"
send "c\r"
expect "other options."
sleep 1
set send_slow {1 .2}
if {$command == "settings" } {
send "\001H\r"
expect -re "Command interface help.*our addr: \[0-9A-F\]{12}"
regsub "Command interface help\r\n(.*)" $expect_out(0,string) {\1} out
puts "$out"
sleep 1
send "\001N\r"
expect -re "\r\n.*\n"
regsub "\r\n(.*)\n" $expect_out(0,string) {\1} out
puts "Name: $out"
sleep 1
send "\001D\r"
expect -re "services: .*\r"
puts "$expect_out(0,string)"
}
if {$command == "mode" } {
if {$mode == "service" } {
send "\001DDS\r"
expect -re ".*OK.*"
regsub ".*(OK).*" $expect_out(0,string) {\1} out
if {$out != "OK" } {
puts "enable discover failed"
}
sleep 5
send "\001A3\r"
sleep 5
send "\001H\r"
expect -re "Command interface help.*our addr: \[0-9A-F\]{12}"
regsub ".*(mode .).*" $expect_out(0,string) {\1} out
if {$out != "mode 3" } {
puts "service slave failed"
}
}
if {$mode == "cable" } {
send "\001A1\r"
sleep 5
send "\001H\r"
expect -re "Command interface help.*our addr: \[0-9A-F\]{12}"
regsub ".*(mode .).*" $expect_out(0,string) {\1} out
if {$out != "mode 1" } {
puts "cable slave failed"
}
sleep 5
send "\001DUS\r"
expect -re ".*OK.*"
regsub ".*(OK).*" $expect_out(0,string) {\1} out
if {$out != "OK" } {
puts "disable discover failed"
}
}
}
sleep 1
send "\034c"
expect "C-Kermit>"
send "close\r"
expect "C-Kermit>"
send "quir\r"
exit 0
}
timeout {
puts "kermit timeout"
exit 1
}
}
}
timeout {
puts "kermit timeout"
exit 1
}
}