NebraLtd / helium-syncrobit

Nebra OpenFleet for Syncrobit CM4 Miners
https://nebra.io/syncrobit
MIT License
11 stars 5 forks source link

Syncrobit #60 and #58 ecc selection #2

Closed invictus737 closed 1 year ago

invictus737 commented 1 year ago

Hello,

some V1 CM4 based Syncrobit miners are having the ECC address not standard and some extra handling is required for that special case. Please add at the minim the posibility to custom specify the i2c address (60 or 58) and the slot (0,1,2,3).

Regards

shawaj commented 1 year ago

Do you have a source for this information of the different i2c bus and slot? This shouldn't be the case as it's part of the audit from helium foundation.

We currently have no way to dynamically assign the bus address or slot as it is pulled in from the hardware definitions in hm-pyhelper

You can already customise this to your needs but I appreciate it is not the simplest process if you aren't familiar with python packages etc

invictus737 commented 1 year ago

Hello,I have a fleet of 20 syncrobit miners and all with diy ansible image. Also original syncrobit miner firmware have a slot and address configuration. 4 out of 20 miners have ECC programmed on address 58 instead of 60. I know is strange. They are v1 Syncrobit. RegardsChrisOn 29 Jan 2023, at 19:48, Aaron Shaw @.***> wrote: Do you have a source for this information of the different i2c bus and slot? This shouldn't be the case as it's part of the audit from helium foundation. We currently have no way to dynamically assign the bus address or slot as it is pulled in from the hardware definitions in hm-pyhelper You can already customise this to your needs but I appreciate it is not the simplest process if you aren't familiar with python packages etc

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

shawaj commented 1 year ago

Hmm very odd. I guess they must be some custom version of the chip.

Do you know which slot the key is in?

Lastly, could you go to https://hub.balena.io/organizations/nebraltd/fleets/HELIUM-syncrobit and click "get started" and add one of your devices to this that have the ECC on address 58 instead of 60? And once done, can you let me know?

Thanks!

shawaj commented 1 year ago

Any joy with this @invictus737 ?

invictus737 commented 1 year ago

Hi, sorry not easy during winter to reach to those locations. In the mean time please add i2c-tools package or instruct how to add package. Required to drill down to the right i2c address and also https://github.com/helium/gateway-mfr-rs to test the right slot number where the keys are stored.

shawaj commented 1 year ago

How are you accessing them then? Are they on BalenaCloud?

invictus737 commented 1 year ago

No Balena. Diy custom firmware on them with my required packages. On 6 Feb 2023, at 12:00, Aaron Shaw @.***> wrote: How are you accessing them then? Are they on BalenaCloud?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

shawaj commented 1 year ago

@invictus737 so you are not using our firmware?

UrsoXone commented 1 year ago

I am using your firmware and I do have one Syncrobit, which after flashing your firmware is showing on dashboard the ECC is not detected... may be this fella falls into the @invictus737 description. How can I check it?

shawaj commented 1 year ago

@UrsoXone can you add gh_shawaj to have access to your fleet?

Then I can take a look

UrsoXone commented 1 year ago

How can I do that?

A sábado, 11/02/2023, 03:48, Aaron Shaw @.***> escreveu:

@UrsoXone https://github.com/UrsoXone can you add gh_shawaj to have access to your fleet?

Then I can take a look

— Reply to this email directly, view it on GitHub https://github.com/NebraLtd/helium-syncrobit/issues/2#issuecomment-1426595915, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWOSBTDUBXQO3OLWELYRPTLWW4DY3ANCNFSM6AAAAAAUIYU5XM . You are receiving this because you were mentioned.Message ID: @.***>

shawaj commented 1 year ago

@UrsoXone Can you share a screenshot of the diagnostics? Or the diagnostics JSON download?

UrsoXone commented 1 year ago

Sure.. Here u have

A sábado, 11/02/2023, 04:19, Carlos Eduardo @.***> escreveu:

How can I do that?

A sábado, 11/02/2023, 03:48, Aaron Shaw @.***> escreveu:

@UrsoXone https://github.com/UrsoXone can you add gh_shawaj to have access to your fleet?

Then I can take a look

— Reply to this email directly, view it on GitHub https://github.com/NebraLtd/helium-syncrobit/issues/2#issuecomment-1426595915, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWOSBTDUBXQO3OLWELYRPTLWW4DY3ANCNFSM6AAAAAAUIYU5XM . You are receiving this because you were mentioned.Message ID: @.***>

shawaj commented 1 year ago

@UrsoXone there was nothing attached?

shawaj commented 1 year ago

For my future reference, this is your device UUID - https://dashboard.balena-cloud.com/devices/99e4bc8a25781c87d8473d270d1f54d0

Screenshot 2023-02-11 at 12 50 11

I2c is on 0x58 as in above. I will see if I can get an update pushed over the weekend if I have any time to play around with it.

Could you leave this device turned on @UrsoXone ?

UrsoXone commented 1 year ago

Yes! Please let me know the progress...I am afraid, I have more like that :). Thanks for the support and thanks @invictus737 for the trigger..

jd3rul commented 1 year ago

~~Hej shawaj ! I am using your firmware (latest version) on 1 of my Syncrobits. One of which after flashing your firmware is showing on dashboard the ECC is not detected... How can I check it the memory slot?
Is it possible to release a fw image for this specific sample of units?~~

UrsoXone commented 1 year ago

Looks like we need to wait...

A sábado, 11/02/2023, 08:30, jd3rul @.***> escreveu:

Hej shawaj ! I am using your firmware (latest version) on 1 of my Syncrobits. One of which after flashing your firmware is showing on dashboard the ECC is not detected... How can I check it the memory slot? And is it possible to release a fw image for this specific sample of units? [image: Capture] https://user-images.githubusercontent.com/125120165/218248443-55081a29-9874-4911-b192-28b153c576c8.JPG

— Reply to this email directly, view it on GitHub https://github.com/NebraLtd/helium-syncrobit/issues/2#issuecomment-1426660863, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWOSBTFOKC3MBIPO2WBUZZLWW5EZJANCNFSM6AAAAAAUIYU5XM . You are receiving this because you were mentioned.Message ID: @.***>

mg198 commented 1 year ago

i have the same issue, flashed eMMC and now it is showing the issue below.

Overall Status: Errors Found Firmware Version | 2023.02.07.0-5 (b3cc38c) Variant | Syncrobit Hotspot Hardware Serial Number | 100000009f8b4a8c

Radio Operational | Awaiting Location Assertion ECC Detected | False

{"AN":null,"BA":"HELIUM-SYNCROBIT","BALENA_DEVICE_TYPE":["raspberrypicm4-ioboard"],"BN":"","BT":true,"BUTTON":27,"CELLULAR":false,"CONTAINS_FCC_IDS":[],"CONTAINS_IC_IDS":[],"CPU_ARCH":"aarch64","E0":"E4:5F:01:4C:A3:81","ECC":false,"ECCOB":true,"FCC_IDS":[],"FR":"N/A (Non Nebra Miner)","FRIENDLY":"Syncrobit Hotspot","FW":"2023.02.07.0-5","IC_IDS":[],"ID":"ebc5e7a6690fd7e487f823b2b289e7c6","KEY_STORAGE_BUS":"/dev/i2c-1","LOR":false,"LTE":false,"MAC":"wlan0","OK":null,"PF":false,"PK":null,"RE":"UN123","RESET":17,"SPIBUS":"spidev0.0","STATUS":22,"SUPPORTED_MODELS":["Syncrobit Hotspot"],"SWARM_KEY_URI":"ecc://i2c-1:96?slot=0","TYPE":"Full","VA":"COMP-SYNCROBITCM4","W0":"46:A4:11:40:B7:D9","firmware_short_hash":"b3cc38c","last_updated":"19:13 UTC 12 Feb 2023","serial_number":"100000009f8b4a8c"}

UrsoXone commented 1 year ago

On the page below of the dashboard you have a link to download the diagnostics.

