Перейти к содержимому
Калькуляторы

Rtl8186 Firmware Всем, кто пишет под RTL8186

Kitsok,

не дури :)

У меня вся настройка прошивки основанна на том, что я весь каталог упаковываю И ЗАПИСЫВАЮ ВО ФЛЕШ.

А на старте системы ЧИТАЮ ИЗ ФЛЕША и распаковываю в каталог.

 

И

Без этого долбанного драйвера

 

Если тебе лениво качать всю прошивку - то забери отсюда один файл.

Заметь - ОН РАБОТАЕТ :)

Я через эту прошивку между прочим сейчас в нете сижу :)

http://www.citylink.net.ua/flash_sr.c

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ядро файловую систему не берет вообще, она подшита к ядру в виде рамдиска

Читай форум и разберись в принципе построения прошинвок.

 

Есть 2 способа формирования файловой системы:

1 - через initrd - действительно подшитая к ядру файловая. Применимо на системах с 16-ю метрами памяти. К примеру - ovisLink 5460. Эта железяка стоит сейчас у меня как точка для доступа в нет. На форуме сижу через нее. Файловая действительно прилинкованна к ядру. Настройки пишутся (у меня) фо влеш как tar.gz файл всего каталога /usr/local через /dev/mtd

 

2. - через отдельную файловую только для чтения. Используется в системах с 8-ю метрами памяит для экономии оперативки и не занимания ее файловой системой с бинарниками и т.д. Пишется во влеш как отдельный мрдуль root.bin, начинается с сигнатуры ROOT. При этом ядро ее открывает через /dev/mtdblock или /dev/mtd1 и примаунчивает как sqfs. Для этого в коммандную строку запуска ядра добавляется

strcat(arcs_cmdline,"root=/dev/mtdblock1 console=0 single")

в файле arch/mips/philips/nino/prom.c

При этоя ЯДРО ЧИТАЕТ ФЛЕШ для создания и поддержания файловой при каждрм обращении.

 

Учите мат.часть

 

Нет, я конечно понимаю, что в SDK от 5460 это просто отсутствует в мейках - но в mkimage то есть - можно ведь было и разобраться :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще чуток флейма на тему зависания 5460 (я думаю многих это интересует - просто на данный момент моя больная тема) . Значит так:

1) Точка 5460 в режиме клиент( с прошивкой dgreen ), сама плата без корпуса замотана в поролон + термодатчик на процессоре + короткозамкнутая антена аля биквад + 3 включенных точки на том же канале (имитация рабочей среды) + электронный осцилограф на ножке питания флеши и проца (на одной шине сидят) - коннект к точке g700ap в режиме AP (с родной прошивкой+ скрыли SSID)

2) Результаты тестов непонятные - прогонка файлов по фтп (фильмы по 700гиг) - результат успешный - ни одного зависания

3) Прогон ICMP пакетов по 65кбайт 10 сесий :) - начала виснуть-после старта 8мин все Ок и потом ни один интерфейс не отвечал до перезагрузки ... (может маскарад? ГЛЮЧИТ?) странно ... конечно никогда такого не видел ...

4)Подкинули консольный порт через max232 - rs232 - перестала глючить вообще

5)Если не коннектить eth0 или eth1 в свич(сетевуху или просто заглушку) она гглючит по страшному (чтот там бридж пытаеться подыматься при старте хотя явно судя по скриптам MODE=ROUTER стоит и скрипты соотвествующие) глючит в смысле - wlan не подымаеться больще 10секунд ... Пробывали все - но так оно и есть ...

6)Пока точка находилась под консолью rs232 -за 4 часа ничего не случилось ... хм точно НЛО....(хотелось посмотреть на состояние с консоли- а она невисла)

 

Прислушался тут к мнению N.Lieten : Вот только узнал еще один глюк дровов для беспроводного интерфейса - когда точка в режиме роутера, то до нее никак нельзя достучаться с беспроводки, если она сама не начинает передавать инфу.

Наверно все действительно в драйвере wlan кроеться ...

