DJI Phantom 2 Vision FC200 EGG camera - Black video FPV solution to fix

I have a error lines:
NAND block 0xxxxxxxx is bad!!!

DM36x has a mechanism to skip bad blocks at start. The Flashing Host tool knew that, and just wrote the bootloader after these blocks. Your bootloader is now fully functional.

Figure out the next steps based on this guide:
 
DM36x has a mechanism to skip bad blocks at start. The Flashing Host tool knew that, and just wrote the bootloader after these blocks. Your bootloader is now fully functional.

Figure out the next steps based on this guide:


mannnnnnny thanks! board work again!


I flashed the kernel WM301 Live View Encoder board and write the new kernel to NAND array....

Thank you for your help!
regards Thomas
 
  • Like
Reactions: quaddamage
Well, it is clear that the chip constantly restarts. And it restarts before it tries to boot kernel:
Code:
DM36x initialization passed!
TI UBL Version: 1.50
Booting Catalog Boot Loader
BootMode = NAND
Starting NAND Copy...
Valid magicnum, 0xA1ACED66, found in block 0x00000019.
(chip reset)

So it looks like the issue is with bootloader.

Hi quaddamage, i'm ready to re-flash the bootloader.
Just in case...for my FC200 LVE board i can use the sfh_DM36x.exe, u-boot_prop.img and ubl1_prop.img that i have found in C1_FW_v01.09.0000_m1300 folder of your gl300_dm36x_extracted_firmwares.zip, or i have to search other .img files?
 
for my FC200 LVE board i can use the sfh_DM36x.exe, u-boot_prop.img and ubl1_prop.img that i have found in C1_FW_v01.09.0000_m1300 folder of your gl300_dm36x_extracted_firmwares.zip, or i have to search other .img files?

The files from Ph3 should work. I'd use something more similar to FC200, ie. files from Ph2 Vision+ - I think we have an image for this?
Anyway, that's just a bootloader. Most likely any version will work, if only it tries to load the kernel from the same place. And all DJI products do.

EDIT: No, other files won't work for FC200, you need bootloader specifically from FC200 as it has different memory map. All other DJI products use the same memory map, but FC200 is different.
 
Last edited:
I have not found img extracted from the FC200, and also to repair the P2V + it seems that everyone uses Gaucho's img files that I believe are extracted from a Lightbridge.

Can anyone who has already repaired an FC200 bootloader confirm which files they have used? Otherwise I will try with these Ph3 files from quaddamage.
 
Well, i re-flashed the bootloader of my FC200 LVE board with the Ph3's .img files from quaddamage.

This is what sfh_DM36x.exe showed me during the re-flash, the message "Operation completed successfully" never came so I'm not sure that the process has completed successfully:

1587312258702.png


Later I reopened an extraPutty window, which shows me a situation similar to the previous one but adding the error "No valid boot image found":

DM36x initialization passed! TI UBL Version: 1.50 Booting Catalog Boot Loader BootMode = NAND Starting NAND Copy... Valid magicnum, 0xA1ACED66, found in block 0x00000019. Valid magicnum, 0xA1ACED66, found in block 0x0000001C. Valid magicnum, 0xA1ACED66, found in block 0x0000001F. Valid magicnum, 0xA1ACED66, found in block 0x00000022. Valid magicnum, 0xA1ACED66, found in block 0x00000025. Valid magicnum, 0xA1ACED66, found in block 0x00000028. Valid magicnum, 0xA1ACED66, found in block 0x0000002B. Valid magicnum, 0xA1ACED66, found in block 0x0000002E. No valid boot image found! NAND Boot failed. Aborting... DM36x initialization passed! TI UBL Version: 1.50 Booting Catalog Boot Loader BootMode = NAND Starting NAND Copy... Valid magicnum, 0xA1ACED66, found in block 0x00000019. Valid magicnum, 0xA1ACED66, found in block 0x0000001C. Valid magicnum, 0xA1ACED66, found in block 0x0000001F. Valid magicnum, 0xA1ACED66, found in block 0x00000022. Valid magicnum, 0xA1ACED66, found in block 0x00000025. Valid magicnum, 0xA1ACED66, found in block 0x00000028. Valid magicnum, 0xA1ACED66, found in block 0x0000002B. Valid magicnum, 0xA1ACED66, found in block 0x0000002E. No valid boot image found! NAND Boot failed. Aborting...

