Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Connecting to WiFi using adb shell

Tags:

linux

android

adb

I have all the details to connect to a particular access point. I have to use that access point only, so all I require is the command to do it.

like image 970
Rohan Avatar asked Jan 03 '12 06:01

Rohan


People also ask

How do I connect to ADB Wi-Fi?

Connect your device using a USB cable and press the Android WiFi ADB button. Once the device be connected over WiFi you'll see an IntelliJ/Android Studio notification. Now you can disconnect your USB cable and enjoy deploying, running and debugging your applications over WiFi.

Can you ADB over Wi-Fi?

To use adb with a device connected over USB, you must enable USB debugging in the device system settings, under Developer options. To use adb with a device connected over Wi-Fi, see Connect to a device over Wi-Fi. On Android 4.2 and higher, the Developer options screen is hidden by default.


1 Answers

You can add a network entry into the wpa_supplicant.conf yourself (or within your script) Essentially connect manually once, then do:

adb pull /data/misc/wifi/wpa_supplicant.conf 

and integrate the network entry into your script for automation. Example simple script:

#!/bin/bash #  # Get this information by connecting manually once, and do #   adb pull /data/misc/wifi/wpa_supplicant.conf ADB_PULL="adb pull /data/misc/wifi/wpa_supplicant.conf" WIRELESS_CTRL_INTERFACE=wlan0 WIRELESS_SSID=Gondolin WIRELESS_KEY_MGMT="WPA-EAP IEEE8021X" WIRELESS_EAP=PEAP WIRELESS_USER=Turgon WIRELESS_PASSWORD=IdrilCelebrindal  adb start-server adb wait-for-device echo "adb connection....[CONNECTED]" adb root adb wait-for-device adb remount adb wait-for-device  pushd /tmp rm wpa_supplicant.conf 2>/dev/null # Remove any old one adbpull_status=`$ADB_PULL 2>&1` echo -e "\nAttempting: $ADB_PULL" if [ `echo $adbpull_status | grep -wc "does not exist"` -gt 0 ]; then     echo "  wpa_supplicant.conf does not exist yet on your device yet."     echo "This means you have not used your wireless yet."     echo ""     echo "Taking our best shot at creating this file with default config.."      echo "ctrl_interface=$WIRELESS_CTRL_INTERFACE" >> wpa_supplicant.conf     echo "update_config=1" >> wpa_supplicant.conf     echo "device_type=0-00000000-0" >> wpa_supplicant.conf else     echo $adbpull_status     echo "  wpa_supplicant.conf exists!" fi  echo "" echo "Add network entry for wpa_supplicant.conf.." echo "" >> wpa_supplicant.conf echo "network={" >> wpa_supplicant.conf echo "  ssid=\"$WIRELESS_SSID\"" >> wpa_supplicant.conf echo "  key_mgmt=$WIRELESS_KEY_MGMT" >> wpa_supplicant.conf echo "  eap=$WIRELESS_EAP" >> wpa_supplicant.conf echo "  identity=\"$WIRELESS_USER\"" >> wpa_supplicant.conf echo "  password=\"$WIRELESS_PASSWORD\"" >> wpa_supplicant.conf echo "  priority=1" >> wpa_supplicant.conf echo "}" >> wpa_supplicant.conf echo "Pushing wpa_supplicant.conf.." adb push wpa_supplicant.conf /data/misc/wifi/wpa_supplicant.conf popd #/tmp  adb shell chown system.wifi /data/misc/wifi/wpa_supplicant.conf adb shell chmod 660 /data/misc/wifi/wpa_supplicant.conf  echo "" echo "Finished!" adb shell am start -a android.intent.action.MAIN -n com.android.settings/.Settings echo "Please toggle wifi off/on now.. (ifconfig not sufficient, monkey this)" 
like image 99
Bryan Buckley Avatar answered Sep 28 '22 05:09

Bryan Buckley