Hi,
here's a script that I use for connecting to my WPA-EAP network. (Kindle-Touch 5.0.1) Some variables have been changed to protect the guilty. It works for me (sometimes only on the second attempt, after disabling/re-enabling WiFi), but maybe you want to give a modified version of it a try.
Code:
#!/bin/sh
CERTIFICATE=/mnt/us/wpa/ca.pem
getmonth()
{
case ${1} in
Jan) echo 01 ;;
Feb) echo 02 ;;
Mar) echo 03 ;;
Apr) echo 04 ;;
May) echo 05 ;;
Jun) echo 06 ;;
Jul) echo 07 ;;
Aug) echo 08 ;;
Sep) echo 09 ;;
Oct) echo 10 ;;
Nov) echo 11 ;;
Dec) echo 12 ;;
*) echo 00 ;;
esac
}
CERTIFDATE=$(openssl x509 -in ${CERTIFICATE} -noout -startdate|sed 's/notBefore\=//')
#remove this in production!
#CERTIFDATE='Jan 01 01:02:03 2017'
set -- ${CERTIFDATE}
MONTH=$(getmonth ${1})
CERTIFDATE="${4}-${MONTH}-${2} ${3}"
CERTIFTIME=$(date +%s -u -d "${CERTIFDATE}")
KINDLEDATE=$(date -u +"%F %T")
KINDLETIME=$(date +%s -u -d "${KINDLEDATE}")
#echo "cert3: " $CERTIFDATE $CERTIFTIME
#echo "kindle: " $KINDLEDATE $KINDLETIME
if [ ${CERTIFTIME} -gt ${KINDLETIME} ]
then
echo "Kindle date is earlier than date of certificate!"
echo "trying to set to 3 days past $CERTIFDATE"
date -u "`date -u -D '%s' -d $((1323988093+60*60*24*3)) +'%F %T'`"
sleep 3
fi
id="`wpa_cli add_network | sed -n '2p'`"
exec="`wpa_cli << EOF
set_network $id ssid \"MY_SSID\"
set_network $id scan_ssid 1
set_network $id key_mgmt WPA-EAP
set_network $id pairwise TKIP
set_network $id group TKIP
set_network $id eap PEAP
set_network $id identity \"MY_USERNAME\"
set_network $id password \"MY_PASSWORD\"
set_network $id phase1 \"peaplabel=0\"
set_network $id phase2 \"auth=MSCHAPV2\"
set_network $id ca_cert \"/mnt/us/wpa/ca.pem\"
enable_network $id
quit
EOF
`"
echo $exec