wpa_supplicant
é responsável apenas pelos protocolos de criptografia (WPA, WPA2, etc.) e pelos handshakes da autenticação. A força e a qualidade do sinal são medidas pelo kernel.
Você pode obter informações sobre a intensidade do sinal atual, por exemplo. com iw dev wlan0 link
(informação sobre o link ativo) ou iw dev wlan0 station dump
(informação sobre todas as estações conhecidas, que é somente a estação conectada para uma interface gerenciada).
Não é tão difícil escrever um script de shell (usando sleep
, grep
etc.) para monitorar a força atual em intervalos regulares e emitir um comando de desconexão por wpa_cli
se a intensidade do sinal for muito baixa.
AFAIK, não há comando específico para isso com wpa_cli
, e não é realmente necessário, porque quando a força do sinal fica muito ruim, o driver do kernel se desconecta sozinho. Então eu não tenho certeza do que você está ganhando, desconectando um pouco mais cedo.