Подключение к защищенной паролем сети 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.