PDA

Bekijk de volledige versie : Скрипт для диагностики Wi-Fi



Oleg
10-03-2008, 15:24
И самое важное другое. Это резистор изменяет чувствительность самой точки, а не мощность её передатчика.

У меня есть вот такой вот скриптик для контроля уровня сигнала от клиентов:



#!/bin/sh
for a in $(wl assoclist); do
if [ $a != "assoclist" ]; then
set -- $(wl rssi $a)
case $1 in
-9*) echo -n "$a *....... $1 " ;;
-8*) echo -n "$a **...... $1 " ;;
-7*) echo -n "$a ***..... $1 " ;;
-6*) echo -n "$a ****.... $1 " ;;
-5*) echo -n "$a *****... $1 " ;;
-4*) echo -n "$a ******.. $1 " ;;
-3*) echo -n "$a *******. $1 " ;;
-2*) echo -n "$a ******** $1 " ;;
*) echo -n "$a $1 " ;;
esac

echo
fi
done


Позапускайте его. И посмотрите, что пишут обе точки.
Либо, если лень набирать, то просто

while sleep 1; do wl rssi мак_адрес_карточки_клиента; done

lexa.bekoev
29-03-2008, 19:05
"-sh: man: not found" - как man использовать-то?

И как получить следующий вывод?

scan
Default an active scan across all channels for any SSID.
Optional arg: SSID, the SSID to scan.
Options:
-s S, --ssid=S SSID to scan
-t ST, --scan_type=ST [active|passive] scan type
--bss_type=BT [bss/infra|ibss/adhoc] bss type to scan
-b MAC, --bssid=MAC particular BSSID MAC address to scan, xx:xx:xx:xx:xx:xx
-n N, --nprobes=N number of probes per scanned channel
-a N, --active=N dwell time per channel for active scanning
-p N, --passive=N dwell time per channel for passive scanning
-h N, --home=N dwell time for the home channel between channel scans
-c L, --channels=L comma or space separated list of channels to scan

Marks
29-03-2008, 20:30
ipkg install man
пользоваться man proga :)

al37919
29-03-2008, 21:04
wl -h scan

lexa.bekoev
29-03-2008, 21:38
Спасибо. wl без параметров вызвать в голову не пришло. Ну а на обобщенный man, и правда, место на рутере переводить смысла нет.

al37919
29-03-2008, 23:51
Под обобщенным подразумевался пакет manpages. Не знаю кто его придумал и зачем. А вот пакеты, которые ставятся через ipk обычно содержат вполне корректные маны --- взять хотя бы тот же coreutils.

wl -h выдает где то 50кб возможных опций ;)

Vofik
30-03-2008, 11:15
Для включения WiFi - wl radio on
Для выключения WiFi - wl radio off

DemonGloom
30-01-2009, 14:53
Просто напишите
wl
И получите небольшое море информации...

AndreyUA
13-09-2009, 20:50
Отсюда (http://www.dd-wrt.com/phpBB2/viewtopic.php?t=45201&postdays=0&postorder=asc&start=15&sid=813fa4e42beaf4aff1e87336eacd34fb) подсмотрел скрипт, немного его подправил. Скрипт выводит разнообразную инфу о роутере. Позволяет посмотреть и очистить лог роутера. Называем его info.cgi и закидываем в папку вебсервера.


#!/bin/sh

run_time=`cat /proc/uptime | awk '{print $1}'`
cnt="<center>"
cnt_end="</center>"
syst="System Info"
if [ "$QUERY_STRING" == "" ]
then
QUERY_STRING="sys"
fi

case "$QUERY_STRING" in
sys) vhead="${syst}"
cnt=""
cnt_end=""
tab="`cat /proc/version`<br>`uptime`<br><center><u>Cpu</u></center><pre>`cat /proc/cpuinfo`</pre>"
tab="${tab}<center><u>Memory</u></center><pre>`cat /proc/meminfo`</pre>"
tab="${tab}<center><u>Filesystem</u></center><pre>`/bin/df -h`</pre>"
tab="${tab}<center><u>Proccess</u></center><pre>`ps`</pre>"
tab="${tab}<center><u>Loaded modules</u></center><pre>`lsmod`</pre>"
tab="${tab}<center><u>Route</u></center><pre>`route -en`</pre>"
tab="${tab}<center><u>Arp</u></center><pre>`cat /proc/net/arp`</pre>"
tab="${tab}<center><u>Hosts</u></center><pre>`cat /etc/hosts`</pre>"
tab="${tab}<center><u>Interfaces</u></center><pre>`ifconfig`</pre>" ;;
net) vhead="${syst}"
cnt=""
cnt_end=""
tab="${tab}<center><u>Listening ports</u></center><pre>`netstat -lna`</pre>"
tab="${tab}<center><u>Connections</u></center><pre>`cat /proc/net/ip_conntrack`</pre>" ;;
iptab) vhead="${syst}"
cnt=""
cnt_end=""
tab="${tab}<center><u>Iptables Info</u></center><pre>`iptables-save`</pre>" ;;
log) vhead="${syst}"
cnt=""
cnt_end=""
tab="${tab}<center><u>System Logfile</u></center><br><pre>`tail -n 5000 /tmp/syslog.log`</pre>"
tab="${tab}<center><u><a href=info.cgi?clog>Clear Log</a><br></u></center>" ;;

