Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.05.03;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.006 c
15-1411072203
Юрий
2014-09-19 00:30
2015.05.03
С днем рождения ! 19 сентября 2014 пятница


15-1410600205
turbouser
2014-09-13 13:23
2015.05.03
С праздником, программисты!


15-1410689079
Вячеслав
2014-09-14 14:04
2015.05.03
Инструментарий для распределенной работы над проектом


15-1406036840
С-К
2014-07-22 17:47
2015.05.03
Исключение по левому адресу


2-1391965921
Вова
2014-02-09 21:12
2015.05.03
Нужен алгоритм