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

Stopped working after updating firmware #89

Open
gluedots opened this issue Aug 17, 2021 · 11 comments
Open

Stopped working after updating firmware #89

gluedots opened this issue Aug 17, 2021 · 11 comments
Labels
bug Something isn't working

Comments

@gluedots
Copy link

🐛 Bug Report

Was working great until I updated the firmware.

Now I get:
wyzecam.tutk.tutk.TutkError: IOTC_ER_CAN_NOT_FIND_DEVICE

🔬 How To Reproduce

Steps to reproduce the behavior:

Update camera firmware in app

Code sample

Environment

  • OS: Linux
  • Python version, get it with: Python 3.9.5
python --version

Screenshots

📈 Expected behavior

📎 Additional context

@gluedots gluedots added the bug Something isn't working label Aug 17, 2021
@github-actions
Copy link

Hello @gluedots, thank you for your interest in our work!

If this is a bug report, please provide screenshots and minimum viable code to reproduce your issue, otherwise we can not help you.

@kroo
Copy link
Owner

kroo commented Aug 19, 2021

thanks @gluedots; to confirm, which version of the firmware is your camera on now?

@gluedots
Copy link
Author

It's a v2 on 4.9.7.798

@mrlt8
Copy link
Contributor

mrlt8 commented Aug 23, 2021

I believe this is due to DTLS being enabled on the newer firmware to patch the recent security vulnerability in tutk.

You can see which of the cameras have DTLS enabled with:

import wyzecam
auth_info = wyzecam.login(email,password)
for device in wyzecam.api.get_homepage_object_list(auth_info)["device_list"]:
    print(f"{device['nickname']:15} v.{device['firmware_ver']} DTLS: {device['device_params']['dtls']}")

@mrlt8
Copy link
Contributor

mrlt8 commented Aug 28, 2021

This should generate the authkey, but I think you'd still need tutk 3.1.10+ to make the connection...

key = self.camera.enr + self.camera.mac.upper()
hash = hashlib.sha256(key.encode())
bArr = bytearray(hash.digest())[0:6]
authKey = base64.standard_b64encode(bArr).decode().replace('+', 'Z').replace('/', '9').replace('=', 'A').encode()

@a904guy
Copy link

a904guy commented Aug 29, 2021

Where can you get tutk 3.1.10+ .dll and .so files?

@nuwandavek
Copy link

Did anyone solve this?

@mrlt8
Copy link
Contributor

mrlt8 commented Nov 1, 2021

Yes, see my post above.

Here's a working example.

You'll need to supply your own libIOTCAPIs_ALL v3.1.10 or higher.

@kylepaulsen
Copy link

Just want to confirm if libIOTCAPIs_ALL v3.1.10+ is freely available or if it requires a paid license or maybe shady browsing.
Where can we get this?
@mrlt8 How did you get your copy?

@mrlt8
Copy link
Contributor

mrlt8 commented Jan 8, 2022

Depending on your target platform, there are a few libraries floating around.

I believe you will need an SDK license key for v4+.

You could always contact tutk directly, but you will need to fill out a couple of forms and sign some NDAs.

@greeshmasmenon
Copy link

Can someone share a copy of the library?
I have searched quite a bit and unable to connect to the latest firmware update. I see DTLS:1 in the device. Any idea on how to solve it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

7 participants