clog) vhead="${syst}"
cnt=""
cnt_end=""
tab="${tab}<center><u>Log Empty</u></center><br><pre>`echo "" > /tmp/syslog.log`</pre>" ;;


soft) vhead="${syst}"
cnt=""
cnt_end=""
tab="${tab}<center><u>Installed Packages</u></center><pre>`/opt/bin/ipkg-opt list_installed`</pre>" ;;






esac
echo "Content-type: text/html; charset=utf-8"
echo
echo "<HTML><HEAD><TITLE>System Info v.1.0.1</TITLE><meta http-equiv=pragma content=no-cache>"
echo "<meta http-equiv=cache-control content=no-cache, no-store, must-revalidate>"
echo "</HEAD><BODY link=#cecece vlink=#cecece alink=#cecece bgcolor=#000000 text=#FFFFFFFF>"
echo "<table cols=1 width=100% border=0>"
echo "<tr><td><center><h3>${vhead}</h3></center></td>"
echo "</center></td></tr></table>"
echo "<center><script language=JavaScript>"
echo "document.writeln(document.lastModified)"
echo "</script></center><br>"
echo "<table width=100% border=0><tr><td valign=top>"
echo "<fieldset><legent>Menu:</legent><br><a href=info.cgi?sys>General</a><br>"
echo "<a href=info.cgi?iptab>Firewall</a><br>"
echo "<a href=info.cgi?net>Network</a><br>"
echo "<a href=info.cgi?soft>Software</a><br>"
echo "<a href=info.cgi?log>Syslog</a>"
echo "</fieldset>"
echo "<td width=100%>${cnt} ${tab} ${cnt_end}</td></table>"
run_time2=`cat /proc/uptime | awk '{print $1}'`
run_time=`echo "$run_time2 $run_time" | awk '{printf "%s\n",$1-$2}'`
echo "<center>Generated in ${run_time} sec.</center>"
echo "</BODY></HTML>"

alex_optek
14-01-2011, 13:50
Можно использовать и встроенный веб-сервер, но тогда надо сделать символьную ссылку директории /www на свою. (см. форум)

"Красота" интерфейса вторична, меня больше интересует функционал, поэтому пользуюсь вышеуказанным методом для замены интерфейса.
Так например заменил такой файл Main_WStatus_Content.asp на свой, для контроля и настройки wifi сетей, очень удобно.
В Линуксе не новичок и проблем работы через терминал нет, но web удобнее.
RT-N16 (1.9.2.7-rtn-r2274), WL500GPv2.

AndreyUA
14-01-2011, 15:24
Господа разработчики, добавьте, пожалуйста, это в веб интерфейс. Красиво и информативно, и, оказывается, была поддержка в прошивке. (имею ввиду wewimo) :)

alex_optek
14-04-2011, 12:05
Очень нужную работу делаете, спасибо.

Но хотелось бы страницу Status Wireless иметь в таком виде
http://wl500g.info/showpost.php?p=221920&postcount=376

dlukanidin
14-04-2011, 18:16
хотелось бы страницу Status Wireless иметь в таком виде
http://wl500g.info/showpost.php?p=221920&postcount=376
Я только за. Будем считать,что после того как основные механизмы будут реализованы, эта страница Ваша. Впрочем макет можно делать уже сейчас. Если не хватает каких то элементов интерфейса пишите их в js страницы. Если они будут востребованы где-то ещё вставим в скин.

dlukanidin, если вы еще занимаетесь мобильной версией - то там стоит разнести ссылки menu и reboot вверху страниц.. Ибо иногда пальцем можно попасть не в нужную ссылку и перезагрузить роутер..
Ещё раз о мобильной версии. Я попробовал сделать её на jquery mobile. Получилось криво. Пока просто убрал из скина jquery mobile заменив его парой элементарных функций навигации. Чтобы сделать из этого скин надо, для начала, написать работающий шаблон. Из внешних пакетов желательно ограничиться jquery. Пишите, я переработаю шаблон в скин. Либо хотя бы напишите Css. Этого может хватить, чтобы основной вид правильно реализовать.

Извините, я не дизайнер. Сам сделать не смогу.

alex_optek
15-04-2011, 15:54
Я только за. Будем считать,что после того как основные механизмы будут реализованы, эта страница Ваша. Впрочем макет можно делать уже сейчас. Если не хватает каких то элементов интерфейса пишите их в js страницы. Если они будут востребованы где-то ещё вставим в скин.

На js еще не программировал, дополнить и поправить готовую возможно смогу, по крайней мере попробую.
Если можно, то дайте пару ссылок для начинающего на js.

P.S. Нашел, Firebag, SciTe. А вообще похоже на C#.

