Please select Into the mobile phone version | Continue to access the computer ver.
DJI please grant the S1 access to the SDK
12Next >
5189 46 2021-3-2
Uploading and Loding Picture ...(0/1)
o(^-^)o
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

We are all well aware that the SDK can run on the S1 just fine, several people had done so before you closed the ability in a patch. DJI has chosen to limit the EP Core models sales in scope and scale, as it remains absent from the North American and EU retail markets a year + after it launched.
I suspect COVID might have destroyed/disrupted the supply chain, and thus we will not be seeing the EP Core model for retail sale, sadly.

Many of us purchased the S1 because it was advertised and a code learning tool.
I understand limiting the SDK access to boost the comercial sales of the EP model, but seeing how you seem to be dropping retail Robomaster sales, and the S1 is quickly becoming sold out on the retail market. Why not allow S1 users SDK access ?

Giving S1 owners access to the SDK will open up the sale of SDK related accessories and hardware that DJI can sell at a priemium price, that S1 enthusiasts would be happy to buy.

Instead of limiting us in order to sell a product that's clearly not going to happen in much of the world markets, why not capitalize on the units you have already sold ?

Please please please unlock the SDK mode we all know works just fine on the S1.

Thankyou !

2021-3-2
Use props
BGA
lvl.4
United States
Offline

https://www.bug-br.org.br/s1_sdk_hack.zip
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 07:37
https://www.bug-br.org.br/s1_sdk_hack.zip

Really !! does it work ?  !!

Thankyou so much !

Time to play
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 07:37
https://www.bug-br.org.br/s1_sdk_hack.zip

Line 6 comes back with a syntax error.

Failed Error Line Number: 6;Error Info: Traceback (most recent cll last): File"<CurlFile>", Line 6 SyntaxError: EOL while scannung string literal

