Мной и theMIROn, при поддержке сочувствующих товарищей (rss, al37919, angel_il и других форумчан),
сделан вариант прошивки Олега с обновленными ядром Linux, uClibc и многими пакетами.
Этот проект - http://wl500g.googlecode.com является развитием прошивки Олега.
Поддерживаемые ветки прошивки и модели роутеров:
- 1.9.2.7-rtn - основная, на ядре 2.6.22, поддерживает:
Asus RT-N16, RT-N15U, RT-N12, RT-N12B1, RT-N10, RT-N10U, RT-N10U_B, WL-500gP, WL-500gPv2, WL-500W
.- 1.9.2.7-d - стабильная, на ядре 2.4.37, развитие приостановлено, поддерживает:
Asus WL-500gP, WL-500gPv2, WL-500W, WL-500gX, WL-520gU, WL-550gE, WL-330gE, WL-320gE, WL-320gP
Основные отличия от прошивки Олега 1.9.2.7-10:
- Ядро Linux 2.4.37 [сделан бэкпорт драйвера EHCI (USB 2.0), драйвера option, FUSE, множество багфиксов]
- uClibc 0.9.30.1
- включён accel-pptp [ускорение pptp более чем в 2 раза]
- iptables 1.3.8 [layer7, ipset, IMQ, webstr, esfq шедулер, багфиксы]
- iproute2 2.4.7-now-ss020116 [pfifo_fast, esfq, багфиксы]
- dnsmasq 2.55
- busybox 1.17
- vsftpd 2.3.2
- поддержка dyndns сделана на inadyn
- libusb 1.0 + usb_modeswitch 1.1
Более полный список изменений: http://code.google.com/p/wl500g/wiki/News
Примерный порядок перехода на нашу прошивку:
- сохранить конфигурацию и flashfs (если у вас прошивка Олега)
- прошить 1.9.2.7-d через web интерфейс
- сбросить в дефолт (для прошивок Олега свежее, чем 1.9.2.7-8 необязательно)
- восстановить конфигурацию и flashfs
- по желанию - донастроить
Домашняя страница проекта: http://wl500g.googlecode.com , там же выложены релизы прошивок.
Прошивки, выложенные на других серверах, являются или тестовыми сборками или локальными модификациями
сторонних разработчиков. Их использование целиком на совести пользователя, при этом предполагается, что
пользователь знаком с содержимым ревизий, публикуемым на http://code.google.com/p/wl500g/source/list
Ежедневные ночные сборки для тестирования можно скачать здесь:
http://asus.vectormm.net/rtn/
http://wpte.kicks-ass.net/downloads/...ware/Nightlys/
http://vampik.ru/wl500g/rtn/
http://rtn.alegzz.ru/
Если у вас вдруг возникло желание отблагодарить нас за проделанный труд, это можно сделать
перечислением на электронные кошельки WebMoney, в том числе через платежные автоматы:
R300118637923
Z268767167768
Ищем энтузиастов для помощи дальнейшему развитию прошивки и написанию статей в Wiki.
От Модератора: данная тема предназначена для обсуждения процесса разработки прошивки, исправления ошибок.
Вопросы связанные с решением частных проблем конечных пользователей, настройкой приложений и пр. следует
публиковать в остальной части форума. Из этой темы они будут удаляться, либо перемещаться во флудильню.
Last edited by Omega; 15-04-2014 at 12:10. Reason: fixed
с этим полностью не соглашусь. Существует устаревший тулчейн unslung/wl500g ( http://ipkg.nslu2-linux.org/feeds/unslung/wl500g/ ) коим скомпилировано немало пакетов. Прошивка Олега, насколько мне известно, компилится им же. По крайней мере, если устанавливать софт в flashfs, то эти пакеты --- есть правильный выбор, не требующий установки uclibc-opt.
Надо добиться успешного пересобирания прошивки Олега, линки на главной странице oleg.wl500g.info и http://wiki.wl500g.info/index.php/co...customfirmware
Потом станут понятны мои фразы в первом сообщении. Времени написать детальное руководство нет, увы.
А зачем?
Много ли пакетов завязано на ядро? Навскидку - apcupsd, bluez, gdb, modutils, usbutils, wpa-supplicant
Да и то, если используемые структуры не изменились - всё будет OK.
В большинстве пакетов /opt уже используется uClibc 0.9.28 и новее, да и ищется она в /opt/lib ...
Для подавляющего большинства пакетов роялит ТОЛЬКО uClibc!Вопрос - тулчейны прошивки и пакетов насколько я понимаю разные? Если так, то как оно одно с другим коррелирует? Если например изменилось ядро, то тупая пересборка всех пакетов не спасёт от потенциальной несовместимости?
IMHO стоит перекомпилировать только по факту segfault, ну или если уж очень хочется использовать только один экземпляр uClibc.
Да нет, вроде всё так. kernel-buildhost.patch не менялся год, так как подходил у меня ко всем ядрам. Во-первых, OpenWRT патчи наложились успешно?
Во-вторых, для отладки в каталоге wl500g-1.9.2.7-d/kernel формируется отладочный лог patch_debug.log, пришли мне его или глянь сам.
У меня сейчас используется последнее ядро - 2.4.36.9
Именно 29 -> 30 ? Что-нибудь критичного для MIPS ты нашел?
Это бинарники управления Wi-Fi модулем у АСУС'а. У Олега они лежат сразу в ELF, даже не .o И Broadcom свой SDK просто так не раздаетOriginally Posted by crick
На сайте OpenWRT валяется какой-то вариант broadcom-wl-4.150.10.5.3.tar.bz2 , но чем он отличается от варианта Олега, в его отсутствие, спросить не у кого... И версионными тегами Broadcom'овцы брезгуют
Добавлено в 13:19: слинковал nas_exe.o и wl_exe.o из OpenWRT'шного варианта - получил ту-же версию wl и неизвестную nas (т.к. опции выдачи версии в нём не обнаружил). В чём разница - пока не понимаю, ушел думать...
Last edited by lly; 30-11-2008 at 11:21.
Часть пойдет, часть нет. Ты точно уверен что нет исходников? Может они просто лежат в инете, а не включены в чешский патч.
Глянул сам:
- ipw.o - бекпорт из ядра 2.6, можно просить у engy
- zadacom.o - бекпорт драйвера от Sierra, вроде-бы GPL, тоже надо списываться с автором
- modem.o - ??
Ядро 2.6 несовместимо с Broadcom'овским SDK, соответственно все оригинальные утилиты из прошивки ASUS по управлению WiFi идут лесом, и до сих пор остались проблемы с драйверами. Итого, получаем OpenWRT №2 - и зачем?
Last edited by lly; 02-12-2008 at 10:27.
ну они и так вроде лежат отдельно:
http://koppel.cz/cdmawifi/download/1...SB-1.71.tar.gz
За исключением патчей на ядро - можно. Но мне казалось, что это должен был сделать автор
По патчам на ядро - надо сидеть и разбираться, что уже включено в последнее ядро, а что нет. У меня пока нет времени.
P.S. Даже уже если бы он сделал подключение devpath через условие CONFIG_USB_xxx, было бы намного легче.
Выдалось время - глянул подробнее на чешский патч, побил на части по функционалу:
- cdma-kernel-ftdi.diff - Обновление драйвера ftdi_sio.c, включил в свою прошивку
- cdma-kernel-usb_acm.diff - Обновление драйвера acm.c, включил в свою прошивку
- cdma-kernel-conntrack.diff - новая функция ip_conntrack_clear - кто знает зачем??
- cdma-kernel-ppp.diff - новая функция ppp_filter, добавлю по возможности
- cdma-kernel.diff - остальные патчи на ядро, требуется фильтровать правки usbserial.c от нового функционала devpath. Как будет еще время, гляну
- cdma.diff - всё остальное, не относящееся к ядру, разбираться времени нет. Кто там хотел ? artp, angel_il - смотрите!
P.S. По поводу исходников модулей cdma модемов я напишу engy, но что он ответит, это еще вопрос...
Last edited by lly; 23-01-2009 at 20:03.
а можно текущий файл посмотреть linux/net/ipv4/netfilter/ip_conntrack_core.c
vim имеет два режима - бибикать и все портить (с) не мое