A domingo, 12/02/2023, 19:07, mg198 @.***> escreveu:

i have the same issue, flashed eMMC and now it is showing the issue below. Im a not sure how to provide a log file for further details.

Overall Status: Errors Found Firmware Version | 2023.02.07.0-5 (b3cc38c) Variant | Syncrobit Hotspot Hardware Serial Number | 100000009f8b4a8c

Radio Operational | Awaiting Location Assertion ECC Detected | False

— Reply to this email directly, view it on GitHub https://github.com/NebraLtd/helium-syncrobit/issues/2#issuecomment-1427108922, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWOSBTDSMMPH2OQYZZBEWEDWXEYG3ANCNFSM6AAAAAAUIYU5XM . You are receiving this because you were mentioned.Message ID: @.***>

mg198 commented 1 year ago

{"AN":null,"BA":"HELIUM-SYNCROBIT","BALENA_DEVICE_TYPE":["raspberrypicm4-ioboard"],"BN":"","BT":true,"BUTTON":27,"CELLULAR":false,"CONTAINS_FCC_IDS":[],"CONTAINS_IC_IDS":[],"CPU_ARCH":"aarch64","E0":"E4:5F:01:4C:A3:81","ECC":false,"ECCOB":true,"FCC_IDS":[],"FR":"N/A (Non Nebra Miner)","FRIENDLY":"Syncrobit Hotspot","FW":"2023.02.07.0-5","IC_IDS":[],"ID":"ebc5e7a6690fd7e487f823b2b289e7c6","KEY_STORAGE_BUS":"/dev/i2c-1","LOR":false,"LTE":false,"MAC":"wlan0","OK":null,"PF":false,"PK":null,"RE":"UN123","RESET":17,"SPIBUS":"spidev0.0","STATUS":22,"SUPPORTED_MODELS":["Syncrobit Hotspot"],"SWARM_KEY_URI":"ecc://i2c-1:96?slot=0","TYPE":"Full","VA":"COMP-SYNCROBITCM4","W0":"46:A4:11:40:B7:D9","firmware_short_hash":"b3cc38c","last_updated":"19:13 UTC 12 Feb 2023","serial_number":"100000009f8b4a8c"}

shawaj commented 1 year ago

@mg198 thanks, that's very helpful 👍

https://dashboard.balena-cloud.com/devices/ebc5e7a6690fd7e487f823b2b289e7c6

shawaj commented 1 year ago

@UrsoXone and @mg198 can you please provide the name of your device from helium network and a link from the helium explorer?

mg198 commented 1 year ago

Warm Neon Chameleon https://explorer.helium.com/hotspots/11n6ApbTNiNhCLf84Hm3mZGDyqNhP83dsj4Cvj2juTXuKD7byf

UrsoXone commented 1 year ago

Iast time you got direct access to it. ..

A domingo, 12/02/2023, 19:44, mg198 @.***> escreveu:

Warm Neon Chameleon

https://explorer.helium.com/hotspots/11n6ApbTNiNhCLf84Hm3mZGDyqNhP83dsj4Cvj2juTXuKD7byf

— Reply to this email directly, view it on GitHub https://github.com/NebraLtd/helium-syncrobit/issues/2#issuecomment-1427116002, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWOSBTHYO5FNINGZ3EDZOATWXE4RFANCNFSM6AAAAAAUIYU5XM . You are receiving this because you were mentioned.Message ID: @.***>

mg198 commented 1 year ago

I have it with me now. let me know if you need anything additional. It has been offline for a long time, 7 months. i have another syncrobit from the same batch but don't have physical access to it at the moment

shawaj commented 1 year ago

Iast time you got direct access to it.

@UrsoXone I know, but I want to make sure that it is the same public key as expected that's why I need the name from onboarding

mg198 commented 1 year ago

Okay perfect! Yes I have it with me and have access to it at any moment

UrsoXone commented 1 year ago

Ok! Now worries. Btw, I needed to power it off, to fix other Hotspot.

A domingo, 12/02/2023, 20:19, Aaron Shaw @.***> escreveu:

Iast time you got direct access to it.

@UrsoXone https://github.com/UrsoXone I know, but I want to make sure that it is the same public key as expected that's why I need the name from onboarding

— Reply to this email directly, view it on GitHub https://github.com/NebraLtd/helium-syncrobit/issues/2#issuecomment-1427123407, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWOSBTATRAYZCJKZZ7KNAFTWXFAW5ANCNFSM6AAAAAAUIYU5XM . You are receiving this because you were mentioned.Message ID: @.***>

mg198 commented 1 year ago

Okay, it is off now.

shawaj commented 1 year ago

@mg198 no please leave yours powered on

@UrsoXone can you share your Helium explorer id?

shawaj commented 1 year ago

Output of gateway-mfr-rs from @mg198 hotspot...

root@8339fccdf0fb:/opt# ./python-dependencies/hm_pyhelper/gateway_mfr_aarch64 key --device ecc://i2c-1:88?slot=0
error: Found argument '--device' which wasn't expected, or isn't valid in this context

USAGE:
    gateway_mfr_aarch64 key [FLAGS]

For more information try --help
root@8339fccdf0fb:/opt# ./python-dependencies/hm_pyhelper/gateway_mfr_aarch64 key
Error: ecc608 error

Caused by:
    timeout/retry error
root@8339fccdf0fb:/opt# ./python-dependencies/hm_pyhelper/gateway_mfr_aarch64 --device ecc://i2c-1:88?slot=0 key
{
  "key": "11po2k2TT3bgVXzFJxDJ6eP1fJHocN96dC71RDsUPrVfZADY2qH",
  "name": "mini-watermelon-finch"
}
root@8339fccdf0fb:/opt# ./python-dependencies/hm_pyhelper/gateway_mfr_aarch64 --device ecc://i2c-1:88?slot=1 key
Error: ecc608 error

Caused by:
    ecc error ExecError
root@8339fccdf0fb:/opt# ./python-dependencies/hm_pyhelper/gateway_mfr_aarch64 --device ecc://i2c-1:88?slot=2 key
Error: decode error

Caused by:
    not a compact key
root@8339fccdf0fb:/opt# ./python-dependencies/hm_pyhelper/gateway_mfr_aarch64 --device ecc://i2c-1:88?slot=3 key
{
  "key": "11n6ApbTNiNhCLf84Hm3mZGDyqNhP83dsj4Cvj2juTXuKD7byf",
  "name": "warm-neon-chameleon"
}
root@8339fccdf0fb:/opt# ./python-dependencies/hm_pyhelper/gateway_mfr_aarch64 --device ecc://i2c-1:88?slot=4 key
Error: ecc608 error

Caused by:
    ecc error ExecError

As mentioned in the comment above the correct value is warm-neon-chameleon meaning the keyslot ecc://i2c-1:88?slot=3 is the correct one for this device

shawaj commented 1 year ago

@UrsoXone let me know when you manage to turn yours on again and the helium name. Then I can check yours too and finish the solution

invictus737 commented 1 year ago

The solution is try all slots and compare with api as seems a random slot alloc by SB. I have slots 0 up to 9 with pkeys and animal names. 😁 That’s why I have kindly asked in this Issue to have selection possible in Dashboard. On 13 Feb 2023, at 07:27, Aaron Shaw @.***> wrote: @UrsoXone let me know when you manage to turn one on again and the helium name. Then I can check yours too and finish the solution

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

shawaj commented 1 year ago

@invictus737 we need to see examples of all of these to know how to handle it best.

So if you can please give us more details of all the miners you mention so we can access them

mg198 commented 1 year ago

will i have to reflash my device with a new firmware or will something be pushed to it? Also, i have a friend with an eMMC out of town wanting his reflashed is it only a few like ours or should most re-flash with no issues?

shawaj commented 1 year ago

When we fix it, it will just update if you face it in the open fleet

UrsoXone commented 1 year ago

If I provide you a similar picture of the output of 4 different HS ( i2cdetect command ) it will be enough for you? I do have 4 in total, with this 0x58 I2C ECC address

