o-gs / dji-firmware-tools

Tools for handling firmwares of DJI products, with focus on quadcopters.
GNU General Public License v3.0
1.57k stars 424 forks source link

manual flashing: HDMI Interface Board DaVinci DM368 firmware #38

Open MrBurnsAT opened 7 years ago

MrBurnsAT commented 7 years ago

Hello

I have an non working HDMI module from an early Inspire1 Remote Which was long not used and so NAND run full of bad blocks. Was my First thought.

Board is labeled "WM610_GRCP_MFI368_V1" Interface Board is "WM610_GRCP_INTERFACE_V3"

20170703_192224 20170703_192242

I Hooked it Up to serial Adapter

20170703_233935

And got this

DM36x initialization passed! UBL Product Vesion : DJI-GRC-SUPER-UBL-1.0-rc0(2014-09-19) Dji UBL Version: 1.51(Sep 19 2014 - 16:13:09) Booting Catalog Boot Loader BootMode = NAND Starting NAND Copy... Valid magicnum, 0xA1ACED66, found in block 0x00000019. Valid magicnum, 0xA1ACED66, found in block 0x0000001D. No valid boot image found! NAND Boot failed. Aborting...

Now my question

Can we extract Firmware for this Board? Maybe something like uboot image like at Lightbridge hack

Bootloader looks intact

MrBurnsAT commented 7 years ago

ok. but running unit does that if its not connected.

but gave it a try now. non popup window to choose the app on android(goApp, Go4 App)

but will be recognized in Lightbridge as bevore

Next problem now is that my P3 RC looks like it has no firmware on it. try now installing 1.3.2 with usb stick

mefistotelis commented 7 years ago

non popup window to choose the app on android(goApp, Go4 App) but will be recognized in Lightbridge as bevore

That suggests this is just not the correct kernel for you. Where is it from? is it m1300? From which firmware?

If you have a working board, why don't you just download a kernel from it with dd? While at it, you can download the whole image (last partition is probably the whole image, ie. for me it was mtd3).

MrBurnsAT commented 7 years ago

Where is it from? is it m1300? From which firmware?

its from the same firmware bin where i extracted the ubl1 and u-boot so it must be the correct one

MrBurnsAT commented 7 years ago

here is the putty output with rc connected


DM36x initialization passed!
UBL Product Vesion : DJI-486M-UBL-1.0-rc0(2015-10-30)
Dji UBL Version: 1.51(Nov  2 2015 - 15:46:28)
Booting Catalog Boot Loader
BootMode = NAND
Starting NAND Copy...
Valid magicnum, 0xA1ACED66, found in block 0x00000019.
   DONE
Jumping to entry point at 0x81080000.

U-Boot Product Vesion : DJI-GRC-Uboot-1.0-rc1(2015-01-27)
U-Boot 2010.12-rc2-svn-Dji (Jan 27 2015 - 18:45:11)
Cores: ARM 486 MHz
DDR:   360 MHz
I2C:   ready
DRAM:  128 MiB
NAND:  128 MiB
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
*** Warning - bad CRC, using default environment

Net:   Ethernet PHY: GENERIC @ 0xff
DaVinci-EMAC
Press ESC to abort autoboot in 1 seconds

Loading from nand0, offset 0x4a0000
   Image Name:   Linux-2.6.32.17-davinci1
   Created:      2015-06-23   9:37:05 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4065664 Bytes = 3.9 MiB
   Load Address: 80008000
   Entry Point:  80008000
## Booting kernel from Legacy Image at 80700000 ...
   Image Name:   Linux-2.6.32.17-davinci1
   Created:      2015-06-23   9:37:05 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4065664 Bytes = 3.9 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Loading Kernel Image ... OK
OK

Starting kernel ...

