auto import from //depot/cupcake/@135843
diff --git a/rootdir/etc/init.testmenu b/rootdir/etc/init.testmenu
new file mode 100755
index 0000000..7ae16d5
--- /dev/null
+++ b/rootdir/etc/init.testmenu
@@ -0,0 +1,322 @@
+#!/system/bin/sh
+
+atdev=/dev/omap_csmi_tty0
+pppdev=/dev/omap_csmi_tty1
+
+n1=`cat /data/phoneentry1 2>/dev/null`
+n2=`cat /data/phoneentry2 2>/dev/null`
+n3=`cat /data/phoneentry3 2>/dev/null`
+n1=${n1:-"*#06#"}
+n2=${n2:-"*#06#"}
+n3=${n3:-"*#06#"}
+phoneoutputpid=
+eventoutputpid=
+notifypid=
+notifytoggle=false
+pppdpid=
+powerdidletime=120
+
+# map phone specific keys
+setkey -k 0xe4 -v 0x23 # map #
+setkey -k 0xe3 -v 0x2a # map *
+setkey -k 231 -v 513 # map send to newline
+#setkey -k 0x67 -v 0x20b # map up to scroll back
+#setkey -k 0x6c -v 0x20a # map down to scroll forward
+setkey -k 0x73 -v 0x20b # map volume up to scroll back
+setkey -k 0x72 -v 0x20a # map volume down to scroll forward
+setkey -k 0x60 -v 0x211 # map PoC to next console
+
+# tuttle keys
+setkey -k 0x38 -v 0x703 # map leftalt to alt
+setkey -k 0x9b -v 0x703 # map mail to alt
+setkey -t 8 -k 0x9b -v 0x703 # map alt-mail to alt
+setkey -t 8 -k 0x10 -v 0x21 # map alt-q to !
+setkey -t 8 -k 0x11 -v 0x31 # map alt-w to 1
+setkey -t 8 -k 0x12 -v 0x32 # map alt-e to 2
+setkey -t 8 -k 0x13 -v 0x33 # map alt-r to 3
+setkey -t 8 -k 0x14 -v 0x2b # map alt-t to +
+setkey -t 8 -k 0x15 -v 0x28 # map alt-y to (
+setkey -t 8 -k 0x16 -v 0x29 # map alt-u to )
+setkey -t 8 -k 0x17 -v 0x2d # map alt-i to -
+setkey -t 8 -k 0x18 -v 0x5f # map alt-o to _
+setkey -t 8 -k 0x19 -v 0x22 # map alt-p to "
+setkey -t 8 -k 0x1e -v 0x23 # map alt-a to #
+setkey -t 8 -k 0x1f -v 0x34 # map alt-s to 4
+setkey -t 8 -k 0x20 -v 0x35 # map alt-d to 5
+setkey -t 8 -k 0x21 -v 0x36 # map alt-f to 6
+setkey -t 8 -k 0x22 -v 0x2f # map alt-g to /
+setkey -t 8 -k 0x23 -v 0x3f # map alt-h to ?
+setkey -t 8 -k 0x24 -v 0xa3 # map alt-j to pound
+setkey -t 8 -k 0x25 -v 0x24 # map alt-k to $
+setkey -t 8 -k 0x2c -v 0x2a # map alt-z to *
+setkey -t 8 -k 0x2d -v 0x37 # map alt-x to 7
+setkey -t 8 -k 0x2e -v 0x38 # map alt-c to 8
+setkey -t 8 -k 0x2f -v 0x39 # map alt-v to 9
+setkey -t 8 -k 0x30 -v 0x7c # map alt-b to |
+setkey -t 8 -k 0x31 -v 0x40 # map alt-n to @
+setkey -t 8 -k 0x32 -v 0x3d # map alt-m to =
+setkey -t 8 -k 0x33 -v 0x3b # map alt-, to ;
+setkey -t 8 -k 0x34 -v 0x3a # map alt-. to :
+setkey -t 8 -k 0x0f -v 0x30 # map alt-tab to 0
+setkey -t 8 -k 0x67 -v 0x20b # map alt-up to scroll back
+setkey -t 8 -k 0x6c -v 0x20a # map alt-down to scroll forward
+
+while true
+do
+ echo
+ echo "------------------------------"
+ echo " 1: init commands"
+ echo " 2: call commands"
+ echo " 3: misc phone"
+ echo " 4: phone debug output"
+ echo " 5: test data connection"
+ echo " 6: start runtime"
+ echo " 7: start runtime w/output"
+ echo " 8: stop runtime"
+ echo " 9: misc"
+ echo -n ": "
+ while true
+ do
+ c=`readtty -t 50 -f -a 1234567890#`
+ case "$c" in
+ "" ) ;;
+ * ) break;
+ esac
+ done
+ echo Got key -$c-
+ case $c in
+ "1" )
+ while true; do
+ echo
+ echo "------------------------------"
+ echo " 1: Print phone output"
+ echo " 2: ATQ0V1E1+CMEE=2;+CREG=0"
+ echo " 3: AT+CFUN=1"
+ echo " 4: AT+COPS=0"
+ echo " 5: AT+CREG?"
+ echo " 6: Stop phone output"
+ echo " 0: back"
+ echo -n ": "
+ c=`readtty -f -a 1234560#`
+ echo Got key -$c-
+ case "$c" in
+ "1" ) kill $phoneoutputpid; cat $atdev & phoneoutputpid=$! ;;
+ "2" ) echo -e "ATQ0V1E1+CMEE=2;+CREG=0\r" >$atdev;;
+ "3" ) echo -e "AT+CFUN=1\r" >$atdev;;
+ "4" ) echo -e "AT+COPS=0\r" >$atdev;;
+ "5" ) echo -e "AT+CREG?\r" >$atdev;;
+ "6" ) kill $phoneoutputpid; phoneoutputpid= ;;
+ "0" ) break;;
+ esac
+ done
+ ;;
+ "2" )
+ while true; do
+ echo
+ echo "------------------------------"
+ echo " 1: Dial: ATD $n1;"
+ echo " 2: Dial: ATD $n2;"
+ echo " 3: Dial: ATD $n3;"
+ echo " 4: Set number for 1"
+ echo " 5: Set number for 2"
+ echo " 6: Set number for 3"
+ echo " 7: Dial: ATD ...;"
+ echo " 8: Hang up: ATH"
+ echo " 9: Answer: ATA"
+ echo " 0: back"
+ echo -n ": "
+ c=`readtty -f -a 1234567890#`
+ echo Got key -$c-
+ case "$c" in
+ "1" ) echo "Dialing $n1"; echo -e "ATD $n1;\r" >$atdev;;
+ "2" ) echo "Dialing $n2"; echo -e "ATD $n2;\r" >$atdev;;
+ "3" ) echo "Dialing $n3"; echo -e "ATD $n3;\r" >$atdev;;
+ "4" ) echo -n "Number: "; read n1; echo $n1 >/data/phoneentry1;;
+ "5" ) echo -n "Number: "; read n2; echo $n2 >/data/phoneentry2;;
+ "6" ) echo -n "Number: "; read n3; echo $n3 >/data/phoneentry3;;
+ "7" ) echo -n "Number: "; read n; echo "Dialing $n"; echo -e "ATD $n;\r" >$atdev;;
+ "8" ) echo -e "ATH\r" >$atdev;;
+ "9" ) echo -e "ATA\r" >$atdev;;
+ "0" ) break;;
+ esac
+ done
+ ;;
+ "3" )
+ while true; do
+ echo
+ echo "------------------------------"
+ echo " 1: Save FFS data"
+ echo " 2: Load user FFS data"
+ echo " 3: Load system FFS data"
+ echo " 4: Reset FFS data"
+ echo " 5: Set uplink gain"
+ echo " 6: Set echo"
+ echo " 7: cat /dev/omap_csmi_battery_t"
+ echo " 8: cat /dev/omap_csmi_htc"
+ echo " 0: back"
+ echo -n ": "
+ c=`readtty -f -a 123456780#`
+ echo Got key -$c-
+ case "$c" in
+ "1" ) cat /dev/omap_csmi_ffs >/data/ffsdata;;
+ "2" ) cat /data/ffsdata >/dev/omap_csmi_ffs;;
+ "3" ) cat /system/ffsdata >/dev/omap_csmi_ffs;;
+ "4" ) echo - >/dev/omap_csmi_ffs;;
+ "5" )
+ echo -n "Gain: "; read g;
+ echo gu$g >/tmp/gain;
+ cat /tmp/gain 2>/dev/null >/dev/omap_csmi_audio_tes
+ ;;
+ "6" )
+ echo -n "Echo param (hex): "; read e;
+ echo "e0x$e" >/tmp/echo;
+ cat /tmp/echo 2>/dev/null >/dev/omap_csmi_audio_tes
+ ;;
+ "7" ) cat /dev/omap_csmi_battery_t;;
+ "8" ) cat /dev/omap_csmi_htc;;
+ "0" ) break;;
+ esac
+ done
+ ;;
+ "4" )
+ while true; do
+ echo
+ echo "------------------------------"
+ echo " 1: Toggle debug I/O"
+ echo " 2: Toggle debug Flow"
+ echo " 3: Toggle debug Interrupt"
+ echo " 4: Toggle debug Info"
+ echo " 5: Toggle GSM run state"
+ echo " 6: Clear GSM data area"
+ echo " 0: back"
+ echo -n ": "
+ c=`readtty -f -a 1234560#`
+ echo Got key -$c-
+ case "$c" in
+ "1" ) echo -n "i" >/sys/devices/system/omap_csmi/debug;;
+ "2" ) echo -n "f" >/sys/devices/system/omap_csmi/debug;;
+ "3" ) echo -n "I" >/sys/devices/system/omap_csmi/debug;;
+ "4" ) echo -n "F" >/sys/devices/system/omap_csmi/debug;;
+ "5" ) echo -n "s" >/sys/devices/system/omap_csmi/debug;;
+ "6" ) echo -n "c" >/sys/devices/system/omap_csmi/debug;;
+ "0" ) break;;
+ esac
+ done
+ ;;
+ "5" )
+ while true; do
+ echo
+ echo "------------------------------"
+ echo " 1: Start pppd - userspace"
+ echo " 2: Start pppd - kernel"
+ echo " 3: Start pppd - kernel <at1"
+ echo " 4: Configure ppp data to at2"
+ echo " 5: Test with HTTP GET"
+ echo " 6: Kill pppd"
+ echo " 0: back"
+ echo -n ": "
+ c=`readtty -f -a 1234560#`
+ echo Got key -$c-
+ case "$c" in
+ "1" ) kill $pppdpid; pppd notty < $pppdev > $pppdev & pppdpid=$!;;
+ "2" ) kill $pppdpid; pppd nodetach $pppdev & pppdpid=$!;;
+ "3" ) kill &pppdpid; pppd nodetach $pppdev connect "sh -c \"chat -v -f /etc/ppp/connect-data <$atdev >$atdev\"" & pppdpid=$!;;
+ "4" ) echo -e 'AT%DATA=2,"UART",1,,"SER","UART",0\r' >$atdev;;
+ "5" ) test-data-connection;;
+ "6" ) kill $pppdpid; pppdpid=;;
+ "0" ) break;;
+ esac
+ done
+ ;;
+ "6" )
+ echo
+ echo ------------------------
+ echo Starting android runtime
+ echo ------------------------
+ start
+ ;;
+ "7" )
+ echo
+ echo ------------------------
+ echo Starting android runtime
+ echo ------------------------
+ if exists /data/singleproc
+ then
+ single_process="-s"
+ else
+ single_process=""
+ fi
+ start runtime $single_process
+ ;;
+ "8" )
+ stop
+ ;;
+ "9" )
+ while true; do
+ echo
+ echo "------------------------------"
+ echo " 1: Print events"
+ echo " 2: Stop event output"
+ if $notifytoggle
+ then
+ echo " 3: stop notify"
+ else
+ echo " 3: notify /sys/android_power"
+ fi
+ echo " 4: start powerd"
+ echo " 5: start powerd verbose"
+ echo " 6: stop powerd"
+ echo " 7: set powerd idletime ($powerdidletime)"
+ echo " 8: start multitap shell"
+ if exists /data/singleproc
+ then
+ echo " 9: enable multiprocess"
+ else
+ echo " 9: disable multiprocess"
+ fi
+ echo " c: start shell"
+ echo " 0: back"
+ echo -n ": "
+ c=`readtty -f -a 1234567890c#`
+ echo Got key -$c-
+ case "$c" in
+ "1" ) kill $eventoutputpid; getevent & eventoutputpid=$! ;;
+ "2" ) kill $eventoutputpid; eventoutputpid= ;;
+ "3" )
+ if $notifytoggle
+ then
+ kill $notifypid
+ notifypid=
+ notifytoggle=false
+ else
+ kill $notifypid
+ notify -m 0x00000002 -c 0 -p -v 0 -w 30 /sys/android_power &
+ notifypid=$!
+ notifytoggle=true
+ fi
+ ;;
+ "4" ) start powerd -i $powerdidletime ;;
+ "5" ) start powerd -i $powerdidletime -v ;;
+ "6" ) stop powerd ;;
+ "7" ) echo -n "Idle time (seconds): "; read powerdidletime ;;
+ "8" )
+ readtty -f -p -t 10 -e "[ ~" | sh -i
+ ;;
+ "9" )
+ if exists /data/singleproc
+ then
+ echo "Enabling multiprocess environment."
+ rm /data/singleproc
+ else
+ echo "Disabling multiprocess environment."
+ echo >/data/singleproc "true"
+ fi
+ ;;
+ "c" ) sh -i <>/dev/tty0 1>&0 2>&1 ;;
+ "0" ) break;;
+ esac
+ done
+ ;;
+ esac
+done
+