Welcome to PhantomPilots.com

Sign up for a weekly email of the latest drone news & information

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

Discussion in 'DJI Lightbridge' started by gaucho, May 3, 2016.

  1. gaucho

    Joined:
    Apr 14, 2015
    Messages:
    136
    Likes Received:
    8
    This thread is becomed a little bit too long to be read.
    for anyone interested just in the solution, I pasted here directly the conclusions. If you have any problem with the procedure or if you want to go deep in how I found the solution, just read the entire thread. Don't ask a question if you didn't read the entire thread.

    PROBLEM SYMPTOMS
    1)Connecting upgrade port on the ground unit to a pc with the DJI assistant by means of a usb cable, you are able to see the firmware version of the "ground system main controller" but not the firmware version of the other 2 firmware components.

    2)Connecting an android device to the lightbridge ground unit and opening the lightbridge app, you will not be able to estabilish a connection, like if the ground unit was powered OFF.

    you will also find the problem symtoms here: Lightbridge firmware
    note: it is possible that this kind problem also occours on the air unit but this thread, up to now, concentrates just on the ground unit, cause it is the common problem that occours. Equivalent procedure and files should be produced to solve the problem on the air unit, if your problem is located on the air unit.

    PROBLEM DESCRIPTION

    This is a problem of the "nand flash". This problem is common to a lot of modules from Dji (p3p no signal, rc transmitter inspire no signal and etc.).
    The problem appears when people use LB ( and other devices from Dji) few times during the year, leaving long period where they don't use the device.
    Bad blocks in the memory grows up continuously, but if you once a month start the device, Linux marks bad blocks, and it changes the system parameters, "repairing" the memory.
    But if you don't use it for 3-4-5 month (in my case 1 month), bad blocks corrupt the flash in the UBL component area or in the U-BOOT component area, and you will no more be able to boot it.
    In Phantom4 Dji removed this memory and this kind of problem should not appear.
    The solution is to flash again the firmware on the internal memory of the LB.

    PROBLEM SOLUTION:

    (PROCEDURE TO FLASH BOOTLOADER AND U-BOOT ON DJI LIGHTBRIDGE)


    1)solder 3 wires on the serial TX,RX,GND pins and connect it to a PC by means of a level adapter like this ( FT232RL 3.3V 5.5V FTDI USB to TTL Serial Adapter Modulo Arduino Mini Port ) or equivalent one.

    2)solder 2 wires on the pins BSEL and 3V3 pins in order to let you short the 2 wires when needed

    Image showing where to solder the wires on the PCB:
    summary.png
    View attachment 63000

    3) make the shortcircuit between BSEL and 3V3.

    4) download and extract the folder annexed to this post

    5) open a dos command prompt and go in the extracted folder

    6) run the following command:
    Code:
    sfh_DM36x.exe -nandflash -v -p "COM21" ubl1_editedByGaucho.img u-boot_modifiedByGaucho.img
    Note: replace COM21 with the serial port that you are using.

    7) power on the LB and wait that the flasher tool scrolls while writing data to flash.

    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.
    You will see that this time the components are completely written and the tool automatically exits with success.

    9) power off the LB

    10) open the wires between BSEL and 3V3.

    11) open a terminal (Hyperterminal, tera term or equivalent tool) on the serial line, selecting speed 115200bps and flow control none.

    12) Power on LB and look on the terminal the boot process. It should be equivalent to the following one. At the end you will be able to type commands on linux. press ENTER key to see that the linux terminal answers to you requests.

    Code:
    
    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.
    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-05-30  6:44:26 UTC
      Image Type:  ARM Linux Kernel Image (uncompressed)
      Data Size:  4034816 Bytes = 3.8 MiB
      Load Address: 80008000
      Entry Point:  80008000
    ## Booting kernel from Legacy Image at 80700000 ...
      Image Name:  Linux-2.6.32.17-davinci1
      Created:  2014-05-30  6:44:26 UTC
      Image Type:  ARM Linux Kernel Image (uncompressed)
      Data Size:  4034816 Bytes = 3.8 MiB
      Load Address: 80008000
      Entry Point:  80008000
      Loading Kernel Image ... OK
    OK
    
    Starting kernel ...
    
    [  0.000000] Kernel Product Vesion : DJI-GSPv2-Kernel-1.0-rc3(2014-05-30 14:45)
    [  0.000000] Linux version 2.6.32.17-davinci1 (root@dji) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #8 PREEMPT Fri May 30 14:44:25 HKT 2014
    [  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: 44456KB available (3644K code, 446K 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.030000] EVM: tvp5146 SD video input
    [  0.110000] bio: create slab <bio-0> at 0
    [  0.110000] DM365 IPIPE initialized in Continuous mode
    [  0.120000] SCSI subsystem initialized
    [  0.120000] usbcore: registered new interface driver usbfs
    [  0.120000] usbcore: registered new interface driver hub
    [  0.120000] usbcore: registered new device driver usb
    [  0.130000] vpss vpss: dm365_vpss vpss probed
    [  0.130000] vpss vpss: dm365_vpss vpss probe success
    [  0.130000] dm365_afew_hw_init
    [  0.140000] ch0 default output "COMPOSITE", mode "PAL"
    [  0.140000] VPBE Encoder Initialized
    [  0.140000] cfg80211: Using static regulatory domain info
    [  0.140000] cfg80211: Regulatory domain: US
    [  0.140000]  (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
    [  0.140000]  (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm)
    [  0.140000]  (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
    [  0.140000]  (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
    [  0.140000]  (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
    [  0.140000]  (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
    [  0.140000]  (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm)
    [  0.140000] cfg80211: Calling CRDA for country: US
    [  0.140000] LogicPD encoder initialized
    [  0.140000] Switching to clocksource timer0_1
    [  0.150000] musb_hdrc: version 6.0, pio, host, debug=0
    [  0.170000] musb_hdrc: USB Host mode controller at fec64000 using PIO, IRQ 12
    [  0.170000] musb_hdrc musb_hdrc: MUSB HDRC host driver
    [  0.170000] musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
    [  0.170000] usb usb1: configuration #1 chosen from 1 choice
    [  0.170000] hub 1-0:1.0: USB hub found
    [  0.170000] hub 1-0:1.0: 1 port detected
    [  0.170000] NET: Registered protocol family 2
    [  0.170000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
    [  0.170000] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
    [  0.170000] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    [  0.170000] TCP: Hash tables configured (established 2048 bind 2048)
    [  0.170000] TCP reno registered
    [  0.170000] NET: Registered protocol family 1
    [  0.170000] RPC: Registered udp transport module.
    [  0.170000] RPC: Registered tcp transport module.
    [  0.170000] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [  0.180000] kfile init
    [  0.180000] JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
    [  0.180000] msgmni has been set to 86
    [  0.190000] alg: No test for stdrng (krng)
    [  0.190000] io scheduler noop registered (default)
    [  0.220000] davincifb davincifb.0: dm_osd0_fb: Initial window configuration is invalid.
    [  0.230000] davincifb davincifb.0: dm_osd0_fb: 1920x1080x16@0,0 with framebuffer size 8100KB
    [  0.230000] davincifb davincifb.0: dm_vid0_fb: 0x0x16@0,0 with framebuffer size 10KB
    [  0.250000] davincifb davincifb.0: dm_osd1_fb: Initial window configuration is invalid.
    [  0.250000] davincifb davincifb.0: dm_osd1_fb: 1920x1080x4@0,0 with framebuffer size 4050KB
    [  0.250000] davincifb davincifb.0: dm_vid1_fb: 0x0x16@0,0 with framebuffer size 10KB
    [  0.310000] venc off init
    [  0.310000] hdmi status init
    [  0.310000] input: gpio-keys as /devices/platform/gpio-keys/input/input0
    [  0.310000] DM365 IPIPEIF probed
    [  0.320000] imp serializer initialized
    [  0.320000] davinci_previewer initialized
    [  0.320000] davinci_resizer initialized
    [  0.320000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
    [  0.330000] serial8250.0: ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A
    [  0.810000] console [ttyS0] enabled
    [  0.810000] serial8250.0: ttyS1 at MMIO 0x1d06000 (irq = 41) is a 16550A
    [  0.820000] brd: module loaded
    [  0.820000] at24 1-0050: 32768 byte 24c256 EEPROM (writable)
    [  0.900000] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xf1 (Micron NAND 128MiB 3,3V 8-bit)
    [  0.910000] Creating 4 MTD partitions on "davinci_nand.0":
    [  0.920000] 0x000000000000-0x0000004a0000 : "bootloader"
    [  0.920000] 0x0000004a0000-0x000000e00000 : "kernel"
    [  0.930000] 0x000000e00000-0x000007f00000 : "filesystem"
    [  0.940000] 0x000000000000-0x000008000000 : "all"
    [  0.950000] davinci_nand davinci_nand.0: controller rev. 2.3
    [  0.960000] UBI: attaching mtd2 to ubi0
    [  0.960000] UBI: physical eraseblock size:  131072 bytes (128 KiB)
    [  0.970000] UBI: logical eraseblock size:  126976 bytes
    [  0.970000] UBI: smallest flash I/O unit:  2048
    [  0.980000] UBI: sub-page size:  512
    [  0.980000] UBI: VID header offset:  2048 (aligned 2048)
    [  0.990000] UBI: data offset:  4096
    [  1.120000] usb 1-1: new high speed USB device using musb_hdrc and address 2
    [  1.270000] usb 1-1: configuration #1 chosen from 1 choice
    [  1.270000] hub 1-1:1.0: USB hub found
    [  1.280000] hub 1-1:1.0: 2 ports detected
    [  1.510000] UBI: attached mtd2 to ubi0
    [  1.510000] UBI: MTD device name:  "filesystem"
    [  1.520000] UBI: MTD device size:  113 MiB
    [  1.520000] UBI: number of good PEBs:  904
    [  1.530000] UBI: number of bad PEBs:  0
    [  1.530000] UBI: max. allowed volumes:  128
    [  1.540000] UBI: wear-leveling threshold:  4096
    [  1.540000] UBI: number of internal volumes: 1
    [  1.550000] UBI: number of user volumes:  1
    [  1.550000] UBI: available PEBs:  0
    [  1.560000] UBI: total number of reserved PEBs: 904
    [  1.560000] UBI: number of PEBs reserved for bad PEB handling: 9
    [  1.570000] UBI: max/mean erase counter: 63/1
    [  1.570000] UBI: image sequence number: 1092381712
    [  1.580000] UBI: background thread "ubi_bgt0d" started, PID 349
    [  1.590000] console [netcon0] enabled
    [  1.590000] netconsole: network logging started
    [  1.590000] Initializing USB Mass Storage driver...
    [  1.600000] usbcore: registered new interface driver usb-storage
    [  1.610000] USB Mass Storage support registered.
    [  1.610000] usbcore: registered new interface driver usbtest
    [  1.620000] i2c /dev entries driver
    [  1.620000] Linux video capture interface: v2.00
    [  1.630000] ths7303 1-002c: chip found @ 0x58 (DaVinci I2C adapter)
    [  1.640000] ths7303 1-002c: ths7303 write failed
    [  1.640000] ths7303: probe of 1-002c failed with error -121
    [  1.650000] tvp5150_init
    [  1.650000] vpfe_init
    [  1.650000] vpfe-capture: vpss clock vpss_master enabled
    [  1.660000] vpfe-capture vpfe-capture: v4l2 device registered
    [  1.670000] vpfe-capture vpfe-capture: video device registered
    [  1.670000] tvp5150_probe
    [  1.680000] tvp5150 1-005d: tvp5150 1-005d decoder driver registered !!
    [  1.680000] vpfe-capture vpfe-capture: v4l2 sub device tvp5150 registered
    [  1.690000] vpfe-capture vpfe-capture: v4l2 sub device cat6023 register fails
    [  1.700000] vpfe_register_ccdc_device: DM365 ISIF
    [  1.700000] DM365 ISIF is registered with vpfe.
    [  1.710000] Trying to register davinci display video device.
    [  1.720000] layer=c17f7000,layer->video_dev=c17f7164
    [  1.720000] Trying to register davinci display video device.
    [  1.730000] layer=c17f7400,layer->video_dev=c17f7564
    [  1.740000] davinci_init:DaVinci V4L2 Display Driver V1.0 loaded
    [  1.740000] watchdog watchdog: heartbeat 1 sec
    [  1.750000] TCP cubic registered
    [  1.750000] NET: Registered protocol family 17
    [  1.760000] lib80211: common routines for IEEE802.11 drivers
    [  1.760000] ksocket init
    [  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.870000] nnnn===0
    [  1.870000] davinci_emac_probe: using random MAC addr: 46:40:56:47:74:4c
    [  1.880000] emac-mii: probed
    [  1.920000] UBIFS: recovery needed
    [  1.970000] UBIFS: recovery completed
    [  1.970000] UBIFS: mounted UBI device 0, volume 0, name "rootfs"
    [  1.980000] UBIFS: file system size:  110342144 bytes (107756 KiB, 105 MiB, 869 LEBs)
    [  1.980000] UBIFS: journal size:  9023488 bytes (8812 KiB, 8 MiB, 72 LEBs)
    [  1.990000] UBIFS: media format:  w4/r0 (latest is w4/r0)
    [  2.000000] UBIFS: default compressor: lzo
    [  2.000000] UBIFS: reserved for root:  0 bytes (0 KiB)
    [  2.010000] VFS: Mounted root (ubifs filesystem) on device 0:13.
    [  2.010000] Freeing init memory: 116K
    
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>GSPv2<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    
    Filesystem Product Vesion : DJI-GSPv2-Filesystem-1.0-rc3(2014-06-05)
    Runing /etc/init.d/rcS
    [  3.800000] CMEMK module: built on Jan 22 2014 at 14:52:00
    [  3.820000]  Reference Linux version 2.6.32
    [  3.820000]  File /home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
    [  3.840000] allocated heap buffer 0xc7000000 of size 0x4400000
    [  3.870000] heap fallback enabled - will try heap if pool buffer is not available
    [  3.870000] CMEM Range Overlaps Kernel Physical - allowing overlap
    [  3.880000] CMEM phys_start (0x1000) overlaps kernel (0x80000000 -> 0x83000000)
    [  3.890000] cmemk initialized
    [  3.920000] IRQK module: built on Jan 22 2014 at 14:52:01
    [  3.940000]  Reference Linux version 2.6.32
    [  3.940000]  File /home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/irq/src/module/irqk.c
    [  3.960000] irqk initialized
    [  4.010000] EDMAK module: built on Jan 22 2014 at 14:52:02
    [  4.010000]  Reference Linux version 2.6.32
    [  4.030000]  File /home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/edma/src/module/edmak.c
    [  4.700000] usb 1-1.1: new high speed USB device using musb_hdrc and address 3
    [  4.830000] usb 1-1.1: configuration #1 chosen from 1 choice
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    sulogin: no password entry for root
    umount: can't umount /mnt/usb: No such file or directory
    login[491]: root login on 'ttyS0'
    rmdir: '/mnt/usb': No such file or directory
    #Process /etc/profile...
    root@Dji-Pro:~#
    USBClient version 1.0.23
    
    ReadSize = 2048 Timeout = 90
    init  libusb successed!!!
    !!!!!!!!!!!!!!!!!!!!!!! open 68013 succeed  VENDOR_ID = 0x0547
    Claiming libusb_claim_interface 68013 successed
    usbmuxd_subscribe OK OK
    watchdog timeout:5
    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
    [  9.660000] pinmux1:0x00185555
    [  9.660000] pinmux4:0x1155fdff
    [  9.720000] pinmux1:0x00185555
    [  9.720000] pinmux4:0x1155fdff
    [  9.830000] pinmux1:0x00185555
    [  9.830000] pinmux4:0x1155fdff
    [  9.890000] pinmux1:0x00185555
    [  9.890000] pinmux4:0x1155fdff
    [  9.950000] pinmux1:0x00185555
    [  9.950000] pinmux4:0x1155fdff
    [  11.980000] PCLK = 0 -> 0
    [  11.980000] HTotal = 0 -> 1650
    [  11.980000] VTotal = 0 -> 750
    [  11.990000] ScanMode = I -> P
    [  12.000000] PCLK = 0,(1650x750) PROGRESS CHANGE MODE
    [  12.000000] VIC = 4
    
    root@Dji-Pro:~#
    root@Dji-Pro:~#
    
    
    13) connect the upgrade usb port to a pc and run the assistant software, you should be able to see that the assisant shows all the 3 components firmware version. Perform an update of the 3 firmware components, rebooting the device when requested by the assistant.

    PROBLEM SOLVED!!

    Note1: there is also another command to erase the flash before to write it, but it is not needed: sfh_DM36x.exe -nanderase -v -p "COM21"

    Note2: inside the annexed file you will find:
    -the serial flasher tool to use
    -the firmware to upload on the LB
    -the firmware as extracted from LB during the upgrade process via assistant
    -the firmware decrypted by Andrew
    -the terminal tool written by me to access the virtual serial from the upgrade port and get access to Linux interface
    -the ubl firmware component found on the TI sdk, that I used to understand that the andrew decrypted firmware contains a not needed header.

    Note3: the tool LightbridgeTerminal allows you to work on the linux embedded on the LB (air and ground unit) without modifing the hardware of your LB. Just connect to the upgrade port via usb cable, open my tool, open the serial connection on my tool, then press "enable linux" button. then type commands there, or just open your preferred terminal tool to work (tera term in example). this tool can work only if the LB is working (if the linux OS is working).


    ANNEXED FILE: http://www.tr3ma.com/Dati/LB_hack.zip
     
    #1 gaucho, May 3, 2016
    Last edited: Aug 28, 2016
    ceeejay and Geekazoid like this.
  2. Wiliam Fanelli

    Joined:
    May 2, 2016
    Messages:
    34
    Likes Received:
    0
    Well zone... Bit I'm pretty dure that the problem on our lightbridge units is a hardware fault. A lot of people nave same problem, if you read on dji forum.
    I sente my unit for repair.
     
  3. gaucho

    Joined:
    Apr 14, 2015
    Messages:
    136
    Likes Received:
    8
    I have a problem on the lightbridge firmware.
    the lightbridge does not work.
    this is the problem: Lightbridge firmware

    I used a serial analyzer to see the communication between windows assistant software and the lightbridge. To do these tests I used a working Lightbridge, not the broken one.
    the serial analyzer is this: FREE Serial Protocol Analyzer and Com Port Packet Data Sniffer
    I found that when the lightbridge correctly works, the assistant software send a magic sequence of ascii characters on the virtual serial port created by the usb connection, and after this, the lightbridge revelas its real nature: Linux

    To better understand, do the following:
    1)connect the LB to windows pc and power it on
    2)run assistant, and after 30 seconds, close the app and open hyperterminal
    hyperterminal should be set with a speed of 57600bps
    note:it is better if you previously save the connection, so that you can open it, one second after closing the assistant app.

    Now type a linux command and you will see a linux device answering (in example try ls command)

    I also identified the magic sequence that allows us to get in to the Linux environment. I made a vb.net tool in order to send the following Hex sequence and it works:
    55BB55BBFF000000FF0D0A
    note: each 2 hex values is a ascii character.

    I did some commands to understand more about the hardware and the software.
    If you know a little bit about linux, you will find the following information really useful:
    Code:
    root@Dji-Pro:~# ls
    Vend_Ax.iic  eth0config  mtdwritefile  update  usbupdate
    adb  fxload  setsecurity  update68013
    devgpio  loadmodule-rc  sshenable  usbclient
    enable68013  mtderase  stop  usbmuxd
    root@Dji-Pro:~#
    root@Dji-Pro:~#
    root@Dji-Pro:~# pwd
    /opt/dji/bin
    root@Dji-Pro:~# ps -ax
    ps: invalid option -- 'x'
    BusyBox v1.21.1 (2013-11-14 14:07:22 CST) multi-call binary.
    
    Usage: ps [-o COL1,COL2=HEADER] [-T]
    
    Show list of processes
    
      -o COL1,COL2=HEADER  Select columns for display
      -T  Show threads
    
    
    
    
    root@Dji-Pro:~# ps -ef
    PID  USER  TIME  COMMAND
      1 root  0:02 init
      2 root  0:00 [kthreadd]
      3 root  0:00 [ksoftirqd/0]
      4 root  0:00 [events/0]
      5 root  0:00 [khelper]
      8 root  0:00 [async/mgr]
      141 root  0:00 [sync_supers]
      143 root  0:00 [bdi-default]
      145 root  0:00 [kblockd/0]
      159 root  0:00 [khubd]
      162 root  0:00 [kseriod]
      200 root  0:00 [rpciod/0]
      209 root  0:00 [kswapd0]
      210 root  0:00 [aio/0]
      211 root  0:00 [nfsiod]
      212 root  0:00 [crypto/0]
      310 root  0:00 [hdmi_timer_kthr]
      327 root  0:00 [mtdblockd]
      349 root  0:00 [ubi_bgt0d]
      386 root  0:00 [ubifs_bgt0_0]
      475 root  0:00 /usr/local/sbin/sshd
      479 root  0:40 adb -P 5037 fork-server server
      484 root  0:05 usbmuxd -v -v
      485 root  0:25 usbclient
      486 root  0:00 usbupdate
      489 root  0:00 {autologin} /bin/sh /sbin/autologin
      491 root  0:00 -sh
    1075 root  0:00 [flush-ubifs_0_0]
    1129 root  0:00 ps -ef
    root@Dji-Pro:~#
    
    root@Dji-Pro:/# df
    Filesystem  1K-blocks  Used Available Use% Mounted on
    ubi0:rootfs  98972  19608  79364  20% /
    none  22292  4  22288  0% /tmp
    mdev  22292  0  22292  0% /dev
    tmpfs  22292  0  22292  0% /dev/shm
    root@Dji-Pro:/# lscpu
    -sh: lscpu: not found
    root@Dji-Pro:/# free -m
      total  used  free  shared  buffers
    Mem:  43  21  21  0  0
    -/+ buffers:  21  21
    Swap:  0  0  0
    root@Dji-Pro:/# uname -mrs
    Linux 2.6.32.17-davinci1 armv5tejl
    root@Dji-Pro:/# cat /proc/meminfo
    MemTotal:  44584 kB
    MemFree:  22404 kB
    Buffers:  0 kB
    Cached:  4192 kB
    SwapCached:  0 kB
    Active:  2520 kB
    Inactive:  2984 kB
    Active(anon):  1312 kB
    Inactive(anon):  24 kB
    Active(file):  1208 kB
    Inactive(file):  2960 kB
    Unevictable:  0 kB
    Mlocked:  0 kB
    SwapTotal:  0 kB
    SwapFree:  0 kB
    Dirty:  4 kB
    Writeback:  0 kB
    AnonPages:  1340 kB
    Mapped:  2752 kB
    Shmem:  24 kB
    Slab:  2184 kB
    SReclaimable:  688 kB
    SUnreclaim:  1496 kB
    KernelStack:  296 kB
    PageTables:  188 kB
    NFS_Unstable:  0 kB
    Bounce:  0 kB
    WritebackTmp:  0 kB
    CommitLimit:  22292 kB
    Committed_AS:  78380 kB
    VmallocTotal:  968704 kB
    VmallocUsed:  104996 kB
    VmallocChunk:  841724 kB
    root@Dji-Pro:/#
    root@Dji-Pro:/#
    root@Dji-Pro:/#
    root@Dji-Pro:/#
    root@Dji-Pro:/# cat /proc/cpuinfo
    Processor  : ARM926EJ-S rev 5 (v5l)
    BogoMIPS  : 215.44
    Features  : swp half thumb fastmult edsp java
    CPU implementer : 0x41
    CPU architecture: 5TEJ
    CPU variant  : 0x0
    CPU part  : 0x926
    CPU revision  : 5
    
    Hardware  : DaVinci DM36x EVM
    Revision  : 0000
    Serial  : 0000000000000000
    root@Dji-Pro:/#
    
    root@Dji-Pro:~# ifconfig
    eth0  Link encap:Ethernet  HWaddr 0A:B7:B4:4C:92:52
      inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
      Interrupt:52 Base address:0x7000
    
    lo  Link encap:Local Loopback
      inet addr:127.0.0.1  Mask:255.0.0.0
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:34 errors:0 dropped:0 overruns:0 frame:0
      TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:1700 (1.6 KiB)  TX bytes:1700 (1.6 KiB)
    
    root@Dji-Pro:~#
    
    I followed the same procedure on the air unit, finding that there is only the usb device, and no ethernet device, while the ground unit also has ethernet interface.
    This is a log with some commands sent to the air unit:

    Code:
    root@Dji-Pro:~# ifconfig
    root@Dji-Pro:~#
    
    root@Dji-Pro:~# ps -ef
    
    PID  USER  TIME  COMMAND
      1 root  0:01 init
      2 root  0:00 [kthreadd]
      3 root  0:00 [ksoftirqd/0]
      4 root  0:00 [events/0]
      5 root  0:00 [khelper]
      8 root  0:00 [async/mgr]
      124 root  0:00 [sync_supers]
      126 root  0:00 [bdi-default]
      128 root  0:00 [kblockd/0]
      139 root  0:00 [khubd]
      142 root  0:00 [kseriod]
      174 root  0:00 [rpciod/0]
      183 root  0:00 [kswapd0]
      184 root  0:00 [aio/0]
      185 root  0:00 [nfsiod]
      186 root  0:00 [crypto/0]
      289 root  0:00 [mtdblockd]
      311 root  0:00 [ubi_bgt0d]
      328 root  0:00 [hdmi_queue]
      329 root  0:00 [irq/44-6023_i2c]
      346 root  0:00 [ubifs_bgt0_0]
      416 root  0:01 /opt/dji/bin/sw_switch
      418 root  0:00 {autologin} /bin/sh /sbin/autologin
      419 root  0:00 -sh
      451 root  0:04 /opt/dji/bin/encode_usb -a -s -m
      455 root  0:00 [flush-ubifs_0_0]
    
    
    
    
    root@Dji-Pro:~# kill -9 451
    
    [  259.520000] cmemk unregistered
    [  259.570000] irqk unregistered
    [  259.700000] CMEMK module: built on Jan 14 2014 at 19:23:51
    [  259.720000]  Reference Linux version 2.6.32
    [  259.720000]  File /home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
    [  259.740000] allocated heap buffer 0xc7000000 of size 0x15e2000
    [  259.760000] heap fallback enabled - will try heap if pool buffer is not available
    [  259.770000] CMEM Range Overlaps Kernel Physical - allowing overlap
    [  259.780000] CMEM phys_start (0x1000) overlaps kernel (0x80000000 -> 0x83000000)
    [  259.780000] cmemk initialized
    [  259.810000] IRQK module: built on Jan 14 2014 at 19:23:57
    [  259.810000]  Reference Linux version 2.6.32
    [  259.830000]  File /home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/irq/src/module/irqk.c
    [  259.850000] irqk initialized
    [  259.890000] EDMAK module: built on Jan 14 2014 at 19:24:08
    [  259.890000]  Reference Linux version 2.6.32
    [  259.900000]  File /home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/edma/src/module/edmak.c
    
    encode_usb V00.02.02.00(Oct 10 2014 11:17:43).
    init  libusb successed!!!
    open 68013 succeed  VENDOR_ID = 0x0547
    Claiming libusb_claim_interface 68013 successed
    Init T[  260.170000] EVM: switch to it6604 hdmi video inputransferQueue
    ..........
    ........
    .....
    
    root@Dji-Pro:~# ps -ef
    
    PID  USER  TIME  COMMAND
      1 root  0:01 init
      2 root  0:00 [kthreadd]
      3 root  0:00 [ksoftirqd/0]
      4 root  0:00 [events/0]
      5 root  0:00 [khelper]
      8 root  0:00 [async/mgr]
      124 root  0:00 [sync_supers]
      126 root  0:00 [bdi-default]
      128 root  0:00 [kblockd/0]
      139 root  0:00 [khubd]
      142 root  0:00 [kseriod]
      174 root  0:00 [rpciod/0]
      183 root  0:00 [kswapd0]
      184 root  0:00 [aio/0]
      185 root  0:00 [nfsiod]
      186 root  0:00 [crypto/0]
      289 root  0:00 [mtdblockd]
      311 root  0:00 [ubi_bgt0d]
      328 root  0:00 [hdmi_queue]
      329 root  0:00 [irq/44-6023_i2c]
      346 root  0:00 [ubifs_bgt0_0]
      416 root  0:01 /opt/dji/bin/sw_switch
      418 root  0:00 {autologin} /bin/sh /sbin/autologin
      419 root  0:00 -sh
      455 root  0:00 [flush-ubifs_0_0]
      505 root  0:00 /opt/dji/bin/encode_usb -a -s -m
      508 root  0:00 ps -ef
    root@Dji-Pro:~#
    
    Anyway, these tests were performed on a working LB. Actually on my not working device, is i send the hex sequence, I can't get any reply from the device, meaning that, for some reason, the linux OS is not running, or that the serial interface is not correctly running.
    Any Hint?

    -------------------------
    p.s.: I also found that, sending the command "update -v" the LB replies with the following sequence of hex characters, where you can find the firmware version of the decoder (1.4.8)


    55 AA 55 AA 3F 00 00 00 00 B2 0F 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16
    00 00 00 00 00 00 00 00 00 00 00 06 08 04 01 00
    00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 2E 25

    if you send instead the command "update68013 -v" you get the firmware version of the "ground system transmitter" (1.2.0):

    55 AA 55 AA 3F 00 00 00 00 B2 0F 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20
    00 00 00 00 00 00 00 00 00 00 00 01 00 02 01 00
    00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 76 78

    -----------------------
    the ground system main controller is obtained with special hex character sequence.
    The special request is the following:

    55AA55AA2000000000B10F000000000000000000000000000000000000001A00000029A4

    and the reply of the LB is the following (firmware version 1.1.9):

    55 AA 55 AA 3F 00 28 00 00 B2 0F 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A
    00 00 00 00 00 00 00 00 00 00 00 00 09 01 01 01
    00 00 1B 01 FF FF FF FF 04 02 00 13 93 00 00 00
    20 8A CB



    It's the third time I send my devices for repair, cause i have 3 lightbridges. I want to solve the problem by myself. I'm disappointed about dji support.
     
    #3 gaucho, May 4, 2016
    Last edited: Aug 28, 2016
  4. Wiliam Fanelli

    Joined:
    May 2, 2016
    Messages:
    34
    Likes Received:
    0
    I agree, but if the problem is an hardware fault, only DJI can solve it. If is a firmware problem, MAY BE you can do something, but I think that the problem is the hardware.
    Your test above only dimostrate that there is no comunication with some modules in the lightbridge, just as if they are powered off.
     
  5. gaucho

    Joined:
    Apr 14, 2015
    Messages:
    136
    Likes Received:
    8
    What let''s you think there is hardware problem? My devices were in my home for 6 months. Moreover the serial line works fine, in fact you can get the first fw version and you can see common prints over the serial line, when you try to access the Linux interface, something on the fw does not answer correctly.
     
  6. Wiliam Fanelli

    Joined:
    May 2, 2016
    Messages:
    34
    Likes Received:
    0
    I hope you are right, but on the DJI forum a lot of people have the same problem, or in ground unit or in air unit.
    If the problem is software, may be a hard reset can solve. But I ask to me, why a firmware stop to work? It's not a PC where you install driver, update and so on. If it working before, it is working after. May be it freeze, or something bt not totally black. For that reason I think that there is a problem with hardware, may be a chip in power supply unit..
     
  7. gaucho

    Joined:
    Apr 14, 2015
    Messages:
    136
    Likes Received:
    8
    may be some memory corrupts because of a not robust software.
    unfortunately DJI chinese support is not good.

    some more details.

    doing reboot -f we can read some more infos:

    root@Dji-Pro:~#
    * daemon not running. starting it now on port 5037 *
    root@Dji-Pro:~# reboot -f

    reboot -f
    [ 51.430000] Restarting system.
    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.
    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
    Image Name: Linux-2.6.32.17-davinci1
    Created: 2014-09-15 5:24:12 UTC
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 4043296 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: 2014-09-15 5:24:12 UTC
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 4043296 Bytes = 3.9 MiB
    Load Address: 80008000
    Entry Point: 80008000
    Loading Kernel Image ... OK
    OK

    Starting kernel ...

    [ 0.000000] Kernel Product Vesion : DJI-GSP-Kernel-1.1-rc1(2014-09-15)
    [ 0.000000] Linux version 2.6.32.17-davinci1 (root@dji) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #3 PREEMPT Mon Sep 15 13:24:10 HKT 2014
    [ 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:eek:sd0=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: 44448KB available (3648K code, 447K 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.030000] EVM: tvp5146 SD video input
    [ 0.110000] bio: create slab <bio-0> at 0
    [ 0.110000] DM365 IPIPE initialized in Continuous mode
    [ 0.120000] SCSI subsystem initialized
    [ 0.120000] usbcore: registered new interface driver usbfs
    [ 0.120000] usbcore: registered new interface driver hub
    [ 0.120000] usbcore: registered new device driver usb
    [ 0.130000] vpss vpss: dm365_vpss vpss probed
    [ 0.130000] vpss vpss: dm365_vpss vpss probe success
    [ 0.130000] dm365_afew_hw_init
    [ 0.140000] ch0 default output "COMPOSITE", mode "PAL"
    [ 0.140000] VPBE Encoder Initialized
    [ 0.140000] cfg80211: Using static regulatory domain info
    [ 0.140000] cfg80211: Regulatory domain: US
    [ 0.140000] (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
    [ 0.140000] (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm)
    [ 0.140000] (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
    [ 0.140000] (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
    [ 0.140000] (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
    [ 0.140000] (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
    [ 0.140000] (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm)
    [ 0.140000] cfg80211: Calling CRDA for country: US
    [ 0.140000] LogicPD encoder initialized
    [ 0.140000] Switching to clocksource timer0_1
    [ 0.150000] musb_hdrc: version 6.0, pio, host, debug=0
    [ 0.170000] musb_hdrc: USB Host mode controller at fec64000 using PIO, IRQ 12
    [ 0.170000] musb_hdrc musb_hdrc: MUSB HDRC host driver
    [ 0.170000] musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
    [ 0.170000] usb usb1: configuration #1 chosen from 1 choice
    [ 0.170000] hub 1-0:1.0: USB hub found
    [ 0.170000] hub 1-0:1.0: 1 port detected
    [ 0.170000] NET: Registered protocol family 2
    [ 0.170000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.170000] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
    [ 0.170000] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.170000] TCP: Hash tables configured (established 2048 bind 2048)
    [ 0.170000] TCP reno registered
    [ 0.170000] NET: Registered protocol family 1
    [ 0.170000] RPC: Registered udp transport module.
    [ 0.170000] RPC: Registered tcp transport module.
    [ 0.170000] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.180000] kfile init
    [ 0.180000] JFFS2 version 2.2. (NAND) ?? 2001-2006 Red Hat, Inc.
    [ 0.180000] msgmni has been set to 86
    [ 0.190000] alg: No test for stdrng (krng)
    [ 0.190000] io scheduler noop registered (default)
    [ 0.220000] davincifb davincifb.0: dm_osd0_fb: Initial window configuration is invalid.
    [ 0.230000] davincifb davincifb.0: dm_osd0_fb: 1920x1080x16@0,0 with framebuffer size 8100KB
    [ 0.230000] davincifb davincifb.0: dm_vid0_fb: 0x0x16@0,0 with framebuffer size 10KB
    [ 0.250000] davincifb davincifb.0: dm_osd1_fb: Initial window configuration is invalid.
    [ 0.250000] davincifb davincifb.0: dm_osd1_fb: 1920x1080x4@0,0 with framebuffer size 4050KB
    [ 0.250000] davincifb davincifb.0: dm_vid1_fb: 0x0x16@0,0 with framebuffer size 10KB
    [ 0.310000] venc off init
    [ 0.310000] hdmi status init
    [ 0.310000] input: gpio-keys as /devices/platform/gpio-keys/input/input0
    [ 0.310000] DM365 IPIPEIF probed
    [ 0.320000] imp serializer initialized
    [ 0.320000] davinci_previewer initialized
    [ 0.320000] davinci_resizer initialized
    [ 0.320000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
    [ 0.330000] serial8250.0: ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A
    [ 0.810000] console [ttyS0] enabled
    [ 0.810000] serial8250.0: ttyS1 at MMIO 0x1d06000 (irq = 41) is a 16550A
    [ 0.820000] brd: module loaded
    [ 0.820000] at24 1-0050: 32768 byte 24c256 EEPROM (writable)
    [ 0.900000] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xf1 (Micron NAND 128MiB 3,3V 8-bit)
    [ 0.910000] Creating 4 MTD partitions on "davinci_nand.0":
    [ 0.920000] 0x000000000000-0x0000004a0000 : "bootloader"
    [ 0.930000] 0x0000004a0000-0x000000e00000 : "kernel"
    [ 0.930000] 0x000000e00000-0x000007f00000 : "filesystem"
    [ 0.940000] 0x000000000000-0x000008000000 : "all"
    [ 0.950000] davinci_nand davinci_nand.0: controller rev. 2.3
    [ 0.960000] UBI: attaching mtd2 to ubi0
    [ 0.960000] UBI: physical eraseblock size: 131072 bytes (128 KiB)
    [ 0.970000] UBI: logical eraseblock size: 126976 bytes
    [ 0.970000] UBI: smallest flash I/O unit: 2048
    [ 0.980000] UBI: sub-page size: 512
    [ 0.980000] UBI: VID header offset: 2048 (aligned 2048)
    [ 0.990000] UBI: data offset: 4096
    [ 1.020000] PCLK = 0 -> 0
    [ 1.030000] HTotal = 0 -> 1650
    [ 1.030000] VTotal = 0 -> 750
    [ 1.030000] ScanMode = I -> P
    [ 1.030000] PCLK = 0,(1650x750) PROGRESS CHANGE MODE
    [ 1.040000] VIC = 4
    [ 1.120000] usb 1-1: new high speed USB device using musb_hdrc and address 2
    [ 1.270000] usb 1-1: configuration #1 chosen from 1 choice
    [ 1.270000] hub 1-1:1.0: USB hub found
    [ 1.280000] hub 1-1:1.0: 2 ports detected
    [ 1.530000] UBI: attached mtd2 to ubi0
    [ 1.530000] UBI: MTD device name: "filesystem"
    [ 1.540000] UBI: MTD device size: 113 MiB
    [ 1.540000] UBI: number of good PEBs: 904
    [ 1.550000] UBI: number of bad PEBs: 0
    [ 1.550000] UBI: max. allowed volumes: 128
    [ 1.560000] UBI: wear-leveling threshold: 4096
    [ 1.560000] UBI: number of internal volumes: 1
    [ 1.560000] UBI: number of user volumes: 1
    [ 1.570000] UBI: available PEBs: 0
    [ 1.570000] UBI: total number of reserved PEBs: 904
    [ 1.580000] UBI: number of PEBs reserved for bad PEB handling: 9
    [ 1.580000] UBI: max/mean erase counter: 109/1
    [ 1.590000] UBI: image sequence number: 267888972
    [ 1.590000] UBI: background thread "ubi_bgt0d" started, PID 349
    [ 1.600000] console [netcon0] enabled
    [ 1.610000] netconsole: network logging started
    [ 1.610000] Initializing USB Mass Storage driver...
    [ 1.620000] usbcore: registered new interface driver usb-storage
    [ 1.620000] USB Mass Storage support registered.
    [ 1.630000] usbcore: registered new interface driver usbtest
    [ 1.640000] i2c /dev entries driver
    [ 1.640000] Linux video capture interface: v2.00
    [ 1.650000] ths7303 1-002c: chip found @ 0x58 (DaVinci I2C adapter)
    [ 1.650000] ths7303 1-002c: ths7303 write failed
    [ 1.660000] ths7303: probe of 1-002c failed with error -121
    [ 1.670000] tvp5150_init
    [ 1.670000] vpfe_init
    [ 1.670000] vpfe-capture: vpss clock vpss_master enabled
    [ 1.680000] vpfe-capture vpfe-capture: v4l2 device registered
    [ 1.680000] vpfe-capture vpfe-capture: video device registered
    [ 1.690000] tvp5150_probe
    [ 1.690000] tvp5150 1-005d: tvp5150 1-005d decoder driver registered !!
    [ 1.700000] vpfe-capture vpfe-capture: v4l2 sub device tvp5150 registered
    [ 1.710000] vpfe-capture vpfe-capture: v4l2 sub device cat6023 register fails
    [ 1.720000] vpfe_register_ccdc_device: DM365 ISIF
    [ 1.720000] DM365 ISIF is registered with vpfe.
    [ 1.730000] Trying to register davinci display video device.
    [ 1.740000] layer=c17f7000,layer->video_dev=c17f7164
    [ 1.740000] Trying to register davinci display video device.
    [ 1.750000] layer=c17f7400,layer->video_dev=c17f7564
    [ 1.750000] davinci_init:DaVinci V4L2 Display Driver V1.0 loaded
    [ 1.760000] watchdog watchdog: heartbeat 1 sec
    [ 1.770000] TCP cubic registered
    [ 1.770000] NET: Registered protocol family 17
    [ 1.770000] lib80211: common routines for IEEE802.11 drivers
    [ 1.780000] ksocket init
    [ 2.420000] encrypt device:at88 found
    [ 2.450000] Clocks: disable unused mmcsd0
    [ 2.450000] Clocks: disable unused mmcsd1
    [ 2.450000] Clocks: disable unused spi0
    [ 2.450000] Clocks: disable unused spi1
    [ 2.450000] Clocks: disable unused spi2
    [ 2.450000] Clocks: disable unused spi3
    [ 2.450000] Clocks: disable unused spi4
    [ 2.450000] Clocks: disable unused pwm0
    [ 2.450000] Clocks: disable unused pwm1
    [ 2.450000] Clocks: disable unused pwm2
    [ 2.450000] Clocks: disable unused pwm3
    [ 2.450000] Clocks: disable unused timer1
    [ 2.450000] Clocks: disable unused timer3
    [ 2.450000] Clocks: disable unused emac
    [ 2.450000] Clocks: disable unused voice_codec
    [ 2.450000] Clocks: disable unused asp0
    [ 2.450000] Clocks: disable unused rto
    [ 2.450000] Clocks: disable unused mjcp
    [ 2.530000] nnnn===0
    [ 2.530000] davinci_emac_probe: using random MAC addr: be:82:9d:aa:cf:73
    [ 2.540000] emac-mii: probed
    [ 2.580000] UBIFS: recovery needed
    [ 2.640000] UBIFS: recovery completed
    [ 2.640000] UBIFS: mounted UBI device 0, volume 0, name "rootfs"
    [ 2.650000] UBIFS: file system size: 110342144 bytes (107756 KiB, 105 MiB, 869 LEBs)
    [ 2.660000] UBIFS: journal size: 9023488 bytes (8812 KiB, 8 MiB, 72 LEBs)
    [ 2.660000] UBIFS: media format: w4/r0 (latest is w4/r0)
    [ 2.670000] UBIFS: default compressor: lzo
    [ 2.670000] UBIFS: reserved for root: 0 bytes (0 KiB)
    [ 2.680000] VFS: Mounted root (ubifs filesystem) on device 0:13.
    [ 2.690000] Freeing init memory: 116K


    Filesystem Product Vesion : DJI-Filesystem-1.0-rc2
    Runing /etc/init.d/rcS
    [ 4.480000] CMEMK module: built on Jan 22 2014 at 14:52:00
    [ 4.480000] Reference Linux version 2.6.32
    [ 4.500000] File /home/u/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
    [ 4.520000] allocated heap buffer 0xc7000000 of size 0x4400000
    [ 4.540000] heap fallback enabled - will try heap if pool buffer is not available
    [ 4.550000] CMEM Range Overlaps Kernel Physical - allowing overlap
    [ 4.560000] CMEM phys_start (0x1000) overlaps kernel (0x80000000 -> 0x83000000)
    [ 4.570000] cmemk initialized
    [ 4.600000] IRQK module: built on Jan 22 2014 at 14:52:01
    [ 4.600000] Reference Linux version 2.6.32
    [ 4.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
    [ 4.640000] irqk initialized
    [ 4.700000] EDMAK module: built on Jan 22 2014 at 14:52:02
    [ 4.700000] Reference Linux version 2.6.32
    [ 4.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
    [ 5.200000] usb 1-1.1: new high speed USB device using musb_hdrc and address 3
    [ 5.350000] usb 1-1.1: configuration #1 chosen from 1 choice
    * daemon started successfully *
    sulogin: no password entry for root
    umount: can't umount /mnt/usb: No such file or directory
    login[491]: root login on 'ttyS0' rmdir: '/mnt/usb': No such file or directory
    #Process /etc/profile...
    root@Dji-Pro:~#
    root@Dji-Pro:~#

    USBClient version 1.0.23


    ReadSize = 2048 Timeout = 90
    init libusb successed!!!
    !!!!!!!!!!!!!!!!!!!!!!! open 68013 succeed VENDOR_ID = 0x0547
    Claiming libusb_claim_interface 68013 successed
    usbmuxd_subscribe OK OK
    watchdog timeout:5
    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
    Osd_Init_Single_Pic :/opt/dji/data/png/icon_mode.png
    Osd_Init_Single_Pic :/opt/dji/data/png/icon_satellite.png
    Osd_Init_Single_Pic :/opt/dji/data/png/icon_ioc.png
    Osd_Init_Single_Pic :/opt/dji/data/png/icon_battery_conctrl.png
    Osd_Init_Single_Pic :/opt/dji/data/png/icon_icon_battery_craft.png
    Osd_Init_Single_Pic :/opt/dji/data/png/icon_wifi_conctrl.png
    Osd_Init_Single_Pic :/opt/dji/data/png/icon_wifi_photo.png
    Osd_Init_Single_Pic :/opt/dji/data/png/arrow_down.png
    Osd_Init_Single_Pic :/opt/dji/data/png/arrow_up.png
    Osd_Init_Single_Pic :/opt/dji/data/png/diamond.png
    Osd_Init_Single_Pic :/opt/dji/data/png/triangle.png
    root@Dji-Pro:~#

    and on internet we can read a lot of info about the used hardware:
    UG: DaVinci PSP Installation on DM36x EVM - Texas Instruments Wiki

    and i also found a russian website with some informations about the hardware:
    Издевательства над DJI N1 Video Encoder

     
  8. gaucho

    Joined:
    Apr 14, 2015
    Messages:
    136
    Likes Received:
    8
    another update.
    I made a tool to easily send hex characters to lightbridge.
    This is how to use it:
    -connect the usb cable
    -poweron the LB
    -check the com port number associated to LB on windows "devices manager"
    -select on my tool the Lightbridge COM port number
    -select the speed: 57600
    -press OPEN PORT button

    now you should see some prints coming from the LB

    Now you can send hex data sequence, by selecting the HEX mode, pasting hex "magic" sequence in the texbox and pressing SEND button

    If you want instead to enable Linux terminal, press the button ENABLE LINUX INTERFACE ON LIGHTBRIDGE and then start to type commands on the textbox and then press SEND button (ensure that TEXT MODE option is selected).
    you can also press enter key instead of SEND button

    Here annexed you can find the tool (first file) while the second file is the sources in vb.net.
     

    Attached Files:

  9. gaucho

    Joined:
    Apr 14, 2015
    Messages:
    136
    Likes Received:
    8
    p.s.: on the tool you will also find a button to "disable linux interface" cause i found a magix hex seguence for this:
    55BB55BBFE000000FE


    Please, also consider that I didn'the spent time on the appearance of the implementation of a good terminal tool. The ansi characters used by Linux terminal are not implemented, so, if you want to perform a lot of commands on Linux, or to edit a file, I suggest to enable Linux terminal with my tool, then close it and open hyperterminal, tera term, putty, or the tool that you prefer.
     
    #9 gaucho, May 4, 2016
    Last edited: May 4, 2016
  10. andrew_by

    Joined:
    Dec 15, 2015
    Messages:
    57
    Likes Received:
    10
    what i need for start software in Win7 x64 ?
     
  11. gaucho

    Joined:
    Apr 14, 2015
    Messages:
    136
    Likes Received:
    8
    the tool should work as it is. it is developed with vb.net, so it should work as it is.
    you don't need anything.
    If you want to use the source code, you will need vb.net
     
  12. gaucho

    Joined:
    Apr 14, 2015
    Messages:
    136
    Likes Received:
    8
    andrew wrote to me in private a really interesting teory, and it seems he knows what he writes:
    Ha also explained to me that inside the LB there is a serial port and it is always enabled. With that you can see the complete boot process, also in broken LB. So actually my next step it will be to open the LB and solder a serial port.
     
  13. Wiliam Fanelli

    Joined:
    May 2, 2016
    Messages:
    34
    Likes Received:
    0
    Interesting teory, but my fault units is new, never work and never connected to DJI devices or drones, I want use it in a my Cable Cam project. May be the unit was in some store from many months...
     
  14. gaucho

    Joined:
    Apr 14, 2015
    Messages:
    136
    Likes Received:
    8
    2 of my 3 LB had the same problem once arrived to me. I suspect some kind of well known bug

    Then I sent back to dji and they replaced it, then after few months one more lb had the same problem, I sent back to dji and they replaced it. Actually I have again the problem to 2 lb.
     
    #14 gaucho, May 5, 2016
    Last edited: May 5, 2016
  15. Big Dog

    Joined:
    Feb 17, 2016
    Messages:
    170
    Likes Received:
    59
    Jeez. With so much tech knowledge maybe you should build your own perfect drone operating system and hologram projector to view on. Lmao


    Sent from my iPhone using PhantomPilots mobile app
     
  16. gaucho

    Joined:
    Apr 14, 2015
    Messages:
    136
    Likes Received:
    8
    Here you find some pictures of what you find inside DJI Lightbridge
     

    Attached Files:

  17. gaucho

    Joined:
    Apr 14, 2015
    Messages:
    136
    Likes Received:
    8
    I found a method to save the update packages without open the LB.
    Up to now I successfully copied the ground decoder firmware to my PC.
    This is how i did:

     
  18. gaucho

    Joined:
    Apr 14, 2015
    Messages:
    136
    Likes Received:
    8
    unfortunately the above procedure works only for the decoder package, cause it is big.
    for the other two firmware, I was not able to save them.
    Anyway the saved file is a tar.gz file encrypted with openssl, infact editing it with notepad, you can see that it starts with Salt__

    So we miss the password to decrypt the annexed file.
     

    Attached Files:

  19. gaucho

    Joined:
    Apr 14, 2015
    Messages:
    136
    Likes Received:
    8
    i'm studing another method to get the files directly from the DJI server
     
  20. gaucho

    Joined:
    Apr 14, 2015
    Messages:
    136
    Likes Received:
    8
    I want to share also another information. I tried to connect to the internal serial ports shown on the annexed image, but i wasn't able to get any character form them.
    I tried with levels adapter between pc and LB and i also tried without it.
    I also tried at 2 speeds, (57200 and 115200 bps) but the result it was the same.
    no luck.
     

    Attached Files: