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

Software update needed #1

Open
ghost opened this issue Oct 24, 2022 · 10 comments
Open

Software update needed #1

ghost opened this issue Oct 24, 2022 · 10 comments

Comments

@ghost
Copy link

ghost commented Oct 24, 2022

Screenshot_20221023-174615-034

motorola edge 5G UW (2021)
Android Version: 12
Build Number: S1RMS32.68-43-13-3

@yetanothercarbot
Copy link
Owner

Looks like they added a fair amount of new features in the newer Ready For version. I'll have to reverse engineer it soon to see how much I can implement in readyforpy. Thanks for letting me know.

@tsanecki
Copy link

tsanecki commented Nov 2, 2022

Same error on Edge 30 Neo (Android 12).
Please let me know if you need any feedback/testing.

@yetanothercarbot yetanothercarbot pinned this issue Nov 4, 2022
@yetanothercarbot
Copy link
Owner

I've finally gotten a Windows PC and some time so I should be able to take a look at this over the next few weeks. I apologise for the delay.

@ghost
Copy link

ghost commented Jan 19, 2023

It's all good. I'm the original issue creator by the way. Due to some external issues I had to delete my account.

I'm still encountering the same issue, this time on S1RMS32.68-43-16-3.
Thank you for all the work you're putting into this.

@Nindaleth
Copy link

Hi, I'm also interested in having this working on Android 12 Motorolas. In case it matters, I'm on Edge 20.
Thanks for taking a look!

@7Mik
Copy link

7Mik commented Feb 27, 2023

Is there any way we can contribute?
I would be interested in helping

@JoaquinDecima
Copy link

Hello, how is it going?

I am revising this to know if further development is planned, what can we collaborate on?

I am with a Moto Edge 40 and now I change the name to Smart Connect

If you can help with anything, let us know so we can continue with this.

@yetanothercarbot
Copy link
Owner

yetanothercarbot commented Jun 14, 2024

Sorry, I thought I had commented earlier in the thread but apparently did not.

I'm not actively working on this, mainly because I have little use for Motorola's convergence features and because of limited time.

I will test, accept & merge PRs if they expand functionality (such as for Android 12+ support) or fix bugs.

Regarding Android 12 support: The newer versions of Ready For/Smart Connect are a significantly different beast to the initial version that I was targeting.

Sadly, I don't think it's possible to automatically target different the different versions, though I might be wrong. The phone throws the error because the version tag in the QR code is lower than it is expecting - the current version of smartconnect uses 7.0.0, where ReadyForPy uses 1.6.60. If we do end up adding A12+ support, I might archive this version under a different branch for users on A11.

My initial guess for the protocol would be that it isn't REST-based anymore but websocket based instead - with some luck, this shouldn't be too difficult to figure out. Just some dumping and guesswork. The QR code gives both the host IP and the port on which the websocket server is listening.

It also seems to be doing something with mDNS to decide whether the phone is online or not.

(This actually seems simpler than I originally anticipated, and I may have a play around with it, and document whatever I find - I can't promise anything coming of this though.)


EDIT 15/06/2024

I'll start adding discoveries as addendums to this comment, to prevent email spam.

Alright, so. The QR code the new version of Smart Connect generates looks like this:

motorolardpconnection{"version":"7.0.0","wsData":{"cmd":1,"deviceId":"KLlqcowQc4RXLxczYQznxQ==","deviceName":"[removed]","fp":"TAVlBk+gN7GfKIho/uupJAbpk5SFMRCridKl4yLf7lg=","token":"ccPUxD5us8FElUUJ3hNBsBnwbJQcuQvuiyYDOYSipWYh","policies":[{"wifi":["10.0.0.238","172.29.48.1","192.168.56.1"]}],"wsPort":50079,"appVer":"07.0.0.012.000","verCode":700012000,"os":6,"scType":2,"type":4,"serviceId":19}}

There's a few new fields (e.g. deviceName, wsPort) that are fairly self explanatory. There are some fields which have moved/renamed but are still there from before - e.g. token was previously generated by hashing hardcoded strings, together with some host information (located here. I'm not sure if the value of the token is actually important, or if it is just used as a secret to validate the phone connecting scanned the QR code; that will require testing. If the value is important, hopefully they haven't changed how it is generated.

There's also quite a few fields which seem to be new - unfortunately when I wrote this program originally I didn't consider what other fields exist and I ignored at the time. The cmd, scType, type and serviceId fields might be important.

@Dark-Kernel
Copy link

Guys, any update on this?

@yetanothercarbot
Copy link
Owner

Ah, sorry; I must admit that I've switched to a Pixel 8a now - my Motorola device had become somewhat problematic. It's functional enough that I can test code but frustrating enough to make development difficult.

As such, I can test PRs but I won't be able to develop further - I'm very sorry for the inconvenience but there's not much I can do about it at this stage unfortunately.

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

6 participants