Автор | Сообщение |
jilativ
|
Добрый день. Досталась камера Еdimax IC-3140W на RealTek RTL8196D
При подключении питания не загружается (происходит перезагрузка)
Разобрал, подцепился к UART, выдает вот такой вот лог:
Код: | Booting...
********************************************************************************
*
* chip__no chip__id mfr___id dev___id cap___id size_sft dev_size chipSize
* 0000000h 0c22017h 00000c2h 0000020h 0000017h 0000000h 0000017h 0800000h
* blk_size blk__cnt sec_size sec__cnt pageSize page_cnt chip_clk chipName
* 0010000h 0000080h 0001000h 0000800h 0000100h 0000010h 000002dh MX25L6405D
*
********************************************************************************
---RealTek(RTL8196D)at 2014.07.22-19:57+0800 v0.3 [16bit](700MHz)
no rootfs signature at 000E0000!
no rootfs signature at 000F0000!
no rootfs signature at 00130000!
no rootfs signature at 00131000!
no rootfs signature at 00132000!
no rootfs signature at 00133000!
no rootfs signature at 00134000!
no rootfs signature at 00135000!
no rootfs signature at 00136000!
no rootfs signature at 00137000!
no rootfs signature at 00138000!
no rootfs signature at 00139000!
no rootfs signature at 0013A000!
no rootfs signature at 0013B000!
no rootfs signature at 0013C000!
no rootfs signature at 0013D000!
no rootfs signature at 0013E000!
no rootfs signature at 0013F000!
Jump to image start=0x80500000...
decompressing kernel:
Uncompressing Linux... done, booting the kernel.
done decompressing kernel.
start address: 0x80003470
CPU revision is: 0000dc02
0xb8000088=4557580
0xb8000088=4557590
0xb8000088=4557410
Determined physical RAM map:
memory: 04000000 @ 00000000 (usable)
Zone PFN ranges:
Normal 0x00000000 -> 0x00004000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0x00000000 -> 0x00004000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: console=ttyS0,38400 root=/dev/mtdblock1
icache: 64kB/32B, dcache: 32kB/32B, scache: 0kB/0B
NR_IRQS:48
PID hash table entries: 256 (order: 8, 1024 bytes)
console handover: boot [early0] -> real [ttyS0]
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 57268k/65536k available (3016k kernel code, 8192k reserved, 721k data, 1 08k init, 0k highmem)
Calibrating delay loop... 699.59 BogoMIPS (lpj=3497984)
Mount-cache hash table entries: 512
net_namespace: 524 bytes
NET: Registered protocol family 16
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
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
NET: Registered protocol family 1
squashfs: version 4.0 (2009/01/31) Phillip Lougher
msgmni has been set to 112
io scheduler noop registered
io scheduler cfq registered (default)
Realtek GPIO Driver for Flash Reload Default
Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0x18002000 (irq = 8) is a 16550A
reg0=e
reg2=c8c8
reg2=0
reg2=ffff
reg4=8000
reg4=0
regA=0
regC=0
reg16=0
reg1C=2f2f
reg34=0
reg38=0
reg3A=0
reg3C=247f
reg3E=847f
reg40=0
reg42=0
reg44=0
reg5A=0
reg5C=0
reg5E=0
reg68=0
reg6A=0
reg6C=aa0
usbcore: registered new interface driver ub
Driver 'sd' needs updating - please use bus_type methods
PPP generic driver version 2.4.2
MPPE/MPPC encryption/compression module registered
NET: Registered protocol family 24
Realtek WLAN driver - version 1.6 (2013-02-21)(SVN:2135)
Adaptivity function - version 7.1
40MHz Clock Source
Find Port=0 Device:Vender ID=817910ec
#######################################################
SKB_BUF_SIZE=2408 MAX_SKB_NUM=480
#######################################################
Probing RTL8186 10/100 NIC-kenel stack size order[2]...
chip name: 8196C, chip revid: 0
NOT YET
eth0 added. vid=9 Member port 0x10f...
eth1 added. vid=8 Member port 0x10...
[peth0] added, mapping to [eth1]...
SPI INIT
------------------------- Force into Single IO Mode ------------------------
|No chipID Sft chipSize blkSize secSize pageSize sdCk opCk chipName |
| 0 c22017h 0h 800000h 10000h 1000h 100h 50 0 MX6405D/05E/45E|
----------------------------------------------------------------------------
SPI flash(MX6405D/05E/45E) was found at CS0, size 0x800000
Creating 4 MTD partitions on "flash_bank_1":
0x000000000000-0x000000140000 : "boot+cfg+linux"
0x000000140000-0x000000800000 : "root fs"
0x000000010000-0x000000800000 : "ipcam"
0x000000780000-0x000000800000 : "jffs2"
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
-------8196D OTG init
reg e0=99
reg e1=ac
reg e2=98
reg e3=c1
reg e4=1
reg e5=89
reg e6=b8
reg e7=1d
dwc_otg: version 2.60a 22-NOV-2006
[S0] lmdev=83872280
device_register :register pass
=>probe
[S2] otg_dev=83a4d980
----init hcd-----
[S3] hcd==83a47000
DWC_otg: Using DMA mode
dwc_otg logicmodule: DWC OTG Controller
dwc_otg logicmodule: new USB bus registered, assigned bus number 1
dwc_otg logicmodule: irq 15, io mem 0xb8030000
set OTG host to high speed !
DWC_otg: Init: Port Power? op_state=1
DWC_otg: Init: Power Port (0)
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
----enable irq-----
[S1] dwc_otg_driver, lmdriver=8039de60
Linux video capture interface: v2.00
Advanced Linux Sound Architecture Driver Version 1.0.20.
No device for DAI rt5640-aif1
No device for DAI rt5640-aif2
PABCD_CNR: FFFE83F7
PABCD_DIR: FF095C00
PABCD_DAT: 00001800
PIN_MUX_SEL: 00000C03
PIN_MUX_SEL_2: 00F134DB
PABCD_CNR: FFFE83F7
PABCD_DIR: FF095C00
PABCD_DAT: 00001800
PIN_MUX_SEL: 00000C03
PIN_MUX_SEL_2: 00F134DB
iis tx page:
0 16e0 16e0 1ffe 1ffe 15df 15df fffffe9a
fffffe9a ffffe82b ffffe82b ffffe010 ffffe010 ffffeb2b ffffeb2b 2cc
2cc 18be 18be 1fcf 1fcf 13c0 13c0 fffffbcf
fffffbcf ffffe664 ffffe664 ffffe05e ffffe05e ffffed5f ffffed5f 593
593 1a6c 1a6c 1f62 1f62 1178 1178 fffff90e
fffff90e ffffe4d0 ffffe4d0 ffffe0ec ffffe0ec ffffefb7 ffffefb7 84e
No device for DAI rtl8197d-i2s
RT5640 Audio Codec 0.01 alsa 1.0.20<6>asoc: rt5640-aif1 <-> rtl8197d-i2s mapping ok
DSP version code = 0x501a
rt5640 initial ok!
ALSA device list:
#0: rtl819xd_rt5640 (RT5640)
nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP cubic registered
NET: Registered protocol family 17
Netlink[Kernel] create socket for igmp ok.
Realtek FastPath:v1.03
usb 1-1: new high speed USB device using dwc_otg and address 2
VFS: Mounted root (squashfs filesystem) readonly on device 31:1.
Freeing unused kernel memory: 108k freed
usb 1-1: configuration #1 chosen from 1 choice
CPU 0 Unable to handle kernel paging request at virtual address c0021fff, epc == 800f0d28, ra == 800f0814
Oops[#1]:
Cpu 0
$ 0 : 00000000 10000400 c0021fff 0ef321fe
$ 4 : 00000001 0ef321fd 00000000 7ffffc00
$ 8 : 00000000 81000000 81063658 00000000
$12 : 803a590c 00080000 00080000 80315c90
$16 : 00000000 00000009 c0022000 c0080000
$20 : 00000001 8381bb1c 00000000 01000000
$24 : 00000002 8003f498
$28 : 83818000 8381baf0 00000001 800f0814
Hi : 00000000
Lo : 10000000
epc : 800f0d28 0x800f0d28
Not tainted
ra : 800f0814 0x800f0814
Status: 10000404 IEp
Cause : 40000008
BadVA : c0021fff
PrId : 0000dc02 (<NULL>)
Modules linked in:
Process init (pid: 1, threadinfo=83818000, task=83814c70, tls=00000000)
Stack : 00000020 800060f8 00000000 80000420 8381bb88 00000020 8381bb90 c9f10cde
03f415fa d54f73b4 67000000 800f0408 c0000012 c0000000 c0005c36 00005c36
0fed3e95 10000000 10000000 7cbef016 00000000 00000001 c0000000 00000000
00000001 00000003 00000000 00000003 0000000f c0080644 c0080a68 c0080664
00000005 830b304c 0000000d 8003f498 00000004 80086184 803d0000 830b9700
...
Call Trace:[<800060f8>] 0x800060f8
[<80000420>] 0x80000420
[<800f0408>] 0x800f0408
[<8003f498>] 0x8003f498
[<80086184>] 0x80086184
[<800a365c>] 0x800a365c
[<80081274>] 0x80081274
[<80081700>] 0x80081700
[<80081b70>] 0x80081b70
[<800a34d8>] 0x800a34d8
[<80112d00>] 0x80112d00
[<8009f2b4>] 0x8009f2b4
[<80204210>] 0x80204210
[<8002aa74>] 0x8002aa74
[<8009fb7c>] 0x8009fb7c
[<800a0cf0>] 0x800a0cf0
[<80043284>] 0x80043284
[<8003cc98>] 0x8003cc98
[<80045cb8>] 0x80045cb8
[<8022ca2c>] 0x8022ca2c
[<800060f8>] 0x800060f8
[<80046190>] 0x80046190
[<80006210>] 0x80006210
[<8003ef60>] 0x8003ef60
[<8003a50c>] 0x8003a50c
[<8005e0dc>] 0x8005e0dc
[<8002aa74>] 0x8002aa74
[<8005ee7c>] 0x8005ee7c
[<8005ecc8>] 0x8005ecc8
[<8005ed18>] 0x8005ed18
[<8005ee7c>] 0x8005ee7c
[<80001330>] 0x80001330
Code: 00431021 00431023 02421021 <90430000> 02501021 26100001 12c00171 a0430000 8ba2001d
Disabling lock debugging due to kernel taint
Booting...
********************************************************************************
* |
Есть програматор, слил бекап с микросхемы 25LMX6405D. На сайте производителя есть прошивка но, похоже, она только для заливки с web фейса.
Загрузчик живой. Если останавливаю автозагрузку (нажатием Esc в начале загрузки) то на команду "?" реагирует.
Код: | ---RealTek(RTL8196D)at 2014.07.22-19:57+0800 v0.3 [16bit](700MHz)
P0phymode=01, embedded phy
---Ethernet init Okay!
<RealTek>?
----------------- COMMAND MODE HELP ------------------
HELP (?) : Print this help message
DB <Address> <Len>
DW <Address> <Len>
EB <Address> <Value1> <Value2>...
EW <Address> <Value1> <Value2>...
CMP: CMP <dst><src><length>
IPCONFIG:<TargetAddress>
AUTOBURN: 0/1
LOADADDR: <Load Address>
J: Jump to <TargetAddress>
FLR: FLR <dst><src><length>
FLW <dst_ROM_offset><src_RAM_addr><length_Byte> <SPI cnt#>: Write offset-data to SPI from RAM
MDIOR: MDIOR <phyid> <reg>
MDIOW: MDIOW <phyid> <reg> <data>
PHYR: PHYR <PHYID><reg>
PHYW: PHYW <PHYID><reg><data>
PORT1: port 1 patch for FT2
DRAMTEST <R/W> <enable_random_delay> <PowerManagementMode>
TR <rx_shitf> <tx_shitf>
WPS: 0
Reset: 1
WAKE_or_PIR_IC-3040: 1
LightSensor_IC-3040: 1
RTL_GPIO_MUX: 0x00000006
RTL_GPIO_MUX2: 0x00100000
PABCDCNR_REG: 0xfffe9bf7
PABCDDIR_REG: 0xff014400
PABCDDAT_REG: 0x0001005c
PEFGHCNR_REG: 0x00d4ffff
PEFGHDIR_REG: 0x00090000
PEFGHDAT_REG: 0x00000000
<RealTek> |
Через tftp подключается тоже.
Может кто знает как реанимировать либо на чем "спотыкается" загрузка?(железная проблема или все-же софтовая)
Проблема где-то здесь?:
Код: | CPU 0 Unable to handle kernel paging request at virtual address c0021fff, epc == 800f0d28, ra == 800f0814
Oops[#1]:
Cpu 0
... |
Подскажите как слепить из слитого дампа и прошивки с оф сайта свой рабочий дамп. Если кто может помочь собрать дамп, выложу и слитый с флешки с проблемой.
Прикрепил фото платы. |
|
jilativ
|
Восстановил... Никто и нигде не помог, а кто восстанавливал подобные неисправности то только отписывались что все получилось и пропадали...
Опишу как я прошился через TFTP прошивкой из сайта. Я делал это впервые, если что не так то знающие можете поправить. За испорченное оборудование ответственность не несу!
Устанавливаем TFTP клиент.
Настраиваем параметры адаптера ПК
IP 192.168.1.2
Маска 255.255.255.0
DNS 192.168.1.1 и шлюз 192.168.1.1
Подключаем камеру к Ethernet и по UART (Rx Tx GND)
Запускаем программу Putty и настраиваем, жмем соединиться
Скачиваем прошивку из сайта. Отрезаем верхнюю часть прошивки в любом HEX редакторе (Переходим по смещению на адрес 00000128 и удаляем все что выше) и сохраняем. Далее загружаем получившееся по TFTP выбрав наш получившийся файл и нажав кнопку PUT. Загрузчик сам отсюда начинает обновлять ядро и перезагружается. При этом получаем такое сообщение в строке:
Код: | <RealTek>
**TFTP Client Upload, File Name: IC-3140W_3.07_MY
-
**TFTP Client Upload File Size = 005D8003 Bytes at 80500000
Success!
<RealTek>
Linux kernel (root-fs) upgrade.
checksum Ok !
burn Addr =0x00010000! srcAddr=0x80500000 len =0x0012fc12
....................................................................................................................................
Flash Write Successed!
<RealTek>
reboot.......
|
Здесь мы видим стартовый адрес для загрузки 0x00010000 и размер 0x0012fc12. В редакторе находим это смещение, переходим в эту точку и все что ниже этого смещения выделяем и удаляем. Получаем файл ядра Linux kernel.
Далее опять открываем нашу скачанную из сайта прошивку и поиском ищем строку hsqs (у меня это по смещению 00130000) . Выделяем все что выше и удаляем. Сохраняем получившийся файл – это будет rootfs.
Скидываем по TFTP этот файл. По завершении передачи видим следующее:
Код: | **TFTP Client Upload File Size = 004A8003 Bytes at 80500000
Success!
|
Теперь пишем команду: flw 00140000 80500000 004A8003
00140000 - это наш 00130000 + 10000 (поскольку в прошивке из сайта нет строк для загрузчика и по сути адрес начинается от 10000, а в самой флешке до 10000 есть данные загрузчика) Его, кстати, сам LOG дает. Вот тут видно:
Код: | 0x000000140000-0x000000800000 : "root fs" |
80500000 – адрес куда загрузился в оперативную память наш файл
004A8003 – размер нашего файла (видно в командной строке сообщения)
Жмем ентер, подтверждаем действия введя Y и опять ентер.
Код: | <RealTek>flw 00140000 80500000 004A8003
Write 0x004a8003 Bytes to SPI flash#1, offset 0x00140000<0xbd140000>, from RAM 0x80500000 to 0x809a8003
(Y)es, (N)o->Y
.................................................................................................................................... <RealTek>
|
Получаем работающий девайс.
ДОБАВЛЕНО 27/11/2019 14:23
В архиве несколько картинок к описанию и получившиеся 2 файла. kernel и rootfs.
Для изделий на Realtek действия, скорее всего, похожи.
Ну и пара полезных ссылок:
https://openwrt.org/ru/docs/techref/bootloader/realtek
https://oldwiki.archive.openwrt.org/toh/upvel/ur825ac |
|
jilativ
|
3140 kernel_rootFS
.rar 5.98 МБ Скачано: 122 раз(а)
|
|
|