Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

firmware support #9

Open
mrmrmrmr1 opened this issue Jul 3, 2019 · 9 comments
Open

firmware support #9

mrmrmrmr1 opened this issue Jul 3, 2019 · 9 comments

Comments

@mrmrmrmr1
Copy link

I tried this code with my scooter which has firmware 1.4.2
It works great.

But then my friend tried it on his scooter with 1.5.1 firmware.
It does not show any data. It connects but nothing is received.

So I guess the code is not compatible with later firmware. Can anyone confirm that ?
If that's correct, how can we modify the code to support new firmware (1.5.1 or above) ?
what is different ? sent request or the received data ?

@CvetanG
Copy link

CvetanG commented Jul 3, 2019

"Following the 1.5.1 update of the scooter, the Bluetooth Low Energy (BLE) communication protocol has changed. Named BLE0.81 this version is not usable to modify the firmware of your scooter manually or even to connect you with third party applications" (https://www.spzshop.com/blogs/best-practices-and-tutorials-for-m365/update-xiaomi-m365-1-5-1-and-ble-0-81-be-careful-there-is-the-solution?lang=en)
There are a lot more articles about on this topic just google it. I think that this app doesn't work and with PRO model, any one tried it?
It will be good if it is possible to modify the code to work with new versions as i know the communication is encrypted. Good luck with decryption :)

@mrmrmrmr1
Copy link
Author

I made several tests and turns out that the problem is BLE. BLE version 72 is compatible with this code, but BLE 81 and 91 are not.
We downgraded my friend's BLE from 81 to 72 and now this code works on it.
it is not correct that with this BLE (81) you can't modify the firmware. The android app M365 DownG can downgrade the BLE and/or firmware.
DownG app:
https://play.google.com/store/apps/details?id=com.m365downgrade
BLE 72:
http://s000.tinyupload.com/index.php?file_id=38550474872231613806

ALSO, I see that other Android apps can work with BLE 81.
There are apps that can't run with BLE 91, but most of them work with 81.
So if they can do it, I guess this code can be modified to run with 81.

Any ideas on how to do that ?

@mrmrmrmr1
Copy link
Author

please, I just need help. Some apps on Play store are detecting the BLE version as 81 and asking user to reconnect. I assume it is not just a reconnection. How should we make the connection to BLE 81.

@ilker-aktuna
Copy link

ome other developer has found a way to support BLE later than v81.
Here's their app:

https://play.google.com/store/apps/details?id=adriandp.m365dashboard

If they could do it, maybe it is possible now. Any ideas ?

@dnandha
Copy link

dnandha commented Dec 21, 2021

Wow, 2 years and no updates? No way! Here you go guys: https://github.com/dnandha/miauth
Feel free to adapt it for the m365 apps so they can run new firmwares.

@ilker-aktuna
Copy link

the code you posted is just Python and it uses libraries specific to Python. We are looking for a java solution. So what you post doesn't help at all unless there's anyone with deep knowledge of both PYthon and Java and interested in converting the code to Java.

Wow, 2 years and no updates? No way! Here you go guys: https://github.com/dnandha/miauth Feel free to adapt it for the m365 apps so they can run new firmwares.

@dnandha
Copy link

dnandha commented Dec 28, 2021

@ilker-aktuna Thanks for the honest feedback. I heard you and have now added a Java port of the library and a nice documentation. Enjoy!

@ilker-aktuna
Copy link

wow that was really fast.
@dnandha , thanks.
I will probably use your java library when I find the time.

@maisi
Copy link
Owner

maisi commented Jan 3, 2022

Thanks for the lib @dnandha ! I will give it a try once I find some time (and repair my scooter first).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants