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

Hi guys,

I found a solution (partly by accident) when I was searching a reset pin for the board. Just to eleminate the chance of transient power issues short after powering up the unit.

To solve the "CORRUPT" message described above, I pulled the marked pin to GND by a 8.5k resistor. No warranty that this will work and not damaga your board. But pulling pins to GND via a resistor like this has only low risks.

After that continue with the procedure of goucho. In my case the board completes flashing the images with no issues. My air unit works again as a new one.
Please let me know if somebody can confirm this procedure.
Good luck!

btw: DJI support told me that the unit will not be reapaired or exchanged anymore. Thanks DJI!! Never will buy a faulty expansive product with this kind of support!!

View attachment 115224
Hi LB victim, I will try this on one of my boards today and let you know what happens, Thanks!
 
Last edited:
Did you try my solution?
Yes I did, thanks!, I thought I posted it here.
It took a while to flash but eventually it went through, I did have to use 16k ohms instead, 8.5k just didn't work for me for some reason.
However now I can't get my second ground unit to flash...lol. I'm thinking about trying your solution on the ground unit as well but I just have to figure out which pads to connect to.
 
Yes I did, thanks!, I thought I posted it here.
It took a while to flash but eventually it went through, I did have to use 16k ohms instead, 8.5k just didn't work for me for some reason.
However now I can't get my second ground unit to flash...lol. I'm thinking about trying your solution on the ground unit as well but I just have to figure out which pads to connect to.
Ok, fine.

I started the programming as Goucho told first. Then I found, the pulling this pin to GND the unit restarts, so I thought it is the reset. Letting the pin float brings the same CORRUPT result as described. Holding it down enabled the unit to be programmed, just with the running instance of the firmware tool.

Good luck with your other unit.
 
Ok, fine.

I started the programming as Goucho told first. Then I found, the pulling this pin to GND the unit restarts, so I thought it is the reset. Letting the pin float brings the same CORRUPT result as described. Holding it down enabled the unit to be programmed, just with the running instance of the firmware tool.

Good luck with your other unit.
Thanks!
Yeah I'm not really sure about the architecture on how these boards are set up, but I would imagine when they are programmed on the factory line they are pulling a couple other pins to ground as well to clean up the signal, just a guess but that's what I'm thinking.
I have also seen some other post where people use smaller shorter wires and it eliminates the air but who knows.
I was going to do a video and how to go through the whole process but the programming is way too inconsistent.
 
Ok, fine.

I started the programming as Goucho told first. Then I found, the pulling this pin to GND the unit restarts, so I thought it is the reset. Letting the pin float brings the same CORRUPT result as described. Holding it down enabled the unit to be programmed, just with the running instance of the firmware tool.

Good luck with your other unit.
How did you know which pin to to pull to ground?. I also found a reset pin on the ground unit.
 
How did you know which pin to to pull to ground?. I also found a reset pin on the ground unit.
I tried all pins to find the reset pin. The board seemed to perform a reset and programming startet automatically with the programming tool waiting for the board. I found that holding it down enabled my board to complete the whole programming procedure.
 
just to confirm. Shorting the pin that LB_Victim found to GND, without any resistors works like a charm. I had issues with air unit, updating firmware as we speak :) Thank you 1000 times. A year ago I had issues with ground unit, now air unit went nuts :/
 
Nice to hear, that someone else could use the solution. I tried with a resistor due to safety reasons - it works as current limiter and prevents damages. I reported to use a resistor because it worked for me.
 
I know I should have used one, but none was around. And since it was dead anyway, I tried. 6 months ago I had a dead ground unit, saved it with this procedure, but air unit needed some more work. Now is ok. Im curious how much will it hold. Although ground unit was without the battery for 6 months (battery completely dead, removed it), and it was fine. Maybe it just needs one recovery flash? Anybody had to do it more than once? Once again thank you :) And one question, did anyone ever got the fullhd mode working? mine gives all kind of weird artefacts on the hdmi out, smooth and realtime mode work fine.
 
Hi,

I just bought a 2nd hand lightbridge 1 and i think i'm lucky to have this problem.

Is there anyone here who lives in Europe who could do the firmware flash manipulation for me? Of course, I agree to pay.
Contact me by PM.
 
I'm in Croatia. I succesfully did both ground and air unit recovery. If you need assistance, let me know.
IMG_20191122_153304.jpg
 
Last edited:
  • Like
Reactions: quaddamage
Hi guys,

I found a solution (partly by accident) when I was searching a reset pin for the board. Just to eleminate the chance of transient power issues short after powering up the unit.

To solve the "CORRUPT" message described above, I pulled the marked pin to GND by a 8.5k resistor. No warranty that this will work and not damaga your board. But pulling pins to GND via a resistor like this has only low risks.

