Подключение к защищенной паролем сети Wi-Fi с использованием оболочки adb
У меня есть телефон для Android, и цель - подключить телефон к защищенной паролем сети Wi-Fi.
Шаги, которые я знаю до сих пор:
adb root
adb shell svc wifi enable
ОК сладкий, Wi-Fi включен.
Теперь мне нужно подключить телефон к определенной беспроводной сети, для которой требуется пароль.
Я надеюсь, что могу подключиться с помощью команды adb shell.
Любая помощь?
Я бы предпочел не загружать программы на устройство
Ответы
Ответ 1
Этого можно добиться, используя wpa_cli
, интерфейс командной строки wpa_supplicant
:
# Enable WiFi
adb root
adb shell
# Get to wpa_cli prompt
wpa_cli -p /data/misc/wifi/sockets/ -i wlan0
# Add new WiFi network
add_network
set_network 0 auth_alg OPEN
set_network 0 key_mgmt WPA-PSK
set_network 0 ssid "network_name"
set_network 0 proto RSN
set_network 0 mode 0
set_network 0 psk "password"
# Connect to it
select_network 0
enable_network 0
reassociate
# Check the status
status
В приведенном выше списке команд команда add_network
выведет индекс новой сети, который следует использовать для последующих команд. В этом примере этот индекс равен 0
.
Ответ 2
Используйте эту процедуру [более подробная информация включена :)]
1- Убедитесь, что wpa_supplicant работает. Найдите его pid с помощью этой команды:
pidof wpa_supplicant
Эта команда должна вернуть pid процесса wpa_supplicant. Если ничего не возвращено, wpa_supplicant не работает. Используйте команду svc, чтобы отключить Wi-Fi, а затем включите его снова:
svc wifi disable
svc wifi enable
2- Считать каталог интерфейса управления из файла wpa_supplicant.conf. Этот файл обычно существует в /data/misc/wifi/. Откройте этот файл с помощью команды cat:
cat /data/misc/wifi/wpa_supplicant.conf
update_config=1
ctrl_interface=/data/misc/wpa_supplicant
eapol_version=1
ap_scan=1
fast_reauth=1
Примечание: чтобы найти файл wpa_supplicant.conf, вы можете выполнить поиск, используя команду find в корневом каталоге. Перейдите в корневой каталог с помощью cd/command и используйте команду find, чтобы найти wpa_supplicant.conf:
находить. -name wpa_supplicant.conf
Перейдите в каталог интерфейса управления, указанный ctrl_interafce. Первый файл в этом каталоге - это имя интерфейса.
cd /data/misc/wpa_supplicant
ls
wlan0
Для выполнения команды wpa_cli вам потребуются "интерфейс управления" и "имя интерфейса".
Примечание: если вы неправильно введете эти 2 параметра для команды wpa_cli, wpa_cli не сможет подключиться к wpa_supplicant и вернет это сообщение:
Interactive mode
Could not connect to wpa_supplicant: plan - re-trying
Или он может подключиться к wpa_supplicant, но вернуть UNKNOW COMMAND для своих интерактивных команд, таких как:
> scan
UNKNOWN COMMAND
>add_network
UNKNOWN COMMAND
3- Выполнить команду wpa_cli, используя вышеупомянутые параметры:
wpa_cli -p [control directory path] -i [interface name]
wpa_cli -p /data/misc/wpa_supplicant -i wlan0
Затем эти команды входят в интерактивный режим, где вы можете сканировать и находить сети, подключаться к ним и...
# Add new WiFi network
add_network
set_network 0 auth_alg OPEN
set_network 0 key_mgmt WPA-PSK
set_network 0 ssid "network_name"
set_network 0 proto RSN
set_network 0 mode 0
set_network 0 psk "password"
# Connect to it
select_network 0
enable_network 0
reassociate
# Check the status
status
save_config
Используя save_config, вы можете сохранить эти настройки обратно в файл wpa_supplicant.conf для дальнейшего использования. Вы можете вызвать эти настройки в следующий раз с помощью команды enable_network. В следующий раз, когда вы хотите включить Wi-Fi, используйте эти команды:
wpa_cli -p /data/misc/wpa_supplicant -i wlan0
enable network 0
0 это идентификатор сети. Вы можете использовать list_networks, чтобы найти другие сохраненные конфигурации. Для получения дополнительной информации относительно wpa_cli обратитесь к этому документу: Также полные интерактивные команды wpa_cli описаны на этой странице.
http://w1.fi/cgit/hostap/plain/wpa_supplicant/README
Я использовал эту процедуру для настройки Wi-Fi на Android на Orange Pi 2G IOT.