PDA

Bekijk de volledige versie : Нужна ли прошивка AsusWRT для роутеров серии WL-500 ?



AndreyPopov
30-07-2014, 17:11
если уж прошивка энтузиастов идет на новых роутерах RT-N16, RT-N15U, RT-N10U, RT-N12, то теоретически и ASUSWRT должна пойти на роутерах WL-500gp и WL-500W.

вопрос портирования ASUSWRT для серии WL-500 вообще кому-то интересен?

ryzhov_al
30-07-2014, 20:15
вопрос портирования ASUSWRT для серии WL-500 вообще кому-то интересен?Это снятые с производства модели, каждой из которых Азус давно подготовил и выпустил замену. Как вы сами видели, в кодовой базе asuswrt нет упоминания снятых с производства устройств. Кроме того, их производительность ставит под большое сомнение фич за пределами роутерного функционала.

Закапывайте. Их давно пора упокоить.

AndreyPopov
30-07-2014, 20:31
Кроме того, их производительность ставит под большое сомнение фич за пределами роутерного функционала.

Закапывайте. Их давно пора упокоить.

что-то пользователи не особо спешат их закапывать.

этих роутеров достаточное количество еще на руках, да и прошивка энтузиастов продолжает развиваться для них.

понятно, что в коде asuswrt отсутсвует упоминания о серии wl-500.


мне как-то в голову пришла мысль, что может пора уже энтузиастам переходить на новый уровень?
просто прошивка энтузиастов на тех же RT-N15U, RT-N10U, RT-N16 работает не совсем корректно - лампочки мигают не так как надо к примеру.

а новые роутеры все выходят и выходят.

вот вы Entware предложили и RMerlin его в свою прошивку добавил.

так может стоит уже перейти на новый код и новые роутеры?

попробовать забэкпортить AsusWRT-Merlin на wl-500gp, wl-500gpv2, wl-500w, wl-700?
в 8 метров флэша прошивка влазит!


может не до конца разобрался, но выглядит так, что:
1. надо драйвера отдельно:
wl_ap.o
wl_apsta.o
wl_sta.o
wk_high.o
для указанных моделей.

2. исправить init-broadcom.c для корректной инициализации внутренних коммутаторов

3. надо ли что-то делать с cfe тоже вопрос?

ryzhov_al
30-07-2014, 20:46
мне как-то в голову пришла мысль, что может пора уже энтузиастам переходить на новый уровень?Что пора делать энтузиастам лучше знать самим энтузиастам. Хочу напомнить, что у любого светлого начинания есть своё развитие, цветение и закат. С прежней студенческой прытью этим никто снова заниматься не будет. Время идёт дальше и пытаться войти в ту же воду второй раз смысла не много.


вот вы Entware предложили и RMerlin его в свою прошивку добавил.В прошивку добавлен не Entware, а скрипт для развёртывания Entware. Shibby в свой мод TomatoUSB вообще добавил наш скрипт развёртывания без каких-либо правок. Нафига только?


так может стоит уже перейти на новый код и новые роутеры?Так переходите на новые роутеры и оставьте в покое старьё. На новый GPL код, поверьте, энтузиасты с интересом поглядывают, правда их больше интересуют изменения в SDK.


попробовать забэкпортить AsusWRT-Merlin на wl-500gp, wl-500gpv2, wl-500w, wl-700?
в 8 метров флэша прошивка влазит!Вы представляете как будет ворочаться web-интерфейс asuswrt на wl-500gpv2? Он на RT-N66U не шустро работает. Кроме того, код asuswrt уже дико перегружен #ifdef/#ifndef для того, чтобы учитывать разницу между имеющейся кучи моделей. Это была одна из причин по которой Padavan переписывал rc-код с нуля. У азуса чёрт ногу сломит.


может не до конца разобрался, но выглядит так, что:
1. надо драйвера отдельно:
wl_ap.o
wl_apsta.o
wl_sta.o
wk_high.o
для указанных моделей.Это всего лишь бинарники из состава Broadcom SDK, к которым есть соответствующая часть кода в исходниках, в частности, правки в ядре. Необходимо смотреть, поддерживает ли та версия Broadcom SDK, что вы хотите использовать перечисленное старое железо. Почти всё перечисленное железо вообще MIPS R1. Придётся в т.ч. пересобирать тулчейн.


3. надо ли что-то делать с cfe тоже вопрос?Скорее всего ничего не надо. Если надо будет внедрять какие-либо новые переменные NVRAM, жизненно необходимые после полного сброса, то я расскажу как это сделать.

AndreyPopov
31-07-2014, 12:13
Вы представляете как будет ворочаться web-интерфейс asuswrt на wl-500gpv2? Он на RT-N66U не шустро работает.

тут вопрос спорный, однако.

я вот смотрю RT-N15U:
system type : Broadcom BCM5357 chip rev 2 pkg 10
processor : 0
cpu model : MIPS 74K V4.9
BogoMIPS : 249.85

