И в чём была проблема со шнурками?
Printable View
И в чём была проблема со шнурками?
вскрыл первый шнур, нашол все кондёры которые стоят для сглаживания пульсаций питающих напряжений, и в паралель к ним подпаял электролитические конденсаторы на 220 мкФ, и всё заработало . . ., там стояли керамические, с малой ёмкостью, видимо её было недостаточно для нормальной фильтрации напряжений.
Олег не подскажеш где можно раздобыть описание телнетовских команд ?
В google. :) Там линукс система, присутствующие "команды" там стандартные.
После неудачной прошивки из-за нехватки памяти WL-500g deluxe перестал грузиться. После включения загорались лампочки всех портов и питания. Через полсекунды лампочки портов гасли, а лампочка питания постоянно горела. Все 5 портов работали в режиме свитча и если подключить компьютер в любой порт лампочка порта загоралась. Проблема уже встречалась раньше: http://wl500g.info/showthread.php?t=239
Нажатие кнопки RESET на роутере перед подачей питания или после подачи питания ничего не меняло. Роутер был недоступен в сети и утилита восстановления его не видела. Правильно ли я понимаю, что pmon не считывает состояние этой кнопки?
Тогда неудачная прошивка или её прерывание опасны, так как pmon сразу грузит прошивку. Пусть даже сам pmon и nvram целы. Pmon убить сложно, но нужно выяснить как гарантированно восстановиться после неудачной прошивки, раз уж это может bricked роутер.
Насколько я понял, pmon и nvram были целыми. pmon загружался, начинал грузить прошивку и роутер вешался на этом шаге.
Восстановить роутер удалось частым вытыканием-вытыканием шнура питания. После нескольких втыканий лампочка питания начала мигать, роутер стал пинговаться и утилита восстановления rescuer.exe успешно залила прошивку. Как я понял случаи успешного восстановления роутера путём замыкания ножек памяти, выдерживанием его в холоде были вызваны просто частым передергиванием питания, либо само передергивание может по вероятности заставить роутер считать ядро поврежденным и не грузить его.
Считывает. Но вот в некоторых случаях кривой nvram приводит к тому, что не проходит инициализация какой-то части, в результате recovery не работает.Quote:
Originally Posted by OlegI
Нет, nvram был кривым или содержал фигню.Quote:
Насколько я понял, pmon и nvram были целыми. pmon загружался, начинал грузить прошивку и роутер вешался на этом шаге.
Просто Вы наткнулись на баг в CFE и PMONах, которые внесены АСУСом. :) В результате стёрся nvram. Баг заключаетс я в том, что они всегда при загрузке пишут в nvram значение одной из переменных, даже если оно не меняется. Но дело в том, что запись во флешку - это стирание, а лишь потом программирование. Вот Вы и попали в момент, когда стирание прошло, а новое содержимое не записалось. Люди от этого бага страдают. :)Quote:
Восстановить роутер удалось частым вытыканием-вытыканием шнура питания. После нескольких втыканий
Нет, с 10-м пином всё по другому, как там и описано.Quote:
лампочка питания начала мигать, роутер стал пинговаться и утилита восстановления rescuer.exe успешно залила прошивку. Как я понял случаи успешного восстановления роутера путём замыкания ножек памяти, выдерживанием его в холоде были вызваны просто частым передергиванием питания, либо само передергивание может по вероятности заставить роутер считать ядро поврежденным и не грузить его.
значит можно считать, что после включения питания модема его нельзя сразу выключать, иначе в nvram будет записан мусор если попасть на момент записи?
так же, если nvram уже поврежден, то можно выключением питания модема после загрузки отловить момент очистки nvram и оживить модем, так как с чистым nvram он входит в режим восстановления?
Жалко, что pmon читает nvram прежде, чем входит в режим восстановления.
Хочется безопасной заливки. Может ли повредиться nvram при прошивке через веб-интерфейс? Как я понял случай стирания nvram возможен, если разметка адресов повреждена и залезает на nvram. Т.е. стоит ли проверять какие то параметры перед прошивкой. Linux пишет что-то в nvram при загрузке или прошивке? Может безопаснее заливать прошивки в recovery mode - в этом режиме nvram не трогается?
Есть похожее на 500gx устройство DLink DSL-500T - там вместо pmon стоит adam2 и очень часто слетает env, там он восстанавливается через консольный порт - есть команда переинициализации nvram. Но там тоже был случай, когда в nvram такой мусор, что бутлоадер вис не доходя до инициализации консоли. Этот случай решился примерно так же: замыканием флэша. Я думал, что ц 500gx pmon попроще и это узкое место обошли - в рековери режим войдет всегда, но оказалось тоже есть проблемы. Хорошо хоть баг помогает сбрасывать nvram. :)
Именно.Quote:
Originally Posted by OlegI
На самом деле, с чистым nvram он не входит в режим восстановления, просто так совпало, что у Вас и прошивка оказалась повреждённой, т.е. не совпадала CRC или не было заголовка.Quote:
так же, если nvram уже поврежден, то можно выключением питания модема после загрузки отловить момент очистки nvram и оживить модем, так как с чистым nvram он входит в режим восстановления?
Там CFE на самом деле, pmon использовался до Deluxe. А в CFE добавили возможность обхода кривого nvram - ещё до инициализации опрашивается один из GPIO входов (в deluxe - GPIO7) и если он на земле, то nvram чистится.Quote:
Жалко, что pmon читает nvram прежде, чем входит в режим восстановления.
Я делаю апгрейд либо из Recovery, либо вручную из консоли, посольку Web интерфейс ведёт себя иногда непредсказуемым образом.Quote:
Хочется безопасной заливки. Может ли повредиться nvram при прошивке через веб-интерфейс? Как я понял случай стирания nvram возможен, если разметка адресов повреждена и залезает на nvram. Т.е. стоит ли проверять какие то параметры перед прошивкой. Linux пишет что-то в nvram при загрузке или прошивке? Может безопаснее заливать прошивки в recovery mode - в этом режиме nvram не трогается?
На самом деле до этого бага может и не дойти (он там же, где и опрос кнопки RESET/RESTORE), если, например, в nvram неправильные параметры указаны для контроллёра оперативной памяти. В этом случае pin10 поможет.Quote:
Есть похожее на 500gx устройство DLink DSL-500T - там вместо pmon стоит adam2 и очень часто слетает env, там он восстанавливается через консольный порт - есть команда переинициализации nvram. Но там тоже был случай, когда в nvram такой мусор, что бутлоадер вис не доходя до инициализации консоли. Этот случай решился примерно так же: замыканием флэша. Я думал, что ц 500gx pmon попроще и это узкое место обошли - в рековери режим войдет всегда, но оказалось тоже есть проблемы. Хорошо хоть баг помогает сбрасывать nvram. :)
я когда роутер переклинило искл в форуме поожие случаи, решения были размазаны, в основном для 500g и без результатов что помогло. Предлагаю добавить в FAQ (когда будет время):
в CFE добавили возможность обхода кривого nvram - ещё до инициализации опрашивается один из GPIO входов (в deluxe - GPIO7) и если он на земле, то nvram чистится
и про 10 пин тоже.
Подключил кабель к GPIO_TX0, GPIO_RX0, GND, +3.3V параметры соединения 115200-8-None-1-Hardware
TX и RX обозначения перепутаны. Если поменять местами TX-RX в hyperterminal ничего не пишется. При загрузке в момент когда загораются все лампочки свитча пишется, что загрузчик ждет соедитнения по TFTP. Ждёт не больше секунды - очень маленький таймаут. Наверное, порты в этот момент всё равно заблокированы и он не может ничего принять. Чтобы зайти в бутлоадер можно нажать комбинацию Ctrl+C в первую секунду загрузки и в этой оболочке давать команды, например help. После загрузки linux вместо Ctrl+C достаточно нажать клавишу Enter - появится шелл linux как в telnet. При этом роуте виден в сети LAN по адресу, который назначили в веб-интерфейсе, а не 192.168.1.1
Чтобы стек tcp windows не реагировал на перегрузки роутера в который воткнута нужно добавить в реестр:
загружать прошивку можно в resque mode - вызывается нажатием кнопки RESET до включения питания и сигнализируется миганием лампочки POWER. В этот момент бутлоадер (CFE) роутера ждет соединения по tftp. Загрузить лучше всего программой восстановления. Она при загрузке посылает arp запрос на адрес 192.168.1.49, роутер назначает его себе вместо 192.168.1.1 и дальше программа шлёт прошивку. Примерная схема загрузки:Code:===add.reg=======
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DisableDHCPMediaSense"=dword:00000001
"DisableClusSvcMediaSense"=dword:00000001
==========
для linux можно скачать скрипт который делает то же самое, что и программа восстановления http://jaffar.cs.msu.su/wl500g/recover.shCode:tftp <router ip>
tftp> binary
tftp> trace
tftp> get ASUSSPACELINK\x01\x01\xa8\xc0 /dev/null
tftp> put firmware.trx ASUSSPACELINK
команды CFE:
команда полезная для тестирования прошивок, чтобы не писать их во флэшCode:rndis Broadcom USB RNDIS utility.
et Broadcom Ethernet utility.
nvram NVRAM utility.
reboot Reboot.
printdefault Display the environment default variables embeded in the bootloader
flash Update a flash memory device
autoboot Automatic system bootstrap.
batch Load a batch file into memory and execute it
go Verify and boot OS image.
boot Load an executable file into memory and execute it
load Load an executable file into memory without executing it
save Save a region of memory to a remote file via TFTP
ping Ping a remote IP host.
arp Display or modify the ARP Table
ifconfig Configure the Ethernet interface
unsetenv Delete an environment variable.
printenv Display the environment variables
setenv Set an environment variable.
help Obtain help for CFE commands
CFE> printdefault
FLSHёЙ 2
boardtype=bcm95365r
boardnum=45
boardrev=0x10
clkfreq=200
sdram_init=0x2008
sdram_config=0x32
sdram_refresh=0x00
sdram_ncdl=0x0
et0macaddr=00:11:D8:XX:XX:XX
et0phyaddr=254
et0mdcport=0
dl_ram_addr=a0001000
os_ram_addr=80001000
os_flash_addr=bfc40000
lan_ipaddr=192.168.1.1
lan_netmask=255.255.255.0
scratch=a0180000
boot_wait=on
watchdog=5000
reset_gpio=7
hardware_version=WL500gd-01-04-01-50
regulation_domain=0x30DE
пример сообщений в консоли при загрузке прошивки в resque режиме:Code:CFE> help boot
SUMMARY
Load an executable file into memory and execute it
USAGE
boot [-options] host:filename|dev:filename
This command loads and executes a program from a boot device
By default, 'boot' will load a raw binary at virtual
address 0x20000000 and then jump to that address
OPTIONS
-elf Load the file as an ELF executable
-srec Load the file as ASCII S-records
-raw Load the file as a raw binary
-z Load compessed file
-loader=* Specify CFE loader name
-tftp Load the file using the TFTP protocol
-fatfs Load the file from a FAT file system
-rawfs Load the file from an unformatted file system
-fs=* Specify CFE file system name
-max=* Specify the maximum number of bytes to load (raw only)
-addr=* Specify the load address (hex) (raw only)
-noclose Don't close network link before executing program
CFE> help nvram
NVRAM utility.
USAGE
nvram [command] [args..]
Access NVRAM.
OPTIONS
get [name] Gets the value of the specified variable
set [name=va Sets the value of the specified variable
unset [name] Deletes the specified variable
commit Commit variables to flash
erase Erase all nvram интересно сможет ли потом роутер загрузиться, думаю она просто инициализирует чистую nvram значениями по умолчанию
show Shows all variables
при загрузке линукс посылает и в WAN и в LAN 3 пакета IPv6 - представляет себя и ищет роутер. Это хорошо бы отключить по умолчанию.Code:Rescue Flag disable.
Hello!! Enter Rescue Mode: (by Force)
Reading :: TFTP Server.
Failed.: Timeout occured
Reading :: TFTP Server.
Device eth0: hwaddr 00-11-D8-xx-xx-xx, ipaddr 192.168.1.49, mask 255.255.255.0
gateway not set, nameserver not set
Failed.: Timeout occured
Reading :: TFTP Server.
Done. 3715072 bytes read
Download of 0x38b000 bytes completed
Write kernel and filesystem binary to FLASH (0xbfc40000)
flash device 'flash1.trx'
Programming...
done. 3715072 bytes written
Loader:raw Filesys:raw Dev:flash0.os File: Options:(null)
Loading: .. 3560 bytes read
Entry at 0x80001000
Closing network.
Starting program at 0x80001000
cpu probe
prom init
cpu report
CPU revision is: 00029007
Primary instruction cache 8kb, linesize 16 bytes (2 ways)
Primary data cache 4kb, linesize 16 bytes (2 ways)
Linux version 2.4.20 (root@omnibook) (gcc version 3.2.3 with Broadcom modificati
ons) #15 Sat Jan 7 20:01:34 MSK 2006
Setting the PFC value as 0x15
Determined physical RAM map:
memory: 02000000 @ 00000000 (usable)
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/mtdblock2 noinitrd init=/linuxrc console=ttyS0,11
5200
CPU: BCM5365 rev 1 at 200 MHz
Calibrating delay loop... 199.47 BogoMIPS
На трэде http://wl500g.info/showthread.php?t=1616&page=2
обсуждается простой JTAG кабель на 4-х резисторах.
Идёт спор о перевёрнутой нумерации разъёма LPT.
Так кто-то мне подскажет как же правильно его паять ?
По распиновке - всё понятно но не работает.
А по приведённой там картинке работает ?
Спасибо.
Паять по распиновке. Картинка перевёрнута.
Не работает - это как? Длина кабеля какая?
Спасибо за ответ. С распиновкой разобрался по твоему же совету: закоротил 13-й пин на 20-25. Прога выдала 00000000000
Без закорачивания даёт FFFFFFFFFFFFFF
Извините, но кабель использую для возврата к жизни карманного компьютера IPAQ h5550.
Кабель около 40 сантиметров.
Для прошивки этого агрегата используется прога JTAG из проекта openwince под Линукс. Ваша же прога была использована как контроль, потому как я сомневался что правильно установил JTAG на линуксе. А вашу программу запускал в винде.
Может подскажете идею ? Кабель, вроде, не очень длянный. Может подпаять резистор на TRST ?
Про ipaq ничего сказать не могу. Но вроде на сайте была схема подключения какой-то из моделей - http://openwince.sourceforge.net/jtag/iPAQ-3600/
Судя по этой схеме резистор нужен. В mn700 он уже есть на самой плате.
И вообще - ipaq совсем мёртв? Там ведь есть какая-то комбинация нажатия кнопок, которая запускает встроенный лоадер. Или он жертва линукса?
3600 и 5550 это разные компьютеры. Делал по схеме для 5400 (он похож на мой) http://alk.h10.ru/jtag-howto/ . Там сказано, что резистор на TRST не нужен.
Спасибо за отклик.
Помогите реанимировать WL-500gx с наименьшими потерями:
Поставил на ночь качаться 3 торрента одновременно через Btget не включив Swap :-( на USB flash-ку
В результате утром он перестал подавать признаки жизни, на ping отвечает, но ssh, telnet и ftp не работает.
Выход наружу тоже отвалился.
Перезагрузка (в том числе и без flash-ки) не помогла.
Как с наменьшими потерями для конфигурации оживить рутер ?
В режим firmware restoration входит? Если да, то шейте clear-nvram.