proc=subprocess.Popen('/system/bin/adb_en.sh',shell=True,executable='

2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 08:08
Line 6 comes back with a syntax error.

Failed Error Line Number: 6;Error Info: Traceback (most recent cll last): File"", Line 6 SyntaxError: EOL while scannung string literal

You can remove the entire line. You don't need it (it is just a convenience thing).
2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wait,  are you trying to manually run the .py file? If so, don't. Read the README file.

I just checked here and the script looks ok.
2021-3-3
Use props
BGA
lvl.4
United States
Offline

BGA Posted at 3-3 08:20
Wait,  are you trying to manually run the .py file? If so, don't. Read the README file.

I just checked here and the script looks ok.

Actually, you are trying to manually run patch.sh. Don't anyway. That is supposed to run on the S1. If you read the README you will see you are supposed to run upload.sh.

This is the only thing you run on the host (in fact, the only command you run manually at all other than the adb setup).

2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 08:20
Wait,  are you trying to manually run the .py file? If so, don't. Read the README file.

I just checked here and the script looks ok.

No I was running the code in the PDF inside Robomaster app in Python.
I will try removing line 6 thankyou for the help this is awesome !
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

Wardword Posted at 3-3 08:28
No I was running the code in the PDF inside Robomaster app in Python.
I will try removing line 6 thankyou for the help this is awesome !

After removing line 6 I still recieved errors.

I removed more lines and changed. rm_log to random

Below is the code that got me to the  "Execution Complete"

def root_me(module):
__import__=random.__dict__['__builtins__']['__import__']
return __import__(module,globals(),locals(),[],0)
builtins=root_me('builtins')
subprocess=root_me('subprocess')
2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 08:28
No I was running the code in the PDF inside Robomaster app in Python.
I will try removing line 6 thankyou for the help this is awesome !

That is actually required. Are you sure you correctly copied and pasted the code? Specially, be sure there was no line break inserted when you did it. The line below should be a single line.

proc=subprocess.Popen('/system/bin/adb_en.sh',shell=True,executable='/system/bin/sh',stdout=subprocess.PIPE,stderr=subprocess.PIPE)

2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 08:32
After removing line 6 I still recieved errors.

I removed more lines and changed. rm_log to random

Well, this code did not do anything.
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 08:36
Well, this code did not do anything.

I will check the line break now, still nothing on adb devices and I know adb works cause I use it often and it's in my system path.
2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 08:38
I will check the line break now, still nothing on adb devices and I know adb works cause I use it often and it's in my system path.

The only way you are going to see anything in adb devices is if you run that program as it is. And that assuming there was not an update to the S1 that broke this again (I would not know as I have not touched my S1 in several months now).
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 08:40
The only way you are going to see anything in adb devices is if you run that program as it is. And that assuming there was not an updated to the S1 that broke this again (I would not know as I have not touched my S1 in several months now).

Ok the line break was the issue with line 6

Still got error in line two

Ran code again with "rm_log." replaced with "random.

adb now reports a connected device !!!!

WHOOO HOOOO !!!

You are the BEST, thanks so much !!
THe code that worked

def root_me(module):
__import__=random.__dict__['__builtins__']['__import__'
return __import__(module,globals(),locals(),[],0)
builtins=root_me('builtins')
subprocess=root_me('subprocess')
proc=subprocess.Popen('/system/bin/adb_en.sh',shell=True,executable='/system/bin/sh',stdout=subprocess.PIPE,stderr=subprocess.PIPE)


2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

Wardword Posted at 3-3 08:44
Ok the line break was the issue with line 6

Still got error in line two

BTW I'm using a windows 10 system. Might have made things little different than in a linux system.
2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 08:44
Ok the line break was the issue with line 6

Still got error in line two

You probably did something wrong again as I just tested here another time and it worked as is (there has been no updates to the S1 since I last tried,, BTW). But glad it worked for you in any case.
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 08:40
The only way you are going to see anything in adb devices is if you run that program as it is. And that assuming there was not an update to the S1 that broke this again (I would not know as I have not touched my S1 in several months now).

One last question, do we need to remain tethered to USB after we gain access ?
2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 08:48
One last question, do we need to remain tethered to USB after we gain access ?

All you need to do is described in the README file.

You need to upload files to the S1 so you need to stay connected to do that (run upload.sh or as you are on windows, replicate the upload.sh script manually).
2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 08:44
Ok the line break was the issue with line 6

Still got error in line two

Just to stress this. The script as it is work. The change you did works too but is not required.
2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 08:46
BTW I'm using a windows 10 system. Might have made things little different than in a linux system.

Then there might be the issue of line termination too. Unfortunately I can not help you with Windows idiosyncrasies.
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 09:01
Just to stress this. The script as it is work. The change you did works too but is not required.

In the last section of the PDF there is this code . It's causing me syntax errors as well.   name root_me is not defined
Trying to clean it up no dice so far.

Do I run this as a second separate script inside the Robomaster app or for it added to the end of the above script that worked ?

subprocess=root_me('subprocess')
proc=subprocess.Popen('/system/bin/adb_en.sh',shell=True,execut
able='/system/bin/sh',stdout=subprocess.PIPE,stderr=subprocess.
PIPE)
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

Wardword Posted at 3-3 09:10
In the last section of the PDF there is this code . It's causing me syntax errors as well.   name root_me is not defined
Trying to clean it up no dice so far.

Ok this worked I added it to the end of the 1st section.

def root_me(module):
__import__=random.__dict__['__builtins__']['__import__']
return __import__(module,globals(),locals(),[],0)
builtins=root_me('builtins')
subprocess=root_me('subprocess')
proc=subprocess.Popen('/system/bin/adb_en.sh',shell=True,executable='/system/bin/sh',stdout=subprocess.PIPE,stderr=subprocess.PIPE)
subprocess=root_me('subprocess')
proc=subprocess.Popen('/system/bin/adb_en.sh',shell=True,executable='/system/bin/sh',stdout=subprocess.PIPE,stderr=subprocess.PIPE)
2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 09:10
In the last section of the PDF there is this code . It's causing me syntax errors as well.   name root_me is not defined
Trying to clean it up no dice so far.

I am sorry, but this is the last time I will reply to questions that are covered in the README file. I told you, read that file. Extracted directly form it:

1 - Read the "How to Root - Robomaster S1.pdf". It is mostly up-to-date except
    that the root script used to root the S1 does not work anymore. Instead use
    the contents of the "root.py_s1" file as the root script.
2 - After you got it to work, have adb installed (as per instructions) and
    connect to the S1 using "adb shell", open a Terminal window, switch to the
    directory where this README and the other files that came with it were
    extracted and simply run the upload.sh script.
3 - Restart the S1 (turn it off and on again). When it is booting, you should
    hear 2 chimes instead of the usual single chime. This will tell you that it
    worked.

That is all you have to do, as written in the README. You run the script in the separate file instead of the script in the PDF.
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 09:19
I am sorry, but this is the last time I will reply to questions that are covered in the README file. I told you, read that file. Extracted directly form it:

1 - Read the "How to Root - Robomaster S1.pdf". It is mostly up-to-date except

Oh ok sorry the README file would not open in windows.
I will try renaming it to  text file and see if that works.

Never ran a .SH script before, not even sure Windows knows what a .SH file is.
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

Wardword Posted at 3-3 09:44
Oh ok sorry the README file would not open in windows.
I will try renaming it to  text file and see if that works.

I had to enable Linux Subsystems and install Ubuntu from Windows Store in Windows.I can read it now Thanks.

Sorry for the confusion.
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 09:19
I am sorry, but this is the last time I will reply to questions that are covered in the README file. I told you, read that file. Extracted directly form it:

1 - Read the "How to Root - Robomaster S1.pdf". It is mostly up-to-date except

OMG so I followed the text file, rebooted ADB shows a device connected to PC with cable.

Robomaster no longer works, cannot connect to the app....

Really worried right now.
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 09:19
I am sorry, but this is the last time I will reply to questions that are covered in the README file. I told you, read that file. Extracted directly form it:

1 - Read the "How to Root - Robomaster S1.pdf". It is mostly up-to-date except

Is there a way to undo this ??
2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 09:51
I had to enable Linux Subsystems and install Ubuntu from Windows Store in Windows.I can read it now  Thanks.

Sorry for the confusion.

You did not really need to do any of that. You could just have opened the upload.sh file and manually entered the commands (they are just adb commands).
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 10:40
You did not really need to do any of that. You could just have opened the upload.sh file and manually entered the commands (they are just adb commands).

That's what I did, I just opened them and ran them manually. One line at a time in command prompt.

After rebooting Robomaster tethered I I can do an ADB devices and see the unit. but I can no longer connect with the Robomaster app, blinking red light, and if I press the button to scan QR code to connect nothing happens ?

Can I undo this ?
2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 10:25
OMG so I followed the text file, rebooted ADB shows a device connected to PC with cable.

Robomaster no longer works, cannot connect to the app....

Define "no longer works". And what exactly you mean by can not connect to the app?

Anyway, if it shows up in adb, then there is nothing to worry about. The process is fully reversible (in fact, just overwriting /data/dji_scratch/bin/dji_scratch.py with the original version of this file will do the trick).

But you need to remember this is a hack. As all hacks, you use it at your own peril. The best I can guarantee is that it worked for me.
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 10:45
Define "no longer works". And what exactly you mean by can not connect to the app?

Anyway, if it shows up in adb, then there is nothing to worry about. The process is fully reversible (in fact, just overwriting /data/dji_scratch/bin/dji_scratch.py with the original version of this file will do the trick).

Can you please give me a command line to overwrite and undo this ?

I don't understand the file locations/paths involved.
2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 10:46
Can you please give me a command line to overwrite and undo this ?

I don't understand the file locations/paths involved.

In the folder where you extracted the hack files, open dji_scratch/bin/dji_scratch.py

- Remove the following line:

subprocess.Popen(["/system/bin/sh", "/data/patch.sh"])

- Save the file.
- "adb push dji_scratch/bin/dji_scratch.py /data/dji_scratch/bin/." (you might need to use backward slashes in Windows and, of course, remove the quotes).
- Reboot

This will more or less bring your S1 back to the way it was. There are other changes that were made but they should be inconsequential.

But if this scared you that much, you should not try to use this hack. It can potentially brick your S1 specially if you are doing things manually as you did instead of simply running the provided script).

Note that this is true for *ANY* hacks for custom hardware (like the S1).
2021-3-3
Use props
BGA
lvl.4
United States
Offline

BGA Posted at 3-3 10:55
In the folder where you extracted the hack files, open dji_scratch/bin/dji_scratch.py

- Remove the following line:

And, of course, even doing what I just described can potentially break your S1 for real depending on its current state. Be warned.
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 10:55
In the folder where you extracted the hack files, open dji_scratch/bin/dji_scratch.py

- Remove the following line:

Ok that worked thank god, at least now I know how to undo it..

I wonder why the app would not run, yet adb allowed connection.
2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 11:02
Ok that worked thank god, at least now I know how to undo it..

I wonder why the app would not run, yet adb allowed connection.

All I can say is that it works for me. Accepting adb connections and app connection are orthogonal things so it is not surprising that one might work and the other not. Unfortunately I can not help you with this issue as there is no way I can debug your S1 so just don't use the hack and you will be fine (but without SDK support in your S1).
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 11:06
All I can say is that it works for me. Accepting adb connections and app connection are orthogonal things so it is not surprising that one might work and the other not. Unfortunately I can not help you with this issue as there is no way I can debug your S1 so just don't use the hack and you will be fine (but without SDK support in your S1).

Ya its back to working fine, so no worries, thanks for all your help..
it was worth a shot
2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 11:19
Ya its back to working fine, so no worries, thanks for all your help..
it was worth a shot

FWIIW, I jusr reverted both of my S1s to factory defaults, thne applied the hacks (using the provided scripts). Text mode SDK works, app works, binary mode SDK works 2 out of 3 times.
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 12:49
FWIIW, I jusr reverted both of my S1s to factory defaults, thne applied the hacks (using the provided scripts). Text mode SDK works, app works, binary mode SDK works 2 out of 3 times.

After thinking about it, I think my mistake was adding the bottom code section in the PDF file to the end of the top section, and that was not required with the new setup info in the README file.

So the final adb functions had been run inside the APP, prior to me running the final .SH file from command prompt.

This likely forced an adb conflict, and stopped my app from running.

I will try again later on but not from windows, you are using a Linux environment and having success, so clearly Linux is the way to go with this.

I have a Raspberry Pi 3B with the Linux lite non GUI version on it, might try using that.
Unless the SDK hates arm processors ?
2021-3-3
Use props
Wardword
lvl.2
Flight distance : 13 ft
Canada
Offline

BGA Posted at 3-3 12:49
FWIIW, I jusr reverted both of my S1s to factory defaults, thne applied the hacks (using the provided scripts). Text mode SDK works, app works, binary mode SDK works 2 out of 3 times.

Also, sorry for another question ,how did you get  Linux version of the Robomaster app ?
Or is it running in wine ?

I can't seem to find linux version anywhere.
2021-3-3
Use props
BGA
lvl.4
United States
Offline

Wardword Posted at 3-3 13:17
Also, sorry for another question ,how did you get  Linux version of the Robomaster app ?
Or is it running in wine ?

There are no Linux versions of the Robomaster app (well, technically the Android version is a Linux version). But you can run the Windows version under Wine, yes.

You do not need to run the app under Linux to do anything in any case.
2021-3-3
Use props
12Next >
Advanced
You need to log in before you can reply Login | Register now

Credit Rules