Залил на 5460 прошивку 2006 года овислинка .. видимо драйвер wlan другой совсем ... работает вообще без вышеописаных траблов пока ...

 

Во время тестов - изменений в напряжениях на контролирумых участках не наблюдалос и температура выше 55С не подымалась - вывод железо в норме ... с родным БП ... через соседние (паразитные AP работающие на этомже канале - были загружены трафиком по полной т.е. помеха была конкретной) .. НЛО - одним словом ...смеюсь и плачу ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подкинули консольный порт через max232 - rs232 - перестала глючить вообще

....

Пока точка находилась под консолью rs232 -за 4 часа ничего не случилось

Наверно все действительно в драйвере wlan кроеться ...

 

Не стыкуется. Никак :(

 

Залил на 5460 прошивку 2006

.....

работает вообще без вышеописаных траблов пока

 

Вроде получается виноваты дрова.

 

Бред.

 

Учитывая еще, что овисы с родными прошивками изначально глючили (висли в непредсказуемый момент - это проверенно - а с новыми не виснут.... вроде софт виноват.

Но причем здесь подключение консольного порат ? Как это может повлиять на софт ?

 

Осталось провыерить в работе d-link с той же прошивкой. Других способов сбора информации я пока не вижу.

 

Хотя есть еще мысль. Овисовская прошивка работает ТОЛЬКО как бридж. Моя - ТОЛКО кк роутер.

Может собара ямки покопала именно здесь ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

dgreen, Я ж говорю НЛО ... Пока подключена была консоль rs232 она не глючила :( (может совпадение конечно).

 

И не утверждаю что дрова виноваты ... но с железом (температура и питание) точно все в норме ... :(

 

Ну и странность в том что пока не воткнешь езернет кабель хотябы в один порт, wlan не подымаеться больше 10сек ... Вообще непонятно почему .. одновременно с консоли смотрел мибы cat /proc/*** и cat /proc/wlan0/****

 

Так и не нашел ГДЕ и вчем собачка рылась ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

dgreen, Я ж говорю НЛО ... Пока подключена была консоль rs232 она не глючила :( (может совпадение конечно).

 

И не утверждаю что дрова виноваты ... но с железом (температура и питание) точно все в норме ... :(

 

Ну и странность в том что пока не воткнешь езернет кабель хотябы в один порт, wlan не подымаеться больше 10сек ... Вообще непонятно почему .. одновременно с консоли смотрел мибы cat /proc/*** и cat /proc/wlan0/****

 

Так и не нашел ГДЕ и вчем собачка рылась ...

 

Добавлю от себя еще про глюки.

Было замечено что при выключении базы клиенты(g700ap) через некоторое время просто зависали. не отвечали на пинги по eth0 и естественно к базе после ее оживания обратно не прицеплялись. То есть мертвый висюк.

 

Пробовал свою прошивку для g700ap вливать в овис 5460. работает. Правда только с 8 метрами так как ядро про большее не знает; Зато в овисе 2 сетевых интерсейса. Можно роутить между ними. Работает. Проверено.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так где можно пощупать прошивку посвежее? У меня стояла от adron2, но убрал, так как в ней 11b было только. Сейчас работает на стандартной, переконфигуренной в клиента, но очень уж хочется routed режим :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

адрес старый: ftp://193.227.250.26/firmware/

 

PS Добавил еще изменение параметров НАТ25 и МАС-клон... со вторым понятно, а что первый делает - не уяснил еще. И еще GRE туннелирование поддерживается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

N.leiten,

Но еще немаловажный аспект уточнил - указание широковещательного айпишника, т.к. на нестандартных масках он не высчитывается...

Я на прошивке от adron2 в файлик rc.local прописывал ifconfig eth0 192.168.10.1 netmask 255.255.255.252 broadcast 192.168.10.3 metric 1 и.т.д

и кучу алиасов присобачивал (на точке был НАТ и от нее получали инет 7 клиентов каждый в своей подсети по /30bit маске (ну привык я так и броадкаста всякого меньше и клиенты друг дружку не видят)

строкаи типа такой ip a a 192.168.16.1/30 brd + dev eth0 :) и так подымаються и натяться все алиасные интерфейсы, подымал до 20 шт - дальше было лень :) Статья удобная для чтения тут http://forum.vingrad.ru/index.php?showtopic=37121 (про IP) .. Може пригодиться...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Кстати, есть еще один или глюк или баг - при пинге точка отвечает не менее 10мс, а то и до 50мс возрастает задержка. Я грешу на кривые дрова и загрузку проца (второе маловероятно, т.к. при родной прошивке пинг до 1мс). Кто-то сталкивался?

 

ЗЫ. С ifconfig я ушел уже давно и пользуюсь iproute2 - гораздо удобней и больше функционала в одной команде :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ох, некогда мне все заниматься - так, вечерами помаленьку - в итоге двсе движется со скрипом :(

 

Это было предисловие. Теперь то, до чего не доходят пока руки, а сделать, наверное надо.

1 - это watchdog. Я с ним пробывал повозится -какой-то странный глюк наблюдается.

Сначала включаем его через iwpriv, затем пишем в регистр период. Если пишем маленькое число (1,2,5) -он великолепно срабатывает, точка уходит на перезагрузку. Но стоит записать что-то разумное и побольше - никакоего эффекта. Что-то я недопонял в его работе. А вот его запуск решил бы проблему (пусть не совсем хорошо - но хоть как-то) с зависанием устройств. По крайней мере, не надо было бы к ним бегать.

Может кто возьмется?

 

2. Самое основное для меня - корявость (отваливание) при работе со скрытым SSID.

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

Если у кого есть время и желание - объясню.

При вызове rtk8185_expire_tuimer в /kernel/timer.c ему в качестве параметра передается указатель на приватную для таймера область данных (вроде как).

В этой облести по смещению +172 (нвашел таки в дизассемблированном участке :) ) лежит счетчик вызовов для отвала expired-станции. При доходе до 12 (интересно, почему именно 12 ?) происходит переход в процедуру отвала.

Если при каждом вызове менять его на 0 - то отвала не будет.

Можно конечно поискать там и чсетчик беаконов - не думаю, что есть это великая прболема. Тогда было бы красивее.

Но надо пробывать - а времени нет.

Сегодня уезжаю на 2 дня в Киев - вернусь - буду доделывать новое ядро с новым софтом (меня все достало - я собрал вю прошивку заново. С новым софтом. Со всеми последними версиями, даже последний uClibc присобачил.

К стати - ядро упаковал до 500К :)

После - если никто не повозится с параметрами драйвера - возьмусь за них.

 

N.leiten, когда все будет готово - тебе на фтп можно вылить ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ФТП открыт по-прежнему... правда у меня щас на канал больше нагрузки лягло, но это не проблема, думаю.

Я уже на днях получу три точки именно для экспериментов, так что включусь в работу :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

N.leiten,

Кстати, есть еще один или глюк или баг - при пинге точка отвечает не менее 10мс, а то и до 50мс возрастает задержка. Я грешу на кривые дрова и загрузку проца (второе маловероятно, т.к. при родной прошивке пинг до 1мс). Кто-то сталкивался?  

 

Да к сожалению ... :( Есть такое дело : ( В прошивке dgreen, с ковырянными дровами на wlan ... Но зато хоть как то со скрытым SSID заработало :) В прошивках с нековырянным ssid такого не замечал - пинг ровный 1-2мс (даже при маленькой загрузке - железяка g700ap)

 

Залил в ovislink 5460 прошивку родную-последнюю 2006г с офицального сайта ... точка перестала вообще глючить пинг на wlan 1мс :( Все таки реалтековцы и молодцы что доделали свою прошивку до ума ... и совсем не молодцы потому что не дают исходники нового драйвера ... Ну ниче я думаю dgreen их переплюнет :)

 

З.Ы. Надежда - умирает последней ©

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может действительно было бы проще достать дрова из прошивки овиса?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я думаю что можно - только нужно наверно лет 5-10 с ассемблером повозиться :(( И че я не програмист :( Говорила - же мама - учи сынок ассемблер :) (шутка ... зря что не говорила)... Я думаю процедура должна быть такая (не пинать - в ассемблере новичокс) : Декомпилить всю прошивку (и еще убедиться что отдекомпилилась правильно) и искать кусок где находиться драйвер ... ну а потом если найти - лучше конечно написать новый исходник для сборки ... Лень конечно с ассемблером разбираться но вижу что НАДО ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2N.leiten

Было быздорово маленький ридми добавлять в прошивку, типа такого

 

1) Что нового в данной версии

2) Порядок установки

как перепрошить

какой IP после перепрошивки

какой логин/пароль после перепрошивки

3) небольшой FAQ по конфигурации (как создать local.rc, какие команды вообще есть, у меня есть еще ADSL+WiFi модем G604T с самопальной прошивкой от McMCC, так там совсем иная идеология работы с конфигурацией, думаю этот раздел будет полезен тем, кто первый раз столкнулся с G700)

4) Контактная информация

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот сижу Киеве, все дела поделал - до поезда еще 4 часа. Скучно - зашел в инетклуб :)

 

То, что забыл спросить вчера - кто разбирался с QoS ?

Я посмотрел у поляков - там исходников нет. Только упоминание, что их переделки ядра неесть GPL

А хотелось бы тоже прикрутить - полезная вещь в плане - не дать укложить одному клиенту точку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По поводу QoS нужно у разработсчиков с http://forum.ixbt.com/topic.cgi?id=14:34671 спросить. Там подняли это дело.

 

2N.leiten:

не совсем понял как врубить 11g, arate старый, если руками, то выставить BASIC_RATES в 15?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Со скоростями надо работать по маске. То есть, например у нас доступны скорости 1,2,5.5,11,6,9,12,18,24,36,48,54M, если по-порядку выставить нолики, то получим 12 ноликов/единичек - 12 бит. То есть, что-то, проде такого

111100000101 (это наша маска скоростей побитовая, теперь это двоичное число переворачиваем - то есть пишем зеркально, полчуим 101000001111, и переводим в десятичное и записываем в конфиг). Например, нам нужна скорость 24Мбит, то мы записываем порядок 000000001000, второй шаг - зеркало, получим 1000, в десятичной форме это 8. Тут стоит отметить отдельно режимы работы. Для 11g потребуется 12 бит, то есть 1000 это соответствие 24Мбит, а в 11b всего 4 бита, то есть 1000 это соответствие 11Мбит скорости.

 

Если я неправ, поправьте - я нечаянно, объяснил на сонную голову как вспомнил :)

 

PS Режимы переключаются ключом BAND, если 1 - то это 11B, если 2 - то это 11G

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мда. Дело немного сдвинулось - причем сразу в нескольких направлениях.

Это все будет что-то типа отчета о проделанной работе :) Интересно - в основном разработчикам. Остальным можно и не читать :)

 

1. Я тут писал по поводу watchdog-а аппаратного Были у меня проблемы. Нашел. Как всегда - все просто. Ядро его уже включает. И на каждом тике таймера - сбрасывает. Именно поэтому у меня не ставились большие интервалы - он просто срывал его на следующем тике - а это около 10 мс. Называется - читайте конфиг. Там его можно выключить - и перенести с ядра в userspace. Зачем переносить ? А теперь подумайте. Точка виснет. Намертво - проверенно и мной и AlexNic. С оригинальной прошивкой (последней V2) она не виснет - но ПРОПАДАЕТ и сети, причем в те же моменты, кокда перешитая виснет. Проверенно - всю ночь проблем нет. С 9 до 11 часов обязательно повиснет. А С оригинальной прошивкой - исчезнет на срок от 3-х до 30-и минут. Сначала я решил, что она таки в этот момент перегружается. Но uptime не сбросился. А значит, овисы перегружают в ней дрова, реинициализируют в том случае, если она ушла в даун. Физически она не виснет, т.к. ВКЛЮЧЕ хардварный watchdog !!! А значит ядро продолжает работать. Но - на моей прошивке в цикле крутится мигание светодиода - причем именно в юзерспасе. И когда точка исчезает - светодиод не мигает. А значит ядро живое, а управление за пределы ядра не выходит. Т.е. где-то что-то мы ждем на уровне ядра - когда не отбирает ядро управление.

Если перенести wtchdog в юзеспасе - то этот момент отловится.

 

2. Не хочу ругаться сильно, поэтому ничего о реализации управления флешем реалеком писать не буду :) Опишу только, что mtdlink.o и mtdlink_gw.o отличаютмся тем, что первый делает устройство /dev/mtd MAJOR=31 MINOR=0 , которое есть блочное устройство для доступа к флешу по полной программе. Второе - делает 2 mtd_partition - соответственно от начала до файловой и саму файловую. А вот тут реалековским программерам стало лень. Лень искать сигнатуру ROOT, дкмать и проверять, это правильное место или нет - и они поли по пути наименьшего сопротивления. Они разбили флеш.... ПОПОЛАМ ! т.е.первая часть - /dev/mtd0 MAJOR=31 MINOR=0 - это участок от 0x0 до 0xFFFFF, а второй - /dev/mtd1 MAJOR=31 MINOR=1 - это участок от 0x100000 до 0x1FFFFF. И все. И код создания спрятан в mtdlink_gw.o :)

В общем - пока я смог доделать ядро так, чтобы оно по initrd подхватывала один кусок как root, а второй кусок из /dev/mtd1 примаунчивала в /ro_fs. Точка грузится и все работает. Но вот память (флеш) распределяется по дурацким принципам реалтека.

0x000000 boot-loader

hw, ds, cs

linux + initrd compressed ramdisk

ДЫРКА

0x100000 sqfs

ДЫРКА

 

И объеденить эти две дырки не представляется возможным.

А теперь хочется сделать на флеше еще одну файловую типа JFFS - и примаунтить ее в в /usr/local - сразу с запсью фо флеш при переписывании файла :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кайф, dgreen. Слушай, а можешь скинуть мне твои исходники, в частности то, что уже исправлено, я буду делать прошивку по твоей схеме (с записываемым архивом).

Правда не знаю, стоит ли лепить туда jffs, просто каждый раз дергать флеш - не хочется. Так сказать минимизировать количество обращений записи/перезаписи к ней. То есть именно используя архив с частью файловой системы в конце флешки - самое оно.

 

ЗЫ. Вопрос не в тему, в общем при сборке файловой системы она у меня получается в полтора раза больше, чем обычно. Причеем видно даже по бинарникам. Беру Бизибокс адрона, собираю свой с тем же функционалом, и в полтора раза больше вышел - буду ковырять компиляторы, конечно, в частности ключи оптимизации, но все-же вопросы остаются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нашел тут вроде новое SDK для BR-6204Wg

 

http://obm.edimax.com.tw/eugene/GPL/BR-6204Wg/

 

Specifications

BR-6204Wg

CPU

Realtek RTL8186

RF Module

Realtek RTL8225

Flash

2 MB NOR Flash

RAM

16MB SDRAM

WAN Port

One 10/100BaseT Fast Ethernet

LAN Ports

Four 10/100BaseT Fast Ethernet

 

Мне подсказали что это устройство от скрытого ssid не отваливаеться -а значит и wireless_ag_net.o там новый или в сырцах ... качаю ... в надежде :)

 

dgreen, Не дозвонился до тебя, елси что этот SDK закатаю на болванку ;) (если ты его еще не качал)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Щас и я поставлю в закачку, может поможет :) У меня три точки на стенде для тестирования есть :) Буду лепить прошивку по образу дгреена :)

 

ЗЫ. На исходники и не надейся, если риалтековцы не выложили их изначально, значит есть что прятать для продажи подороже :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кстати, теоретически MIPS должен эмулироваться в qemu... это так, на заметку. У меня отладка моего софта с эмулятором пошла намного быстрее. ПРавда у меня не MIPS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вообщем мало чего полезного в этом SDK и сырцов драйвера нет :(

После долго ползанья по польскому форуму, нашел там человека который обещал помочь с драйвером в исполнений Appro (обещал последнюю версию по крайней мере) :)

 

З.Ы. Надежда умирает последней

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.