Bebop 2 Backlight flashing continuosly

When I tried updating my Bebop 2 to latest firmware it started blinking the backlight. Now even if I restart the drone it is keeping on blinking. The drone wifi is available but my phone is not able to connect to it.

I am able to connect via telnet. dragon-prog is not running. When I am trying to run dragon-prog manually I am getting the following output.

/ # dragon-prog 
posix init start build on : Jun  6 2018 11:54:59
Use ctrl+\ (SIGQUIT) to end the application
Memory from 0x10000 to 0x565000 locked
Memory from 0x574000 to 0x5f5000 locked
/tmp/.dragon-prog.lock locked.

when I am trying to run scripts like verylongpress.sh or reboot.sh I am getting an error

/ # /bin/onoffbutton/verylongpress_0.sh 
/dev/mmcblk0: LABEL="BEBOPDRONE" UUID="d51c37d4-38fb-474c-be92-df884b3c6a77" TYPE="ext4" 
umount: can't unmount /data: Device or resource busy


/ # /bin/reboot.sh 
umount: can't unmount /data: Device or resource busy

When I try to unmount /data sing umount /data I am getting the below output

/ # umount /data/
umount: can't unmount /data: Device or resource busy

Any help would be appreciater @julienberaud @AlexP

@SuhailPallathSulaima, the fact that you are able to connect via telnet without first pressing the bebop button 4 times means that you are still running the old firmware. Try to upgrade either via app or by placing the new firmware file in a special directory and rebooting as detailed elsewhere in this forum. Upgrade takes a while, so wait patiently, make sure that you start the process with a full battery. :wink:

Normally dragon-prog starts just the way you have described, the output seems normal. You can check if it’s running by writing ‘ps’ inside your telnet and checking if it’s on the list.

Try restarting your phone and connecting to the Bebop wifi before starting the Freeflight app. You may also check if the app is new and not outdated by visiting the appstore.
In summary: restart everything, check by telnet that dragon-prog is running, connect.
I hope it helps.

One more thought:
google “bebop drone hacking guide” and check chapter 5: in case of emergency - How to hard reset the Bebop.

Thanks for the quick reply Alex

To clarify I am able to connect via telnet after pressing the bebop button 4 times only.

dragon-prog is not running after the command. I checked with ps.

I already updated to the latest version, which is successful as per the update logs

Restarted everything. Still no use. Still, the backlight is continuously blinking.

For some reason the /data cant be unmounted and I dont know why this error is coming

Try these commands to know more about what’s happening:

df
mount
lsof | grep /data 
dragon-prog -h
dragon-prog -v

/data is normally used as the ftp directory, home dir and general writing area. The other folders are readonly. When running /bin/onoffbutton/verylongpress.sh manually it may give this error, that is ok.
Try to leave the bebop flashing for an hour or so, maybe the update is still running.
If none of them helps, then this about how to upgrade/downgrade the firmware manually, ie. without the app.
Good luck.

One proble i noticed is the below process cannot be killed. If I kill it using kill -9 it will restart with a new process id
1229 /usr/sbin/dnsmasq /data/lib/misc/dhcp_eth0.leases

Already tried leaving like that for more than 2 hours -no use
Already updated using the process in the link u attached

Below is the output from all the commands you said

/ # df
Filesystem           1K-blocks      Used Available Use% Mounted on
ubi1:system              43236     34900      6092  85% /
udev                    148420       796    147624   1% /dev
shm                     148508        24    148484   0% /dev/shm
tmp                     148508        52    148456   0% /tmp
ubi0:factory              4928       116      4524   3% /factory
ubi2:data                 9172       120      8548   1% /data
ubi2:update              28668        32     27140   0% /update
/dev/mmcblk0           7514984     17088   7497896   0% /data/ftp/internal_000
/ # mount
rootfs on / type rootfs (rw)
ubi1:system on / type ubifs (ro,relatime)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=148420k,nr_inodes=37105,mode=755)
devpts on /dev/pts type devpts (rw,relatime,gid=1022,mode=620)
debug on /sys/kernel/debug type debugfs (rw,relatime)
shm on /dev/shm type tmpfs (rw,relatime)
tmp on /tmp type tmpfs (rw,relatime)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
ubi0:factory on /factory type ubifs (ro,nosuid,nodev,relatime)
ubi2:data on /data type ubifs (rw,nosuid,nodev,relatime)
ubi2:update on /update type ubifs (rw,nosuid,nodev,relatime)
/dev/mmcblk0 on /data/ftp/internal_000 type ext4 (rw,noatime,discard,nobarrier)
/ # lsof | grep /data 
1229    /usr/sbin/dnsmasq       /data/lib/misc/dhcp_eth0.leases
/ # dragon-prog -h
posix init start build on : Jun  6 2018 11:54:59
Use ctrl+\ (SIGQUIT) to end the application
Memory from 0x10000 to 0x565000 locked
Memory from 0x574000 to 0x5f5000 locked
/tmp/.dragon-prog.lock locked.

Usage: dragon-prog [options]
Options:
-h | --help                                    Print this message
-V | --videoMode mode                          forced video mode (0: legacy, 1: priority on recording, 2: priority on streaming
-b | --bitrate br                              video recording bitrate in Kbit/s
-p | --recordPreset p                          forced video record encoding preset (0: maximize encoding time, 1: maximize quality)
-H | --streamMode m                            forced video streaming mode (0: low latency, 1: high reliability, 2: high reliability low framerate)
-q | --stream br                               video streaming maximum bitrate in Kbit/s
-s | --constantStreamBr                        deactivate the video streaming bitrate adaptation
-f | --fps fps                                 forced video framerate; can be 30 (forced to 29.97), 25 or 24 (forced to 23.976)
-R | --reproj <mode>                           reprojection mode. can be 'off', 'cpu' or 'gpu'
-I | --TNR <mode>                              reprojection Time Noise Reduction mode. can be 'off', 'on', 'half' (side by side with&without TNR), 'luma' (TNR on luma only) 'chroma' (TNR on chroma only)
-S | --stab On                                 if On=0 disable stabilization else enable stabilization
-F | --h264Dump path                           dump h264 to path
-d | --rawDump path                            dump raw video (bayer) to path
-e | --maxExp exp                              max exposition for horizontal camera in ms (if aewb is off, exp is set)
-g | --maxGain gain                            max gain for horizontal camera (if aewb is off, gain is set)
-m | --DxOAEmode mode                          DxO ae mode (0-AUTO 1-MODE_MANUAL 2-ISO_PRIORITY 3-SHUTTER_SPEED_PRIORITY)
-x | --DxOForceExp exp                         Force DxO exposure time to exp ms
-y | --DxOForceDGain Dgain                     Force DxO digital gain
-z | --DxOForceAGain Again                     Force DxO analog gain
-u | --DxONbRois nb                            Select number of rois used in ROI_FOCUSED mode
-E | --DxOEVBias Bias                          Choose EV bias in f-stops
-A | --DxOAWBmode mode                         DxO awb mode (0-AUTO 1-MANUAL 2-PRESET 3-WHITE CHART)
-P | --DxOAWBPreset                            Choose white balance preset
-G | --WBgains gr gb                           Force white balance red and blue gains
-C | --colorbar                                enable horizontal camera colorbar
     --jpeg_quality q                          Quality of JPEG in percent (100)
     --jpeg_path path                          Path where JPEG are stored (/mnt/mmc)
-M | --Motors                                  Force motor spin direction
-i | --ip IP                                   host IP
     --arsdkng                                 use arsdk_ng instead of ARLibs
     --bcm_country_rev <CC>                    Returns revision for country <CC> (return value is < 0 if country was not found)
-k | --videoDebug                              print debug informations in video stream (-kk for emmc debug log)
-n | --fiFile [<interval>]                     dump the frameInfo into emmc (interval: 0 means every frame, other values are in ms, no value means default - 1s)
-o | --fiStream                                serialize the frameInfo in the video streaming
-O | --fiRecord                                serialize the frameInfo in the video recording
-v | --verbose                                 info level to display (0:none, 1:low, 2:medium, 3:high)
-t | --test                                    execute predefined test
-l | --file                                    configuration file
-B | --Blackbox                                Blackbox
-T | --cpu_charge                              cpu charge analyse
-D | --dumpVCAM <framesWait>:<framesDump>      dump VCam
-U | --usblackbox                              us dump
-Z | --logBehaviourMsg                         Log Behaviour messages

/ # dragon-prog -v
posix init start build on : Jun  6 2018 11:54:59
Use ctrl+\ (SIGQUIT) to end the application
Memory from 0x10000 to 0x565000 locked
Memory from 0x574000 to 0x5f5000 locked
/tmp/.dragon-prog.lock locked.
dragon-prog: option requires an argument -- 'v'

Usage: dragon-prog [options]
Options:
-h | --help                                    Print this message
-V | --videoMode mode                          forced video mode (0: legacy, 1: priority on recording, 2: priority on streaming
-b | --bitrate br                              video recording bitrate in Kbit/s
-p | --recordPreset p                          forced video record encoding preset (0: maximize encoding time, 1: maximize quality)
-H | --streamMode m                            forced video streaming mode (0: low latency, 1: high reliability, 2: high reliability low framerate)
-q | --stream br                               video streaming maximum bitrate in Kbit/s
-s | --constantStreamBr                        deactivate the video streaming bitrate adaptation
-f | --fps fps                                 forced video framerate; can be 30 (forced to 29.97), 25 or 24 (forced to 23.976)
-R | --reproj <mode>                           reprojection mode. can be 'off', 'cpu' or 'gpu'
-I | --TNR <mode>                              reprojection Time Noise Reduction mode. can be 'off', 'on', 'half' (side by side with&without TNR), 'luma' (TNR on luma only) 'chroma' (TNR on chroma only)
-S | --stab On                                 if On=0 disable stabilization else enable stabilization
-F | --h264Dump path                           dump h264 to path
-d | --rawDump path                            dump raw video (bayer) to path
-e | --maxExp exp                              max exposition for horizontal camera in ms (if aewb is off, exp is set)
-g | --maxGain gain                            max gain for horizontal camera (if aewb is off, gain is set)
-m | --DxOAEmode mode                          DxO ae mode (0-AUTO 1-MODE_MANUAL 2-ISO_PRIORITY 3-SHUTTER_SPEED_PRIORITY)
-x | --DxOForceExp exp                         Force DxO exposure time to exp ms
-y | --DxOForceDGain Dgain                     Force DxO digital gain
-z | --DxOForceAGain Again                     Force DxO analog gain
-u | --DxONbRois nb                            Select number of rois used in ROI_FOCUSED mode
-E | --DxOEVBias Bias                          Choose EV bias in f-stops
-A | --DxOAWBmode mode                         DxO awb mode (0-AUTO 1-MANUAL 2-PRESET 3-WHITE CHART)
-P | --DxOAWBPreset                            Choose white balance preset
-G | --WBgains gr gb                           Force white balance red and blue gains
-C | --colorbar                                enable horizontal camera colorbar
     --jpeg_quality q                          Quality of JPEG in percent (100)
     --jpeg_path path                          Path where JPEG are stored (/mnt/mmc)
-M | --Motors                                  Force motor spin direction
-i | --ip IP                                   host IP
     --arsdkng                                 use arsdk_ng instead of ARLibs
     --bcm_country_rev <CC>                    Returns revision for country <CC> (return value is < 0 if country was not found)
-k | --videoDebug                              print debug informations in video stream (-kk for emmc debug log)
-n | --fiFile [<interval>]                     dump the frameInfo into emmc (interval: 0 means every frame, other values are in ms, no value means default - 1s)
-o | --fiStream                                serialize the frameInfo in the video streaming
-O | --fiRecord                                serialize the frameInfo in the video recording
-v | --verbose                                 info level to display (0:none, 1:low, 2:medium, 3:high)
-t | --test                                    execute predefined test
-l | --file                                    configuration file
-B | --Blackbox                                Blackbox
-T | --cpu_charge                              cpu charge analyse
-D | --dumpVCAM <framesWait>:<framesDump>      dump VCam
-U | --usblackbox                              us dump
-Z | --logBehaviourMsg                         Log Behaviour messages