[    0.000000] Kernel Product Vesion : DJI-GRC-Kernel-1.1-rc0(2015-06-23)
[    0.000000] Linux version 2.6.32.17-davinci1 (root@dji) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #6 PREEMPT Tue Jun 23 17:37:03 HKT 2015
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: DaVinci DM36x EVM
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] DaVinci dm36x_rev1.2 variant 0x8
[    0.000000] Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 12192
[    0.000000] Kernel command line: console=ttyS0,115200n8 rw dm365_imp.oper_mode=0 video=davincifb:vid0=0,10K:vid1=0,10K:osd0=1920x1080X16,8100K mem=48MB davinci_enc_mngr.ch0_output=COMPOSITE davinci_enc_mngr.ch0_mode=pal ubi.mtd=2,2048 root=ubi0:rootfs rootfstype=ubifs ip=off lpj=1077248
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 48MB = 48MB total
[    0.000000] Memory: 44424KB available (3672K code, 444K data, 116K init, 0K highmem)
[    0.000000] SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:245
[    0.000000] Console: colour dummy device 80x30
[    0.000000] Calibrating delay loop (skipped) preset value.. 215.44 BogoMIPS (lpj=1077248)
[    0.000000] Mount-cache hash table entries: 512
[    0.000000] CPU: Testing write buffer coherency: ok
[    0.000000] DaVinci: 8 gpio irqs
[    0.000000] NET: Registered protocol family 16
[    0.090000] bio: create slab <bio-0> at 0
[    0.100000] DM365 IPIPE initialized in Continuous mode
[    0.100000] SCSI subsystem initialized
[    0.100000] usbcore: registered new interface driver usbfs
[    0.100000] usbcore: registered new interface driver hub
[    0.100000] usbcore: registered new device driver usb
[    0.110000] vpss vpss: dm365_vpss vpss probed
[    0.110000] vpss vpss: dm365_vpss vpss probe success
[    0.110000] ch0 default output "COMPOSITE", mode "PAL"
[    0.110000] pinmux1:0x00145555
[    0.110000] VPBE Encoder Initialized
[    0.120000] cfg80211: Using static regulatory domain info
[    0.120000] cfg80211: Regulatory domain: US
[    0.120000]  (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[    0.120000]  (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm)
[    0.120000]  (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[    0.120000]  (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[    0.120000]  (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[    0.120000]  (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[    0.120000]  (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm)
[    0.120000] cfg80211: Calling CRDA for country: US
[    0.120000] Switching to clocksource timer0_1
[    0.120000] musb_hdrc: version 6.0, pio, host, debug=0
[    0.150000] musb_hdrc: USB Host mode controller at fec64000 using PIO, IRQ 12
[    0.150000] musb_hdrc musb_hdrc: MUSB HDRC host driver
[    0.150000] musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
[    0.150000] usb usb1: configuration #1 chosen from 1 choice
[    0.150000] hub 1-0:1.0: USB hub found
[    0.150000] hub 1-0:1.0: 1 port detected
[    0.150000] NET: Registered protocol family 2
[    0.150000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.150000] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[    0.150000] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.150000] TCP: Hash tables configured (established 2048 bind 2048)
[    0.150000] TCP reno registered
[    0.150000] NET: Registered protocol family 1
[    0.150000] RPC: Registered udp transport module.
[    0.150000] RPC: Registered tcp transport module.
[    0.150000] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.160000] kfile init
[    0.160000] JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    0.160000] msgmni has been set to 86
[    0.160000] alg: No test for stdrng (krng)
[    0.160000] io scheduler noop registered (default)
[    0.200000] davincifb davincifb.0: dm_osd0_fb: Initial window configuration is invalid.
[    0.200000] davincifb davincifb.0: dm_osd0_fb: 1920x1080x16@0,0 with framebuffer size 8100KB
[    0.200000] davincifb davincifb.0: dm_vid0_fb: 0x0x16@0,0 with framebuffer size 10KB
[    0.210000] davincifb davincifb.0: dm_osd1_fb: Initial window configuration is invalid.
[    0.220000] davincifb davincifb.0: dm_osd1_fb: 1920x1080x4@0,0 with framebuffer size 4050KB
[    0.220000] davincifb davincifb.0: dm_vid1_fb: 0x0x16@0,0 with framebuffer size 10KB
[    0.270000] venc off init
[    0.270000] hdmi status init
[    0.270000] DM365 IPIPEIF probed
[    0.280000] imp serializer initialized
[    0.280000] davinci_previewer initialized
[    0.280000] davinci_resizer initialized
[    0.280000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.280000] serial8250.0: ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A
[    0.750000] console [ttyS0] enabled
[    0.750000] serial8250.0: ttyS1 at MMIO 0x1d06000 (irq = 41) is a 16550A
[    0.760000] brd: module loaded
[    0.770000] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xf1 (Micron NAND 128MiB 3,3V 8-bit)
[    0.780000] Creating 4 MTD partitions on "davinci_nand.0":
[    0.790000] 0x000000000000-0x0000004a0000 : "bootloader"
[    0.790000] 0x0000004a0000-0x000000e00000 : "kernel"
[    0.800000] 0x000000e00000-0x000007f00000 : "filesystem"
[    0.810000] 0x000000000000-0x000008000000 : "all"
[    0.820000] davinci_nand davinci_nand.0: controller rev. 2.3
[    0.830000] UBI: attaching mtd2 to ubi0
[    0.830000] UBI: physical eraseblock size:   131072 bytes (128 KiB)
[    0.840000] UBI: logical eraseblock size:    126976 bytes
[    0.840000] UBI: smallest flash I/O unit:    2048
[    0.850000] UBI: sub-page size:              512
[    0.850000] UBI: VID header offset:          2048 (aligned 2048)
[    0.860000] UBI: data offset:                4096
[    1.030000] usb 1-1: new high speed USB device using musb_hdrc and address 2
[    1.150000] usb 1-1: device descriptor read/64, error -71
[    1.300000] UBI: attached mtd2 to ubi0
[    1.300000] UBI: MTD device name:            "filesystem"
[    1.310000] UBI: MTD device size:            113 MiB
[    1.310000] UBI: number of good PEBs:        904
[    1.320000] UBI: number of bad PEBs:         0
[    1.320000] UBI: max. allowed volumes:       128
[    1.330000] UBI: wear-leveling threshold:    4096
[    1.330000] UBI: number of internal volumes: 1
[    1.340000] UBI: number of user volumes:     1
[    1.340000] UBI: available PEBs:             0
[    1.340000] UBI: total number of reserved PEBs: 904
[    1.350000] UBI: number of PEBs reserved for bad PEB handling: 9
[    1.360000] UBI: max/mean erase counter: 65/1
[    1.360000] UBI: image sequence number: 106103982
[    1.370000] UBI: background thread "ubi_bgt0d" started, PID 339
[    1.370000] console [netcon0] enabled
[    1.380000] netconsole: network logging started
[    1.380000] Initializing USB Mass Storage driver...
[    1.390000] usbcore: registered new interface driver usb-storage
[    1.390000] USB Mass Storage support registered.
[    1.430000] usb 1-1: device descriptor read/64, error -71
[    1.660000] usb 1-1: new high speed USB device using musb_hdrc and address 3
[    1.780000] usb 1-1: device descriptor read/64, error -71
[    2.010000] usb 1-1: device descriptor read/64, error -71
[    2.240000] usb 1-1: new high speed USB device using musb_hdrc and address 4
[    2.660000] usb 1-1: device not accepting address 4, error -71
[    2.780000] usb 1-1: new high speed USB device using musb_hdrc and address 5
[    3.200000] usb 1-1: device not accepting address 5, error -71
[    3.200000] hub 1-0:1.0: unable to enumerate USB device on port 1
[    3.210000] usbcore: registered new interface driver usbtest
[    3.210000] i2c /dev entries driver
[    3.220000] Linux video capture interface: v2.00
[    3.230000] hdmi_i2c_probe
[    3.230000] vpfe-capture: vpss clock vpss_master enabled
[    3.240000] vpfe-capture vpfe-capture: v4l2 device registered
[    3.250000] vpfe-capture vpfe-capture: video device registered
[    3.250000] No sub devices registered
[    3.260000] Trying to register davinci display video device.
[    3.260000] layer=c1feac00,layer->video_dev=c1fead64
[    3.270000] Trying to register davinci display video device.
[    3.280000] layer=c1feb000,layer->video_dev=c1feb164
[    3.280000] davinci_init:DaVinci V4L2 Display Driver V1.0 loaded
[    3.290000] watchdog watchdog: heartbeat 1 sec
[    3.300000] usbcore: registered new interface driver usbmouse
[    3.300000] usbmouse: v1.6:USB HID Boot Protocol mouse driver
[    3.310000] TCP cubic registered
[    3.310000] NET: Registered protocol family 17
[    3.320000] lib80211: common routines for IEEE802.11 drivers
[    3.320000] ksocket init
[    3.340000] encrypt device:atsha204 found
[    3.430000] mfi_i2c_client addr:17
[    3.440000] Clocks: disable unused mmcsd0
[    3.440000] Clocks: disable unused mmcsd1
[    3.440000] Clocks: disable unused spi0
[    3.440000] Clocks: disable unused spi1
[    3.440000] Clocks: disable unused spi2
[    3.440000] Clocks: disable unused spi3
[    3.440000] Clocks: disable unused spi4
[    3.440000] Clocks: disable unused pwm0
[    3.440000] Clocks: disable unused pwm1
[    3.440000] Clocks: disable unused pwm2
[    3.440000] Clocks: disable unused pwm3
[    3.440000] Clocks: disable unused timer1
[    3.440000] Clocks: disable unused timer3
[    3.440000] Clocks: disable unused emac
[    3.440000] Clocks: disable unused voice_codec
[    3.440000] Clocks: disable unused asp0
[    3.440000] Clocks: disable unused rto
[    3.440000] Clocks: disable unused mjcp
[    3.510000] davinci_emac_probe: using random MAC addr: de:3f:80:cb:eb:d6
[    3.520000] emac-mii: probed
[    3.560000] UBIFS: recovery needed
[    3.610000] UBIFS: recovery completed
[    3.610000] UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[    3.620000] UBIFS: file system size:   110342144 bytes (107756 KiB, 105 MiB, 869 LEBs)
[    3.630000] UBIFS: journal size:       9023488 bytes (8812 KiB, 8 MiB, 72 LEBs)
[    3.630000] UBIFS: media format:       w4/r0 (latest is w4/r0)
[    3.640000] UBIFS: default compressor: lzo
[    3.640000] UBIFS: reserved for root:  0 bytes (0 KiB)
[    3.650000] VFS: Mounted root (ubifs filesystem) on device 0:13.
[    3.660000] Freeing init memory: 116K

Filesystem Product Vesion : DJI-Filesystem-1.0-rc2
Runing /etc/init.d/rcS
[    5.240000] CMEMK module: built on Jul 30 2014 at 10:21:45
[    5.260000]   Reference Linux version 2.6.32
[    5.260000]   File /home/u/work/svn/dec_grc/src/dvsdk/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
[    5.290000] allocated heap buffer 0xc7000000 of size 0x4400000
[    5.290000] heap fallback enabled - will try heap if pool buffer is not available
[    5.310000] CMEM Range Overlaps Kernel Physical - allowing overlap
[    5.310000] CMEM phys_start (0x1000) overlaps kernel (0x80000000 -> 0x83000000)
[    5.330000] cmemk initialized
[    5.350000] IRQK module: built on Jul 30 2014 at 10:21:09
[    5.370000]   Reference Linux version 2.6.32
[    5.370000]   File /home/u/work/svn/dec_grc/src/dvsdk/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/irq/src/module/irqk.c
[    5.390000] irqk initialized
[    5.440000] EDMAK module: built on Jul 30 2014 at 10:19:34
[    5.440000]   Reference Linux version 2.6.32
[    5.460000]   File /home/u/work/svn/dec_grc/src/dvsdk/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/edma/src/module/edmak.c
[    5.660000] exFAT: Version 1.2.9
settime:2017.11.01 20:26:27
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
sulogin: no password entry for root
login[488]: root login on 'ttyS0'
#Process /etc/profile...
root@Dji-Pro:~# encrypt check ok
init  libusb successed!!!
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
usbsocket_init OK
usbsocket_create_handle ok, port:22346, bCanRecv:0
watchdog timeout:5
usbsocket_create_handle ok, port:22345, bCanRecv:1
latency1:33332
latency2:33000
latency3:30000
displaybuffnum1:4
displaybuffnum2:9
start decode stream from 68013
decode init ok, main thread exit
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
Osd_Init_Font succeed
[   11.020000] pinmux1:0x00145555
[   11.020000] pinmux1:0x00145555
[   11.080000] pinmux1:0x00145555
[   11.090000] pinmux1:0x00145555
[   11.090000] pinmux1:0x00145555
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
umount: can't umount /mnt/usb: No such file or directory
rmdir: '/mnt/usb': No such file or directory
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
[   14.260000] PCLK = 0 -> 0
[   14.260000] HTotal = 0 -> 1650
[   14.270000] VTotal = 0 -> 750
[   14.270000] ScanMode = I -> P
[   14.270000] PCLK = 0,(1650x750) PROGRESS CHANGE MODE
[   14.280000] VIC = 4
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547

like i sayed there is another problem anywhere

MrBurnsAT commented 7 years ago

If you have a working board, why don't you just download a kernel from it with dd?

because than i must disasamble my working I1 Remote, what i dont want

But that will be for sure the easiest way. And if nothing will work ill have to do this

MrBurnsAT commented 7 years ago

But i think now the problem is that there is no firmware on my RC (in DJI Go Downgrade Tab it shows that its an Phantom 3 Professional and at Firmware Version: Null) and i cant get it to take an update via usb nor can i choose a version in Downgrade Tab

MrBurnsAT commented 7 years ago

20171101_204242

MrBurnsAT commented 7 years ago

I think ive bricked my RC last time i played with firmware up and downgrades 😂😂😂

No chance to get an firmware on it. 😭😭😭

MrBurnsAT commented 7 years ago

tried now my S8+

there it will show that 1.5.8 is on the rc (but only if the hdmi module isnt installed, only with connection board)

now im compleatly confused

MrBurnsAT commented 7 years ago

tried now this

Dji-Pro # loady 0x81008000 115200
## Ready for binary (ymodem) download to 0x81008000 at 115200 bps...
CCxyzModem - CRC mode, 1(SOH)/3971(STX)/0(CAN) packets, 4 retries
## Total Size      = 0x003e09c0 = 4065728 Bytes
Dji-Pro # nand erase 0x04a0000 0x500000

NAND erase: device 0 offset 0x4a0000, size 0x500000
Erasing at 0x980000 -- 100% complete.
OK
Dji-Pro # nand write 0x81008000 0x04a0000 0x003e09c0

NAND write: device 0 offset 0x4a0000, size 0x3e09c0
 4065728 bytes written: OK
Dji-Pro #

Now this is comming. Little bit different

Dji-Pro # DM36x initialization passed!
UBL Product Vesion : DJI-486M-UBL-1.0-rc0(2015-10-30)
Dji UBL Version: 1.51(Nov  2 2015 - 15:46:28)
Booting Catalog Boot Loader
BootMode = NAND
Starting NAND Copy...
Valid magicnum, 0xA1ACED66, found in block 0x00000019.
   DONE
Jumping to entry point at 0x81080000.

U-Boot Product Vesion : DJI-GRC-Uboot-1.0-rc1(2015-01-27)
U-Boot 2010.12-rc2-svn-Dji (Jan 27 2015 - 18:45:11)
Cores: ARM 486 MHz
DDR:   360 MHz
I2C:   ready
DRAM:  128 MiB
NAND:  128 MiB
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
*** Warning - bad CRC, using default environment

Net:   Ethernet PHY: GENERIC @ 0xff
DaVinci-EMAC
Press ESC to abort autoboot in 1 seconds

Loading from nand0, offset 0x4a0000
   Image Name:   Linux-2.6.32.17-davinci1
   Created:      2015-06-23   9:37:05 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4065664 Bytes = 3.9 MiB
   Load Address: 80008000
   Entry Point:  80008000
DM36x initialization passed!
UBL Product Vesion : DJI-486M-UBL-1.0-rc0(2015-10-30)
Dji UBL Version: 1.51(Nov  2 2015 - 15:46:28)
Booting Catalog Boot Loader
BootMode = NAND
Starting NAND Copy...
Valid magicnum, 0xA1ACED66, found in block 0x00000019.
   DONE
Jumping to entry point at 0x81080000.

U-Boot Product Vesion : DJI-GRC-Uboot-1.0-rc1(2015-01-27)
U-Boot 2010.12-rc2-svn-Dji (Jan 27 2015 - 18:45:11)
Cores: ARM 486 MHz
DDR:   360 MHz
I2C:   ready
DRAM:  128 MiB
NAND:  128 MiB
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
*** Warning - bad CRC, using default environment

Net:   Ethernet PHY: GENERIC @ 0xff
DaVinci-EMAC
Press ESC to abort autoboot in 1 seconds

Loading from nand0, offset 0x4a0000
   Image Name:   Linux-2.6.32.17-davinci1
   Created:      2015-06-23   9:37:05 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4065664 Bytes = 3.9 MiB
   Load Address: 80008000
   Entry Point:  80008000
## Booting kernel from Legacy Image at 80700000 ...
   Image Name:   Linux-2.6.32.17-davinci1
   Created:      2015-06-23   9:37:05 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4065664 Bytes = 3.9 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Loading Kernel Image ... OK
OK

Starting kernel ...

[    0.000000] Kernel Product Vesion : DJI-GRC-Kernel-1.1-rc0(2015-06-23)
[    0.000000] Linux version 2.6.32.17-davinci1 (root@dji) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #6 PREEMPT Tue Jun 23 17:37:03 HKT 2015
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: DaVinci DM36x EVM
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] DaVinci dm36x_rev1.2 variant 0x8
[    0.000000] Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 12192
[    0.000000] Kernel command line: console=ttyS0,115200n8 rw dm365_imp.oper_mode=0 video=davincifb:vid0=0,10K:vid1=0,10K:osd0=1920x1080X16,8100K mem=48MB davinci_enc_mngr.ch0_output=COMPOSITE davinci_enc_mngr.ch0_mode=pal ubi.mtd=2,2048 root=ubi0:rootfs rootfstype=ubifs ip=off lpj=1077248
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 48MB = 48MB total
[    0.000000] Memory: 44424KB available (3672K code, 444K data, 116K init, 0K highmem)
[    0.000000] SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:245
[    0.000000] Console: colour dummy device 80x30
[    0.000000] Calibrating delay loop (skipped) preset value.. 215.44 BogoMIPS (lpj=1077248)
[    0.000000] Mount-cache hash table entries: 512
[    0.000000] CPU: Testing write buffer coherency: ok
[    0.000000] DaVinci: 8 gpio irqs
[    0.000000] NET: Registered protocol family 16
[    0.090000] bio: create slab <bio-0> at 0
[    0.100000] DM365 IPIPE initialized in Continuous mode
[    0.100000] SCSI subsystem initialized
[    0.100000] usbcore: registered new interface driver usbfs
[    0.100000] usbcore: registered new interface driver hub
[    0.100000] usbcore: registered new device driver usb
[    0.110000] vpss vpss: dm365_vpss vpss probed
[    0.110000] vpss vpss: dm365_vpss vpss probe success
[    0.110000] ch0 default output "COMPOSITE", mode "PAL"
[    0.110000] pinmux1:0x00145555
[    0.110000] VPBE Encoder Initialized
[    0.120000] cfg80211: Using static regulatory domain info
[    0.120000] cfg80211: Regulatory domain: US
[    0.120000]  (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[    0.120000]  (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm)
[    0.120000]  (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[    0.120000]  (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[    0.120000]  (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[    0.120000]  (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[    0.120000]  (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm)
[    0.120000] cfg80211: Calling CRDA for country: US
[    0.120000] Switching to clocksource timer0_1
[    0.120000] musb_hdrc: version 6.0, pio, host, debug=0
[    0.150000] musb_hdrc: USB Host mode controller at fec64000 using PIO, IRQ 12
[    0.150000] musb_hdrc musb_hdrc: MUSB HDRC host driver
[    0.150000] musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
[    0.150000] usb usb1: configuration #1 chosen from 1 choice
[    0.150000] hub 1-0:1.0: USB hub found
[    0.150000] hub 1-0:1.0: 1 port detected
[    0.150000] NET: Registered protocol family 2
[    0.150000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.150000] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[    0.150000] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.150000] TCP: Hash tables configured (established 2048 bind 2048)
[    0.150000] TCP reno registered
[    0.150000] NET: Registered protocol family 1
[    0.150000] RPC: Registered udp transport module.
[    0.150000] RPC: Registered tcp transport module.
[    0.150000] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.160000] kfile init
[    0.160000] JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    0.160000] msgmni has been set to 86
[    0.160000] alg: No test for stdrng (krng)
[    0.160000] io scheduler noop registered (default)
[    0.200000] davincifb davincifb.0: dm_osd0_fb: Initial window configuration is invalid.
[    0.200000] davincifb davincifb.0: dm_osd0_fb: 1920x1080x16@0,0 with framebuffer size 8100KB
[    0.200000] davincifb davincifb.0: dm_vid0_fb: 0x0x16@0,0 with framebuffer size 10KB
[    0.210000] davincifb davincifb.0: dm_osd1_fb: Initial window configuration is invalid.
[    0.220000] davincifb davincifb.0: dm_osd1_fb: 1920x1080x4@0,0 with framebuffer size 4050KB
[    0.220000] davincifb davincifb.0: dm_vid1_fb: 0x0x16@0,0 with framebuffer size 10KB
[    0.270000] venc off init
[    0.270000] hdmi status init
[    0.270000] DM365 IPIPEIF probed
[    0.280000] imp serializer initialized
[    0.280000] davinci_previewer initialized
[    0.280000] davinci_resizer initialized
[    0.280000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.280000] serial8250.0: ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A
[    0.750000] console [ttyS0] enabled
[    0.750000] serial8250.0: ttyS1 at MMIO 0x1d06000 (irq = 41) is a 16550A
[    0.760000] brd: module loaded
[    0.770000] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xf1 (Micron NAND 128MiB 3,3V 8-bit)
[    0.780000] Creating 4 MTD partitions on "davinci_nand.0":
[    0.780000] 0x000000000000-0x0000004a0000 : "bootloader"
[    0.790000] 0x0000004a0000-0x000000e00000 : "kernel"
[    0.800000] 0x000000e00000-0x000007f00000 : "filesystem"
[    0.810000] 0x000000000000-0x000008000000 : "all"
[    0.820000] davinci_nand davinci_nand.0: controller rev. 2.3
[    0.820000] UBI: attaching mtd2 to ubi0
[    0.830000] UBI: physical eraseblock size:   131072 bytes (128 KiB)
[    0.840000] UBI: logical eraseblock size:    126976 bytes
[    0.840000] UBI: smallest flash I/O unit:    2048
[    0.850000] UBI: sub-page size:              512
[    0.850000] UBI: VID header offset:          2048 (aligned 2048)
[    0.860000] UBI: data offset:                4096
[    1.060000] usb 1-1: new high speed USB device using musb_hdrc and address 2
[    1.180000] usb 1-1: device descriptor read/64, error -71
[    1.300000] UBI: attached mtd2 to ubi0
[    1.300000] UBI: MTD device name:            "filesystem"
[    1.310000] UBI: MTD device size:            113 MiB
[    1.310000] UBI: number of good PEBs:        904
[    1.320000] UBI: number of bad PEBs:         0
[    1.320000] UBI: max. allowed volumes:       128
[    1.330000] UBI: wear-leveling threshold:    4096
[    1.330000] UBI: number of internal volumes: 1
[    1.330000] UBI: number of user volumes:     1
[    1.340000] UBI: available PEBs:             0
[    1.340000] UBI: total number of reserved PEBs: 904
[    1.350000] UBI: number of PEBs reserved for bad PEB handling: 9
[    1.350000] UBI: max/mean erase counter: 65/1
[    1.360000] UBI: image sequence number: 106103982
[    1.360000] UBI: background thread "ubi_bgt0d" started, PID 339
[    1.370000] console [netcon0] enabled
[    1.380000] netconsole: network logging started
[    1.380000] Initializing USB Mass Storage driver...
[    1.390000] usbcore: registered new interface driver usb-storage
[    1.390000] USB Mass Storage support registered.
[    1.420000] usb 1-1: device descriptor read/64, error -71
[    1.650000] usb 1-1: new high speed USB device using musb_hdrc and address 3
[    1.770000] usb 1-1: device descriptor read/64, error -71
[    2.000000] usb 1-1: device descriptor read/64, error -71
[    2.230000] usb 1-1: new high speed USB device using musb_hdrc and address 4
[    2.650000] usb 1-1: device not accepting address 4, error -71
[    2.770000] usb 1-1: new high speed USB device using musb_hdrc and address 5
[    3.190000] usb 1-1: device not accepting address 5, error -71
[    3.190000] hub 1-0:1.0: unable to enumerate USB device on port 1
[    3.200000] usbcore: registered new interface driver usbtest
[    3.200000] i2c /dev entries driver
[    3.210000] Linux video capture interface: v2.00
[    3.220000] hdmi_i2c_probe
[    3.220000] vpfe-capture: vpss clock vpss_master enabled
[    3.230000] vpfe-capture vpfe-capture: v4l2 device registered
[    3.240000] vpfe-capture vpfe-capture: video device registered
[    3.240000] No sub devices registered
[    3.250000] Trying to register davinci display video device.
[    3.250000] layer=c1feac00,layer->video_dev=c1fead64
[    3.260000] Trying to register davinci display video device.
[    3.270000] layer=c1feb000,layer->video_dev=c1feb164
[    3.270000] davinci_init:DaVinci V4L2 Display Driver V1.0 loaded
[    3.280000] watchdog watchdog: heartbeat 1 sec
[    3.290000] usbcore: registered new interface driver usbmouse
[    3.290000] usbmouse: v1.6:USB HID Boot Protocol mouse driver
[    3.300000] TCP cubic registered
[    3.300000] NET: Registered protocol family 17
[    3.310000] lib80211: common routines for IEEE802.11 drivers
[    3.310000] ksocket init
[    3.330000] encrypt device:atsha204 found
[    3.420000] mfi_i2c_client addr:17
[    3.430000] Clocks: disable unused mmcsd0
[    3.430000] Clocks: disable unused mmcsd1
[    3.430000] Clocks: disable unused spi0
[    3.430000] Clocks: disable unused spi1
[    3.430000] Clocks: disable unused spi2
[    3.430000] Clocks: disable unused spi3
[    3.430000] Clocks: disable unused spi4
[    3.430000] Clocks: disable unused pwm0
[    3.430000] Clocks: disable unused pwm1
[    3.430000] Clocks: disable unused pwm2
[    3.430000] Clocks: disable unused pwm3
[    3.430000] Clocks: disable unused timer1
[    3.430000] Clocks: disable unused timer3
[    3.430000] Clocks: disable unused emac
[    3.430000] Clocks: disable unused voice_codec
[    3.430000] Clocks: disable unused asp0
[    3.430000] Clocks: disable unused rto
[    3.430000] Clocks: disable unused mjcp
[    3.500000] davinci_emac_probe: using random MAC addr: 7a:94:55:5a:a6:1e
[    3.510000] emac-mii: probed
[    3.550000] UBIFS: recovery needed
[    3.600000] UBIFS: recovery completed
[    3.600000] UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[    3.610000] UBIFS: file system size:   110342144 bytes (107756 KiB, 105 MiB, 869 LEBs)
[    3.620000] UBIFS: journal size:       9023488 bytes (8812 KiB, 8 MiB, 72 LEBs)
[    3.620000] UBIFS: media format:       w4/r0 (latest is w4/r0)
[    3.630000] UBIFS: default compressor: lzo
[    3.630000] UBIFS: reserved for root:  0 bytes (0 KiB)
[    3.640000] VFS: Mounted root (ubifs filesystem) on device 0:13.
[    3.650000] Freeing init memory: 116K

Filesystem Product Vesion : DJI-Filesystem-1.0-rc2
Runing /etc/init.d/rcS
[    5.230000] CMEMK module: built on Jul 30 2014 at 10:21:45
[    5.250000]   Reference Linux version 2.6.32
[    5.250000]   File /home/u/work/svn/dec_grc/src/dvsdk/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
[    5.270000] allocated heap buffer 0xc7000000 of size 0x4400000
[    5.290000] heap fallback enabled - will try heap if pool buffer is not available
[    5.310000] CMEM Range Overlaps Kernel Physical - allowing overlap
[    5.310000] CMEM phys_start (0x1000) overlaps kernel (0x80000000 -> 0x83000000)
[    5.320000] cmemk initialized
[    5.350000] IRQK module: built on Jul 30 2014 at 10:21:09
[    5.350000]   Reference Linux version 2.6.32
[    5.370000]   File /home/u/work/svn/dec_grc/src/dvsdk/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/irq/src/module/irqk.c
[    5.390000] irqk initialized
[    5.430000] EDMAK module: built on Jul 30 2014 at 10:19:34
[    5.430000]   Reference Linux version 2.6.32
[    5.450000]   File /home/u/work/svn/dec_grc/src/dvsdk/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/edma/src/module/edmak.c
[    5.650000] exFAT: Version 1.2.9
settime failed
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
sulogin: no password entry for root
login[488]: root login on 'ttyS0'
#Process /etc/profile...
root@Dji-Pro:~# encrypt check ok
init  libusb successed!!!
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
usbsocket_init OK
usbsocket_create_handle ok, port:22346, bCanRecv:0
watchdog timeout:5
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
usbsocket_create_handle ok, port:22345, bCanRecv:1
latency1:33332
latency2:33000
latency3:30000
displaybuffnum1:4
displaybuffnum2:9
start decode stream from 68013
decode init ok, main thread exit
Osd_Init_Font succeed
[   14.030000] pinmux1:0x00145555
[   14.040000] pinmux1:0x00145555
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
[   14.100000] pinmux1:0x00145555
[   14.100000] pinmux1:0x00145555
[   14.110000] pinmux1:0x00145555
[   14.180000] PCLK = 0 -> 0
[   14.180000] HTotal = 0 -> 1650
[   14.190000] VTotal = 0 -> 750
[   14.190000] ScanMode = I -> P
[   14.190000] PCLK = 0,(1650x750) PROGRESS CHANGE MODE
[   14.200000] VIC = 4
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
umount: can't umount /mnt/usb: No such file or directory
rmdir: '/mnt/usb': No such file or directory
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
DummyRead68013 0.000000kb
!!!!!!!!!!!!!!!!!!!!!!! open 68013 failed   VENDOR_ID = 0x0547
notsolowki commented 7 years ago

Does this tell you anything new.

MrBurnsAT commented 7 years ago

Does this tell you anything new.

not really. i think this board is dead

MrBurnsAT commented 7 years ago

yes. now ive manged it. now the board is compleatly dead.

only starts 1 of 20 trys. and something gets realy hot on it. board killed.

think a had a short circuit with the 3.3V lead.

rufiooo commented 7 years ago

I've just hooked up mine board to serial adapter (tried 2 different adapters) but it looks like it is rebooting in endless loop:

obraz

Any idea?

I know that previous user was trying to update this I1 controller from very early version straight to the newest one.

mefistotelis commented 7 years ago

Try looking at the wiki: https://github.com/mefistotelis/phantom-firmware-tools/wiki/Firmware-m1300

MrBurnsAT commented 7 years ago

Try to reflash the nand (ubl1 and u-boot)

All files are in here https://github.com/mefistotelis/phantom-firmware-tools/files/1126429/HDMI.Final.zip

rufiooo commented 7 years ago

Still looping. However I'm on Win10 x64, tommorow I will try old machine with Win XP.

obraz

rufiooo commented 7 years ago

OK, I've managed to flash ubl1 and u-boot on Win XP. There is some progress but it still loops - just loads some more. I'm not able to press ESC at this point.

putty

rufiooo commented 7 years ago

Hell yeah! It's working! :)

As I stuck in boot loop I've tried different approach:

  1. Mounted HDMI board on I1 controller (still no luck with DJI GO app).
  2. Prepared and pluged in USB stick with gs_ofdm.bin into cotroller.
  3. Powered on - it started update process with blue led and bepping (hurray! - previously it wasn't working).
  4. After it finished I've checked USB log files:

WM610_FW_RESULT_GS

"==========2017.11.02 12:54:16========== Packet: /mnt/usb/gs_ofdm.bin, Upgrading ... Result: Success"

WM610_FW_GS_LOG

"[1509627256.563415] RC upgrade log: [1509627258.564687] start upgrade 14 [1509627263.832601] -----enter loader err [1509627285.867979] success"

  1. Cleaned USB stick and placed WM610_FW_V01.03.00.00.bin - once again it started upgrade process with blue led and beeping.
  2. This time DJI GO app started normally. I've updated firmware to the latest version via DJI GO app, binded with drone and BOOM! It is working like a charm!

I would like to say thank you to all of you guys. Without yours knowlege and support I wouldn't be able to fix it. Cheers!

MrBurnsAT commented 7 years ago

Great to hear!!! I always had known that this will work with correct bins!

I destroyed my board as i installed ubl1 and u-boot from LB1. That was my biggest fault. After that i wasnt able to get it back to normal. All Things i tried ended in fault.

Now i know with my ubl1 and u-boot we can recover every hdmi board with nand problems!