и WL-500gp:
system type : Broadcom BCM4704 chip rev 9 pkg 0
processor : 0
cpu model : Broadcom BCM3302 V0.6
BogoMIPS : 295.93


я понимаю, что BogoMIPS очень относителен, но все же..... оба проца на 300Мгц.

и не могу сказать, что вэб морда Олега(энтузиастов) летает на RT-N15U, а ведь есть еще более слабые модели RT-N10 и RT-N12 - там вэб морда Asuswrt нормально себя ведет.

так что проблем не в вэб морде.

ryzhov_al
31-07-2014, 13:39
тут вопрос спорный, однако.Это мелочь. Ответьте для себя на более значимые вопросы: что вы в итоге подарите владельцам старых роутеров в результате своих усилий:


Увеличение производительности?
Новый WebUI?
«Уникальные» фичи AiCloud\AiDisk?

Какая из killer features азусовской прошивки заставит владельца старого роутера поставить asuswrt? Если игра будет стоить свеч, то вперёд, остальное будет зависеть от вашего энтузиазма.

Мой вердикт прежний — закопайте уже эти некророутеры. Всему своё время, в частности, их время уже ушло.
Команда Entware, скажем, иногда обсуждает переход на MIPS R2. Единственная причина, которая нас от этого удерживает состоит в том, что перечисленные роутеры ещё не все вымерли.

AndreyPopov
31-07-2014, 14:00
Это мелочь. Ответьте для себя на более значимые вопросы: что вы в итоге подарите владельцам старых роутеров в результате своих усилий:


Увеличение производительности?
Новый WebUI?
«Уникальные» фичи AiCloud\AiDisk?

Какая из killer features азусовской прошивки заставит владельца старого роутера поставить asuswrt? Если игра будет стоить свеч, то вперёд, остальное будет зависеть от вашего энтузиазма.

Мой вердикт прежний — закопайте уже эти некророутеры. Всему своё время, в частности, их время уже ушло.
Команда Entware, скажем, иногда обсуждает переход на MIPS R2. Единственная причина, которая нас от этого удерживает состоит в том, что перечисленные роутеры ещё не все вымерли.

