J'ai un téléphone Android et l'objectif est de connecter le téléphone à un réseau wifi protégé par mot de passe.
Étapes que je connais jusqu'à présent:
adb root
adb Shell svc wifi enable
Ok ma douce, le wifi est activé . Maintenant, je dois connecter le téléphone à un certain réseau sans fil qui nécessite un mot de passe . J'espère pouvoir me connecter en utilisant une commande adb Shell.
De l'aide?
Je préférerais ne pas télécharger de programmes sur l'appareil
Ceci est possible à l'aide de wpa_cli
, interface de ligne de commande de 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
Dans la liste de commandes ci-dessus, la commande add_network
génère l'index du nouveau réseau, qui doit être utilisé pour les commandes suivantes. Dans cet exemple, cet index est 0
.
Utilisez cette procédure [plus de détails inclus :)]
1- Assurez-vous que wpa_supplicant est en cours d'exécution. Recherchez son pid en utilisant cette commande:
pidof wpa_supplicant
Cette commande devrait renvoyer le pid du processus wpa_supplicant. Si rien n'est retourné, wpa_supplicant n'est pas en cours d'exécution. Utilisez la commande svc pour désactiver le wifi, puis le réactiver:
svc wifi disable
svc wifi enable
2- Lisez le répertoire control interface à partir du fichier wpa_supplicant.conf. Ce fichier existe généralement dans/data/misc/wifi /. Ouvrez ce fichier en utilisant la commande 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
Remarque: pour rechercher le fichier wpa_supplicant.conf, vous pouvez effectuer une recherche à l'aide de la commande find du répertoire racine. Allez au répertoire racine en utilisant cd/command et utilisez la commande find pour trouver wpa_supplicant.conf:
trouver . -name wpa_supplicant.conf
Accédez au répertoire d'interface de contrôle spécifié par ctrl_interafce. Le premier fichier de ce répertoire est le nom de l'interface .
cd /data/misc/wpa_supplicant
ls
wlan0
Vous allez avoir besoin de "interface de contrôle" et de "nom d'interface" pour exécuter la commande wpa_cli.
Remarque: si vous avez mal saisi ces 2 paramètres pour la commande wpa_cli, le wpa_cli n'a pas pu se connecter à wpa_supplicant et renvoie le message suivant:
Interactive mode
Could not connect to wpa_supplicant: plan - re-trying
Ou bien il peut se connecter à wpa_supplicant mais renvoyer la commande suivante pour ses commandes interactives, comme suit:
> scan
UNKNOWN COMMAND
>add_network
UNKNOWN COMMAND
3- Exécutez la commande wpa_cli en utilisant les paramètres mentionnés ci-dessus:
wpa_cli -p [control directory path] -i [interface name]
wpa_cli -p /data/misc/wpa_supplicant -i wlan0
Ces commandes entrent ensuite en mode interactif où vous pouvez numériser et trouver des réseaux, vous y connecter et ...
# 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
En utilisant save_config, vous pouvez stocker ces paramètres dans le fichier wpa_supplicant.conf pour une utilisation ultérieure . Vous pourrez les rappeler ultérieurement à l'aide de la commande enable_network. La prochaine fois que vous souhaitez activer le wifi, utilisez ces commandes:
wpa_cli -p /data/misc/wpa_supplicant -i wlan0
enable network 0
0 est l'identifiant du réseau. Vous pouvez utiliser list_networks pour rechercher d'autres configurations stockées ..__ Pour plus d'informations sur wpa_cli, reportez-vous à ce document: Cette page contient également des commandes interactives complètes de wpa_cli.
http://w1.fi/cgit/hostap/plain/wpa_supplicant/README
J'ai utilisé cette procédure pour configurer le wifi sur Android sur Orange Pi 2G IOT.