dlukanidin
15-04-2011, 16:04
На is еще не программировал, дополнить и поправить готовую возможно смогу, по крайней мере попробую.
Если можно то дайте пару ссылок для начинающего на is.
http://javascript.ru/
http://alldes.net/javascript-exsamples/docs-javascript/

Выложите пожалуйста исходник Вашей странички, я заранее посмотрю какие элементы нужно добавить.

alex_optek
15-04-2011, 17:50
Выложите пожалуйста исходник Вашей странички, я заранее посмотрю какие элементы нужно добавить.

Это не мое, заимствовал из чешской и не js а asp, как я понимаю, надо переписывать.

ryzhov_al
26-04-2012, 11:49
Тов.Planiwa из томатовского стана выложил (http://www.linksysinfo.org/index.php?threads/wireless-measurements-from-wl.37084/page-2#post-182417) скрипт, показывающий текущее состояние Wi-Fi.

Скрипт не представляет собой ничего особенного, но его вывод информативнее имеющейся в web-интерфейсе странички "Status and Logs > Wi-Fi". Может запилим нечто подобное в прошивку? Я готов доработать скрипт согласно разумным требованиям.

$ ./wlsurvey.sh
Thu Apr 26 13:34:59 MSK 2012
Clients (Cf: wl -h sta_info)
RSSI idleS assocS TX-P TX-F RXU-P RXMB-P TXkb/s RXkb/s + MAC IP Hostname

Networks (Cf: wl -h scanresults)
RSSI NOISE QUAL CH + SSID
-68 -88 20 11 "network_591"
-81 -82 1 13 "TP-LINK_3F84E7"

wl Readings
wl noise # -86
wl channel # [cooked] 8
wl chanim_state CHANNEL # [cooked]
wl phy_rxiqest # -88dBm

wl Settings
wl txpwr1 # TxPower is 59 qdbm, 14.75 dbm, 30 mW Override is Off
wl -h txpwr1 # TxPower is 59 qdbm, 14.75 dbm, 30 mW Override is Off
#
wl pwr_percent# 100 # 100
wl country # RU (RU/0) RUSSIAN FEDERATION
wl chanim_mode # CHANIM mode: detect only.
wl interference # Auto Wireless LAN Interference mitigation is enabled and not active, and noise reduction is enabled. (mode 4)
wl interference_override # Interference override disabled.
wl gmode # 54g Auto (1) #
wl protection_control # 0 # 0
wl gmode_protection # 0 # 0
wl gmode_protection_control # 0 # 0
wl gmode_protection_override # 0 # 0
wl nmode_protection # 0 #
wl wme # 1 # 1
wl wme_apsd # 1 # 1
wl ver # wl utility: 5.60.127.5 wl0: Feb 25 2012 18:01:05 version 5.60.127.5

Searching for selected wl settings in Flashed NVRAM:
wl0_channel=9
wl0_corerev=17
wl0_crypto=aes
wl0_gmode=1
wl0_gmode_protection=off
wl0_key=2
wl0_mode=ap
wl0_nband=2
wl0_nbw=20
wl0_nctrlsb=lower
wl0_nmode=-1
wl0_nmode_protection=off
wl0_radio=1
wl0_ssid=MySSID
wl0_wme=on
wl0_wme_apsd=on
wl0_wme_no_ack=off

Comparing Flashed NVRAM with working nvram (for the selcted settings):
size: 17726 bytes (15042 left)
(no difference for those settings)

Show all wl0 NVRAM settings? will start in 10 seconds, unless you INTERRUPT . . .
Ctrl+C
В любом случае, в некоторых случаях скрипт может быть полезен для диагностики возникающих проблем.

MrGalaxy
13-03-2016, 08:33
Доброго дня всем!

Каков алгоритм соединения по вайфай?
Я вот к чему.
У меня WPA2-PSK плюс ещё доступ по белому списку mac. Что сначала роутер проверяет: mac-адреса, или пароль сети?
И второй вопрос: если скрывать SSID, то как тогда к роутеру подключаться, он же в списке доступных сетей не будет виден?

ryzhov_al
13-03-2016, 08:47
Есть аутентификация и есть ассоциация.
http://ptgmedia.pearsoncmg.com/images/chap14_1587051672/elementLinks/fig05.jpg
Аутентификация ведётся (http://www.ciscopress.com/articles/article.asp?p=360065&seqNum=3) по клиентскому SSID и\или MAC'у.


И второй вопрос: если скрывать SSID, то как тогда к роутеру подключаться, он же в списке доступных сетей не будет виден?Скрытая AP отличается лишь тем, что не передаёт в эфир своё имя (SSID), хотя это имя у неё, разумеется, есть. Когда клиент обратится к AP по имени, дальше процесс подключения идёт по привычному алгоритму.

MrGalaxy
13-03-2016, 21:29
ryzhov_al, спасибо.
Попробовал режим с запретом ssid, сконнектилось нормально, но не понравилось тем, что после перевключения роутера соединение автоматически не восстанавливается, в отличие от режима с трансляцией ssid. Так что оставил как раньше было.

О, сейчас только ссылку в Вашем посте увидел! Глянул. Доходчиво написано, без заумностей, как раз чтобы неспециалист понял.