одних моих усилий и одного моего энтузиазма на все это не хватит :(

адаптация Asuswrt-Merlin для начальных роутеров RT-N - вот мой энтузиазм
DualWan, JFFS, CIFS, SSH, VPN server and client, cron

вопрос не ко мне, вопрос наверное к "энтузиастам"?

по поводу вашего списка:

Увеличение производительности? - а ведь не исключено, что так и будет, просто никто не проводил сравнения!

Новый WebUI?- именно! и там в вэб-морде уже есть DualWan, JFFS, VPN server and client - этого нет у энтузиастов

«Уникальные» фичи AiCloud\AiDisk? - AiCloud,TimeMachine, MediaServer, OpenVPN в саму прошивку это вряд ли в лезет, но ведь у моделй wl-500 есть USB, а в вэб морде AsusWRT есть /ext и /user и можно сделать web-pack на флэшку с расширенным интерфейсом.

P.S.
Единственная причина, которая нас от этого удерживает состоит в том, что перечисленные роутеры ещё не все вымерли.

и лично у меня к примеру их четыре штуки трудятся(ВСЕ с восстановленными БП и один роутер восстановлен) и еще валяются 520gc и 520gu.

ryzhov_al
31-07-2014, 14:07
одних моих усилий и одного моего энтузиазма на все это не хватит :(Кто-то может подсказать по поводу деталей предстоящего пути, но путь придётся проходить именно вам. Никто в реализации вашей светлой идеи не заинтересован больше вас самих.



вопрос не ко мне, вопрос наверное к "энтузиастам"?Не понял. Предлагается всё это реализовать руками энтузиастов?

AndreyPopov
31-07-2014, 14:21
Не понял. Предлагается всё это реализовать руками энтузиастов?

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

и два - без их помощи лично я не смогу портировать Asuswrt - мои познания С и Java не столь глубоки.

поправить config_base и MakeFile где комментами, где пару if добавить, или заменить if if if на case:

http://forums.smallnetbuilder.com/showpost.php?p=131762&postcount=6

я еще могу. но вот SDK, тулчейн и преприоретарные драйвера - это для меня еще скрыто завесой тайны ;(

ryzhov_al
31-07-2014, 14:38
почему бы и нет? - это раз. имхо - как мне кажется надо сделать качественный шаг вперед?Ещё раз: «зааутсёрсить» других людей для исполнения своей задумки — плохая идея (http://wl500g.info/entry.php?27). Вы и только вы будете локомотивом своей цели.


и два - без их помощи лично я не смогу портировать Asuswrt - мои познания С и Java не столь глубоки.

но вот SDK, тулчейн и преприоретарные драйвера - это для меня еще скрыто завесой тайны ;(Вам обязательно помогут если вы будете «заражать» окружающих своей идеей, своим примером показывая насколько она вам нужна, показывая окружающим сколько сил вы на неё тратите и какие прекрасные плоды ваши усилия дают. Тогда и только тогда за вами и\или вашей идеей кто-то пойдёт.

А взывания к «качественным шагам вперёд» к другим людям лучше оставьте. Они никогда не действуют.

Omega
01-08-2014, 00:24
мне как-то в голову пришла мысль, что может пора уже энтузиастам переходить на новый уровень?
просто прошивка энтузиастов на тех же RT-N15U, RT-N10U, RT-N16 работает не совсем корректно
- лампочки мигают не так как надо к примеру. а новые роутеры все выходят и выходят.

Вот Вы Entware предложили и RMerlin его в свою прошивку добавил.
так может стоит уже перейти на новый код и новые роутеры?

попробовать забэкпортить AsusWRT-Merlin на wl-500gp, wl-500gpv2, wl-500w, wl-700?
в 8 метров флэша прошивка влазит! может не до конца разобрался, но выглядит так, что:

1. надо драйвера отдельно:
wl_ap.o
wl_apsta.o
wl_sta.o
wk_high.o

для указанных моделей.

2. исправить init-broadcom.c для корректной инициализации внутренних коммутаторов

3. надо ли что-то делать с cfe тоже вопрос?
Интересная мысль, может энтузиасты как-нибудь прокоментируют вопросы по этой теме? :rolleyes:
http://wl500g.info/showthread.php?33131-Entware-%E4%EB%FF-%F0%EE%F3%F2%E5%F0%EE%E2-%ED%E0-%EF%EB%E0%F2%F4%EE%F0%EC%E5-ARM-(Asus-RT-AC56U-68U)&p=265630#post265630

Ну и наш народ еще тут умудрялся запустить на этих старых добрых роутерах даже DualBand :p
http://wl500g.info/showthread.php?27717-Mini-PCI-mod-Asus-WL-500gPv1-(WL-500W)-%F1-2-4-5-GHz-DualBand/page5

З.Ы. Спасибо Андрею Попову за очень интересные темы по прошивкам AsusWRT для WL/RT-N :cool:

lly
01-08-2014, 08:57
Интересная мысль, может энтузиасты как-нибудь прокоментируют вопросы по этой теме? :rolleyes:
http://wl500g.info/showthread.php?33131-Entware-%E4%EB%FF-%F0%EE%F3%F2%E5%F0%EE%E2-%ED%E0-%EF%EB%E0%F2%F4%EE%F0%EC%E5-ARM-(Asus-RT-AC56U-68U)&p=265630#post265630

Ну и наш народ еще тут умудрялся запустить на этих старых добрых роутерах даже DualBand :p
http://wl500g.info/showthread.php?27717-Mini-PCI-mod-Asus-WL-500gPv1-(WL-500W)-%F1-2-4-5-GHz-DualBand/page5

З.Ы. Спасибо Андрею Попову за очень интересные темы по прошивкам AsusWRT для WL/RT-N :cool:
Я полагал, что комментарии особо и не нужны, большую часть откомментировал ryzhov_al, за что ему большое спасибо.

AsusWRT имеет в своей базе срез TomatoUSB, думаю это очевидно. Свежий Broadcom SDK врезал уже сам ASUS.
С CFE ничего делать не надо.

Если кратко, то всё просто - у нас лучше тулчейн, ядро, часть системных утилит, а у TomatoUSB/AsusWRT веб-морда и прикрученные юзерские плюшки.
Но заниматься реальной поддержкой морды и юзерских плюшек тупо некому. Полагаю, AndreyPopov просто пока не столкнулся с обратной стороной медали. Мерлиновский вариант, когда он боится любых правок ядра и/или uClibc как огня, лично мне не нравится. Но на вкус и цвет, товарища нет, как известно.

P.S. Блобы меня задрали - ситуация, когда в ядре ничего поправить нельзя из-за того, что какая-то дерьмюшка проприетарная отвалится, отвратительна.

AndreyPopov
01-08-2014, 11:46
Мерлиновский вариант, когда он боится любых правок ядра и/или uClibc как огня, лично мне не нравится. Но на вкус и цвет, товарища нет, как известно.

P.S. Блобы меня задрали - ситуация, когда в ядре ничего поправить нельзя из-за того, что какая-то дерьмюшка проприетарная отвалится, отвратительна.

ну Мерлин то основан на Asus исходниках и он свои обновляет(merge) по мере выхода свежих.

я не очень в курсах тонкостей, но ведь у у Мерлина можно сделать отдельный бранч на гит хабе? чтобы вносить правки и добавлять свои плюшки.



Если кратко, то всё просто - у нас лучше тулчейн, ядро, часть системных утилит, а у TomatoUSB/AsusWRT веб-морда и прикрученные юзерские плюшки.


ну так тем более, почему не перенести это все (ВСЕ ЛУЧШЕЕ) на "новую платформу"?
Мерлин-то не изобретал ничего, он просто добавил в исходники Asus то, что "обычно" добавляется.

вон Entware смотрит в сторону поддержки ARM.


Но заниматься реальной поддержкой морды и юзерских плюшек тупо некому. Полагаю, AndreyPopov просто пока не столкнулся с обратной стороной медали.
я и не спорю, я вообще первую firmware скомпилировал три месяца назад.
Asuswrt - месяц назад.

Мерлин в своем варианте поддерживает всего 5 моделей, а реально их больше 20-ти.
мое предложение исправить его Tools_Sysinfo у него кроме скепсиса ничего не вызвало:
понятно для трех моделей можно и if'ами обойтись, но 20 - требуют уже switch case.
но "вердикт" Мерлина был: для интерпретатора лучше 19 строк, а не 100.

http://forums.smallnetbuilder.com/showthread.php?t=18590 :)

P.S. есть куча проблем и при компилированни Asuswrt-Merlin:
- не получается обрезать прошивку, чтобы она была меньше 4 метров! при этом вэб морду обрезал так, что она меньше, по размеру, чем у Asus в его прошивках для 4м роутеров. /usr тоже меньше...
- стлкнулся с непоняткой, которую не могу осилить - при компилировании на основе Asus JFFS появлялась при свободном месте больше 512к и такой и была:
скажем роутер RT-N10P - флэш 8М, прошивка 5.5 - на asuswrt размер JFFS был 512к - 00770000-007F0000
при компиляции asuswrt-merlin - JFFS получается 2М - 005A0000-007F0000, при этом роутер жутко тормозит и не хочет сбрасываться на заводские.

вот где "собака порылась"?

lly
01-08-2014, 12:48
я не очень в курсах тонкостей, но ведь у у Мерлина можно сделать отдельный бранч на гит хабе? чтобы вносить правки и добавлять свои плюшки.
Дело не в том где держать репозиторий, а в том, кто именно будет всё поддерживать.


ну так тем более, почему не перенести это все (ВСЕ ЛУЧШЕЕ) на "новую платформу"?
Мерлин-то не изобретал ничего, он просто добавил в исходники Asus то, что "обычно" добавляется.
Всё тот-же "маленький" вопрос - кто всё это будет мержить? У меня, увы, времени на это нет. У theMIROn, похоже, тоже, teddy_bear уже несколько лет не занимается проектом.


вон Entware смотрит в сторону поддержки ARM.
Тут сильно проще - 90% зависит от тулчейна+libc, ибо ядром рулит прошивка.


- не получается обрезать прошивку, чтобы она была меньше 4 метров! при этом вэб морду обрезал так, что она меньше, по размеру, чем у Asus в его прошивках для 4м роутеров. /usr тоже меньше...
Практически нереально. Единственный вариант - отключить IPv6 и CONFIG_KALLSYMS в ядре.


- стлкнулся с непоняткой, которую не могу осилить - при компилировании на основе Asus JFFS появлялась при свободном месте больше 512к и такой и была:
скажем роутер RT-N10P - флэш 8М, прошивка 5.5 - на asuswrt размер JFFS был 512к - 00770000-007F0000
при компиляции asuswrt-merlin - JFFS получается 2М - 005A0000-007F0000, при этом роутер жутко тормозит и не хочет сбрасываться на заводские.

вот где "собака порылась"?
Надо смотреть исходники, как идёт разбивка mtd на разделы. Должно быть в linux/linux-2.6/arch/mips/brcm-boards/bcm947xx/setup.c. Ну и в rc может быть чего-нибудь наколбашено.

AndreyPopov
01-08-2014, 13:05
Практически нереально. Единственный вариант - отключить IPv6 и CONFIG_KALLSYMS в ядре.


IPv6 - отключен. куча все его еще отключено. но у ASUS прошивка влазит в 3,9, а у меня получается 4,3 :(
CONFIG_KALLSYMS - попробую.


Надо смотреть исходники, как идёт разбивка mtd на разделы. Должно быть в linux/linux-2.6/arch/mips/brcm-boards/bcm947xx/setup.c. Ну и в rc может быть чего-нибудь наколбашено.

setup.c - гляну (глянул один в один).
сейчас проверю вариант, когда вообще JFFS не создавалfсь, была меньше 512К, то включал дополнительные алгоритмы сжатия:
CONFIG_JFFS2_LZO
CONFIG_JFFS2_RUBIN
CONFIG_JFFS2_RTIME
думал может поможет меньшую JFFS сделать. проверю сейчас.

в rc сравнивал rc.c init.c - кроме добавления custom скриптов все один в один с ASUS.

спасибо!

-------------------------------------------------------------
нашел свой ляп. так увлекся обрезанием из прошивки "лишнего", что решил для моделей без USB убрать hotplug и hotplug2 - вот и напортачил :(


то-то и смотрю, что 15у и 10у работают нормально, а 10р и 12в1 не хотят.




Всё тот-же "маленький" вопрос - кто всё это будет мержить? У меня, увы, времени на это нет. У theMIROn, похоже, тоже, teddy_bear уже несколько лет не занимается проектом.


вопрос пока стоит в том КТО поможет спортировать?

lly
01-08-2014, 13:38
вопрос пока стоит в том КТО поможет спортировать?
Смотря что имеется в виду под "поможет"? :eek:
Глобально, как неоднократно писал ryzhov_al, придётся разбираться кому-то одному. По другому не бывает, увы.

Задачу придётся разбить на обозримые части и реализовывать по кускам. Охватить сразу всё - малореально. Даже Padavan уже стал отказываться от нового функционала в прошивке - нет возможности всё сопровождать. И это при том, что в их проекте поддерживаются только 3 модели...

Есть куски чисто механические, по типу втаскивания всего в git с историей (а не как у многих - одним нечитаемым коммитом). А есть - где надо хорошенько почитать/подумать над вопросом.

AndreyPopov
01-08-2014, 14:06
Смотря что имеется в виду под "поможет"? :eek:
Глобально, как неоднократно писал ryzhov_al, придётся разбираться кому-то одному. По другому не бывает, увы.

Задачу придётся разбить на обозримые части и реализовывать по кускам. Охватить сразу всё - малореально. Даже Padavan уже стал отказываться от нового функционала в прошивке - нет возможности всё сопровождать. И это при том, что в их проекте поддерживаются только 3 модели...

Есть куски чисто механические, по типу втаскивания всего в git с историей (а не как у многих - одним нечитаемым коммитом). А есть - где надо хорошенько почитать/подумать над вопросом.

а с чего начинать-то?

скажем с пробы скомпилить Asuswrt-merlin на ядре и тулчейне энтузиастов?

как добавить поддержку серии wl-500 в Asuswrt?
- для ядра включить mips r1 (ну он там по умолчанию вроде включен), так как раз mips r2 добавляется
- есть файлы wl_ap.o wl_apsta.o wl_apsta.o, которые точно нужны для wl-500
- есть файл init-broadcom.c где прописывается начальная инициализация switch - там надо добавлять и разбираться.

ryzhov_al
01-08-2014, 14:21
а с чего начинать-то?

скажем с пробы скомпилить Asuswrt-merlin на ядре и тулчейне энтузиастов?С пробы пересобрать (https://github.com/RMerl/asuswrt-merlin/tree/master/toolchain) азусовский тулчейн в имеющемся виде для того, чтобы его можно было модифицировать в будущем. Затем прошивку с его помощью и убедиться, что она работоспособна.


как добавить поддержку серии wl-500 в Asuswrt?
- для ядра включить mips r1 (ну он там по умолчанию вроде включен), так как раз mips r2 добавляется.MIPS R1 и R2 — это наборы инструкций микропроцессора. Инструкции формирует из исходного кода компилятор из состава тулчейна. Поэтому «включать» поддержку R1 надо в тулчейне.


- есть файлы wl_ap.o wl_apsta.o wl_apsta.o, которые точно нужны для wl-500Они точно MIPS R1? Повторюсь, это файлы из состава Broadcom SDK, поэтому перед началом работы надо выяснить, поддерживает ли та версия SDK, что вы собрались использовать старые SoC'и.

AndreyPopov
01-08-2014, 14:52
С пробы пересобрать (https://github.com/RMerl/asuswrt-merlin/tree/master/toolchain) азусовский тулчейн в имеющемся виде для того, чтобы его можно было модифицировать в будущем. Затем прошивку с его помощью и убедиться, что она работоспособна.




MIPS R1 и R2 — это наборы инструкций микропроцессора. Инструкции формирует из исходного кода компилятор из состава тулчейна. Поэтому «включать» поддержку R1 надо в тулчейне.


я готов попробовать. подскажите как?



Они точно MIPS R1? Повторюсь, это файлы из состава Broadcom SDK, поэтому перед началом работы надо выяснить, поддерживает ли та версия SDK, что вы собрались использовать старые SoC'и.
"есть файлы" - это не значит, что они есть, это была фраза к основной, что они НУЖНЫ. а вот где их взять и проддерживает ли их SDK - я точно на это эти вопросы не отвечу!

ryzhov_al
01-08-2014, 15:07
я готов попробовать. подскажите как?По ссылке выше папка с исходниками тулчейна, можно выполнить из неё команду make и посмотреть какие при этом посыпятся ошибки. Надо добиться того, чтобы тулчейн собирался без ошибок.

AndreyPopov
01-08-2014, 15:41
По ссылке выше папка с исходниками тулчейна, можно выполнить из неё команду make и посмотреть какие при этом посыпятся ошибки. Надо добиться того, чтобы тулчейн собирался без ошибок.
мерлиновский-асусовский тулчейн?

ryzhov_al
02-08-2014, 10:36
мерлиновский-асусовский тулчейн?Попробуйте самостоятельно ответить на этот вопрос.

AndreyPopov
02-08-2014, 13:36
Попробуйте самостоятельно ответить на этот вопрос.
ссылка та на него - значит его собирать. попробовал - начал ругаться, что ему нужен ncurses и zlib. таких пакетов напрямую в Ubuntu нет.


Практически нереально. Единственный вариант - отключить IPv6 и CONFIG_KALLSYMS в ядре.
отключение CONFIG_KALLSYMS вообще никак прошивку не уменьшило.
я уже сделал ВСЕ папки размером меньше, чем у ASUS.
осталась только одна папка больше - /lib/modules/2.6.22.19/kernel/driver/net
и там файл wl.ko - у ASUS он 1,65м, у меня получается 3,4м .

может подскажите как с этим бороться? ASUS зараза не выложил ни одного GPL для роутеров с 4М Asuswrt :(

DemonGloom
02-08-2014, 15:13
отключение CONFIG_KALLSYMS вообще никак прошивку не уменьшило.
я уже сделал ВСЕ папки размером меньше, чем у ASUS.
осталась только одна папка больше - /lib/modules/2.6.22.19/kernel/driver/net
и там файл wl.ko - у ASUS он 1,65м, у меня получается 3,4м .

может подскажите как с этим бороться?

ASUS зараза не выложил ни одного GPL для роутеров с 4М Asuswrt :(

Хм. Попробуйте натравить на этот модуль strip --strip-unneeded и strip --strip-debug . Может уменьшить размер. Учтите, что strip без параметров, скорее всего, испортит модуль и тот перестанет загружать.

AndreyPopov
02-08-2014, 15:54
Хм. Попробуйте натравить на этот модуль strip --strip-unneeded и strip --strip-debug . Может уменьшить размер. Учтите, что strip без параметров, скорее всего, испортит модуль и тот перестанет загружать.

если вы подсказали еще где это сделать?

если просто напустить на wl.ko - то strip говорить "невозможно определить тип файла"

кстати, внутри обоих файлов написано "not stripped"

DemonGloom
02-08-2014, 16:32
если вы подсказали еще где это сделать?

если просто напустить на wl.ko - то strip говорить "невозможно определить тип файла"

кстати, внутри обоих файлов написано "not stripped"

Можете выложить куда-нибудь тот файл? В теории - любая линукс-машина должна подойти. Попробую у себя прогнать.

AndreyPopov
02-08-2014, 16:39
сейчас выложу

ftp://85.198.188.40/pub/ASUS/ASUSWRT_MODDED/wl.ko_my
ftp://85.198.188.40/pub/ASUS/ASUSWRT_MODDED/wl.ko_asus

но наверное все же интереснее, чтобы понять как при компиляции прошивки уменьшать размер?

вот команду по созданию:
cmd_drivers/net/wl/wl.ko := mipsel-linux-ld -m elf32ltsmip -r -o drivers/net/wl/wl.ko drivers/net/wl/wl.o drivers/net/wl/wl.mod.o

а вот файл для создания wl.mod.o
ftp://85.198.188.40/pub/ASUS/ASUSWRT_MODDED/wl.mod.o.cmd

ryzhov_al
02-08-2014, 17:03
попробовал - начал ругаться, что ему нужен ncurses и zlib. таких пакетов напрямую в Ubuntu нет.Есть. Названы они несколько по другому, ищите.

AndreyPopov
02-08-2014, 17:10
Есть. Названы они несколько по другому, ищите.

ну он там "предупредил", что могут входить в другие пакеты. сейчас поищим :(

хотя странно, что все файлы, на которые он выругался libncurses.so or ncurses.h, libz.so or zlib.h - все есть в системе?

DemonGloom
02-08-2014, 17:37
сейчас выложу

ftp://85.198.188.40/pub/ASUS/ASUSWRT_MODDED/wl.ko_my
ftp://85.198.188.40/pub/ASUS/ASUSWRT_MODDED/wl.ko_asus

но наверное все же интереснее, чтобы понять как при компиляции прошивки уменьшать размер?

вот команду по созданию:
cmd_drivers/net/wl/wl.ko := mipsel-linux-ld -m elf32ltsmip -r -o drivers/net/wl/wl.ko drivers/net/wl/wl.o drivers/net/wl/wl.mod.o

а вот файл для создания wl.mod.o
ftp://85.198.188.40/pub/ASUS/ASUSWRT_MODDED/wl.mod.o.cmd

Увы, он даже в наиболее сильно урезанном варианте занимает 2.7М. В рабочем - всего на 100к меньше изначального wl.ko_my.
Так что смотрите - что можно отключить при компиляции безопасно. Кстати, судя по функциям - второй файл или собран со значительно меньшим комплектом функций, или из других исходников.

Кстати, как понимаю, вас интересуют пакеты libncurses5-dev и zlib1g-dev.

AndreyPopov
02-08-2014, 17:43
Так что смотрите - что можно отключить при компиляции безопасно. Кстати, судя по функциям - второй файл или собран со значительно меньшим комплектом функций, или из других исходников.

собран со значительно меньшим комплектом функций однозначно. если судить по wl.o.mod.cmd, где есть к примеру: -DCTF_IPV6 -DPROXYARP - а при сборке ядра я IPV6 и ROXYARP отключал.

может подскажите кто генерит файл wl.o.mod.cmd?

DemonGloom
02-08-2014, 17:49
собран со значительно меньшим комплектом функций однозначно. если судить по wl.o.mod.cmd, где есть к примеру: -DCTF_IPV6 -DPROXYARP - а при сборке ядра я IPV6 и ROXYARP отключал.

может подскажите кто генерит файл wl.o.mod.cmd?

Увы, не могу понять, которая ветка исходников используется в вашей сборке. Кстати, помогли ли вам указанные мной библиотеки?

AndreyPopov
02-08-2014, 18:00
Кстати, как понимаю, вас интересуют пакеты libncurses5-dev и zlib1g-dev. Кстати, помогли ли вам указанные мной библиотеки?
Ubuntu сказала, что последние версии этих пакетов уже стоят


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

asuswrt-merlin от вчера.

DemonGloom
02-08-2014, 18:37
asuswrt-merlin от вчера.

Просто по https://github.com/RMerl/asuswrt-merlin/tree/master/release есть несколько разных веток, в которых есть wl. Но я не нашёл там ни одной для wl500.

AndreyPopov
02-08-2014, 19:05
Просто по https://github.com/RMerl/asuswrt-merlin/tree/master/release есть несколько разных веток, в которых есть wl. Но я не нашёл там ни одной для wl500.

пока речь не о wl500. я пока пытаюсь впихнуть Asuswrt в роутеры с 4метровым флэшем (RT-N12, RT-N10PV2). просто тут сошлось в одной теме.

для wl500 пока проверяем toolchain собирается или нет.

DemonGloom
03-08-2014, 09:03
пока речь не о wl500. я пока пытаюсь впихнуть Asuswrt в роутеры с 4метровым флэшем (RT-N12, RT-N10PV2). просто тут сошлось в одной теме.

для wl500 пока проверяем toolchain собирается или нет.

Как понимаю, можно убирать ненужные функции из https://github.com/RMerl/asuswrt-merlin/blob/master/release/src-rt/wl/config/wl.mk , если используется именно src-rt, а не иная ветка.

AndreyPopov
03-08-2014, 10:50
Как понимаю, можно убирать ненужные функции из https://github.com/RMerl/asuswrt-merlin/blob/master/release/src-rt/wl/config/wl.mk , если используется именно src-rt, а не иная ветка.

видать не только он, поскольку там нет -DCTF_IPV6 -DPROXYARP

lly
10-08-2014, 12:32
видать не только он, поскольку там нет -DCTF_IPV6 -DPROXYARP
Без исходников wl акция по его уменьшению превращается в увлекательный квест по изучению формата ELF, binutils, и т.д.
Огромная часть драйвера - говнобалласт в виде firmware всевозможных карточек Wi-Fi, так как когда этот драйвер делался для ядра 2.4, возможности загрузить firmware с диска не было. А, поскольку, как известно, проблемы индейцев шерифа не волнуют, броадком так и не почесался ничего с тех пор(~2006 год) сделать.

Рабочий strip должен быть собран с поддержкой mipsel, наиболее правильный способ - использовать mipsel-linux-strip из тулчейна.

Насчёт тулчейна, если кратко, всё просто - binutils+gcc можно брать любые рабочие под данную платформу, а вот с libc(uClibc) есть небольшая засада в виде тех-же уродских юзерспейсных блобов wl/nas/eapd. Если есть понимание как, где и что линкуется, то можно портировать на почти любую версию. А если нет - увы, в двух словах это не объяснить.

AndreyPopov
10-08-2014, 16:53
Рабочий strip должен быть собран с поддержкой mipsel, наиболее правильный способ - использовать mipsel-linux-strip из тулчейна.


как выяснилось mipsel-linux-strip из тулчейна и так уже прописан внутри MakeFile:


export CROSS_COMPILE := mipsel-uclibc-
export STRIP := $(CROSS_COMPILE)strip -R .note -R .comment

find $(TARGETDIR)/lib/modules -name *.o -exec $(STRIP) --strip-debug {} \;
find $(TARGETDIR)/lib/modules -name *.ko -exec $(STRIP) --strip-debug {} \;



ну а mipsel-uclibc-strip символьной ссылкой на mipsel-linux-strip

в общем обрезание с помощью strip кроме жалких 100к-200к ниего не дает.

разница 1,7 и 3,4 этим не убирается.

прост попробовал уже при сборке прошивки подменить wl.ko из собранной асусовской прошивки - но роутер после прошивки уходит в циклический ребут.

исходников по сборке 1,7 wl.ko из АСУС пока не удается выбить.

----------------------------------------------------------------------


так что будем портировать для wl500?

почему тулчейн отказывается собираться, при том что все на что он ругается стоит? хотя нюансы могут быть в том, что он ищет какую библиотеку тип хххх.o.s0.1, а она в Ubuntu "обозвана" хххх.o.s0

lly
11-08-2014, 09:05
исходников по сборке 1,7 wl.ko из АСУС пока не удается выбить.
И не удасться, пока броадком не поменяет свою уродскую политику распространения SDK только под NDA. :mad:


так что будем портировать для wl500?
Я бы предложил забить на устройства с 4Mb flash. Увы, но...

AndreyPopov
11-08-2014, 10:02
Я бы предложил забить на устройства с 4Mb flash. Увы, но...


4Mb - это RT-N10PV2, RT-N12, RT-N10+, RT-N10D1 - они официально прописаны в Asuswrt

wl-500gp, wl-500gpv2, wl-500w. wl-700g имеют 8метров флэша и их можно пробовать.
в них Asuswrt "влазит" без проблем

Stepanenko.P.V.
16-09-2014, 18:36
Увеличение производительности? - а ведь не исключено, что так и будет, просто никто не проводил сравнения!

AndreyPopov я вот писал в другой теме, что не правильно отображается загрузка ЦПУ. А может она и правильно отображается. Тогда выходит что на ВРТ проц меньше нагружается чем на прошивке 3.0.6-r5066M от 27.04.2013. 30% против 95% - загрузка проца при одной и той же скорости закачки.

П.С. Но все же не исключаю кривое отображение на ВРТ.

AndreyPopov
17-09-2014, 11:28
есть еще закладка Tools - Sysinfo там есть стандартные CPU Load Average 1min, 5min, 15min - можете сравнит данные на графике с данными там.

Stepanenko.P.V.
20-09-2014, 11:14
есть еще закладка Tools - Sysinfo там есть стандартные CPU Load Average 1min, 5min, 15min - можете сравнит данные на графике с данными там.
9893
9894

Что скажите?

AndreyPopov
20-09-2014, 12:14
ну не так - надо подождать пока на картинке заполнится весь график в течении 15 мин и тогда смотреть данные на Tools - Sysinfo

потому как самый первый бросок на графике - это собственно загрузка кода рисования графика - она нагружает проц. надо исключить.

Stepanenko.P.V.
21-09-2014, 17:31
4Mb - это RT-N10PV2, RT-N12, RT-N10+, RT-N10D1 - они официально прописаны в Asuswrt

wl-500gp, wl-500gpv2, wl-500w. wl-700g имеют 8метров флэша и их можно пробовать.
в них Asuswrt "влазит" без проблем
Я представляю, AsusWRT на D-Link DIR-320 (rev. A1/A2) - вот это был бы хит!:D

ryzhov_al
21-09-2014, 19:24
Я представляю, AsusWRT на D-Link DIR-320 (rev. A1/A2) - вот это был бы хит!:DЗакопайте уже. Или самостоятельно пересобирайте азусовский тулчейн под MIPS R1.

Stepanenko.P.V.
21-09-2014, 19:54
Закопайте уже. Или самостоятельно пересобирайте азусовский тулчейн под MIPS R1.

Если бы умел то помог бы. С линуксом не дружу и понятия о нем не имею.:(

Omega
21-09-2014, 21:05
Я представляю, AsusWRT на D-Link DIR-320 (rev. A1/A2) - вот это был бы хит!:D

AsusWRT на старых дылинковских мыльницах с 4MB флеша - нонсенс :p
Там еле-еле ворочалась даже старая обрезанная прошивка от sorine: ;)

http://wl500g.info/showthread.php?26479-%CF%F0%EE%F8%E8%E2%EA%E0-rtn-%ED%E0-%F0%EE%F3%F2%E5%F0%E5-dir-320
http://wl500g.info/showthread.php?17641-%CF%F0%EE%F8%E8%E2%EA%E0-%CE%EB%E5%E3%E0-%ED%E0-%F0%EE%F3%F2%E5%F0%E5-DIR-320

З.Ы. А вот портировать её на WL-500gP v1/2 и WL-500W было бы интересно :cool:

Демо WEB UI для Asus RT-AC87U: http://nw-dlcdnet.asus.com/index.asp :D
http://ec2-54-202-251-7.us-west-2.compute.amazonaws.com:8080/index.asp