uqmi: stop proto handler if verify pin count is not 3

Check pin count value from pin status and stop verification the pin if
the value is less then 3. This should prevent the proto-handler to
lock the SIM. If SIM is locked then the PUK is needed.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
This commit is contained in:
Florian Eckert 2018-04-12 10:31:29 +02:00 committed by Koen Vandeputte
parent 4b80bd878d
commit 0c9d06b5b2

View file

@ -94,6 +94,7 @@ proto_qmi_setup() {
. /usr/share/libubox/jshn.sh . /usr/share/libubox/jshn.sh
json_load "$(uqmi -s -d "$device" --get-pin-status)" json_load "$(uqmi -s -d "$device" --get-pin-status)"
json_get_var pin1_status pin1_status json_get_var pin1_status pin1_status
json_get_var pin1_verify_tries pin1_verify_tries
case "$pin1_status" in case "$pin1_status" in
disabled) disabled)
@ -106,6 +107,12 @@ proto_qmi_setup() {
return 1 return 1
;; ;;
not_verified) not_verified)
[ "$pin1_verify_tries" -lt "3" ] && {
echo "PIN verify count value is $pin1_verify_tries this is below the limit of 3"
proto_notify_error "$interface" PIN_TRIES_BELOW_LIMIT
proto_block_restart "$interface"
return 1
}
if [ -n "$pincode" ]; then if [ -n "$pincode" ]; then
uqmi -s -d "$device" --verify-pin1 "$pincode" > /dev/null 2>&1 || uqmi -s -d "$device" --uim-verify-pin1 "$pincode" > /dev/null 2>&1 || { uqmi -s -d "$device" --verify-pin1 "$pincode" > /dev/null 2>&1 || uqmi -s -d "$device" --uim-verify-pin1 "$pincode" > /dev/null 2>&1 || {
echo "Unable to verify PIN" echo "Unable to verify PIN"