Browse Source

uqmi: do not wait for network connection before starting dhcp

Signed-off-by: Felix Fietkau <[email protected]>

SVN-Revision: 42723
Felix Fietkau 11 years ago
parent
commit
bf4cab37b7
1 changed files with 9 additions and 11 deletions
  1. 9 11
      package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh

+ 9 - 11
package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh

@@ -25,6 +25,13 @@ qmi_disconnect() {
 		--autoconnect > /dev/null
 }
 
+qmi_wds_release() {
+	[ -n "$cid" ] || return 0
+
+	uqmi -s -d "$device" --set-client-id wds,"$cid" --release-client-id wds
+	uci_revert_state network $interface cid
+}
+
 proto_qmi_setup() {
 	local interface="$1"
 
@@ -101,13 +108,7 @@ proto_qmi_setup() {
 		${password:+--password $password} \
 		--autoconnect > /dev/null
 
-	if ! uqmi -s -d "$device" --get-data-status | grep '"connected"' > /dev/null; then
-		echo "Connection lost"
-		proto_notify_error "$interface" NOT_CONNECTED
-		return 1
-	fi
-
-	echo "Connected, starting DHCP"
+	echo "Starting DHCP"
 	proto_init_update "$ifname" 1
 	proto_send_update "$interface"
 
@@ -135,10 +136,7 @@ proto_qmi_teardown() {
 
 	echo "Stopping network"
 	qmi_disconnect
-	[ -n "$cid" ] && {
-		uqmi -s -d "$device" --set-client-id wds,"$cid" --release-client-id wds
-		uci_revert_state network $interface cid
-	}
+	qmi_wds_release
 
 	proto_init_update "*" 0
 	proto_send_update "$interface"