PDA

Bekijk de volledige versie : WL500g Premium - 7f-pre6, теперь pre7



Oleg
03-09-2006, 11:22
Всем, кто использует мою прошивку необходимо СРОЧНО обновится до 7f-pre6. Она здесь: http://oleg.wl500g.info/gp/WL500gp-1.9.2.7-7f-pre6.trx

Я примерно понял, что происходит с устройствами: по какой-то причине запись в nvram происходит не полностью, поэтому часть переменных теряется, включая обязательно необходимые. Код, который написали дяди из Броадкома (референсный) и который используется загрузчиком, не проверяет целостность nvram (хотя там есть CRC) и использует обломки. Ровно также поступает и прошивка.

Прошивки, начиная с pre6 более не используют переменные nvram для идентификации устройства, вместо этого в них жёстко вкомпилирована информация, необходимая для корректной работы с кнопкой сброса. Поэтому, если вдруг устройство стало вести себя не адекватно, просто сбросьте его кнопкой (нажать, выждать пока светодиод питания начнёт мигать [около 8-ми секунд] и отпустить её).

Причина, почему запись в nvram не завершается, мне неизвестна пока. Хотя что-то с флешем не то, это очевидно. Я ещё слегка поиграюсь...

Обновлено: я улучшил код. Теперь запись во флеш быстрая, проверяется CRC nvram и используется дефолтный, если всё плохо. Пробуйте. Надеюсь, что теперь зависаний при сохранении больше не будет.

http://oleg.wl500g.info/gp/WL500gp-1.9.2.7-7f-pre7.trx

Причина всех бед, судя по всему - новый тип флеш MirrorBit, который довольно дёшев, современен, но имеет некоторые "особенности".

midya
03-09-2006, 11:51
Т.е. теперь в самом начале загрузки устройство не пишет в nvram и можно не бояться если выключиться свет ???? =)

midya
03-09-2006, 12:29
Себе поставил 10 минут полёт нормальный=)

r0kanon
03-09-2006, 13:17
И все работает классно. АСУС wl-500Gp прошивка WL500gx-1.9.2.7-7e.trx

Вопрос (задал и на eng форуме):

Возможно ли поставить новую прошивку и в то же время не потерять настроики USB, samba, ctorrent? Ну конечно работа по восстоновлению не очень велика потому что фаилы можно скопировать.

А более важно, в чем разница между 7e и 7f ?

Oleg
03-09-2006, 15:18
И все работает классно. АСУС wl-500Gp прошивка WL500gx-1.9.2.7-7e.trx

Использование прошивки от Deluxe (wl500gx) - кратчайший путь потерять девайс. Шейте pre6.

Oleg
03-09-2006, 15:20
Т.е. теперь в самом начале загрузки устройство не пишет в nvram и можно не бояться если выключиться свет ???? =)

Хм... Интересный аспект. :) Ну в общем бояться теперь не надо, сброс в дефолт будет работать. Уже скоро будет -pre7, в которой возможно всё будет ещё лучше. :)

midya
03-09-2006, 16:35
Уже скоро будет -pre7, в которой возможно всё будет ещё лучше. :)

Интересно а когда появится - pre Download Master =))) ;) ;) ;) ;) ;)

