Форум: "Прочее";
Текущий архив: 2015.05.03;
Скачать: [xml.tar.bz2];
ВнизOpenWRT (Ralink RT5350F) и работа с wireless Найти похожие ветки
← →
Ламот © (2014-09-01 19:12) [0]Всем добрый! Есть простенькая задача для человека знающего(!), и почти неподъемная для меня. Есть желание "подучиться" по данной теме...
Задача: на конкретной (традиционно - нетрадиционной) железке, под управлением Ralink RT5350F с установленной OpenWRT немного изменить логику работы роутера - внести понятие минимальной мощности сигнала, и рубить всех (не давать подключиться), у кого ниже заданного...
Вопрос, кто плотно крутил упомянутую ОС - где и что нужно прочитать в первую очередь, дабы разобраться и выполнить эту задачу?
PS. Доков много, углубился в одни и "уплыл" напрочь от физики к логике... по идее - тут все просто должно быть... либо на уровне драйвера найти нужное место и вставить проверку, либо вообще найти/установить константу...
PS2. Всем заранее спасибо, жду ссылок чуть более близких к поставленной задаче, нежели возвращаемые ya.ru и гуглом - их уже курил... слишком долго получается, ибо много лишнего вычитывать... ))
← →
brother © (2014-09-01 19:15) [1]видимо так:
> либо на уровне драйвера найти нужное место и вставить проверку,
ибо когда крутил его, не натыкался на подобное:
> либо вообще найти/установить константу...
+
понимаю, что вопрос странный, а зачем рубить пользователей по мощьности, для отсеивания "гостей"?
← →
brother © (2014-09-01 19:19) [2]зы. сколько интерфейс "люси" не изучал на подобное не натыкался...
← →
brother © (2014-09-01 19:24) [3]http://www.linux.org.ru/forum/admin/6026446
может чем поможет...
← →
Ламот © (2014-09-01 19:27) [4]Мощности мало, а гостей много, не всех же рубим, только тех, кто и так толком не тянет...
Люсю смотрел, тоже не увидел, хотя в /etc/Wireless...bin есть файл с txpower=100...вот и подумалось, раз говорим передатчику мощность, то вдруг есть и границы... ))
Ок, понял примерно, рыть в сторону драйвера... Спс, ссылки на маны по теме все еще приветствуются))
← →
brother © (2014-09-01 19:29) [5]может не рубить чужих по мощности, а себе мощность понизить, следовательно зону доступности сузим?
← →
Ламот © (2014-09-01 21:29) [6]Завис... Идея интересная, нужно её переварить... Утром скажу, почему нет, пока не сформулирую)))
но идея да, провокационная! )))
← →
Ламот © (2014-09-01 22:14) [7]Банально, забивая сам себе мощность, я даю соседям шанс добить меня больше, чем собирался... Я же не в чистом поле сам...
← →
brother © (2014-09-02 03:21) [8]> я даю соседям шанс добить меня больше, чем собирался
с чего бы? )
← →
brother © (2014-09-02 08:30) [9]если стоит вопрос о разделенни прав на подключении к точке, то как обычно, ставим пароль и шифровние (WPA2 например) и подлючаться смогут только свои...
← →
Ламот © (2014-09-02 10:40) [10]brother © (01.09.14 19:24) [3]
> http://www.linux.org.ru/forum/admin/6026446
- Спс, сегодня дошел/ознакомился - не оно, это имеет смысл со стороны "клиента". К тому же на моей железке из Китая половина функционала отсутствует, вторая половинчатая, например:
iwconfig ra0
Возвращает:ra0 RTWIFI SoftAP ESSID:"nk-4b_f0_c6_39"
Mode:Managed Channel=7 Access Point: 02:E0:4B:F0:C6:3C
Bit Rate=150 Mb/s
И все, никакого "квалити" не предусмотрено, да и не оно это малость...
Суть проблемы все-таки в том, что мне нужно "мониторить" уровень сигнала между "мной(роутером)" и клиентами, коих может быть n"ное кол-во...тобиш это не одна константа, а очень даже переменная, причем для каждого конкретного случая (еденицы времени) - со своим значением...
Собственно - все, вопрос сформулирован окончательно: какая "переменная" в драйвере (смею надеяться этом: openWRT/package/rtsoc/src/rt2860v2/ap/ap.c) может содержать в себе значение мощности сигнала... ? )))
ЗЫ. brother © (02.09.14 03:21) [8]
> я даю соседям шанс добить меня больше, чем собирался
- с чего бы? )
кхм... "соседние" точки, коих много, работают на том же авто определении канала, что и моя железка. И, судя по тому же iwlist wlan0 scan, только запущенному на своем нубуке - это авто отрабатывает через пень колоду... соседей много, потому и возник вопрос/задача - принудительно тушить всех, кто "отошел" подальше, но что б не пострадали те, кто сидят вокруг антены...
← →
brother © (2014-09-02 10:59) [11]> принудительно тушить всех, кто "отошел" подальше,
это желаемое)
> но что б не пострадали те, кто сидят вокруг антены...
еще раз:
1. занизить сигнал точки, отладить в пределах комнаты норм коннект
2. поставить пароль на точку с шифрованием и отбить тем самым подключения левых.
3. не парится по подключению левых ибо [2]
4. скрыть трансляцию имени точки.
← →
ну и (2014-09-02 11:26) [12]так подними два радиоинтерфейса.
один для своих с полосой 80%
второй для остальных 20% и пофик какой там у них сигнал
← →
Ламот © (2014-09-02 11:29) [13]brother © (02.09.14 10:59) [11]
> принудительно тушить всех, кто "отошел" подальше,
>
> это желаемое)
>
> но что б не пострадали те, кто сидят вокруг антены...
>
> еще раз:
> 1. занизить сигнал точки, отладить в пределах комнаты норм коннект
> 2. поставить пароль на точку с шифрованием и отбить тем самым подключения левых.
> 3. не парится по подключению левых ибо [2]
> 4. скрыть трансляцию имени точки.
Даже спорить стыдно, но повторюсь:
1) > Есть желание "подучиться" по данной теме..., это раз (и основополагающее, в разрезе данной ветки);
2) WPA/PSK2 и так настроен;
3) "Своих" клиентов около 15ти... говорят, что бывали пики, когда больше 30ти светилось... Железка столько скорее всего не может (грешен - не гуглил, но подозреваю, что до 10ти одновременных корректно, а дальше - лаги, артефакты и прочь прелести);
4) Еще есть уйма "соседних" точек (офисная многоэтажка), которые периодически вещают на том же канале, что и моя точка... был бы 1 клиент/точка - скорее всего и не заметил бы, а так... подозреваю, что данный фактор начинает влиять...
5) и наконец: курилка/столовка/wc и прочие коммуникации расположены в отдалении от комнаты (офиса)... туда роутер еле добивает... это тоже фактор)) Понимаю, что как раз это и можно заглушить уменьшением мощности передатчика, но боюсь, что тогда пострадают и так терпящие неудобства трудящиеся в кабинете...
Как-то так... если 5 надумана - ткните носом в ссылку пож., поясняющую работу в разрезе мощности/дальности/канала/помех (светящихся соседних точек в том же диапазоне!)...
Смыслом создания ветки было найти более конкретную литературу и расширить кругозор, потому еще раз сори - я спорю не ради спора, а сугубо от недостатку собственной теор.базы! ))))
ЗЫ. Ссылкам на хорошие статьи/маны всегда рад... особенно, если они на русском... особенно, если они около темы (например как в brother © (01.09.14 19:24) [3])
← →
Ламот © (2014-09-02 13:09) [14]Начинаю разговаривать сам с собой, надеюсь не забанят... ))
Почему не стоит резать мощность в моем случае (имхо):
http://habrahabr.ru/company/yota/blog/116837/
Соседние точки выступают в качестве глушилок/источника шума, поэтому не смотря на достаточную мощность сигнала "возле" роутера имеем не шибко "ровный" конект... дабы снизить нагрузку на и без того лагающую железку, можно попробовать отфутболить "удалившихся" из кабинета и там висящих непойми в чем с телефонов/планшетов/ноутов...
Как-то так...
Проблема отчасти надумана и рассматривается за для расширения кругозора, просьба ногами не пинать (за надуманность), а помочь полезными текстами(ссылками)
← →
Ламот © (2014-09-17 11:56) [15]Сори за некромантию, но решил апнуть эту ветку, вместо того, что б создавать новую...
В рамках описанного выше на данный момент времени имею:
Есть много исходников драйвера от производителя;
Есть понимание где и что я хочу "добавить";
Есть "наколенная" сборка, которая работает...
И вот теперь: есть проблема! ))))))
Я вношу изменения в 3 разных файла с расширением .с;
Во всех 3х я хочу работать с одной и той же переменной!
В "наколенной" сборке я объявлял 3 разные переменные, в них забивал определенное значение, make"ал, проверял (менял значение на "нужное" заливал на железку, тестил) - функционал работает, но!
Как я хочу, чтоб оно работало:
В файле №1 в готовы функционал вставил свою обработку для изменения значения мин.уровня;
В файле №2 в готовы функционал вставил сравнение уровня вновь подключаемого клиента с заданным;
В файле №3 в готовы функционал вставил проверку соответствия уровня для текущих клиентов;
Далее мои грабли:
Во всех этих 3х файлах "безусловно" инклудится 1 и тот же хедер. Решил я в нем объявить свою переменную в надежде на то, что б с ней смогли работать все "мои" функции. Делаю так: в конце хедера дописал строку:static int Low_Level_Signal = -130;
При попытке выполнить make сыпется с ошибкой: переменная Low_Level_Signal объявлена, но нигде не используется...
Уважаемые знатоки, подскажите пож.:
1) Из-за чего сыпется make? Неправильно объявил? Зря пытаюсь инициировать в хедере? Нужно объявить её как global вместо static??? Где и как её нужно объявить, что б она была доступна для "всех"????
2) Как "правильно" инициировать? У меня есть конфиг.файл, в котором хранится значение этого уровня (переменной)... я добавляю в init строку шел.кода, которая передаст драйверу значение из этого конфига... Стоит ли в этом случае объявлять Low_Level_Signal как "= -130" (перестраховываюсь на случай, если кто-то потрет мой конфиг.файл, что б потом боков в работе драйвера небыло из-за проверок с неинициированной переменной... -130 это недостижимый уровень, в действительности -127 минимально-возможное значение, таким образом, если кто-то отредактирует мои конфиги - работоспособность железки не должна пострадать)... Собственно вопрос сводится к тому: можно ли в хедере объявлять и инициировать переменные? Или это противоречит догмам? В общем - пните пож., где и что почитать по теме объявления/инициализации и области видимости переменных в модулях ядра касательно сишного пунтаксиса...
Заранее спасибо))
← →
Styx (2014-09-17 14:03) [16]
> Собственно вопрос сводится к тому: можно ли в хедере объявлять
> и инициировать переменные?
Нет.
← →
Ламот © (2014-09-17 14:43) [17]Styx (17.09.14 14:03) [16]
> Собственно вопрос сводится к тому: можно ли в хедере объявлять и инициировать переменные?
> Нет.
Грустно, собсно - так и думал, а где б и что прочесть, что б знать наверняка?! )
Или, если тут пробегали сишники - может они подскажут: как правильно, с точки зрения сишного синтаксиса, описать и инициализировать глобальную переменную? Сори, вопрос кажется мелким, но чё-т я на нем затупил и не с места дальше... ((
← →
Styx (2014-09-17 15:57) [18]Если Вы в хедере объявляете переменную, это означает, что это объявление будет в каждом файле, куда Вы этот хедер включаете, соответственно, она попадёт в каждый объектник, и при линковке будет конфликт имён. Вам нужно обычным объявить переменную в одном файле, а в остальных объявлять её как внешнюю (external).
← →
Ламот © (2014-09-17 16:01) [19]Ладно, перефразирую:
1) можно ли(корректно ли) в хедере написать:global static int My_Env;
2) Советчики на местах мне шепчут, что при таком объявлении, My_Env не обязательно инициализировать... тобиш, если в модуле, инклудящем такой хедер, обратиться к переменной My_Env, то в ней уже будет 0... это правда или очередная мистификация??
← →
Ламот © (2014-09-17 16:03) [20]О!!!! Спасибо!!!!! )))))))))))
Ушел в пробу/проверку!! )))
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2015.05.03;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.002 c