bom, respondendo a minha propria pergunta...eu fiz e funcionou aqui!!
ele da um 'disable' no cliente e logo ja da um 'enable' em seguida...
suficiente pra pessoa reconectar e abaixar o ack!
novamente, agradeço o desenvolvimento desse script e eta ai a minha pequena mudança:
Código :
# Defina abaixo o valor mínimo de ACK :global ack 39; # Defina abaixo 1 para bloquear e 0 para não bloquear o cliente que estiver acima do valor mínimo :global block 1; # Defina abaixo 1 para reiniciar a Interface quando um cliente estiver acima do valor mínimo e 0 para não fazer nada # Obs.: Ative apenas no último dos casos, pois derruba todos clientes enlaçados na Interface :global intdis 0; # Defina abaixo a Interface :global interf "wlan1"; # ============================================================================= # ATENÇÃO ! SO FAÇA ALTERAÇÕES ABAIXO, SE TIVER CERTEZA DO QUE ESTA FAZENDO # ============================================================================= :global total 0; :global mac ""; :global cliente ""; :log info ("Listando Clientes com ACK acima de " . $ack . " ms:"); :foreach i in=[/interface wireless registration-table find interface=$interf] do={ :if ([/interface wireless registration-table get $i ack-timeout] > $ack) do={ :set mac [/interface wireless registration-table get $i mac-address]; :set cliente [/interface wireless access-list find mac-address=$mac]; :log info ("COMENTARIO: " . [/interface wireless access-list get $cliente comment] . " - MAC: " . [/interface wireless registration-table get $i mac-address] . " - ACK: " . [/interface wireless registration-table get $i ack-timeout]); :if ($block = 1) do={ /interface wireless access-list disable $cliente; /interface wireless access-list enable $cliente; }; :set total total+1; }; }; :if ($total = 0) do={ :log info ("Nenhum Cliente com ACK acima de " . $ack . " ms encontrado."); } else { :if ($intdis = 1) do={ /interface wireless disable $interf; /interface wireless enable $interf; }; };