А то я уже мучаюсь пару месяцев=(
Кстати Олег расскажи о последущих перспективах там вроде Aсусь собирается 500W выпустить посмотрев новости не понял сколько там портов USB, мне минимум 2 нужно и насколько технология MIMO работает ??? Заявлено что 300 Мбит/сек а на деле хотя б 100 тянет, и какой у неё радиус ???

MSPIX
03-09-2006, 20:19
Мда, а у меня опять детективная история вышла. Собрался я значит эту прошивку заливать. Через firmware restoration. Загнал в режим, запустил утилу. Она его не видит. Стал разбираться. 192.168.1.1 не пингуется. ARP-адрес - одни нули. Поплясав с бубном, подергав питание - ничего не удалось. Дал загрузиться прошивке. Она загрузилась, но MAC свой так и не вспомнила. Венда пишет в arp - "недопустимый тип" и работать с этим безобразием отказывается. Я, подумав что терять особо нечего, нажал кнопку RESTORE. Девайс впал в ступор. Лампочка начинает минать, потом загорается, спустя секунду гаснет. И все повторяется по кругу. Вспоминая про версию с перегревом, я достал из коллекции свой самый злобный кулер. После пары минут лежания на вентиляционных отверстиях асуса он стал ну просто холодный, хотя из зацикливания так и не вышел. Понимая, что терять мне уже особо нечего, я перезагрузил по его питанию. Сразу после включения он переходит в crash mode, мигает лампой, в MAC - все нули, грузиться дальше категорически отказывается. Повторения передергивания питания, танцы с бубном ни к чему не привели. Осталась одна надежда - я раскочегарил второй комп с FBSD чтоб посмотреть что он мне скажет про недопустимый MAC. Воткнул ethernet, питание. И тут Asus видимо испугался :) и загрузил прошивку. Причем с правильным маком. Ну я пользуясь везением, соблюдая ТБ (злобный кулер) перепрошил ее через web. Пока вроде как работает. Но тенденция все-таки какая-то странная, нехорошая.

Oleg
03-09-2006, 20:29
Когда начинает мигать надо кнопку отпустить. А ещё там кнопка иногда залипает (уходит под корпус), если излишнюю силу приложить. Тогда так и будет крутится по кругу...

MSPIX
03-09-2006, 20:50
Когда начинает мигать надо кнопку отпустить
Ну естественно отпустил. Версия с залипанием в принципе правдоподобна. Хотя мне казалось что кнопке не хватит хода чтоб зацепиться за корпус изнутри. Но сейчас попробовал сделать это специально - в принципе получилось, но для этого нужны специфичные усилия. Так что скорее всего так оно и было. Впрочем, MAC с нулями это не объясняет :)

Oleg
03-09-2006, 20:59
МАК с нулями объяняется просто - повредился nvram. То, что он потом загрузился - таки прошёл сброс в дефолт - кнопка вышла из зацепления.
Залипает она там, причём "случайно". Т.е. специально её туда засунуть сложно. :)

MSPIX
03-09-2006, 21:13
Интересно, а где хранится MAC? Если допустим в "nvram" значение потерялось/потерлось, то откуда оно возникает при сбросе? С бумажной наклейки считывается?:) Или есть вторая копия?

midya
03-09-2006, 21:19
Интересно, а где хранится MAC? Если допустим в "nvram" значение потерялось/потерлось, то откуда оно возникает при сбросе? С бумажной наклейки считывается?:) Или есть вторая копия?

Кстати а как МАС менять в прошивке от Олега ???

Oleg
03-09-2006, 21:27
Интересно, а где хранится MAC? Если допустим в "nvram" значение потерялось/потерлось, то откуда оно возникает при сбросе? С бумажной наклейки считывается?:) Или есть вторая копия?
В загрузчике есть содержимое nvram по умолчанию. Оно только для чтения. Копируется в рабочий nvram в случае если тот пустой.

Oleg
03-09-2006, 21:27
Кстати а как МАС менять в прошивке от Олега ???
В веб интерфейсе есть соответствующее поле. И не только в моей прошивке, а в АСУСовской тоже.

Oleg
03-09-2006, 21:34
Обновил до -pre7, обновляться по желанию.

midya
03-09-2006, 21:41
Обновил до -pre7, обновляться по желанию.

Даёшь две прошивки в день=))) Такими темпами я после завтра до pre15 подожду=)))

А с pre6 до pre7 стоит обновляться=)

И глупый вопрос DM не появился ??? ну а вдруг =)))))

Oleg
03-09-2006, 22:20
Dm появится, если будет много свободного времени. :) Или оно будет у кого-нибудь другого.

midya
04-09-2006, 12:47
Или оно будет у кого-нибудь другого.

