-
Pelo que pesquisei a versão 2.9 não oferece esse recurso nativamente. Já a versão 3 oferece através da access list.
Tentei pela access list e não obtive sucesso.
Depois de revirar a internet de cabeça pra baixo achei o script disponível abaixo para a versão 2.9 e corrigi umas besteiras para funcionar na versão 3.
No link tem as instruções de como utilizar, mas basicamente crie o script e um agende uma tarefa para ser executada em um intervalo de tempo determinado. Toda vez que o script for executado ele varre todos os clientes conectados e todos aqueles que tiverem com o sinal maior que o definido na variável wifithreshold serão adicionados na access list tendo sua permissão negada para acesso. Na próxima vez que o script for executado ele remove todos os banidos e scaneia novamente os conectados. Não é necessário usar o sinal de - (menos) ao informar o sinal.
Versão 2.9.x: Disconnecting the users with bad signal [2.9.X] | human.network.web.id
Versão 3:
:log info "Monitor de Sinal. Iniciando..."
:local wifithreshold 50
:local aldisabled "no"
:log info "Monitor de Sinal. Removendo clientes banidos";
:foreach i in=[/interface wireless access-list find comment="Sinal fraco."] do={ /interface wireless access-list remove $i }
:foreach i in=[/interface wireless registration-table find] do {
:local csig [/interface wireless registration-table get $i signal-strength]
:local cmac [/interface wireless registration-table get $i mac-address]
:local cint [/interface wireless registration-table get $i interface]
:local csigform [:pick $csig 1 3]
:if ($csigform>$wifithreshold) do={
/interface wireless access-list add mac-address=$cmac interface=$cint disabled=$aldisabled authentication="no" comment="Sinal fraco."
}
}