lightbridge firmware PROBLEM (and solution) - firmware version not found by dji assistant tool

recovery kernel is not same as primary ?
Correct.

is it [...] to do something else (recovery from example, as name seems to say) ?
Yes.
It should be possible to use DJI's firmware update function when recovery kernel is running. The update would re-write bootloader and primary kernel.
But I don't know whether DJI published any FW updates to P2V/P2V+.

If you'll find a full image of P2V DaVinci chip, send it to the wiki creator and he'll publish it. Or send it to me and I'll ask him to publish.
 
  • Like
Reactions: teji
this url ( DJI Phantom 2 Vision+ Plus Blank Screen Corrupt NAND fix ) give a way to repair, with infos coming from here . i found into an "uimage.img" (kernel image ?)but it seems is for lightbridge, not p2v+ board... probably not same kernel :-(
a binary editor show text "Linux-2.6.32.17-davinci" (it give hope) but an another place into file, i found this : "Product Vesion : DJI-GSP-Kernel-%d.%d-rc%d(2014-09-15)" ... on screenshot of working wifi module it seems to be "Kernel Product Vesion : DJI-Kernel-1.0-rc2"
then probably not the same .... :-(
correct ?
 
Here is a log of a REAL boot (all normaly connected into P2V+). There is
LOT of UBIFS error, espacially when encoding must run....
is it kernel FS ??? or something else ?
must i reflash primary kernel (first FOUND it !! ), or other FS ?
THX !!!


Code:
M36x initialization passed!
UBL Product Vesion : DJI-GSP-UBL-1.0-rc10(2014-08-15)
Dji UBL Version: 1.51(Aug 15 2014 - 17:05:12)
Booting Catalog Boot Loader
BootMode =3D NAND
Starting NAND Copy...
Valid magicnum, 0xA1ACED66, found in block 0x00000019.
Uboot Checksum:0x7E25B44B
Actua Checksum:0x7E25B44B

U-Boot Product Vesion : DJI-GSP-Uboot-1.0-rc4(2014-07-23)
U-Boot 2010.12-rc2-svn-Dji (Jul 23 2014 - 11:14:40)
Cores: ARM 432 MHz
DDR:   297 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
** Unknown image type
Wrong Image Format for bootm command
ERROR: can't get kernel image!

Loading from nand0, offset 0x900000
   Image Name:   Linux-2.6.32.17-davinci1
   Created:      2014-04-09  12:21:58 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3823424 Bytes =3D 3.6 MiB
   Load Address: 80008000
   Entry Point:  80008000
## Booting kernel from Legacy Image at 80700000 ...
   Image Name:   Linux-2.6.32.17-davinci1
   Created:      2014-04-09  12:21:58 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3823424 Bytes =3D 3.6 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Loading Kernel Image ... OK
OK

Starting kernel ...

[    0.000000] Kernel Product Vesion : DJI-Kernel-1.0-rc2
[    0.000000] Linux version 2.6.32.17-davinci1 (root@ubuntu) (gcc version
4.3.3 (Sourcery G++ Lite 2009q1-203) ) #6 PREEMPT Wed Apr 9 05:21:55 PDT
2014
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=3D00053=
177
[    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=3DttyS0,115200n8 rw
dm365_imp.oper_mode=3D0
video=3Ddavincifb:vid0=3D0,10K:vid1=3D0,10K:osd0=3D1920x1080X16,8100K mem=
=3D48MB
davinci_enc_mngr.ch0_output=3DCOMPOSITE davinci_enc_mngr.ch0_mode=3Dpal
ubi.mtd=3D2,2048 root=3Dubi0:rootfs rootfstype=3Dubifs ip=3Doff lpj=3D10772=
48
[    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 =3D 48MB total
[    0.000000] Memory: 44784KB available (3456K code, 310K data, 112K init,
0K highmem)
[    0.000000] SLUB: Genslabs=3D11, HWalign=3D32, Order=3D0-3, MinObjects=
=3D0,
CPUs=3D1, Nodes=3D1
[    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=3D1077248)
[    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.070000] EVM: tvp5146 SD video input
[    0.130000] bio: create slab <bio-0> at 0
[    0.130000] DM365 IPIPE initialized in Continuous mode
[    0.140000] usbcore: registered new interface driver usbfs
[    0.140000] usbcore: registered new interface driver hub
[    0.140000] usbcore: registered new device driver usb
[    0.140000] vpss vpss: dm365_vpss vpss probed
[    0.140000] vpss vpss: dm365_vpss vpss probe success
[    0.140000] dm365_afew_hw_init
[    0.150000] ch0 default output "COMPOSITE", mode "PAL"
[    0.150000] VPBE Encoder Initialized
[    0.150000] cfg80211: Using static regulatory domain info
[    0.150000] cfg80211: Regulatory domain: US
[    0.150000]  (start_freq - end_freq @ bandwidth), (max_antenna_gain,
max_eirp)
[    0.150000]  (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm=
)
[    0.150000]  (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm=
)
[    0.150000]  (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm=
)
[    0.150000]  (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm=
)
[    0.150000]  (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm=
)
[    0.150000]  (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm=
)
[    0.150000] cfg80211: Calling CRDA for country: US
[    0.150000] LogicPD encoder initialized
[    0.150000] Switching to clocksource timer0_1
[    0.160000] musb_hdrc: version 6.0, cppi-dma, host, debug=3D0
[    0.180000] musb_hdrc: USB Host mode controller at fec64000 using DMA,
IRQ 12
[    0.180000] musb_hdrc musb_hdrc: MUSB HDRC host driver
[    0.180000] musb_hdrc musb_hdrc: new USB bus registered, assigned bus
number 1
[    0.180000] usb usb1: configuration #1 chosen from 1 choice
[    0.180000] hub 1-0:1.0: USB hub found
[    0.180000] hub 1-0:1.0: 1 port detected
[    0.180000] NET: Registered protocol family 2
[    0.180000] IP route cache hash table entries: 1024 (order: 0, 4096
bytes)
[    0.180000] TCP established hash table entries: 2048 (order: 2, 16384
bytes)
[    0.180000] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.180000] TCP: Hash tables configured (established 2048 bind 2048)
[    0.180000] TCP reno registered
[    0.180000] NET: Registered protocol family 1
[    0.180000] RPC: Registered udp transport module.
[    0.180000] RPC: Registered tcp transport module.
[    0.180000] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.190000] JFFS2 version 2.2. (NAND) =C2=A9 2001-2006 Red Hat, Inc.
[    0.190000] msgmni has been set to 87
[    0.200000] alg: No test for stdrng (krng)
[    0.200000] io scheduler noop registered (default)
[    0.240000] davincifb davincifb.0: dm_osd0_fb: Initial window
configuration is invalid.
[    0.320000] Console: switching to colour frame buffer device 240x67
[    0.410000] davincifb davincifb.0: dm_osd0_fb: 1920x1080x16@0,0 with
framebuffer size 8100KB
[    0.410000] davincifb davincifb.0: dm_vid0_fb: 0x0x16@0,0 with
framebuffer size 10KB
[    0.410000] davincifb davincifb.0: dm_osd1_fb: 720x576x4@0,0 with
framebuffer size 810KB
[    0.420000] davincifb davincifb.0: dm_vid1_fb: 0x0x16@0,0 with
framebuffer size 10KB
[    0.480000] DM365 IPIPEIF probed
[    0.480000] imp serializer initialized
[    0.480000] davinci_previewer initialized
[    0.490000] davinci_resizer initialized
[    0.490000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.490000] serial8250.0: ttyS0 at MMIO 0x1c20000 (irq =3D 40) is a 1655=
0A
[    0.950000] console [ttyS0] enabled
[    0.950000] serial8250.0: ttyS1 at MMIO 0x1d06000 (irq =3D 41) is a 1655=
0A
[    0.960000] brd: module loaded
[    0.970000] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xf1 (Micron
NAND 128MiB 3,3V 8-bit)
[    0.980000] Creating 4 MTD partitions on "davinci_nand.0":
[    0.990000] 0x000000000000-0x0000004a0000 : "bootloader"
[    0.990000] 0x0000004a0000-0x000000e00000 : "kernel"
[    1.000000] 0x000000e00000-0x000007f00000 : "filesystem"
[    1.010000] 0x000000000000-0x000008000000 : "all"
[    1.020000] davinci_nand davinci_nand.0: controller rev. 2.3
[    1.030000] UBI: attaching mtd2 to ubi0
[    1.030000] UBI: physical eraseblock size:   131072 bytes (128 KiB)
[    1.040000] UBI: logical eraseblock size:    126976 bytes
[    1.040000] UBI: smallest flash I/O unit:    2048
[    1.050000] UBI: sub-page size:              512
[    1.050000] UBI: VID header offset:          2048 (aligned 2048)
[    1.060000] UBI: data offset:                4096
[    1.550000] UBI: attached mtd2 to ubi0
[    1.550000] UBI: MTD device name:            "filesystem"
[    1.550000] UBI: MTD device size:            113 MiB
[    1.560000] UBI: number of good PEBs:        904
[    1.560000] UBI: number of bad PEBs:         0
[    1.570000] UBI: max. allowed volumes:       128
[    1.570000] UBI: wear-leveling threshold:    4096
[    1.580000] UBI: number of internal volumes: 1
[    1.580000] UBI: number of user volumes:     1
[    1.590000] UBI: available PEBs:             0
[    1.590000] UBI: total number of reserved PEBs: 904
[    1.600000] UBI: number of PEBs reserved for bad PEB handling: 9
[    1.600000] UBI: max/mean erase counter: 36/1
[    1.610000] UBI: image sequence number: 930050959
[    1.610000] UBI: background thread "ubi_bgt0d" started, PID 313
[    1.620000] console [netcon0] enabled
[    1.620000] netconsole: network logging started
[    1.630000] i2c /dev entries driver
[    1.630000] Linux video capture interface: v2.00
[    1.640000] vpfe_init
[    1.640000] vpfe-capture: vpss clock vpss_master enabled
[    1.650000] vpfe-capture vpfe-capture: v4l2 device registered
[    1.660000] vpfe-capture vpfe-capture: video device registered
[    1.700000] EVM: switch to tvp5151 cvbs video input
[    1.700000] vpfe-capture vpfe-capture: v4l2 sub device tvp5150 registere=
d
[    1.710000] EVM: switch to it6604 hdmi video input
[    1.720000] vpfe-capture vpfe-capture: v4l2 sub device cat6023 register
fails
[    1.720000] vpfe_register_ccdc_device: DM365 ISIF
[    1.730000] DM365 ISIF is registered with vpfe.
[    1.740000] Trying to register davinci display video device.
[    1.740000] layer=3Dc1ffa800,layer->video_dev=3Dc1ffa964
[    1.750000] Trying to register davinci display video device.
[    1.750000] layer=3Dc1ffac00,layer->video_dev=3Dc1ffad64
[    1.760000] davinci_init:DaVinci V4L2 Display Driver V1.0 loaded
[    1.770000] watchdog watchdog: heartbeat 1 sec
[    1.770000] TCP cubic registered
[    1.780000] NET: Registered protocol family 17
[    1.780000] lib80211: common routines for IEEE802.11 drivers
[    1.790000] Clocks: disable unused mmcsd0
[    1.790000] Clocks: disable unused mmcsd1
[    1.790000] Clocks: disable unused spi0
[    1.790000] Clocks: disable unused spi1
[    1.790000] Clocks: disable unused spi2
[    1.790000] Clocks: disable unused spi3
[    1.790000] Clocks: disable unused spi4
[    1.790000] Clocks: disable unused pwm0
[    1.790000] Clocks: disable unused pwm1
[    1.790000] Clocks: disable unused pwm2
[    1.790000] Clocks: disable unused pwm3
[    1.790000] Clocks: disable unused timer1
[    1.790000] Clocks: disable unused timer3
[    1.790000] Clocks: disable unused emac
[    1.790000] Clocks: disable unused voice_codec
[    1.790000] Clocks: disable unused asp0
[    1.790000] Clocks: disable unused rto
[    1.790000] Clocks: disable unused mjcp
[    1.860000] nnnn=3D=3D=3D0
[    1.860000] davinci_emac_probe: using random MAC addr: 36:ad:4f:72:68:dd
[    1.870000] emac-mii: probed
[    1.910000] UBIFS: recovery needed
[    2.020000] UBIFS: recovery completed
[    2.020000] UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[    2.030000] UBIFS: file system size:   110342144 bytes (107756 KiB, 105
MiB, 869 LEBs)
[    2.040000] UBIFS: journal size:       9023488 bytes (8812 KiB, 8 MiB,
72 LEBs)
[    2.050000] UBIFS: media format:       w4/r0 (latest is w4/r0)
[    2.050000] UBIFS: default compressor: lzo
[    2.060000] UBIFS: reserved for root:  0 bytes (0 KiB)
[    2.060000] VFS: Mounted root (ubifs filesystem) on device 0:13.
[    2.070000] Freeing init memory: 112K
Runing /etc/init.d/rcS
/opt/dji/bin/sshenable: line 2: ./eth0config: not found
sulogin: no password entry for root
login[418]: root login on 'ttyS0'
#Process /etc/profile...
root@Dji-Pro:~# [    7.190000] CMEMK module: built on Nov 27 2013 at
14:02:36
[    7.210000]   Reference Linux version 2.6.32
[    7.210000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/cmem/src/module/cmemk.c
[    7.230000] allocated heap buffer 0xc7000000 of size 0x2456000
[    7.260000] heap fallback enabled - will try heap if pool buffer is not
available
[    7.260000] CMEM Range Overlaps Kernel Physical - allowing overlap
[    7.270000] CMEM phys_start (0x1000) overlaps kernel (0x80000000 ->
0x83000000)
[    7.280000] cmemk initialized
[    7.310000] IRQK module: built on Nov 27 2013 at 14:02:41
[    7.330000]   Reference Linux version 2.6.32
[    7.330000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/irq/src/module/irqk.c
[    7.350000] irqk initialized
[    7.400000] EDMAK module: built on Nov 27 2013 at 14:02:45
[    7.400000]   Reference Linux version 2.6.32
[    7.420000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/edma/src/module/edmak.c
pdi=3D446
Encode demo started.
[    7.590000] UBIFS error (pid 445): ubifs_read_node: bad node type (255
but expected 1)
[    7.590000] UBIFS error (pid 445): ubifs_read_node: bad node at LEB
35:90040
[    7.600000] UBIFS error (pid 445): do_readpage: cannot read page 100 of
inode 236, error -22
[    7.610000] UBIFS error (pid 445): ubifs_read_node: bad node type (255
but expected 1)
[    7.620000] UBIFS error (pid 445): ubifs_read_node: bad node at LEB
35:90040
[    7.620000] UBIFS error (pid 445): do_readpage: cannot read page 100 of
inode 236, error -22
pdi=3D0
listening.*****************************************************************=
****
pid of Xorg :-1 =3D=3D-1
***************************************************************************=
**********************************killall:
encode: no process killed
[    9.690000] cmemk unregistered
[    9.740000] irqk unregistered
[   10.970000] CMEMK module: built on Nov 27 2013 at 14:02:36
[   10.970000]   Reference Linux version 2.6.32
[   10.990000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/cmem/src/module/cmemk.c
[   11.010000] allocated heap buffer 0xc7000000 of size 0x2456000
[   11.030000] heap fallback enabled - will try heap if pool buffer is not
available
[   11.040000] CMEM Range Overlaps Kernel Physical - allowing overlap
[   11.050000] CMEM phys_start (0x1000) overlaps kernel (0x80000000 ->
0x83000000)
[   11.060000] cmemk initialized
[   11.080000] IRQK module: built on Nov 27 2013 at 14:02:41
[   11.100000]   Reference Linux version 2.6.32
[   11.100000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/irq/src/module/irqk.c
[   11.120000] irqk initialized
[   11.180000] EDMAK module: built on Nov 27 2013 at 14:02:45
[   11.180000]   Reference Linux version 2.6.32
[   11.190000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/edma/src/module/edmak.c
pdi=3D489
pdi=3D0
Encode demo started.
[   11.310000] UBIFS error (pid 488): ubifs_read_node: bad node type (255
but expected 1)
[   11.320000] UBIFS error (pid 488): ubifs_read_node: bad node at LEB
35:90040
[   11.320000] UBIFS error (pid 488): do_readpage: cannot read page 100 of
inode 236, error -22
listening.*****************************************************************=
**************************
pid of Xorg :-1 =3D=3D446
***************************************************************************=
*********************************killall:
encode: no process killed
[   13.440000] cmemk unregistered
[   13.500000] irqk unregistered
[   14.720000] CMEMK module: built on Nov 27 2013 at 14:02:36
[   14.720000]   Reference Linux version 2.6.32
[   14.740000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/cmem/src/module/cmemk.c
[   14.760000] allocated heap buffer 0xc7000000 of size 0x2456000
[   14.780000] heap fallback enabled - will try heap if pool buffer is not
available
[   14.790000] CMEM Range Overlaps Kernel Physical - allowing overlap
[   14.800000] CMEM phys_start (0x1000) overlaps kernel (0x80000000 ->
0x83000000)
[   14.810000] cmemk initialized
[   14.830000] IRQK module: built on Nov 27 2013 at 14:02:41
[   14.850000]   Reference Linux version 2.6.32
[   14.850000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/irq/src/module/irqk.c
[   14.870000] irqk initialized
[   14.930000] EDMAK module: built on Nov 27 2013 at 14:02:45
[   14.930000]   Reference Linux version 2.6.32
[   14.940000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/edma/src/module/edmak.c
pdi=3D531
pdi=3D0
Encode demo started.
[   15.060000] UBIFS error (pid 530): ubifs_read_node: bad node type (255
but expected 1)
[   15.070000] UBIFS error (pid 530): ubifs_read_node: bad node at LEB
35:90040
[   15.070000] UBIFS error (pid 530): do_readpage: cannot read page 100 of
inode 236, error -22
listening.*****************************************************************=
**************************
pid of Xorg :-1 =3D=3D489
***************************************************************************=
*********************************killall:
encode: no process killed
[   17.200000] cmemk unregistered
[   17.240000] irqk unregistered
[   18.490000] CMEMK module: built on Nov 27 2013 at 14:02:36
[   18.490000]   Reference Linux version 2.6.32
[   18.510000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/cmem/src/module/cmemk.c
[   18.530000] allocated heap buffer 0xc7000000 of size 0x2456000
[   18.550000] heap fallback enabled - will try heap if pool buffer is not
available
[   18.560000] CMEM Range Overlaps Kernel Physical - allowing overlap
[   18.570000] CMEM phys_start (0x1000) overlaps kernel (0x80000000 ->
0x83000000)
[   18.580000] cmemk initialized
[   18.600000] IRQK module: built on Nov 27 2013 at 14:02:41
[   18.620000]   Reference Linux version 2.6.32
[   18.620000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/irq/src/module/irqk.c
[   18.640000] irqk initialized
[   18.690000] EDMAK module: built on Nov 27 2013 at 14:02:45
[   18.690000]   Reference Linux version 2.6.32
[   18.710000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/edma/src/module/edmak.c
pdi=3D573
Encode demo started.
pdi=3D0
[   18.830000] UBIFS error (pid 572): ubifs_read_node: bad node type (255
but expected 1)
[   18.830000] UBIFS error (pid 572): ubifs_read_node: bad node at LEB
35:90040
[   18.840000] UBIFS error (pid 572): do_readpage: cannot read page 100 of
inode 236, error -22
listening.*****************************************************************=
**************************
pid of Xorg :-1 =3D=3D531
***************************************************************************=
*********************************killall:
encode: no process killed
[   20.970000] cmemk unregistered
[   21.010000] irqk unregistered
[   22.250000] CMEMK module: built on Nov 27 2013 at 14:02:36
[   22.270000]   Reference Linux version 2.6.32
[   22.270000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/cmem/src/module/cmemk.c
[   22.290000] allocated heap buffer 0xc7000000 of size 0x2456000
[   22.320000] heap fallback enabled - will try heap if pool buffer is not
available
[   22.330000] CMEM Range Overlaps Kernel Physical - allowing overlap
[   22.340000] CMEM phys_start (0x1000) overlaps kernel (0x80000000 ->
0x83000000)
[   22.340000] cmemk initialized
[   22.370000] IRQK module: built on Nov 27 2013 at 14:02:41
[   22.390000]   Reference Linux version 2.6.32
[   22.390000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/irq/src/module/irqk.c
[   22.410000] irqk initialized
[   22.460000] EDMAK module: built on Nov 27 2013 at 14:02:45
[   22.460000]   Reference Linux version 2.6.32
[   22.480000]   File
/home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/=
linuxutils/edma/src/module/edmak.c
pdi=3D615
Encode demo started.
[   22.570000] UBIFS error (pid 614): ubifs_read_node: bad node type (255
but expected 1)
[   22.580000] UBIFS error (pid 614): ubifs_read_node: bad node at LEB
35:90040
[   22.590000] UBIFS error (pid 614): do_readpage: cannot read page 100 of
inode 236, error -22
pdi=3D0
listening.******************[   22.810000]
 
is it possible to extract good datas from a working P2V+ ?
Yes. This is how we got the partitions from Phantom 3 which you can download from the wiki.
You can use `dd` to copy the block device which represents the NAND chip to a file. If you can connect USB drive or sd-card to the chip, you can save the data there. If not - it is more painful, but you can transfer the data via serial.
 
Hello everyone,

it seems that I got the same problem (black screen, but I can take pics), but I don't have that wifi box in my drone (it's the phantom 2 vision, no plus). There is a second layer below the main layer, so I think that's the wifi electronics. Before I dissamble everthing, I would like to know: is it possible to flash that one the same way as described in this forum?

Thanks, Bernd
 

Attachments

  • 20180419_232109.jpg
    20180419_232109.jpg
    1.7 MB · Views: 545
I have an LB and in my case when I connect on the cell phone the message "Connection Broken" appears. I tried to do the process described in the beginning of the post by "Gaucho" but only succeeded in "Ground". In "Air" appears BOOTME ... BOOTME all the time. I do not know where I am wrong but tried in many ways and none without success. Can someone help me? Thank you
 
Last edited:
Help please. My LB ground unit only shows the ground system main controller firmware as shown in this post. Do I still need the level adaptor or can I just use the Lightbridge terminal tool. I can get the tool working but what is the hex "magic" sequence I need to paste. There are too many confusing files in the download. A video would be greatly appreciated as I am sure there are many other LB users in this situation thanks to DJI. Quoted AU $409 to repair through DJI. Disgusting!
 
I have an LB and in my case when I connect on the cell phone the message "Connection Broken" appears. I tried to do the process described in the beginning of the post by "Gaucho" but only succeeded in "Ground". In "Air" appears BOOTME ... BOOTME all the time. I do not know where I am wrong but tried in many ways and none without success. Can someone help me? Thank you
Make sure the unzipped files are located in the same path at the command prompt. Put them in C:\Users\computer name.
 

Attachments

  • LB Fixed.jpg
    LB Fixed.jpg
    80.6 KB · Views: 627
Well I finally have my LB1 working again no thanks to DJI, but a big thanks to Gaucho. For a $5.79 serial adaptor compared to DJI's rip off quote of $509. Makes me wonder how many of these LB1's are out there with the same problem and DJI refuse to admit they are at fault.
Worked for me on Windows 7 64 bit. One tool that would make the fix easier would be a 3D printed template to fix over the circuit board with pins aligned to the RX TX etc. and pre wired
 
Got my phantom 2 vision plus up and flying with live video again... I have a background in electronics so I didn't shy away from trying the NAND flash and it worked for me. I've got a lot of respect for Gaucho and others that have helped him!
 
  • Like
Reactions: gaucho
Hello, i have a problem.
When following the steps to recover my ground unit i get the folloging message:

Code:
-----------------------------------------------------
   TI Serial Flasher Host Program for DM36x
   (C) 2009, Texas Instruments, Inc.
   Ver. 1.50
-----------------------------------------------------


Flashing NAND with ubl1_editedByGaucho.img and u-boot_modifiedByGaucho.img.


Attempting to connect to device COM6...
Press any key to end this program at any time.


Waiting for the DM36x...
        Target:
        Target: ?
        Target:  BOOTME
BOOTME commmand received. Returning ACK and header...
ACK command sent. Waiting for BEGIN command...
        Target:   BEGIN
BEGIN commmand received. Sending CRC table...
 100% [                                                              ]
                           CRC table sent....



Waiting for DONE...
        Target:    DONE
DONE received.  Sending the UBL...
 100% [                                                              ]
                              UBL sent....


        Target:    DONE
DONE received.  UBL was accepted.
UBL transmitted successfully.


Waiting for SFT on the DM36x...
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
^C
C:\LB hack>

I already tried a lot of times and every time i get the same issue...

Is it possible that i did something wrong or is the unit gone bad for good?
 
Looks like flashing protocol issue. Maybe you need newer or older sfh. Try downloading other versions from TI websites and wikis.
But it might be FTDI issue as well.

Also, the tool is published with source - you can compile your own version and debug the problem yourself.
Ie. try adding delay, or retry the request if bootloader is back to BOOTME state.
 
Hello, i have a problem.
When following the steps to recover my ground unit i get the folloging message:

Code:
-----------------------------------------------------
   TI Serial Flasher Host Program for DM36x
   (C) 2009, Texas Instruments, Inc.
   Ver. 1.50
-----------------------------------------------------


Flashing NAND with ubl1_editedByGaucho.img and u-boot_modifiedByGaucho.img.


Attempting to connect to device COM6...
Press any key to end this program at any time.


Waiting for the DM36x...
        Target:
        Target: ?
        Target:  BOOTME
BOOTME commmand received. Returning ACK and header...
ACK command sent. Waiting for BEGIN command...
        Target:   BEGIN
BEGIN commmand received. Sending CRC table...
 100% [                                                              ]
                           CRC table sent....



Waiting for DONE...
        Target:    DONE
DONE received.  Sending the UBL...
 100% [                                                              ]
                              UBL sent....


        Target:    DONE
DONE received.  UBL was accepted.
UBL transmitted successfully.


Waiting for SFT on the DM36x...
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
^C
C:\LB hack>

I already tried a lot of times and every time i get the same issue...

Is it possible that i did something wrong or is the unit gone bad for good?

Did you tried what I wrote on the first post?
"
8) usually the procedure never completes at the first step and the tool continues to print BOOTME BOOTME... so you have to press CTRL+C on the keyboard to stop the tool, then relaunch again the same command of step 6.
If the CTRL+C "method" don’t allow the complete firmware upload (this usually happens on the air unit), leave the sfh_DM36x.exe running, remove the power from the unit and then power it back
"

In your case I would try to remove power from LB and plug it back as soon as it prints "WAiting for SFT".

Compare your log with my log to understand what it is expected on the log.
 
Ctrl c and retry again the command dos..
What's your windows version? For me it's work only windows vista 32 bits
 
I had a problem, but found an answer in previous pages (the alligator clips I was using to short between BSEL and 3v3 weren't making a good connection). Thank you, Gaucho!
 
Last edited:
Hello.
Sorry for my English.

Recovering from this instruction
DJI Phantom 2 Vision+ Plus Blank Screen Corrupt NAND fix

I connected the power to the Wi-Fi card and printed "BOOTME" several times in TeraTerm. After that, some machine characters are displayed.
Clip2net_180723112244.png
In the CMD, the process of writing firmware does not go well.
Clip2net_180723112857.png

I add a photo of how I was soldering.
IMG_20180723_113135.jpg IMG_20180723_113204.jpg IMG_20180723_113216.jpg

Please, help!

What am I doing wrong?
How to fix it?
 
When the board is in BOOTME, it should only show BOOTME.

Your terminal app is probably ok, as you get non-printable chars through Serial Flash Tool as well. (though personally I never trust TerraTerm).

Make sure you supply enough power to the board.
Try different USB-to-TTL - maybe it has timing issues.
It won't hurt to try a different PC as well.

If that won't help, there's probably hardware issue on the DUT. If this is the case - I doubt it's the NAND chip, it is more likely the DRAM. Try reflowing it.
 

Recent Posts

Members online

Forum statistics

Threads
143,086
Messages
1,467,528
Members
104,966
Latest member
Spicehub