А что делать-то нужно ???

Vorral
05-09-2006, 09:02
Слушайте достали вы со своим Dm, я не в том смысле, что он не нужен,
а в том, что если нужно сделайте сами и хватит конючить про то, что в программирование не разбираюсь и так далее(ну поседите месяц в мыле, зато разберётесь, ничего страшного не случится :) )

andlev
05-09-2006, 11:37
Слушайте достали вы со своим Dm, я не в том смысле, что он не нужен,
а в том, что если нужно сделайте сами и хватит конючить про то, что в программирование не разбираюсь и так далее(ну поседите месяц в мыле, зато разберётесь, ничего страшного не случится :) )
Пацстулом (валяющийся смайлик). Это ты говоришь людям которые с wget & ctorrent разобраться не могут? :eek: Остальным DM, понятное дело, не нужен.

gaaronk
05-09-2006, 11:46
Пацстулом (валяющийся смайлик). Это ты говоришь людям которые с wget & ctorrent разобраться не могут? :eek: Остальным DM, понятное дело, не нужен.

wget в бизибоксе уж очень убогий 8(

andlev
05-09-2006, 11:52
wget в бизибоксе уж очень убогий 8(
Да, но тут пробегала ссылка на нормальный, некто с англоязычного форума скомпилил и раздал бинарник, поищи в одной из тем про DM была ссылка на оригинал и всё остальное.

Vorral
05-09-2006, 11:58
Пацстулом (валяющийся смайлик). Это ты говоришь людям которые с wget & ctorrent разобраться не могут? :eek: Остальным DM, понятное дело, не нужен.

Сильно не бейте, но если честно я вообще не понимаю, как могут возникать проблемы при установке каких нибудь пакетов/программ на ЛЮБУЮ операционную систему:confused: (везде есть какой нибудь install.txt или просто по логике вещей).

gaaronk
05-09-2006, 12:28
Да, но тут пробегала ссылка на нормальный, некто с англоязычного форума скомпилил и раздал бинарник, поищи в одной из тем про DM была ссылка на оригинал и всё остальное.

я его нашел. этот моральный [censored] собрал его статикой с либкрипто от опенссл и еще с чем то. в итоге имеем бинарь в 2,2МВ. фтопку

Oleg
05-09-2006, 12:55
Нормальный wget есть в пакетах.

gaaronk
05-09-2006, 13:32
Нормальный wget есть в пакетах.

совсем что то я отупел. пальцем можно ткнуть?

ipkg update
Downloading http://wl500g.dyndns.org/ipkg/Packages
Updated list of available packages in /opt/lib/ipkg/lists/wl500g
Downloading http://ipkg.nslu2-linux.org/feeds/unslung/wl500g/Packages
Updated list of available packages in /opt/lib/ipkg/lists/unslung
Successfully terminated.
[admin@gaaronk-gw /opt]$ ipkg list

в списке нету

Oleg
05-09-2006, 13:40
Хм... Был, да весь вышел. Видать при пересбрке что-то не заладилось. Напишите в английской ветке oleo, чтобы он глянул...

midya
05-09-2006, 14:24
Сильно не бейте, но если честно я вообще не понимаю, как могут возникать проблемы при установке каких нибудь пакетов/программ на ЛЮБУЮ операционную систему:confused: (везде есть какой нибудь install.txt или просто по логике вещей).

Блин делаю как написано в теме настройка 500 с нуля =)
Воть до этого всё идет нормально а дальше:
ipkg.sh install ipkg
ipkg update
Но судя по сему эти команды не воспринимаюся роутером т.к. если вести
ipkg update
то он выдаёт: None
Далее установка любого пакета
ipkg install lynx
ipkg install gzip
ipkg install tar
ipkg install unzip
ipkg install ncftp клиент фтп
ipkg install rsync
ipkg install sysstat
ipkg install whois
ipkg install e2fsprogs программа tune2fs
ipkg install wakelan
ipkg install w3cam
ipkg install tcpdump
ipkg install proftpd фтп-сервер
ipkg install microperl
В ответ получаю:

sh: ipkg: not found

Флешку форматнул в Ext3 силами роутера ! ! ! ! ! Учитывая что мне нужен один wget а лучше что нибуть с графической оболочкой типа DM =) И потратил я на это уже 3 недели а результат только в том что понял как флешку форматировать и почему она раньше не хотела этого делать =)
КТО-НИБУТЬ ПОМОГИТЕ ! ! ! ! ! ! !

