Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
2-1391965921
Вова
2014-02-09 21:12
2015.05.03
Нужен алгоритм


8-1236085248
StriderMan
2009-03-03 16:00
2015.05.03
Преобразовать картинку в массив байтов RGB


15-1411245003
Юрий
2014-09-21 00:30
2015.05.03
С днем рождения ! 21 сентября 2014 воскресенье


3-1303936117
Lutdan
2011-04-28 00:28
2015.05.03
Поиск по дате в БД Access


15-1410758461
alexdn
2014-09-15 09:21
2015.05.03
Научите работать с git!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский