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

william you jumped a piece of the thread.
we still grabbed the update firmware.
to try to update the firmware is a good idea.
I will do it.
i will also test the device but i repeat: IT MUST WORK NOW.
the reason is that the Linux boot is complete, all the components are running, all the components are returning its version on the usb upgrade port.
there is really no reason why now it could not work.
 
about the reason why the problem occours: it is still explained here, but i wil try to give you a deep explanation, according to what Andrew told to me:
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 breaks 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.
 
Also, maybe that environment setting is different (i see some error in your log about this). Can the 0x800 bytes contain environment settings?
there is no error about the environment settings. can you show them to me?
 
Sorry if I don't read all, this topic is on from a lot of time, and I'm working on a lot of things. I'm designing a CabelCam, and every day I'm on one forum or another in order to solve problems, so maybe I jump some post.
And, I'm not so expert in linux issue, but I read this:
Code:
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
*** Warning - bad CRC, using default environment
So, maybe "default environment" is not what the system want...
I'm really happy for this results anway, it change a lot the use of this units.
Anyway, I don't used the units for 20 days, it's not so much... and it is fault. Must I use the device every day? Or have it on every time? I can do it, just I know.
 
Hi Gaucho.

Please let us know if you succesfully transfer video. ı'd like to give it a try with my LB too.

Best Regards.
Özgür.
 
Sorry if I don't read all, this topic is on from a lot of time, and I'm working on a lot of things. I'm designing a CabelCam, and every day I'm on one forum or another in order to solve problems, so maybe I jump some post.
And, I'm not so expert in linux issue, but I read this:
Code:
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
*** Warning - bad CRC, using default environment
So, maybe "default environment" is not what the system want...
I'm really happy for this results anway, it change a lot the use of this units.
Anyway, I don't used the units for 20 days, it's not so much... and it is fault. Must I use the device every day? Or have it on every time? I can do it, just I know.
me too, I had the problem after only one month of not utilization. Note: each time I had the problem the battery was completely down, so may be that also this influences the appearing of the problem.

the errors "bad block table" are present even on my (previously) working Lightbridge, so that error is not related to my work flashing the memory.
 
Note: each time I had the problem the battery was completely down, so may be that also this influences the appearing of the problem.
Yes, same problem. Battery totally down. Next time I will try to let the LB in charge if I don't use it for some week..
 
Just to summarize, and to let you all follow the same procedure:

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:
View attachment 63000
summary-png.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: I also used another command to erase the flash but I think that 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.

ANNEXED FILE: http://www.tr3ma.com/Dati/LB_hack.zip
 
Last edited:
Very, very good... but I'm unable to see the annexed file, how I can download it?
[EDIT] Now I see it.. was I adrunk before??
 
I think that this forum has a limit in the annex size. I moved it to another website.
 
I upgraded the firmware using the assistant software and each time i opened the terminal to see what it was Printing on the serial during the boot, in order to check if the error about the kernel entry point was still present.

After the update of the "ground system main controller" the problem was still there.

After the update of the "ground system decoder" the problem was gone away.

This is what i see now during boot:

Code:
DM36x initialization passed!
UBL Product Vesion : DJI-GSPv2-UBL-1.0-rc6(2014-08-15)
Dji UBL Version: 1.51(Aug 15 2014 - 16:40:46)
Booting Catalog Boot Loader
BootMode = NAND
Starting NAND Copy...
Valid magicnum, 0xA1ACED66, found in block 0x00000019.
  DONE
Jumping to entry point at 0x81080000.

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

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>GSPv2<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Filesystem Product Vesion : DJI-GSPv2-Filesystem-1.0-rc3(2014-06-05)
Runing /etc/init.d/rcS
[  4.250000] CMEMK module: built on Jan 22 2014 at 14:52:00
[  4.250000]  Reference Linux version 2.6.32
[  4.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
[  4.290000] allocated heap buffer 0xc7000000 of size 0x4400000
[  4.310000] heap fallback enabled - will try heap if pool buffer is not available
[  4.320000] CMEM Range Overlaps Kernel Physical - allowing overlap
[  4.330000] CMEM phys_start (0x1000) overlaps kernel (0x80000000 -> 0x83000000)
[  4.330000] cmemk initialized
[  4.360000] IRQK module: built on Jan 22 2014 at 14:52:01
[  4.380000]  Reference Linux version 2.6.32
[  4.380000]  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.400000] irqk initialized
[  4.450000] EDMAK module: built on Jan 22 2014 at 14:52:02
[  4.450000]  Reference Linux version 2.6.32
[  4.470000]  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.180000] usb 1-1.1: new high speed USB device using musb_hdrc and address 3
[  5.310000] 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
login[491]: root login on 'ttyS0'
umount: can't umount /mnt/usb: No such file or directory
#Process /etc/profile...
root@Dji-Pro:~# rmdir: '/mnt/usb': No such file or directory

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
[  9.940000] pinmux1:0x00185555
[  9.940000] pinmux4:0x1155fdff
[  10.000000] pinmux1:0x00185555
[  10.000000] pinmux4:0x1155fdff
[  10.110000] pinmux1:0x00185555
[  10.110000] pinmux4:0x1155fdff
[  10.170000] pinmux1:0x00185555
[  10.170000] pinmux4:0x1155fdff
[  10.230000] pinmux1:0x00185555
[  10.230000] pinmux4:0x1155fdff
 
but as you can see you have BAD sectors . and in this situtation 2 way - or buy new chip and reballing or power on-off LB every 2 week.

but as i know Bad sectors will grow up much more and more..
 
few days ago I wrote to TI asking how to dump the NAND memory.
this was my original request:

