nihalpasham / JWT-based-device-auth

Demonstrating 'secure device authentication' using an esp32 running the micropython firmware. This demo leverages a microchip secure element atecc608a and authenticates with Google IoT Core.
13 stars 4 forks source link

GenericError: ('unspecified error', 'max retry') #1

Open torntrousers opened 3 years ago

torntrousers commented 3 years ago

Hi, thanks for the interesting repo. I'm trying it but can't get ucryptoauthlib to talk to the ATECC608, it fails with:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "cryptoauthlib/device.py", line 42, in __init__
  File "cryptoauthlib/basic.py", line 190, in atcab_info
  File "cryptoauthlib/basic.py", line 186, in atcab_info_base
  File "cryptoauthlib/device.py", line 116, in execute
GenericError: ('unspecified error', 'max retry')

This is with MicroPython v1.16 on 2021-06-23, though I've also tried some older versions.

What version of Micropython were you using and did you have to make any changes to ucryptoauthlib to get it to work on the ESP32?

TIA!

MariusHeier commented 3 years ago

Can you see the device when you do a i2c scan?

torntrousers commented 3 years ago

Yes

MariusHeier commented 3 years ago

Does it reply if you send something directly without the lib?

torntrousers commented 3 years ago
MicroPython v1.16 on 2021-06-23; ESP32 module (spiram) with ESP32
Type "help()" for more information.
>>> import machine
>>> bus=machine.I2C(1, sda=machine.Pin(21), scl=machine.Pin(22), freq=133000)
>>> bus.scan()
[96]
>>>

No, and that appears to be what causes the 'max retry' error. For example, doing the code line from here gives:

bus.writeto(96, b'\x00\x00')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 19] ENODEV
MariusHeier commented 3 years ago

I've got this to work with esp32. But I don't remember what I changed. And I got my computer packed down for renovation for some days, so I don't have access to the code. I think the i2c for pyboard is a bit different then for the esp32 version. If I where to redo it now I would first just rewrite some of the basic commands with existing i2c code from something else, or from the documentation. I can help out when I'm done with renovation. What board are you using?

lør. 14. aug. 2021, 16:24 skrev Anthony Elder @.***>:

MicroPython v1.16 on 2021-06-23; ESP32 module (spiram) with ESP32 Type "help()" for more information.

import machine bus=machine.I2C(1, sda=machine.Pin(21), scl=machine.Pin(22), freq=133000) bus.scan() [96]

No, and that appears to be what causes the 'max retry' error. For example, doing the code line from here https://github.com/dmazzella/ucryptoauthlib/blob/master/modules/cryptoauthlib/device.py#L55 gives:

bus.writeto(96, b'\x00\x00') Traceback (most recent call last): File "", line 1, in OSError: [Errno 19] ENODEV

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nihalpasham/JWT-based-device-auth/issues/1#issuecomment-898900878, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHPI3YXS6JVHFSTQMQJ6DV3T4Z4BDANCNFSM5CFBJS5Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

torntrousers commented 3 years ago

The boards I'm trying are the M5Stack Core2 AWS EduKit which includes an ATECC608, and a TinyPICO with an external ATECC608.

Any help you can provide is much appreciated!

MariusHeier commented 3 years ago

Yeah sure. If you don't see a reply from me within 3 days just ping me here or direct message. :)

lør. 14. aug. 2021, 17:17 skrev Anthony Elder @.***>:

The boards I'm trying are the M5Stack Core2 AWS EduKit https://shop.m5stack.com/products/m5stack-core2-esp32-iot-development-kit-for-aws-iot-edukit which includes an ATECC608, and a TinyPICO https://www.tinypico.com/ with an external ATECC608 https://learn.adafruit.com/adafruit-atecc608-breakout.

Any help you can provide is much appreciated!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nihalpasham/JWT-based-device-auth/issues/1#issuecomment-898906919, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHPI3YWT67YRA5EQU2CDDVTT42CJVANCNFSM5CFBJS5Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

torntrousers commented 3 years ago

@MariusHeier thanks for your offer - ping?

torntrousers commented 3 years ago

Hi @MariusHeier , any chance you'll be able to dig up your old code soon?

torntrousers commented 3 years ago

Still keen on this is @MariusHeier or anyone has some working code.

torntrousers commented 3 years ago

Still not been able to get this to work yet, so if @MariusHeier or anyone else does have any ideas...