After that continue with the procedure of goucho. In my case the board completes flashing the images with no issues. My air unit works again as a new one.
Please let me know if somebody can confirm this procedure.
Good luck!

btw: DJI support told me that the unit will not be reapaired or exchanged anymore. Thanks DJI!! Never will buy a faulty expansive product with this kind of support!!

View attachment 115224

Dear LB_Victim compliments.
Today I powered my air unit since long time and I found exactly the same problem as yours (and the same as Matt too).
Then I read your post and I shorted the pin you found (let's call it RESET) to ground, with also BSEL pin too.
Then I run the command on the terminal,
then I powered on the unit
then the UBL was correctly flashed,
But then the flash process was not proceeding, then I hit CTRL+C and I run again the command: this time the process restarted and continued with success up to the end.

This is the log obtained (unfortunately it saved just the second run of the command, after the CTRL+C):

----------------------------------------------------- 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 COM7... Press any key to end this program at any time. Waiting for the DM36x... 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: Starting UART Boot... Target: BOOTUBL BOOTUBL commmand received. Returning CMD and command... CMD value sent. Waiting for DONE... Target: DONE DONE received. Command was accepted. Sending the UBL image Waiting for SENDIMG sequence... Target: SENDIMG SENDIMG received. Returning ACK and header for image data... ACK command sent. Waiting for BEGIN command... Target: BEGIN BEGIN commmand received. 100% [ ] Image data sent... Waiting for DONE... Target: DONE DONE received. All bytes of image data received... Target: Writing UBL to NAND flash Target: Unprotecting blocks 0x00000001 through 0x00000018. Target: Number of blocks needed for header and data: 0x0x00000001 Target: Attempting to start in block number 0x0x00000001. Target: Erasing block 0x00000001 through 0x00000001. Target: Writing header and image data to Block 0x00000001, Page 0x00000000 Target: Erasing block 0x00000002 through 0x00000002. Target: Writing header and image data to Block 0x00000002, Page 0x00000000 Target: Erasing block 0x00000003 through 0x00000003. Target: Writing header and image data to Block 0x00000003, Page 0x00000000 Target: Erasing block 0x00000004 through 0x00000004. Target: Writing header and image data to Block 0x00000004, Page 0x00000000 Target: Erasing block 0x00000005 through 0x00000005. Target: Writing header and image data to Block 0x00000005, Page 0x00000000 Target: Erasing block 0x00000006 through 0x00000006. Target: Writing header and image data to Block 0x00000006, Page 0x00000000 Target: Erasing block 0x00000007 through 0x00000007. Target: Writing header and image data to Block 0x00000007, Page 0x00000000 Target: Erasing block 0x00000008 through 0x00000008. Target: Writing header and image data to Block 0x00000008, Page 0x00000000 Target: Erasing block 0x00000009 through 0x00000009. Target: Writing header and image data to Block 0x00000009, Page 0x00000000 Target: Erasing block 0x0000000A through 0x0000000A. Target: Writing header and image data to Block 0x0000000A, Page 0x00000000 Target: Erasing block 0x0000000B through 0x0000000B. Target: Writing header and image data to Block 0x0000000B, Page 0x00000000 Target: Erasing block 0x0000000C through 0x0000000C. Target: Writing header and image data to Block 0x0000000C, Page 0x00000000 Target: Erasing block 0x0000000D through 0x0000000D. Target: Writing header and image data to Block 0x0000000D, Page 0x00000000 Target: Erasing block 0x0000000E through 0x0000000E. Target: Writing header and image data to Block 0x0000000E, Page 0x00000000 Target: Erasing block 0x0000000F through 0x0000000F. Target: Writing header and image data to Block 0x0000000F, Page 0x00000000 Target: Erasing block 0x00000010 through 0x00000010. Target: Writing header and image data to Block 0x00000010, Page 0x00000000 Target: Erasing block 0x00000011 through 0x00000011. Target: Writing header and image data to Block 0x00000011, Page 0x00000000 Target: Erasing block 0x00000012 through 0x00000012. Target: Writing header and image data to Block 0x00000012, Page 0x00000000 Target: Erasing block 0x00000013 through 0x00000013. Target: Writing header and image data to Block 0x00000013, Page 0x00000000 Target: Erasing block 0x00000014 through 0x00000014. Target: Writing header and image data to Block 0x00000014, Page 0x00000000 Target: Erasing block 0x00000015 through 0x00000015. Target: Writing header and image data to Block 0x00000015, Page 0x00000000 Target: Erasing block 0x00000016 through 0x00000016. Target: Writing header and image data to Block 0x00000016, Page 0x00000000 Target: Erasing block 0x00000017 through 0x00000017. Target: Writing header and image data to Block 0x00000017, Page 0x00000000 Target: Erasing block 0x00000018 through 0x00000018. Target: Writing header and image data to Block 0x00000018, Page 0x00000000 Target: Protecting the entire NAND flash. Target: DONE Sending the Application image Waiting for SENDIMG sequence... Target: SENDIMG SENDIMG received. Returning ACK and header for image data... ACK command sent. Waiting for BEGIN command... Target: BEGIN BEGIN commmand received. 100% [ ] Image data sent... Waiting for DONE... Target: DONE DONE received. All bytes of image data received... Target: Writing APP to NAND flash Target: Unprotecting blocks 0x00000019 through 0x00000032. Target: Number of blocks needed for header and data: 0x0x00000003 Target: Attempting to start in block number 0x0x00000019. Target: Erasing block 0x00000019 through 0x0000001B. Target: Writing header and image data to Block 0x00000019, Page 0x00000000 Target: Erasing block 0x0000001C through 0x0000001E. Target: Writing header and image data to Block 0x0000001C, Page 0x00000000 Target: Erasing block 0x0000001F through 0x00000021. Target: Writing header and image data to Block 0x0000001F, Page 0x00000000 Target: Erasing block 0x00000022 through 0x00000024. Target: Writing header and image data to Block 0x00000022, Page 0x00000000 Target: Erasing block 0x00000025 through 0x00000027. Target: Writing header and image data to Block 0x00000025, Page 0x00000000 Target: Erasing block 0x00000028 through 0x0000002A. Target: Writing header and image data to Block 0x00000028, Page 0x00000000 Target: Erasing block 0x0000002B through 0x0000002D. Target: Writing header and image data to Block 0x0000002B, Page 0x00000000 Target: Erasing block 0x0000002E through 0x00000030. Target: Writing header and image data to Block 0x0000002E, Page 0x00000000 Target: Protecting the entire NAND flash. Target: DONE Target: DONE Operation completed successfully. C:\Users\GauchoHP\Desktop>

I will update the first post with this procedure for air unit, if the first attempt don't work.
 
Last edited:
  • Like
Reactions: Mark The Droner
Hello,

I'm a French man trying to fix the problem you had 3 years ago. I've a LB1 which has been completely discharged so nothing happens when I connect my phone via USB on my LB1. I saw your multiple posts (of 2016), I bought a FT232RL 3.3V-5.5V FTDI USB to TTL Serial Adapter and read all your posts but It's quite complicated to understand bc you developped and corrected some glitchs at the same time.
Could you help me to solve my problem explaining me how to do? I prefer speaking in French but I also understand English well so it should be very easy to understand you.
Thanks in advance for you help.
 
Hello,

I'm a French man trying to fix the problem you had 3 years ago. I've a LB1 which has been completely discharged so nothing happens when I connect my phone via USB on my LB1. I saw your multiple posts (of 2016), I bought a FT232RL 3.3V-5.5V FTDI USB to TTL Serial Adapter and read all your posts but It's quite complicated to understand bc you developped and corrected some glitchs at the same time.
Could you help me to solve my problem explaining me how to do? I prefer speaking in French but I also understand English well so it should be very easy to understand you.
Thanks in advance for you help.
You should start executing the procedure detailed on the first post and report here the result and the log obtained before, during and after the procedure.
 
OK thank you "Gaucho" I'm gonna do this today and see what happens. I'll let uou know asap I finish or if I've any problem.
 
First off all, nothing is shown when I connect the ground unit via the usb cable to my PC. Same for the unit on my S900, nothing is shown in my DJI Assistant 2. Is it a problem of firmware or bad blocks in the memory, in all case must I follow your first procedure?
 
Hello

Thank you Gaucho for your work. I allready had to reflash many Phantom 2 Vision+ with no image. It worjed always without any problems.

Actually I need to get my RE700 working again. Until now 3 pieces are bricked thanks to the app update.
Is there a way to flash the wm301_repeater_2g_v1 module from the RE700?
I got one working RE700 and 3 bricked RE700.
I think the ddwrt software wasn't flashed correctly during update and now it won't even boot.

I also use a tplink cpe210 with 24v powermodule and 18650 batteries as alternative. But I can't give this solutions to all my friends ;-) there should be an easier way like the RE700 working again.

Thank you in advance

Fabio

Hi

Is there a solution for the P2V+ ground unit after firmwareproblem done by DJI?

Fabio
 
Thank you! My LB is back to life. Is there a solution to do the same procedure with my dji goggles? After a Firmwareupdate my Goggles are not able to get a new firmware. Is it possible to get the same way?
 

Members online

No members online now.

Forum statistics

Threads
143,066
Messages
1,467,359
Members
104,936
Latest member
hirehackers