What do you think quaddamage? Did I do something wrong with sfh_DM36x, or maybe are these Ph3's .img files not suitable for P2V's egg camera?
 
DM36x initialization passed! TI UBL Version: 1.50 Booting Catalog Boot Loader BootMode = NAND Starting NAND Copy... Valid magicnum, 0xA1ACED66, found in block 0x00000019. Valid magicnum, 0xA1ACED66, found in block 0x0000001C. Valid magicnum, 0xA1ACED66, found in block 0x0000001F. Valid magicnum, 0xA1ACED66, found in block 0x00000022. Valid magicnum, 0xA1ACED66, found in block 0x00000025. Valid magicnum, 0xA1ACED66, found in block 0x00000028. Valid magicnum, 0xA1ACED66, found in block 0x0000002B. Valid magicnum, 0xA1ACED66, found in block 0x0000002E. No valid boot image found! NAND Boot failed. Aborting...

What do you think quaddamage?

Only one of the two files was flashed. You need to redo flashing. Make sure you give the board enough power while flashing.
 
Only one of the two files was flashed. You need to redo flashing. Make sure you give the board enough power while flashing.

Making several attempts I managed to go a little further with the process:

1587410577494.png


But while flashing the second .img file it goes in a loop without getting the message "operation completed succesfully"...

I am a little discouraged, I also read the Gaucho's tutorial which at the bottom of this page:


says that with this results, the NAND is still corrupt and the kernel (not just the bootloader) needs to be flashed :(
 
says that with this results, the NAND is still corrupt and the kernel (not just the bootloader) needs to be flashed

How do you know anything about kernel after trying to flash bootloader only?

The issue is in your setup. Make better one. Cables, laptop, power source.
 
Wow, I can’t believe there are folks still trying to revive the eggs!
Ok so I’ve repaired numerous fpv video feeds on several different dji devices using the methods provided by gaucho, quaddamage and the ti forums.
Firstly, thanks for the amazing work quaddamge. I like your approach and thorough posts. I don’t have an IT background but you folks have made repairing these DaVinci devices understandable.
With that being said, I’m currently knee deep in an Fc200 bootloader flash and it’s hanging just like popeye’s. I’m going to rig a 5v with a higher amp rating but I’m thinking there’s another step that’s needed to flash this version, although I’m not sure what it could be. I’ll update after I check the power source off the list of potential fail points.
lastly, what’s the purpose of the bottom board in the stack?
 
The issue is in your setup. Make better one. Cables, laptop, power source.

Well, bootloader reflashing completed but board still not working.

First I connected the USB-to-TTL to the computer through a powered USB HUB, but even so the process always stopped with TARGET: BOOTME after writing the first of the two files;

then I tried connecting the BSEL resistor to the +3.3V of USB-to-TTL instead of TP10 pad, but the process always stopped with TARGET: BOOTME after writing the first of the two files;

last, after reading the "BOOTME BOOTME" text in Putty I disconnected the BSEL wire and I realized that the board had remained in the "BOOTME BOOTME" status;
so i closed Putty, opened a shell and with the BSEL wire always disconnected I launched the sfh_DM36x -nandflash -v -p "COM4" ubl1_prop.img u-boot_prop.img command finally coming to the Operation completed successfully message:

1587820273565.png

1587820297008.png

1587820322396.png



But now, opening Putty i have only this text:

1587820155564.png


Is my reflashing faulty, or maybe the egg board needs different ubl1 and u-boot files?
 
With that being said, I’m currently knee deep in an Fc200 bootloader flash and it’s hanging just like popeye’s. I’m going to rig a 5v with a higher amp rating but I’m thinking there’s another step that’s needed to flash this version, although I’m not sure what it could be. I’ll update after I check the power source off the list of potential fail points.

Hi Habb, welcome to this thread.
It seems to me that the FC200 LVE Board don't needs +5V to turn on, but only GND to TP3 and +3V to TP8 (power).
Feeding 3V at TP8 only, i tested you already get the 1,2V at TP4 and 1,8V at TP7 exactly as described here: o-gs/dji-firmware-tools

Good work to you, and may the Force be with us!
 
If only "DM" is shown before reboot, then even the first part of u-boot is now corrupted. It worked before on the u-boot you flashed, so it's not caused by wrong images.
 
Hi, yday i hot my hands on a pure white crow, p2v that was held in a box for like several years, and the live feed was functional! I was shocked. The success was only partial, because today, when I tried to fly it, the feed was gone :/ in a few days I will try to get a grip on what is going on there. Maybe it will be possible to retrieve at least some partitions.
I will keep you posted, cheers!
 
If only "DM" is shown before reboot, then even the first part of u-boot is now corrupted. It worked before on the u-boot you flashed, so it's not caused by wrong images.

After several flashings attempts I went back to my initial loop:

DM36x 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 = NAND Starting NAND Copy... Valid magicnum, 0xA1ACED66, found in block 0x00000019. DM36x 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 = NAND Starting NAND Copy... Valid magicnum, 0xA1ACED66, found in block 0x00000019. DM36x 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 = NAND Starting NAND Copy... Valid magicnum, 0xA1ACED66, found in block 0x00000019. DM36x 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 = NAND Starting NAND Copy... Valid magicnum, 0xA1ACED66, found in block 0x00000019.

It seems that:
- connected BSEL to 3.3V and got the BOOTME status in Putty, launching the sfh_DM36x command only the first file is flashed correctly and then the process ends with TARGET: BOOTME message (I also tried launching the command twice, like described in some tutorials). Final result: board boot loop
- connecting BSEL to 3.3V and deconnecting it before launch the sfh_DM36x command it seems that the process ends correctly with Operation completed successfully message, but...final result: DDDDDDDDD or DMDMDMDMDMDM in Putty window

My actual setup is:
- 3.3V to TP8 (taking 3.3V from USB-TTL, from powered USB-HUB, from external ATX power line)
- GND to TP3
- TX/RX to TP1 and TP2
- 5V to TP5 (tried with and without, it seems insignificant)

and to enter BOOTME status:
- BSEL resistor to TP10 (it also works by BSEL to 3.3V)

NOTE: at TP10 I have everytime tested 2.8V instead of 3.3V as described in github page

Does anyone have ideas on other attempts i can make?
 
Admittedly it was p3x gimbal top board, but I had similiar reset issues and also tried several things.
I was able to program it, however it ended up either in a constant reset loop or froze at a certain point.
The reason turned out to be either NAND cold solder joints or corrupted NAND itself. Replacing the NAND helped.
 
The most efficient way of fixing that would be for someone to buy a crashed drone and just dump the firmware. Unless someone who already has it is willing to tap to the Live Feed board and dump everything (but I have a feeling this won't gonna happen).

As soon as one person publishes the dumped firmware, all devices of that type are becoming fixable.
Has anyone done this yet? I would be willing to do it.

I got a F2V with the live feed not working a couple of years ago with the intention of fixing it, then of course researched it and found it wasn't possible. I ended up buying 2 other FC200s that were sold as "untested" but of course they didn't work either. But now I have another F2V where the live feed still works, so I'd love to use that to fix the others that I've got.

I'm competent at soldering and I've done this type of thing before, just not with these devices, so if someone can guide me through it I'd much appreciate it.
 
I would be willing to do it.
[..]
I'm competent at soldering and I've done this type of thing before, just not with these devices, so if someone can guide me through it I'd much appreciate it.

Connect to UART, make sure you see Linux booting and you can type commands.

And then just type what I prepared for such situation:

This will allow you to transfer the firmware in parts, to mitigate issues with transfer errors.
Each file will take some time to transfer.

After you have the parts, publish them and we'll tell you whether everything is ok, or something needs to be re-done.
 
Connect to UART, make sure you see Linux booting and you can type commands.

And then just type what I prepared for such situation:

This will allow you to transfer the firmware in parts, to mitigate issues with transfer errors.
Each file will take some time to transfer.

After you have the parts, publish them and we'll tell you whether everything is ok, or something needs to be re-done.
You said Linux but instructions say Windows. Does it matter? I don't have a Linux setup at the moment so Windows would be quicker but I can use Linux if necessary. Will Ubuntu work?

I've used PuTTY before but not ExtraPuTTY - how do I get it to connect to UART?
 

Recent Posts

Members online

Forum statistics

Threads
143,095
Messages
1,467,611
Members
104,981
Latest member
Scav8tor