Last active
December 7, 2016 03:55
-
-
Save LouWii/8e1b42db76388fe2c1dd772a749ad47c to your computer and use it in GitHub Desktop.
Revisions
-
LouWii revised this gist
Dec 7, 2016 . 1 changed file with 17 additions and 19 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -6,41 +6,39 @@ Here is what I did on the DRONE-side using a WINDOWS system: * Turn on the Drone * Connect your Windows device to the WiFi signal of the Remote Control * Open a Windows command prompt (Start -> Run -> "cmd") * Make note of the current directory for your Command Prompt window. It is typically set to `C:\Users\<your username>`. * Type in `ftp 192.168.1.2` followed by Enter * Type in user name `root` followed by Enter * Type in password `Big~9China` followed by Enter * You should see a "230 Login successful." response * Type in `cd /etc/init.d/` followed by Enter * You should see a "250 Directory successfully changed." response * Type in `type binary` followed by Enter * You should see a "200 Switching to Binary mode." response * Type in `get rcS` followed by Enter. Note that the S is a capital S... * The `rcS` file will be downloaded into the current directory for your Command Prompt window (see step 5) **Now we start editing the file on your Windows device...** * Start the Notepad++ editor and open the `rcS` file Note:Do NOT use the Windows Notepad editor (!) * In Notepad++, using the menu structure at the top of the screen, verify that the file encoding is set to "Encode in UTF-8" (Encoding -> "Encode in UTF-8"). This should already be selected but it does not hurt to verify... * Scroll down to line 61 and change it: From: `#telnetd -l /bin/ash &` To: `telnetd -l /bin/ash &` So you remove the #-character from the beginning of the line * Now ADD the following lines to the end of the file: `iw reg set US` `iw dev wlan0 set tx power limit 2700` * Now save the file and close Notepad++ **Now you need to upload the modified file to your drone...** * Back in your FTP-session... Type in "put rcS" You should see a "226 Transfer complete" response * Terminate your FTP session: Type in "bye" followed by Enter You should see a "221 Goodbye." response * Now restart the drone. At this point you have modified the drone to enable telnet, set the region to US to enable FCC mode and you have configured the WiFi driver to use a maximum transmit power of 27dbm. -
LouWii revised this gist
Dec 7, 2016 . 1 changed file with 52 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,52 @@ **Content from http://www.phantompilots.com/threads/phantom-3-standard-range-mod-lets-do-it-together.80721/page-33#post-874043** Here is what I did on the DRONE-side using a WINDOWS system: * Turn on the Remote Control * Turn on the Drone * Connect your Windows device to the WiFi signal of the Remote Control * Open a Windows command prompt (Start -> Run -> "cmd") * Make note of the current directory for your Command Prompt window. It is typically set to "C:\Users\<your username>". * Type in "ftp 192.168.1.2" followed by Enter * Type in user name "root" followed by Enter * Type in password "Big~9China" followed by Enter * You should see a "230 Login successful." response * Type in "cd /etc/init.d/" followed by Enter * You should see a "250 Directory successfully changed." response * Type in "type binary" followed by Enter * You should see a "200 Switching to Binary mode." response * Type in "get rcS" followed by Enter. Note that the S is a capital S... * The "rcS" file will be downloaded into the current directory for your Command Prompt window (see step 5) **Now we start editing the file on your Windows device...** * Start the Notepad++ editor and open the "rcS" file Note: Do NOT use the Windows Notepad editor (!) * In Notepad++, using the menu structure at the top of the screen, verify that the file encoding is set to "Encode in UTF-8" (Encoding -> "Encode in UTF-8"). This should already be selected but it does not hurt to verify... * Scroll down to line 61 and change it: From: `#telnetd -l /bin/ash &` To: `telnetd -l /bin/ash &` So you remove the #-character from the beginning of the line * Now ADD the following lines to the end of the file: `iw reg set US` `iw dev wlan0 set tx power limit 2700` * Now save the file and close Notepad++ **Now you need to upload the modified file to your drone...** * Back in your FTP-session... Type in "put rcS" You should see a "226 Transfer complete" response * Terminate your FTP session: Type in "bye" followed by Enter You should see a "221 Goodbye." response * Now restart the drone. At this point you have modified the drone to enable telnet, set the region to US to enable FCC mode and you have configured the WiFi driver to use a maximum transmit power of 27dbm. When the drone is back online, you can use telnet to connect to the drone. I recommend using Putty. When you have established a telnet session to the drone at IP address 192.168.1.2 you can use the command "iwinfo" to see the active WiFi parameters. Look for the line that starts with "Tx-Power:" Now, if your drone does not come online anymore you may have made a typo whilst modifying the rcS file. So be careful. I hope this helps. -
LouWii revised this gist
Dec 7, 2016 . 1 changed file with 5 additions and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -18,12 +18,12 @@ To avoid more and more user brick the RC/Drone, I discover a new solution to do #### 8) make sure nothing wrong then reboot by adding `telnetd -l /bin/ash` to `djiled.sh`, telnet will start when system boot, so we can use telnet to access rc/drone without touching the important file "rcS". If u make anything wrong in `djiled.sh`, the wifi still can startup and u can do it again until success (well, that's what I guess, i dont want to try...) For step 9-14, if your rc/drone are using fcc mode as default, then you can skip it, dont touch the rcS file. Use my "channel 13 mod" script at post#266, it will do 27dbm mod for you. so rcS remain as DJI original one make no chance to brick ! For more detail about "channel 13 mod", take a look at post#199-200 you can type `iw reg get` to check you are in fcc or ce #### 9) telnet to 192.168.1.2 (yes, patch drone side first) @@ -37,7 +37,7 @@ echo "iw reg set BO" >>/etc/init.d/rcS echo "iw dev wlan0 set txpower limit 2700" >>/etc/init.d/rcS ``` PS: you can `vi /etc/init.d/rcS` to edit by yourself too, don't try if you ask what is vi #### 11) `cat /etc/init.d/rcS` make sure only new content is added (no diff installed, so you have to check file by yourself) @@ -51,8 +51,8 @@ make sure it have execute mode (rwx rwx r_x) patch the rcS by telnet at RC/Drone can avoid incorrect EOL format and file changed to non-executable accidentally in addition, you can use "channel 13 mod" at post#266 (note: it's the file in this gist), just download and save `setchan.sh` at `/usr/sbin` (192.168.1.1 only) then run, default will auto select best channel from 1 to 13 for you. You can execute as `setchan.sh 13` to force it to use channel 13 (1 to 13) ---------not suggest to auto start, because need to modify rcS file, u can simply telnet to 192.168.1.1 on your phone and run setchan.sh manually --------- -
LouWii revised this gist
Dec 7, 2016 . 1 changed file with 22 additions and 14 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,14 +2,21 @@ To avoid more and more user brick the RC/Drone, I discover a new solution to do this mod: #### 1) connect RC/Drone #### 2) ftp to 192.168.1.1 #### 3) get `/sbin/djiled.sh` to PC #### 4) open it by notepad++ / gedit / vi #### 5) add `telnetd -l /bin/ash &` at line 2, you must add at line2 before the while loop started #### 6) put `djiled.sh` back to RC, make sure file mode = 775 (rwx rwx r_x) #### 7) repeat step 3-6 at 192.168.1.2 #### 8) make sure nothing wrong then reboot by adding telnetd -l /bin/ash to djiled.sh, telnet will start when system boot, so we can use telnet to access rc/drone without touching the important file "rcS". If u make anything wrong in djiled.sh, the wifi still can startup and u can do it again until success (well, that's what I guess, i dont want to try...) @@ -19,8 +26,9 @@ For more detail about "channel 13 mod", take a look at post#199-200 you can type "iw reg get" to check you are in fcc or ce #### 9) telnet to 192.168.1.2 (yes, patch drone side first) #### 10) run following command 1 by 1 to patch the rcS, it will make a copy, patch FCC mode, set open channel 1-13 and 27dbm ``` cp /etc/init.d/rcS /etc/init.d/rcS.bck @@ -31,15 +39,15 @@ echo "iw dev wlan0 set txpower limit 2700" >>/etc/init.d/rcS PS: you can vi /etc/init.d/rcS to edit by yourself too, don't try if you ask what is vi #### 11) `cat /etc/init.d/rcS` make sure only new content is added (no diff installed, so you have to check file by yourself) #### 12) `ls -ltr /etc/init.d/rcS` make sure it have execute mode (rwx rwx r_x) #### 13) repeat step 10 to 12 @192.168.1.1 #### 14) correct me if any step is wrong or missing, then reboot rc + drone patch the rcS by telnet at RC/Drone can avoid incorrect EOL format and file changed to non-executable accidentally -
LouWii revised this gist
Dec 7, 2016 . 1 changed file with 64 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,64 @@ **Content from http://www.phantompilots.com/threads/phantom-3-standard-range-mod-lets-do-it-together.80721/page-15#post-840050** To avoid more and more user brick the RC/Drone, I discover a new solution to do this mod: 1) connect RC/Drone 2) ftp to 192.168.1.1 3) get `/sbin/djiled.sh` to PC 4) open it by notepad++ / gedit / vi 5) add `telnetd -l /bin/ash &` at line 2, you must add at line2 before the while loop started 6) put `djiled.sh` back to RC, make sure file mode = 775 (rwx rwx r_x) 7) repeat step 3-6 at 192.168.1.2 8) make sure nothing wrong then reboot by adding telnetd -l /bin/ash to djiled.sh, telnet will start when system boot, so we can use telnet to access rc/drone without touching the important file "rcS". If u make anything wrong in djiled.sh, the wifi still can startup and u can do it again until success (well, that's what I guess, i dont want to try...) For step 9-14, if your rc/drone are using fcc mode as default, then you can skip it, dont touch the rcS file. Use my "channel 13 mod" script at post#266, it will do 27dbm mod for you. so rcS remain as DJI original one make no chance to brick ! For more detail about "channel 13 mod", take a look at post#199-200 you can type "iw reg get" to check you are in fcc or ce 9) telnet to 192.168.1.2 (yes, patch drone side first) 10) run following command 1 by 1 to patch the rcS, it will make a copy, patch FCC mode, set open channel 1-13 and 27dbm ``` cp /etc/init.d/rcS /etc/init.d/rcS.bck sed -i 's/GB/OK/g' /etc/init.d/rcS echo "iw reg set BO" >>/etc/init.d/rcS echo "iw dev wlan0 set txpower limit 2700" >>/etc/init.d/rcS ``` PS: you can vi /etc/init.d/rcS to edit by yourself too, don't try if you ask what is vi 11) `cat /etc/init.d/rcS` make sure only new content is added (no diff installed, so you have to check file by yourself) 12) `ls -ltr /etc/init.d/rcS` make sure it have execute mode (rwx rwx r_x) 13) repeat step 10 to 12 @192.168.1.1 14) correct me if any step is wrong or missing, then reboot rc + drone patch the rcS by telnet at RC/Drone can avoid incorrect EOL format and file changed to non-executable accidentally in addition, you can use "channel 13 mod" at post#266, just download and save setchan.sh at /usr/sbin (192.168.1.1 only) then run, default will auto select best channel from 1 to 13 for you. You can execute as "setchan.sh 13" to force it to use channel 13 (1 to 13) ---------not suggest to auto start, because need to modify rcS file, u can simply telnet to 192.168.1.1 on your phone and run setchan.sh manually --------- if you want to make setchan.sh autorun when boot, use following command at 192.168.1.1 ``` echo "sleep 30" >>/etc/init.d/rcS echo "setchan.sh" >>/etc/init.d/rcS ``` or, if you want to use channel 13 only ``` echo "sleep 30" >>/etc/init.d/rcS echo "setchan.sh 13" >>/etc/init.d/rcS ``` -
LouWii created this gist
Dec 7, 2016 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,178 @@ #!/bin/sh # I'm not the author ! -> # SCRIPT FROM http://www.phantompilots.com/threads/phantom-3-standard-range-mod-lets-do-it-together.80721/page-25#post-855473 #Auto scan and set unused Wifi channel for Phantom 3 Standard / 4K #Author : Gary Kan #Date : 20/06/2016 #Version 1.1 # 1) Add new user argument option # -ch for set channel number, eg. -ch 13 # -booster will limit RC tx power to 20DBM, to protect your external booster # 2) Add Restart udhcp and apsvr # 3) Some Minor tweak # #Date : 21/06/2016 #Version 1.2 # 1) Remove user argument option -booster # 2) Remove apsvr due to my RC video link sometime get disconnected # 4) Change Default DBM from 27dbm to 24 dbm on RC and drone, due to user report his RC is bricked despite of successful application of 27dbm setting, after fifth flight. # 3) Add new user argument option # -rc will limit RC tx power to your target mbm, eg -rc 2000 = 20DBm, Max = 2700 # -d will limit DRONE tx power to your target mbm, eg -d 2000 = 20DBm, Max = 2700 # #Version 1.21 #Date : 21/06/2016 # 1) Add User changable default dbm clear DRONE="192.168.1.2" SCRIPT=`basename "$0"` RCDBM="2400" DDBM="2700" ###For check User argument while [ "$1" != "" ]; do case $1 in -ch) shift SCAN="OFF" CHANNEL=$1 ;; -rc) shift RCDBM=$1 echo "Info : User Limit RC TX Power to $1" ;; -d) shift DDBM=$1 echo "Info : User Limit Drone TX Power to $1" ;; -h) echo "-ch for set channel number, eg. -ch 13" echo "-rc will limit RC tx power to your target mbm, eg -rc 2000 = 20DBm, Option = 1700 2000 2400 2700" echo "-d will limit DRONE tx power to your target mbm, eg -d 2000 = 20DBm, Option = 1700 2000 2400 2700" echo "-h for show this page" exit ;; * ) echo "Incorrect user argument !!" echo "-ch for set channel number, eg. -ch 13" echo "-rc will limit RC tx power to your target mbm, eg -rc 2000 = 20DBm, Option = 1700 2000 2400 2700" echo "-d will limit DRONE tx power to your target mbm, eg -d 2000 = 20DBm, Option = 1700 2000 2400 2700" echo "-h for show this page" exit 1 ;; esac shift done ###Make Sure network is ready and Drone side is online echo "Checking Connection with Phantom 3 Standard / 4K . . ." ping -c 1 -w 60 $DRONE &> /dev/null if [ $? -ne 0 ] then echo "ERROR : Phantom 3 Standard / 4K at $DRONE is unreachable" exit 1 else echo "Connection - OK." fi ###Check unused channel or user argument if [ "$SCAN" != "OFF" ] then for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 do iw dev wlan0 scan | grep "DS Parameter set:" | awk '{FS=" "} {print $5}' | sort -n | grep -x $i &>/dev/null if [ $? -ne 0 ] then echo "Channel $i - Not In Use" echo "Set CH to $i" CH=$i break else echo "Channel $i - In Use" if [ $i = 13 ] then CH=$i fi fi done else echo "User Input Channel = $CHANNEL" case $CHANNEL in 1|2|3|4|5|6|7|8|9|10|11|12|13) CH=$CHANNEL ;; *) echo "Input Error : Channel must be 1 to 13 !!" exit 1 ;; esac fi ###Setup hostapd-phy0.conf with target channel number echo "Trying To Set Channel = $CH . . ." sed -i "/channel=/c\channel=$CH" /tmp/run/hostapd-phy0.conf echo "Patched `grep "channel" /tmp/run/hostapd-phy0.conf`" echo " " ###patch drone side to BO, make sure ready for CH12,13, telnet.d must be on in rcS, scan be remove is user set country = BO in rcS at drone side echo "Checking Connection with Phantom 3 Standard / 4K . . ." ping -c 1 -w 30 $DRONE &> /dev/null if [ $? -ne 0 ] then echo "ERROR : Phantom 3 Standard / 4K at $DRONE is unreachable" exit 1 else echo "Connected . . ." echo "Patching Phantom 3 Standard / 4K at $DRONE . . ." { sleep 1;echo "iw reg get";echo "iw reg set BO";echo "iw reg get";echo "iw dev wlan0 set txpower limit $DDBM";sleep 1;} | telnet $DRONE fi ###Patch RC Side and restart network echo "" echo "Patching Phantom 3 Standard / 4K - RC . . ." iw reg set BO iw dev wlan0 set txpower limit $RCDBM sleep 1 echo "" echo "Restarting Services, it may take a moment . . ." kill -9 `ps | grep udhcpd | grep -v grep | awk '{print $1}'` sleep 3 kill -9 `cat /tmp/run/wifi-phy0.pid` sleep 3 /usr/sbin/hostapd -P /var/run/wifi-phy0.pid -B /var/run/hostapd-phy0.conf sleep 3 /usr/sbin/udhcpd -S /etc/udhcpd.conf & sleep 3 ###Final Checking, can be remove echo "" echo "Listing Services . . ." ps | grep hostapd | grep -v grep ps | grep apsrv | grep -v grep ps | grep udhcpd | grep -v grep echo "" echo "Checking Final Result at $DRONE . . ." ping -c 1 -w 60 $DRONE &> /dev/null if [ $? -ne 0 ] then echo "ERROR : Phantom 3 Standard / 4K at $DRONE is unreachable" exit 1 else { sleep 1;echo "iwinfo";sleep 1;} | telnet $DRONE echo "" echo "Checking Final Result at RC . . ." iwinfo echo "Patch Completed, Enjoy." fi