Code:
 I want to do a backup of the flash of the daVinci DM36x board, by means of the UART.
I'm looking for the right commands to send from UART (nand mode or bootme mode) in order to do a full backup of the flash.
I can also use Linux commands, if there is no external tool for this scope.
I use sfh_DM36x.exe to write the memory in bootme mode, but it can not perform a backup of the memory. I wish to perform a full backup of the flash in the actual state, before to do any modification.

This is the Texas Instruments reply:
Code:
I don't think that sfh_DM36x.exe can be used for backing up the NAND flash.


I assume that you are using the DM36x DVSDK 4.02:
http://www.ti.com/tool/linuxdvsdk-dm36x
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_4_00/4_02_00_06/index_FDS.html
For the PSP (linux Kernel) used the DVSDK some docs and info can be found at:
http://processors.wiki.ti.com/index.php/DaVinci_%28ARM9%29_PSP_Releases#DM36x


A couple of options below to investigate. A lot of it depends on where you want to backup the NAND.
The easiest would probably to use a big enough NAND to create an extra partition to backup the different partitions (UBL, U-boot, Env, Kernel, File system) to this extra partition. Otherwise you could back it up to an SD card, USB key or may be PC.

a) We provide a CCS project for NAND writer:
http://processors.wiki.ti.com/index.php/GSG:_Building_Software_Components_for_OMAP-L1/AM1x#Rebuilding_the_NAND_Flash_writer
You could try to modify it to turn it into a NAND reader and write the different partition in a backup partition.
Note that it will require a JTAG emulator connected to the board.

b) U-Boot:
U-boot should have the capability to read and write the NAND. So it should be possible to read partition by partition and write it to NAND or SD card.
I don't think that USB is supported in U-boot.
You could check the uflash (provided in U-boot) capability to see if it can both read and write:
http://processors.wiki.ti.com/index.php/SD_card_boot_and_flashing_tool_for_DM36x

c) Linux:
- Using the MTD you can read the NAND and dump it.
See for example:
   http://processors.wiki.ti.com/index.php/Checking_ECC_operation?keyMatch=u-boot%20DM36x&tisearch=Search-EN
More info on MTD:
   http://processors.wiki.ti.com/index.php/DaVinci_PSP_03.21.00.04_Device_Driver_Features_and_Performance_Guide?keyMatch=u-boot%20DM36x&tisearch=Search-EN#NAND_Driver
   http://processors.wiki.ti.com/index.php/Mtdutils
   This might help to first backup and then restore:
   http://processors.wiki.ti.com/index.php/TI81XX_PSP_04.04.00.01_Feature_Performance_Guide?keyMatch=nanddump&tisearch=Search-EN#Performance_Benchmarks
   http://forum.doozan.com/read.php?2,2775,2783
   also it might only work if you backup and restore to the same NAND device and the same partition:
   http://stackoverflow.com/questions/11279473/how-to-correctly-nandwrite-a-nanddumped-dump-with-oob

   After dumping the NAND to a file you might be able to send it over ethernet or to USB.
  Note that MTD utilities on the DM36x DVSDK might not support all features.

See as well:
   http://free-electrons.com/blog/managing-flash-storage-with-linux/
   
- There might be as well higher level tools that can do NAND back and restore.


d) Regarding NAND boot make sure to look at:
   http://processors.wiki.ti.com/index.php/Davinci/Sitara/Integra_Nand_Boot_FAQ

then they also added:
Code:
I have put comparable inputs on the E2E forum so that other people could provide inputs too:
https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/p/538031/1959752#1959752

Also please follow up there directly if needed.
 
but as you can see you have BAD sectors . and in this situtation 2 way - or buy new chip and reballing or power on-off LB every 2 week.

but as i know Bad sectors will grow up much more and more..

that 2 bad sectors were there since when it was working (when we made the backup that you used to decrypt it).
I will let you know what happens on the other 2 broken LB that I will repair Tomorrow.
 
i can give you fully nand image if you need. but you can go u-boot by pressing ESC ( first 10sec after boot) and use command

usb start ..and other for mounting usb flash
then nandwrite for backup.
 
but as you can see you have BAD sectors . and in this situtation 2 way - or buy new chip and reballing or power on-off LB every 2 week.

but as i know Bad sectors will grow up much more and more..
can you explain us why the bad sectors grow?
do you have any link where the problem is explained?
 
i can give you fully nand image if you need. but you can go u-boot by pressing ESC ( first 10sec after boot) and use command

usb start ..and other for mounting usb flash
then nandwrite for backup.

It could be usefull. First of all try to write to me all the commands to send in order to do this backup (complete procedure) and I will follow it Tomorrow.

EDIT: hey, you said that you have complete NAND backup....
Is it a backup of a working LB? share it on this thread, may be in the future we may need it...
If you made a full backup, I don't need to do it again. Correct?
if you want you can share the commands to send in order to have a reference for future uses.
 
can you explain us why the bad sectors grow?
do you have any link where the problem is explained?
i cant search link specially, but just type in Google "DJI no signal" and you get answer .. because all modules from DJI that transmit image have IMAGE DECODER or IMAGE ENCODER and NAND memory (Zenmuse X3,Zenmuse X5 , Inspire Transmitter ,Phantom 3 PRO , LB1 , ZENMUSE Z15 MARK III HD and other other other) and i dont know why DJI use only one type memory MT29F1G08ABAEAH4 and only this flash have problem with growed up BAD sectors..
 
The LB is becomed like a tin of anchovies

Next step is to implement the FOLLOW ME function... :D
 

Recent Posts

Members online

No members online now.

Forum statistics

Threads
143,086
Messages
1,467,526
Members
104,965
Latest member
Fimaj