idmitry
05-09-2006, 19:59
Для выполнения всех этих операций роутер должен быть соеденен с интернетом. Т.к. все свои update'ы и сами пакеты ipkg качает именно от туда.

midya
05-09-2006, 21:23
Для выполнения всех этих операций роутер должен быть соеденен с интернетом. Т.к. все свои update'ы и сами пакеты ipkg качает именно от туда.
Да я знаю это=) Он естественно он в интернете=)))))

imdex
05-09-2006, 21:48
ipkg.sh update первая команда.
ipkg.sh install ipkg вторая.
ipkg update третья, а потом ipkg install что угодно.
В мануале по настройке асус с нуля неточность небольшая.

Maximus43
06-09-2006, 12:17
После прошивки на 1.9.2.7-7f-pre7 перестала действовать последовательность команд

nvram set sdram_init=0x0009
nvram set sdram_ncdl=0
nvram commit
reboot

после перезагрузки всё равно:

[admin@router root]$ free
total used free shared buffers
Mem: 13932 10816 3116 0 1336
Swap: 64220 1948 62272
Total: 78152 12764 65388


Где засада?

P.S. На прошивке 1.9.2.7-7f-pre4 без проблем было 32 Мб. Перепрошивка сопровождалась танцами с бубном, все настройки сбросились. И вот теперь такая проблема.

Oleg
06-09-2006, 12:33
А остальные настройки сохраняются?

Maximus43
06-09-2006, 12:35
А остальные настройки сохраняются?
Похоже да... Да и если посмотреть nvram show, то там следующее:

[admin@router root]$ nvram show|grep sdram
size: 9968 bytes (22800 left)
sdram_config=0x0062
sdram_refresh=0x0000
sdram_ncdl=0
sdram_init=0x0009


Вроде всё правильно.

Oleg
06-09-2006, 13:55
Есть идея у меня. Cкажите ему


erase /dev/mtd/4
flashfs save && flashfs commit
reboot


erase будет работать довольно долго...

Тут такая фигня - если Вы пользовались 9 ножкой флеша, то он записал Вам вторую копию nvram, которую использует теперь загрузчик. ;-) Вот в ней Вы ничего поменять не можете. erase сотрёт эту область нафиг, заодно вместе с flashfs.

Maximus43
06-09-2006, 14:01
Естессно после этих команд всё заработало отлично! :-)
команда стирания работала секунд 5 всего.

[admin@router root]$ free
total used free shared buffers
Mem: 30140 29024 1116 0 16552
Swap: 64220 128 64092
Total: 94360 29152 65208


Спасибо огромное! :)

