Page 2 of 17 FirstFirst 123412 ... LastLast
Results 16 to 30 of 252

Thread: Serial, JTAG, CFE, nvram ... и кнопка Reset

  1. #16
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    И в чём была проблема со шнурками?

  2. #17
    вскрыл первый шнур, нашол все кондёры которые стоят для сглаживания пульсаций питающих напряжений, и в паралель к ним подпаял электролитические конденсаторы на 220 мкФ, и всё заработало . . ., там стояли керамические, с малой ёмкостью, видимо её было недостаточно для нормальной фильтрации напряжений.

    Олег не подскажеш где можно раздобыть описание телнетовских команд ?

  3. #18
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    В google. Там линукс система, присутствующие "команды" там стандартные.

  4. #19

    Thumbs up Jtag, cfe, nvram и кнопка reset

    После неудачной прошивки из-за нехватки памяти WL-500g deluxe перестал грузиться. После включения загорались лампочки всех портов и питания. Через полсекунды лампочки портов гасли, а лампочка питания постоянно горела. Все 5 портов работали в режиме свитча и если подключить компьютер в любой порт лампочка порта загоралась. Проблема уже встречалась раньше: http://wl500g.info/showthread.php?t=239

    Нажатие кнопки RESET на роутере перед подачей питания или после подачи питания ничего не меняло. Роутер был недоступен в сети и утилита восстановления его не видела. Правильно ли я понимаю, что pmon не считывает состояние этой кнопки?
    Тогда неудачная прошивка или её прерывание опасны, так как pmon сразу грузит прошивку. Пусть даже сам pmon и nvram целы. Pmon убить сложно, но нужно выяснить как гарантированно восстановиться после неудачной прошивки, раз уж это может bricked роутер.

    Насколько я понял, pmon и nvram были целыми. pmon загружался, начинал грузить прошивку и роутер вешался на этом шаге.

    Восстановить роутер удалось частым вытыканием-вытыканием шнура питания. После нескольких втыканий лампочка питания начала мигать, роутер стал пинговаться и утилита восстановления rescuer.exe успешно залила прошивку. Как я понял случаи успешного восстановления роутера путём замыкания ножек памяти, выдерживанием его в холоде были вызваны просто частым передергиванием питания, либо само передергивание может по вероятности заставить роутер считать ядро поврежденным и не грузить его.
    Last edited by OlegI; 07-01-2006 at 10:22.

  5. #20
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Quote Originally Posted by OlegI
    Нажатие кнопки RESET на роутере перед подачей питания или после подачи питания ничего не меняло. Роутер был недоступен в сети и утилита восстановления его не видела. Правильно ли я понимаю, что pmon не считывает состояние этой кнопки?
    Считывает. Но вот в некоторых случаях кривой nvram приводит к тому, что не проходит инициализация какой-то части, в результате recovery не работает.

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

    Восстановить роутер удалось частым вытыканием-вытыканием шнура питания. После нескольких втыканий
    Просто Вы наткнулись на баг в CFE и PMONах, которые внесены АСУСом. В результате стёрся nvram. Баг заключаетс я в том, что они всегда при загрузке пишут в nvram значение одной из переменных, даже если оно не меняется. Но дело в том, что запись во флешку - это стирание, а лишь потом программирование. Вот Вы и попали в момент, когда стирание прошло, а новое содержимое не записалось. Люди от этого бага страдают.

    лампочка питания начала мигать, роутер стал пинговаться и утилита восстановления rescuer.exe успешно залила прошивку. Как я понял случаи успешного восстановления роутера путём замыкания ножек памяти, выдерживанием его в холоде были вызваны просто частым передергиванием питания, либо само передергивание может по вероятности заставить роутер считать ядро поврежденным и не грузить его.
    Нет, с 10-м пином всё по другому, как там и описано.

  6. #21
    значит можно считать, что после включения питания модема его нельзя сразу выключать, иначе в 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.
    Last edited by OlegI; 07-01-2006 at 13:11.

  7. #22
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Quote Originally Posted by OlegI
    значит можно считать, что после включения питания модема его нельзя сразу выключать, иначе в nvram будет записан мусор если попасть на момент записи?
    Именно.

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

    Жалко, что pmon читает nvram прежде, чем входит в режим восстановления.
    Там CFE на самом деле, pmon использовался до Deluxe. А в CFE добавили возможность обхода кривого nvram - ещё до инициализации опрашивается один из GPIO входов (в deluxe - GPIO7) и если он на земле, то nvram чистится.

    Хочется безопасной заливки. Может ли повредиться nvram при прошивке через веб-интерфейс? Как я понял случай стирания nvram возможен, если разметка адресов повреждена и залезает на nvram. Т.е. стоит ли проверять какие то параметры перед прошивкой. Linux пишет что-то в nvram при загрузке или прошивке? Может безопаснее заливать прошивки в recovery mode - в этом режиме nvram не трогается?
    Я делаю апгрейд либо из Recovery, либо вручную из консоли, посольку Web интерфейс ведёт себя иногда непредсказуемым образом.

    Есть похожее на 500gx устройство DLink DSL-500T - там вместо pmon стоит adam2 и очень часто слетает env, там он восстанавливается через консольный порт - есть команда переинициализации nvram. Но там тоже был случай, когда в nvram такой мусор, что бутлоадер вис не доходя до инициализации консоли. Этот случай решился примерно так же: замыканием флэша. Я думал, что ц 500gx pmon попроще и это узкое место обошли - в рековери режим войдет всегда, но оказалось тоже есть проблемы. Хорошо хоть баг помогает сбрасывать nvram.
    На самом деле до этого бага может и не дойти (он там же, где и опрос кнопки RESET/RESTORE), если, например, в nvram неправильные параметры указаны для контроллёра оперативной памяти. В этом случае pin10 поможет.

  8. #23
    я когда роутер переклинило искл в форуме поожие случаи, решения были размазаны, в основном для 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 не реагировал на перегрузки роутера в который воткнута нужно добавить в реестр:
    Code:
    ===add.reg=======
    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
    "DisableDHCPMediaSense"=dword:00000001
    "DisableClusSvcMediaSense"=dword:00000001
    ==========
    загружать прошивку можно в resque mode - вызывается нажатием кнопки RESET до включения питания и сигнализируется миганием лампочки POWER. В этот момент бутлоадер (CFE) роутера ждет соединения по tftp. Загрузить лучше всего программой восстановления. Она при загрузке посылает arp запрос на адрес 192.168.1.49, роутер назначает его себе вместо 192.168.1.1 и дальше программа шлёт прошивку. Примерная схема загрузки:
    Code:
    tftp <router ip>
    tftp> binary
    tftp> trace
    tftp> get ASUSSPACELINK\x01\x01\xa8\xc0 /dev/null
    tftp> put firmware.trx ASUSSPACELINK
    для linux можно скачать скрипт который делает то же самое, что и программа восстановления http://jaffar.cs.msu.su/wl500g/recover.sh

    команды 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
    команда полезная для тестирования прошивок, чтобы не писать их во флэш
    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
    пример сообщений в консоли при загрузке прошивки в resque режиме:

    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
    при загрузке линукс посылает и в WAN и в LAN 3 пакета IPv6 - представляет себя и ищет роутер. Это хорошо бы отключить по умолчанию.
    Last edited by OlegI; 08-01-2006 at 20:01.

  9. #24

    Exclamation JTAG Cable

    На трэде http://wl500g.info/showthread.php?t=1616&page=2
    обсуждается простой JTAG кабель на 4-х резисторах.
    Идёт спор о перевёрнутой нумерации разъёма LPT.
    Так кто-то мне подскажет как же правильно его паять ?
    По распиновке - всё понятно но не работает.
    А по приведённой там картинке работает ?
    Спасибо.
    Attached Images Attached Images  
    Last edited by Omega; 24-07-2011 at 16:33. Reason: добавление картинки

  10. #25
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Паять по распиновке. Картинка перевёрнута.
    Не работает - это как? Длина кабеля какая?

  11. #26
    Спасибо за ответ. С распиновкой разобрался по твоему же совету: закоротил 13-й пин на 20-25. Прога выдала 00000000000
    Без закорачивания даёт FFFFFFFFFFFFFF
    Извините, но кабель использую для возврата к жизни карманного компьютера IPAQ h5550.
    Кабель около 40 сантиметров.
    Для прошивки этого агрегата используется прога JTAG из проекта openwince под Линукс. Ваша же прога была использована как контроль, потому как я сомневался что правильно установил JTAG на линуксе. А вашу программу запускал в винде.
    Может подскажете идею ? Кабель, вроде, не очень длянный. Может подпаять резистор на TRST ?

  12. #27
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Про ipaq ничего сказать не могу. Но вроде на сайте была схема подключения какой-то из моделей - http://openwince.sourceforge.net/jtag/iPAQ-3600/
    Судя по этой схеме резистор нужен. В mn700 он уже есть на самой плате.

    И вообще - ipaq совсем мёртв? Там ведь есть какая-то комбинация нажатия кнопок, которая запускает встроенный лоадер. Или он жертва линукса?

  13. #28
    3600 и 5550 это разные компьютеры. Делал по схеме для 5400 (он похож на мой) http://alk.h10.ru/jtag-howto/ . Там сказано, что резистор на TRST не нужен.
    Спасибо за отклик.

  14. #29

    Question Как Реанимировать WL-500gx с наименьшими потерями?

    Помогите реанимировать WL-500gx с наименьшими потерями:
    Поставил на ночь качаться 3 торрента одновременно через Btget не включив Swap :-( на USB flash-ку

    В результате утром он перестал подавать признаки жизни, на ping отвечает, но ssh, telnet и ftp не работает.
    Выход наружу тоже отвалился.

    Перезагрузка (в том числе и без flash-ки) не помогла.

    Как с наменьшими потерями для конфигурации оживить рутер ?
    Last edited by fy0d0r; 19-04-2006 at 07:07.

  15. #30
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    В режим firmware restoration входит? Если да, то шейте clear-nvram.

Page 2 of 17 FirstFirst 123412 ... LastLast

Similar Threads

  1. How do I solder a JTAG connector to Asus WL-500
    By noisyb in forum WL-500gP Pics & Specs
    Replies: 41
    Last Post: 17-06-2011, 23:22
  2. JTAG WL-500W????
    By dreKion in forum WL-500w Pics & Specs
    Replies: 6
    Last Post: 28-09-2009, 00:07
  3. Asus AAM6020BI распиновка JTAG разъема
    By OlegI in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 1
    Last Post: 16-01-2008, 11:10
  4. Replies: 1
    Last Post: 20-06-2007, 09:38
  5. jtag connection
    By reubenhwk in forum WL-700g Pics & Specs
    Replies: 2
    Last Post: 21-03-2007, 02:08

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •