Phantom 3 Standard range mod , let's do it together...

Made a video on how to do it. No tools needed, all you need is a laptop with FTP client

 
Last edited:
To be honest. I own the drone only for 2 days and half of that time I spent trying to do the modification, I don't have much experience flying. In my home area there are many residential wifi networks hence my test results are not clear. I did however notice improvement in video feedback this morning when I flew around for few minutes.
I'm noob pilot, I don't know my range until I do more flights.
However I've over 20 years experience with Linux, I'm good in networking and electronics. Yes, the power increases.
I can tell by reading log files from /var/log/messages :

Before mod :

cfg80211: Calling CRDA for country: GB
cfg80211: Regulatory domain changed to country: GB
cfg80211: DFS Master region: ETSI
cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
cfg80211: (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 1700 mBm), (N/A)
cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz), (N/A, 2000 mBm), (0 s)
cfg80211: (5490000 KHz - 5710000 KHz @ 80000 KHz), (N/A, 2700 mBm), (0 s)
cfg80211: (57240000 KHz - 65880000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A)

After mod :

cfg80211: DFS Master region: FCC
cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 3000 mBm), (N/A)
cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 1700 mBm), (N/A)
cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz), (N/A, 2300 mBm), (0 s)
cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 mBm), (N/A)
cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A)
 
  • Like
Reactions: Perus
I know what you mean in regards to WIFI in residential area effecting range. when I've flown before at home the best range I could get was 180m before losing video feed. Since then I've tried in various different locations and had some really good results, well over the supposed 500m range.

Wouldn't mind giving your mod a try.
 
If this in fact does bypass regulatory emission limits look for it to be patched in a future f/w revision.
 
  • Like
Reactions: gvsukids
I know what you mean in regards to WIFI in residential area effecting range. when I've flown before at home the best range I could get was 180m before losing video feed. Since then I've tried in various different locations and had some really good results, well over the supposed 500m range.

Wouldn't mind giving your mod a try.

I would hold off. I just tried it and I have lost connection between the remote and the drone. I haven't even got a wi fi connection anymore [emoji16]


Sent from my iPhone using PhantomPilots mobile app
 
Okay I'm in deep trouble here. I think I have bricked my remote. I followed the tutorial and when I saved back to the remote the light on the remote went red and I lost the Phantom wi fi connection. I still have a green light on the drone. If I try and re-bind the remote just beep continously. Anyone got any ideas :(
 
Okay I'm in deep trouble here. I think I have bricked my remote. I followed the tutorial and when I saved back to the remote the light on the remote went red and I lost the Phantom wi fi connection. I still have a green light on the drone. If I try and re-bind the remote just beep continously. Anyone got any ideas :(
Hello, what files have you saved to brick the remote? As long as you can connect to the remote via ftp you're able to re-modify the files that put you in troubles.
 
  • Like
Reactions: jlrsn
Hello, what files have you saved to brick the remote? As long as you can connect to the remote via ftp you're able to re-modify the files that put you in troubles.

How do I do that though when I no longer have the phantom wi-fi connection. Is there a way to do it with the usb connection on the remote?
 
How do I do that though when I no longer have the phantom wi-fi connection. Is there a way to do it with the usb connection on the remote?
Sorry I didn't get that you've completely lost the connexions. Have you tried this method? : [file]Process|none[/file]
 
Guys, I highly recommend you don't try this as it looks like my remote is buggered. I followed the tutorial step by step. When I saved the file back to the remote I lost the PHANTOM_XXXX wifi network. Its not showing up on any device in my house. I have tried the gimble/s2 button combination to reset the wifi but no good.
If anyone has a way to access the remote via the cable you use the charge the remote it would be great.
Any other suggestions would be much appreciated.
 
I try to get into the remote through serial with putty but without any success so any advice would be great. So far I got some informations about the dji remote by this way but nothing else.

Infos:

Device: ID fff0:0008
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0xfff0
idProduct 0x0008
bcdDevice 1.00
iManufacturer 1 DJI CONFIF
iProduct 2 DJI CONTROLLER
iSerial 3 316F3078464B
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 67
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 0 None
iInterface 4 VCP Config
CDC Header:
bcdCDC 1.10
CDC Call Management:
bmCapabilities 0x00
bDataInterface 1
CDC ACM:
bmCapabilities 0x02
line coding and serial state
CDC Union:
bMasterInterface 0
bSlaveInterface 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 255
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0001
Self Powered
 
may good luck depends on the firmware? anyone what was in front of these manipulations?
 
Made a video on how to do it. No tools needed, all you need is a laptop with FTP client


I'm wondering why in the tutorial there is other approach than in previous post:

"/ # iw reg get
country US: DFS-FCC
(2402 - 2472 @ 40), (N/A, 30), (N/A)
(5170 - 5250 @ 80), (N/A, 17), (N/A)
(5250 - 5330 @ 80), (N/A, 23), (0 ms), DFS
(5735 - 5835 @ 80), (N/A, 30), (N/A)
(57240 - 63720 @ 2160), (N/A, 40), (N/A)

Simply add "iw reg set US" without quotes at the VERY END of each file in new line"

Am I missing something? :) btw, I'm programmer too
 
I ended up doing it this way and I'm getting 27dBm ... (this is my actual rcS from drone)

#!/bin/sh

# This script runs when init it run during the boot process.
# Mounts everything in the fstab

mount -o remount +w /
mount -t tmpfs mdev /dev
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
mount -t sysfs sysfs /sys
mount -t proc proc /proc
mount -t tmpfs tmpfs /tmp
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

mknod /dev/caldata b 31 6
mount -t debugfs none /sys/kernel/debug
mkdir /var/run
mkdir /var/lock
mkdir /var/log
/sbin/klogd
/sbin/syslogd

insmod /lib/modules/3.10.49/compat.ko
insmod /lib/modules/3.10.49/crypto_blkcipher.ko
insmod /lib/modules/3.10.49/crc-ccitt.ko
insmod /lib/modules/3.10.49/arc4.ko
insmod /lib/modules/3.10.49/cfg80211.ko
insmod /lib/modules/3.10.49/mac80211.ko
insmod /lib/modules/3.10.49/ath.ko
country=`fw_printenv -n country`

if [ $country = "GB" ];then
fw_setenv country US
sleep 1
country=`fw_printenv -n country`
fi



if [ $country = "GB" ];then
insmod /lib/modules/3.10.49/ath9k_hw.ko cert_country=1
else
insmod /lib/modules/3.10.49/ath9k_hw.ko
fi
insmod /lib/modules/3.10.49/ath9k_common.ko
insmod /lib/modules/3.10.49/ath9k.ko

echo dji > /proc/sys/kernel/hostname
/etc/init.d/sysfixtime boot

iw dev wlan0 del
#iw phy phy0 set antenna all all
iw phy phy0 set antenna_gain 0
iw phy phy0 set distance 0
iw phy phy0 interface add wlan0 type managed 4addr on
iw wlan0 set power_save off

ifconfig wlan0 up
brctl addbr br-lan
ifconfig br-lan 192.168.1.2 netmask 255.255.255.0 up
dwifi sta start
clisrv &

ifconfig usb0 hw ether 60:60:1f:ff:ff:ff up
brctl addif br-lan usb0
brctl addif br-lan wlan0

ifconfig lo 127.0.0.1 up
#telnetd -l /bin/ash &
mkdir -m 0755 -p /var/run/vsftpd
/usr/sbin/vsftpd &
#/usr/sbin/ntpd -n -p 0.openwrt.pool.ntp.org -p 1.openwrt.pool.ntp.org -p 2.openwrt.pool.ntp.org -p 3.openwrt.pool.ntp.org &
djiled.sh &
iw reg set US
iw phy phy0 set retry short 1 long 1
iw phy phy0 set rts off
iw phy phy0 set frag 256
iw dev wlan0 set noack_map 0x00c0
iw dev wlan0 set txpower fixed 2700


If you don't want go straigh to 27dBm, set 2000 instead in last line.
Make sure you make same changes to your remote too.

Remote is at 192.168.1.1
Drone is at 192.168.1.2
 
Last edited:
Made a video on how to do it. No tools needed, all you need is a laptop with FTP client


Tried this hack. Here`s a ss taken before:
full



And after:
full


I dont think I had better video or signal link, but I know one thing - I`ve never hit 800m mark with stock antenna. I used no windsurfer or any other booster, just a hack of Ojcze Nasz. Using latest firmware and Litchi app. However I`m not sure now if it is luck or hack helped to reach 800m :)
As you can see in a map I fly over a river in a city.
 
Last edited:
  • Like
Reactions: Clymes
I ended up doing it this way and I'm getting 27dBm ... (this is my actual rcS from drone)

#!/bin/sh

# This script runs when init it run during the boot process.
# Mounts everything in the fstab

mount -o remount +w /
mount -t tmpfs mdev /dev
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
mount -t sysfs sysfs /sys
mount -t proc proc /proc
mount -t tmpfs tmpfs /tmp
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

mknod /dev/caldata b 31 6
mount -t debugfs none /sys/kernel/debug
mkdir /var/run
mkdir /var/lock
mkdir /var/log
/sbin/klogd
/sbin/syslogd

insmod /lib/modules/3.10.49/compat.ko
insmod /lib/modules/3.10.49/crypto_blkcipher.ko
insmod /lib/modules/3.10.49/crc-ccitt.ko
insmod /lib/modules/3.10.49/arc4.ko
insmod /lib/modules/3.10.49/cfg80211.ko
insmod /lib/modules/3.10.49/mac80211.ko
insmod /lib/modules/3.10.49/ath.ko
country=`fw_printenv -n country`

if [ $country = "GB" ];then
fw_setenv country US
sleep 1
country=`fw_printenv -n country`
fi



if [ $country = "GB" ];then
insmod /lib/modules/3.10.49/ath9k_hw.ko cert_country=1
else
insmod /lib/modules/3.10.49/ath9k_hw.ko
fi
insmod /lib/modules/3.10.49/ath9k_common.ko
insmod /lib/modules/3.10.49/ath9k.ko

echo dji > /proc/sys/kernel/hostname
/etc/init.d/sysfixtime boot

iw dev wlan0 del
#iw phy phy0 set antenna all all
iw phy phy0 set antenna_gain 0
iw phy phy0 set distance 0
iw phy phy0 interface add wlan0 type managed 4addr on
iw wlan0 set power_save off

ifconfig wlan0 up
brctl addbr br-lan
ifconfig br-lan 192.168.1.2 netmask 255.255.255.0 up
dwifi sta start
clisrv &

ifconfig usb0 hw ether 60:60:1f:ff:ff:ff up
brctl addif br-lan usb0
brctl addif br-lan wlan0

ifconfig lo 127.0.0.1 up
#telnetd -l /bin/ash &
mkdir -m 0755 -p /var/run/vsftpd
/usr/sbin/vsftpd &
#/usr/sbin/ntpd -n -p 0.openwrt.pool.ntp.org -p 1.openwrt.pool.ntp.org -p 2.openwrt.pool.ntp.org -p 3.openwrt.pool.ntp.org &
djiled.sh &
iw reg set US
iw phy phy0 set retry short 1 long 1
iw phy phy0 set rts off
iw phy phy0 set frag 256
iw dev wlan0 set noack_map 0x00c0
iw dev wlan0 set txpower fixed 2700


If you don't want go straigh to 27dBm, set 2000 instead in last line.
Make sure you make same changes to your remote too.

Remote is at 192.168.1.1
Drone is at 192.168.1.2
Well I tried this one and was very impressed by the video feed signal improvement! However, I still have my problem of remote control signal loss but I think that I might have damaged something during my multiple tests of external antennas.. [file]antennas|none[/file]
 
Last edited:
I ended up doing it this way and I'm getting 27dBm ... (this is my actual rcS from drone)

#!/bin/sh

# This script runs when init it run during the boot process.
# Mounts everything in the fstab

mount -o remount +w /
mount -t tmpfs mdev /dev
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
mount -t sysfs sysfs /sys
mount -t proc proc /proc
mount -t tmpfs tmpfs /tmp
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

mknod /dev/caldata b 31 6
mount -t debugfs none /sys/kernel/debug
mkdir /var/run
mkdir /var/lock
mkdir /var/log
/sbin/klogd
/sbin/syslogd

insmod /lib/modules/3.10.49/compat.ko
insmod /lib/modules/3.10.49/crypto_blkcipher.ko
insmod /lib/modules/3.10.49/crc-ccitt.ko
insmod /lib/modules/3.10.49/arc4.ko
insmod /lib/modules/3.10.49/cfg80211.ko
insmod /lib/modules/3.10.49/mac80211.ko
insmod /lib/modules/3.10.49/ath.ko
country=`fw_printenv -n country`

if [ $country = "GB" ];then
fw_setenv country US
sleep 1
country=`fw_printenv -n country`
fi



if [ $country = "GB" ];then
insmod /lib/modules/3.10.49/ath9k_hw.ko cert_country=1
else
insmod /lib/modules/3.10.49/ath9k_hw.ko
fi
insmod /lib/modules/3.10.49/ath9k_common.ko
insmod /lib/modules/3.10.49/ath9k.ko

echo dji > /proc/sys/kernel/hostname
/etc/init.d/sysfixtime boot

iw dev wlan0 del
#iw phy phy0 set antenna all all
iw phy phy0 set antenna_gain 0
iw phy phy0 set distance 0
iw phy phy0 interface add wlan0 type managed 4addr on
iw wlan0 set power_save off

ifconfig wlan0 up
brctl addbr br-lan
ifconfig br-lan 192.168.1.2 netmask 255.255.255.0 up
dwifi sta start
clisrv &

ifconfig usb0 hw ether 60:60:1f:ff:ff:ff up
brctl addif br-lan usb0
brctl addif br-lan wlan0

ifconfig lo 127.0.0.1 up
#telnetd -l /bin/ash &
mkdir -m 0755 -p /var/run/vsftpd
/usr/sbin/vsftpd &
#/usr/sbin/ntpd -n -p 0.openwrt.pool.ntp.org -p 1.openwrt.pool.ntp.org -p 2.openwrt.pool.ntp.org -p 3.openwrt.pool.ntp.org &
djiled.sh &
iw reg set US
iw phy phy0 set retry short 1 long 1
iw phy phy0 set rts off
iw phy phy0 set frag 256
iw dev wlan0 set noack_map 0x00c0
iw dev wlan0 set txpower fixed 2700


If you don't want go straigh to 27dBm, set 2000 instead in last line.
Make sure you make same changes to your remote too.

Remote is at 192.168.1.1
Drone is at 192.168.1.2


Excellent ! but i have some question

"iw dev wlan0 set txpower fixed 2700" at 192.168.1.1 and 192.168.1.2, the device "wlan0" is for 5.8Ghz (RC) or 2.4Ghz (Wifi Video) ? Can you try "iw dev wlan0 link" and check the
freq ?

192.168.1.3 is accessable by ssh/telnet, is it for camera ? can we set txpower to higher dbm for 2.4Ghz Wifi video liveview ?
 
I followed steps very carefully, for each rcS file on drone and rc added that lines and now I can't see WiFi at all. :(
 

Members online

No members online now.

Forum statistics

Threads
143,094
Messages
1,467,588
Members
104,977
Latest member
wkflysaphan4