Pull to refresh

Comments 12

У TP-linkами это единственный способ восстановить, а у D-Linkов есть консоль аварийного режима прошивки
… Начиная с определенной версии. На моем DIR-300 нет :) И там процесс восстановления после отключения питания в процессе записи FLASH немного более сложный, включая восстановление вручную значений по указанным (в моногочисленных туториалах) адресам.
А можно подробнее как восстановить DIR-300. Когда я подключаюсь через COM, то у меня печатается только

U-Boot 1.1.3 (Jan 13 2009 - 17:40:14) (Alpha) - SVN revision : 105
Model: WRGN23
ошибся, вот что пишет

U-Boot 1.1.3 (Jan 13 2009 - 17:40:14) (Alpha) - SVN revision : 105
Model: WRGN23
Board: RT2880 DRAM: 256 kB

Дальше не загружается, я так понимаю он пытается загрузиться с NOR Flash, но у него не получается это сделать. Как быть?
Если нет USB-UART, но есть Arduino, то можно воспользоваться им. На ардуину накатываем пустую прошивку, соединяем TX, RX и GND ардуины с ножками платы, и запускаем штатный serial monitor одноимённой программы Arduino.

Нужно помнить, что D-Link DIR-620 выпускается в двух модификациях совсем непохожих друг на друга по аппаратной и программной начинке. Например в моём DIR-620 это выглядит так:
фото
image


Исходники прошивки и утилиты для её сборки есть в открытом доступе на сайте dlink. Часть исходников явно написана русскими программистами(в комментариях встречается русский мат)
Так как в архивах на сайте очень много файлов, подскажу где искать: dl/webadmin-_seraph.tar.gz, dl/resident-_seraph.tar.gz и dl/libshared-_seraph.tar.gz. Это реализация веб-интерфейса роутера и его взаимодействия с основной системой. Люблю их периодически перечитывать в качестве примера того, как не надо писать код.

Понравившиеся комментарии:
Осторожно, мат
json_t *bred =json_object(); //Ключ здесь вообще не нужен, но меня не слушают
json_object_set(test_json,"ports_end",json_object_get(test_json,"ports_begin")); //нет, это не состязание в извращенности, просто не хочется плодить кучу объектов
outbuf=malloc(st.st_size); //это конечно допущение, но думаю в конфиг бинари мы не будем пихать (UPD 3.02.2012 Я сильно заблуждался (T_T))
#ifdef BCM47XX // это очень, блеать, костыльно!!! но, к сожалению, и на завод уйдет так же =(
char* DSCPCheck; // большая хрень...поясню при необходимости см. qoscls.html
char* DSCPMark; // ещё одна большая хрень...поясню при необходимости см. qoscls.html
//TODO там в коде поставь, я потом и сам там подрулю в случае чего
// на девайсе почему-то не матчит. сука!			if(!fnmatch("*( |\t)ppp[0-9]:*", buf, FNM_EXTMATCH)){
res->name,   res->desc);*/ /* ВНЕЗАПНО! Найдено! */
const char *bablo;            // Деньги
// сделаем немного через ..опу, чтоб не вводить дополнительные поля

Очень хочется отправить автора в школу. Ну правда, не стыдно писать статьи на таком русском языке?
А может автор и так в школе? 8)
Вас всех с 4PDA выгнали чтоли? То transmission на openwrt ставят, то uart подключают.
Это уже на сто раз писано переписано и гуглится за минуту.
UFO just landed and posted this here
Народ помогите прошить по UART
Кабель нашел, подключил к терминалу, роутер вроде как видеться, но только по моему он грузит ос с роутера не давая мне возможности выбрать прошивку через tftp ( это когда надо нажимать цифру 2 )
Лог
Decompressing...done
Decompressing...done

CFE version 5.100.138.2205 based on BBP 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: Tue Jun 19 13:13:40 CST 2012 (dongdong@BBCOMPILE)
Copyright © 2000-2008 Broadcom Corporation.

Init Arena
Init Devs.
Boot partition size = 131072(0x20000)
Found an ST compatible serial flash with 128 64KB blocks; total size 8MB
et0: Broadcom BCM47XX 10/100/1000 Mbps Ethernet Controller 5.100.138.2205
CPU type 0x19749: 530MHz
Tot mem: 65536 KBytes