shawaj commented 1 year ago

@UrsoXone really we need to have access or there's nothing we can do

UrsoXone commented 1 year ago

Let me check if later , for the sake of development, I can bring the previous rare species online again! By the way, the other one from mig28, wasn't enough to test ?

A terça, 14/02/2023, 16:13, Aaron Shaw @.***> escreveu:

@UrsoXone https://github.com/UrsoXone really we need to have access or there's nothing we can do

— Reply to this email directly, view it on GitHub https://github.com/NebraLtd/helium-syncrobit/issues/2#issuecomment-1430003259, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWOSBTDFFD3TBFLNTSKMGPDWXOVJHANCNFSM6AAAAAAUIYU5XM . You are receiving this because you were mentioned.Message ID: @.***>

UrsoXone commented 1 year ago

Hi,

HS is back online. HS name: Hidden Fuchsia Tuna

shawaj commented 1 year ago

Thanks @UrsoXone - yours is on ecc://i2c-1:88?slot=2 so different to @mg198 - can you also leave yours online so we can test some solutions

shawaj commented 1 year ago

@UrsoXone the output we need is actually the one like this: https://github.com/NebraLtd/helium-syncrobit/issues/2#issuecomment-1427342499

If you have other hotspots you can check that will be helpful. Or you can put them online and we can check.

UrsoXone commented 1 year ago

It will stay online. Which command I need to run on others? You will not be able to connect to the others since they don't have yet the Nebra firmware installed.

A quarta, 15/02/2023, 01:23, Aaron Shaw @.***> escreveu:

@UrsoXone https://github.com/UrsoXone the output we need is actually the one like this:

2 (comment)

https://github.com/NebraLtd/helium-syncrobit/issues/2#issuecomment-1427342499

If you have other hotspots you can check that will be helpful. Or you can put them online and we can check.

— Reply to this email directly, view it on GitHub https://github.com/NebraLtd/helium-syncrobit/issues/2#issuecomment-1430617535, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWOSBTGJJBG324V43KANZRLWXQV2BANCNFSM6AAAAAAUIYU5XM . You are receiving this because you were mentioned.Message ID: @.***>

shawaj commented 1 year ago

You would need to be running Nebra software and run from diagnostics container:

./python-dependencies/hm_pyhelper/gateway_mfr_aarch64 --device ecc://i2c-1:88?slot=0 key

Changing the slot from 0 up until 4 until you see the correct animal name

UrsoXone commented 1 year ago

On the other HS I don't have yet the Nebra firmware, I need to install it and then activate SSH connection on it. ( Which I don't know yet how to do it). Let me check if I can run this without the Nebra firmware.

A quarta, 15/02/2023, 02:35, Aaron Shaw @.***> escreveu:

You would need to be running Nebra software and run from diagnostics container:

./python-dependencies/hm_pyhelper/gateway_mfr_aarch64 --device ecc://i2c-1:88?slot=0 key

Changing the slot from 1 up until 4 until you see the correct animal name

— Reply to this email directly, view it on GitHub https://github.com/NebraLtd/helium-syncrobit/issues/2#issuecomment-1430667983, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWOSBTDNEK4HHF6LPKCCPL3WXQ6F7ANCNFSM6AAAAAAUIYU5XM . You are receiving this because you were mentioned.Message ID: @.***>

UrsoXone commented 1 year ago

This gives you any help? Or really need to have your command with slot? The HS which I am running this, I don't have your nice python script ..

Captura de ecrã 2023-02-17, às 01 48 58

UrsoXone commented 1 year ago

I believe on this HS, it is SLOT 2

shawaj commented 1 year ago

Yes the slot is important. We need to have both from that command to make sure it can be accessed

shawaj commented 1 year ago

Looking at syncrobit code, it seems to be slot2 if it is on 0x58... (But this doesn't match with @mg198 hotspot which is on slot3 🙈😥🤔) https://github.com/syncrobit/chameleonos/blob/104e5842e597caf6da386aed3e2064c0829ac161/board/common/overlay/etc/init.d/S31hwdetect