Подключение к защищенной паролем сети wifi с помощью оболочки adb
У меня есть телефон Android, и цель состоит в том, чтобы подключить телефон к защищенной паролем сети wifi.
шаги, которые я знаю до сих пор:
adb root
adb shell svc wifi enable
Ok сладкий, wifi включен. Теперь мне нужно подключить телефон к определенной беспроводной сети, которая требует пароля. Я надеюсь, что смогу подключиться с помощью команды оболочки adb.
помочь?
Я бы предпочел не загружать программы на устройство
2 ответов
этого можно достичь с помощью 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_command
выведет индекс новой сети, который должен использоваться для последующих команд. В этом примере этот индекс равен 0
.
используйте эту процедуру [больше деталей :) ]
1-Убедитесь, что wpa_supplicant запущен. Найдите его pid, используя эту команду:
pidof wpa_supplicant
эта команда должна возвращать pid процесса wpa_supplicant. Если ничего не возвращено, wpa_supplicant не выполняется. Используйте команду svc для выключения wifi, а затем снова включите его:
svc wifi disable
svc wifi enable
2 - Чтение интерфейс каталог из wpa_supplicant.файл conf. Этот файл обычно существует в / данные / разное / 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 вы можете искать с помощью команды найти в корневом каталоге. Перейдите в корневой каталог с помощью cd / command и используйте команду find для поиска wpa_supplicant.conf:
найти . -имя файла 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 для своих интерактивных команд, таких как:
> 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. В следующий раз, когда вы хотите включить wifi, используйте следующие команды:
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
я использовал эту процедуру для настройки wifi на Android на Orange Pi 2G IOT.