CFE mem: 0x80700000 — 0x807980A0 (622752)
Data: 0x8072DEC0 — 0x80731110 (12880)
BSS: 0x80731110 — 0x807320A0 (3984)
Heap: 0x807320A0 — 0x807960A0 (409600)
Stack: 0x807960A0 — 0x807980A0 (8192)
Text: 0x80700000 — 0x8072DEC0 (188096)

Device eth0: hwaddr AC-F1-DF-2B-D8-20, ipaddr 192.168.1.1, mask 255.255.255.0
gateway not set, nameserver not set
Loader:raw Filesys:tftp Dev:eth0 File:: Options:(null)
Loading: Failed.
Could not load :: Timeout occured
Loader:raw Filesys:raw Dev:flash0.os File: Options:(null)
Loading:… 5192 bytes read
Entry at 0x80001000
Closing network.
Starting program at 0x80001000
Linux version 2.6.22.19 (root@tomato) (gcc version 4.2.4) #10 Tue Jul 30 18:37:21 CEST 2013
CPU revision is: 00019749
wombo_reset set to gpio 22
Determined physical RAM map:
memory: 04000000 @ 00000000 (usable)
Zone PFN ranges:
Normal 0 -> 16384
HighMem 16384 -> 16384
early_node_map[1] active PFN ranges
0: 0 -> 16384
Built 1 zonelists. Total pages: 16384
Kernel command line: root=/dev/mtdblock2 noinitrd console=ttyS0,115200
Primary instruction cache 32kB, physically tagged, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, linesize 32 bytes.
Synthesized TLB refill handler (20 instructions).
Synthesized TLB load handler fastpath (32 instructions).
Synthesized TLB store handler fastpath (32 instructions).
Synthesized TLB modify handler fastpath (31 instructions).
PID hash table entries: 512 (order: 9, 2048 bytes)
CPU: BCM5357 rev 2 pkg 8 at 530 MHz
Using 265.000 MHz high precision timer.
console [ttyS0] enabled
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 61256k/65536k available (33k kernel code, 4224k reserved, 2778k data, 128k init, 0k highmem)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
PCI: no core
PCI: no core
PCI: Fixing up bus 0
NET: Registered protocol family 2
Time: MIPS clocksource has been installed.
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
squashfs: version 3.0 (2006/03/15) Phillip Lougher
io scheduler noop registered (default)
HDLC line discipline: version $Revision: 4.8 $, maxframe=4096
N_HDLC line discipline registered.
Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0xb8000300 (irq = 8) is a 16550A
PPP generic driver version 2.4.2
MPPE/MPPC encryption/compression module registered
NET: Registered protocol family 24
PPPoL2TP kernel driver, V0.18.3
PPTP driver version 0.8.5
pflash: found no supported devices
Found an ST compatible serial flash with 128 64KB blocks; total size 8MB
Creating 5 MTD partitions on «sflash»:
0x00000000-0x00020000: «pmon»
0x00020000-0x007f0000: «linux»
0x0010c800-0x007b0000: «rootfs»
0x007b0000-0x007f0000: «jffs2»
0x007f0000-0x00800000: «nvram»
_nvram_init: allocat header: 2166128640, size= 32768
u32 classifier
OLD policer on
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (512 buckets, 4096 max)
ip_tables: © 2000-2006 Netfilter Core Team
ipt_account 0.1.21: Piotr Gasidlo <quaker@barbara.eu.org>, www.barbara.eu.org/~quaker/ipt_account/
net/ipv4/netfilter/tomato_ct.c [Jul 30 2013 18:37:21]
NET: Registered protocol family 1
NET: Registered protocol family 10
ip6_tables: © 2000-2006 Netfilter Core Team
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly.
Freeing unused kernel memory: 128k freed
Warning: unable to open an initial console.
emf: module license 'Proprietary' taints kernel.
eth0: Broadcom BCM47XX 10/100/1000 Mbps Ethernet Controller 5.100.138.20
wl_module_init: passivemode set to 0x1
eth1: Broadcom BCM4329 802.11 Wireless Controller 5.100.138.20
/ # vlan0: No such device
eth2: No such device
eth3: No such device
lo: File exists
Sign up to leave a comment.

Articles