ukkr
10-09-2006, 23:38
Олег, а нельзя ли поправить ваш текст (на http://wl500g.dyndns.org/) про то, как самому компилировать вашу прошивку. Бо он как-то сильно устарел.
Просто попробовал скомпилировать последнюю прошивку, но уже на этапе make uClibc оказалось, что в отличии от 1.9.2.7.4 версии так просто не заработает.
Например, оказалось, что в архиве с вашими исходниками идут не все tar.gzипы, а вместо некоторых -- линки на соответствующие tar.gz в ../toolbox/. Даже на бусибокс симлинк вместо tar.gz. :) А где взять нужные tar.gz--не знаю. :( Вернее как--думаю надо просто взять сырцы последней из предыдущих ваших прошивок и скопировать поверх на них, то что в pre7. А tar.gzипы оставить из предыдущей прошивки. Но правильно ли это--не знаю.
Можно ли прояснить этот вопрос, а заодно рассказать в чём ещё отличия от
описанной у вас или на http://wiki.wl500g.info/index.php/compilingcustomfirmware процедуре компиляции вашей прошивки.
Заранее сенкс.
П.С. Компилировать пытался под Ubuntu 6.06.1 и SuSe 10.1 (для х32). Результат одинаковый :D

Oleg
11-09-2006, 11:07
Да, tar.gz я не стал включать в прошивку, поскольку это "бета". Их действительно нужно взять из старой прошивки и скопировать в директорию tarballs...

gaaronk
11-09-2006, 12:00
Да, tar.gz я не стал включать в прошивку, поскольку это "бета". Их действительно нужно взять из старой прошивки и скопировать в директорию tarballs...

кроме busybox, его брать тут
http://www.busybox.net/downloads/busybox-1.1.3.tar.bz2

ukkr
11-09-2006, 16:11
Ок, спасибо, как и думал. Отдельно спасибо за сцылку на бусибокс.
А больше ни в чём отличий нет от того, что на WiKi или у Вас написано про собственноручную компиляцию, Олег?

Oleg
11-09-2006, 16:18
В wiki писал не я. То, что на моём сайте правильное.

ukkr
11-09-2006, 17:09
 wiki ïèñàë íå ÿ. Òî, ÷òî íà ìî¸ì ñàéòå ïðàâèëüíîå.
Òèïà òîíêèé íàì¸ê ïðî wiki ;)

ukkr
11-09-2006, 17:11
В wiki писал не я. То, что на моём сайте правильное.

Типа намёк про wiki ;)

ukkr
13-09-2006, 00:19
mipsel-uclibc-strip /root/asusrfw/broadcom/src/gateway/mipsel-uclibc/install/ppp/usr/lib/pppd/*.so
[ ! -d upnp ] || make -C upnp install INSTALLDIR=/root/asusrfw/broadcom/src/gateway/mipsel-uclibc/install/upnp
make[1]: Entering directory `/root/asusrfw/broadcom/src/gateway/upnp'
make -C igd/linux DEBUG= SRCBASE=/root/asusrfw/broadcom/src TOP=/root/asusrfw/broadcom/src/gateway TARGET_PREFIX=mipsel-uclibc-
make[2]: Entering directory `/root/asusrfw/broadcom/src/gateway/upnp/igd/linux'
make -C ../../upnp/linux DEBUG= PLATFORM=x86 CC=mipsel-uclibc-gcc LD=mipsel-uclibc-ld VENDOR=
make[3]: Entering directory `/root/asusrfw/broadcom/src/gateway/upnp/upnp/linux'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/root/asusrfw/broadcom/src/gateway/upnp/upnp/linux'
make[2]: Leaving directory `/root/asusrfw/broadcom/src/gateway/upnp/igd/linux'
install -d /root/asusrfw/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin
install -m 755 igd/linux/upnp /root/asusrfw/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin
mipsel-uclibc-strip /root/asusrfw/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin/upnp
make[1]: Leaving directory `/root/asusrfw/broadcom/src/gateway/upnp'
[ ! -d utils ] || make -C utils install INSTALLDIR=/root/asusrfw/broadcom/src/gateway/mipsel-uclibc/install/utils
make[1]: Entering directory `/root/asusrfw/broadcom/src/gateway/utils'
make[1]: *** No rule to make target `wl', needed by `all'. Stop.
make[1]: Leaving directory `/root/asusrfw/broadcom/src/gateway/utils'
make: *** [utils-install] Ошибка 2


Олег, тут при компиляции всё проходит хорошо до определённого момента.
После чего вываливается с вот такой ошибкой(см. жирным). На всякий случай скопировал кусочек того, что он делал до ошибки.
Не подскажите, где и чё подкрутить надо? Или в чём причина того, что оно не нашло определение цели `wl', needed by `all'.
Заранее сенкс.