mirror of https://github.com/hak5/openwrt.git
uqmi: use correct value for connection checking
Originally, the implementation only checked if uqmi command execution succeeded properly without actually checking it's returned data. This lead to a pass, even when the returned data was indicating an error. Rework the verification to actually check the returned data, which can only be correct if the uqmi command itself also executed correctly. On command execution success, value "pdh_" is a pure numeric value. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>openwrt-18.06
parent
3c5471032b
commit
3508f8abb4
|
@ -156,12 +156,14 @@ proto_qmi_setup() {
|
||||||
${username:+--username $username} \
|
${username:+--username $username} \
|
||||||
${password:+--password $password} \
|
${password:+--password $password} \
|
||||||
${autoconnect:+--autoconnect})
|
${autoconnect:+--autoconnect})
|
||||||
[ $? -ne 0 ] && {
|
|
||||||
|
# pdh_4 is a numeric value on success
|
||||||
|
if ! [ "$pdh_4" -eq "$pdh_4" ] 2> /dev/null; then
|
||||||
echo "Unable to connect IPv4"
|
echo "Unable to connect IPv4"
|
||||||
uqmi -s -d "$device" --set-client-id wds,"$cid_4" --release-client-id wds
|
uqmi -s -d "$device" --set-client-id wds,"$cid_4" --release-client-id wds
|
||||||
proto_notify_error "$interface" CALL_FAILED
|
proto_notify_error "$interface" CALL_FAILED
|
||||||
return 1
|
return 1
|
||||||
}
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
[ "$pdptype" = "ipv6" -o "$pdptype" = "ipv4v6" ] && {
|
[ "$pdptype" = "ipv6" -o "$pdptype" = "ipv4v6" ] && {
|
||||||
|
@ -182,12 +184,14 @@ proto_qmi_setup() {
|
||||||
${username:+--username $username} \
|
${username:+--username $username} \
|
||||||
${password:+--password $password} \
|
${password:+--password $password} \
|
||||||
${autoconnect:+--autoconnect})
|
${autoconnect:+--autoconnect})
|
||||||
[ $? -ne 0 ] && {
|
|
||||||
|
# pdh_6 is a numeric value on success
|
||||||
|
if ! [ "$pdh_6" -eq "$pdh_6" ] 2> /dev/null; then
|
||||||
echo "Unable to connect IPv6"
|
echo "Unable to connect IPv6"
|
||||||
uqmi -s -d "$device" --set-client-id wds,"$cid_6" --release-client-id wds
|
uqmi -s -d "$device" --set-client-id wds,"$cid_6" --release-client-id wds
|
||||||
proto_notify_error "$interface" CALL_FAILED
|
proto_notify_error "$interface" CALL_FAILED
|
||||||
return 1
|
return 1
|
||||||
}
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "Setting up $ifname"
|
echo "Setting up $ifname"
|
||||||
|
|
Loading…
Reference in New Issue