NebraLtd / hm-pyhelper

A helper module used across various Nebra repos to reduce redundant features.
https://nebra.io/hmpyhelper
MIT License
9 stars 16 forks source link

Finestra miner teardown #100

Open shawaj opened 2 years ago

shawaj commented 2 years ago

Observations so far.

20220121_151026 20220121_150413 20220121_151012

shawaj commented 2 years ago

Button appears to be between gpio16 and ~ground~ 3v3

shawaj commented 2 years ago

SPI ce0

shawaj commented 2 years ago

Tri colour led / RGB

Chip A3 0mG seems to be LED driver

Input seems to be connected to gpio26, gpio20, gpio07

shawaj commented 2 years ago

SPI seeed concentrator

https://wiki.seeedstudio.com/WM1302_module/

shawaj commented 2 years ago

Still need to work out which is the reset GPIO pin number (forgot) but once we know that addition to hm-pyhelper should be trivial

shawaj commented 2 years ago

Config.txt:

dtoverlay=spi0-1cs,cs0_pin=08
dtparam=i2c_arm=on,audio=on
arm_64bit=1
avoid_warnings=1
disable_splash=1
gpu_mem=16

SPI seems to be on standard pins but instead of using dtparam=spi=on is using dtoverlay=spi0-1cs,cs0_pin=08

Config.json

{"apiEndpoint":"https://api.finestradev.com","appUpdatePollInterval":1800000,"applicationId":4,"balenaRootCA":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZZRENDQTBpZ0F3SUJBZ0lVYXJsUGkrY0RuMTluT1JZaENTNVhFcDBMY3Vnd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0hURWJNQmtHQTFVRUF3d1NZMkV1Wm1sdVpYTjBjbUZrWlhZdVkyOXRNQjRYRFRJeE1EVXdOVEl3TXpregpObG9YRFRNeE1EVXdNekl3TXprek5sb3dIVEViTUJrR0ExVUVBd3dTWTJFdVptbHVaWE4wY21Ga1pYWXVZMjl0Ck1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBcWVML0RqQWoxSTkvRnlpR3RlWVQKYko1ZzRUT2p1Nk94TlBweDhVZjZqOXNhbzJIdWdweUJFS000L1hKYlpkeUlvQmc3MkdPN09aYkhmb2Rod3VpVwoyVEUwVWhOMGxHMFJMYWlERXlkWDBPUkE1YUpaOGhwTjNTYkQreUlvS3dZSkNuOEVadHl5RDZMV01YVk8wdXlTCjQ4TGVYUDhNODZ4N0ZuTzNwVG1NWTVLZGQvZEUrNjVPb0E1K2l2blY3LzdqaTFDbk0vRVdXSElxVElDanBnK2YKVENkczl3bytSMWtuTE93d3dIcU4xUUFENzl0THNHTlpWZG8wRWJucnFZYm54bjYydzU3TUtsdzhuODlQSEh6aQp2NkVYZ1N2N2dnK0VyWWdjbWREaytSeXlqTXJXbnJFQ01OOVVXSVlSMGgvalJpWGlCdDZnQ2gyampQa3kxcCtaCkJEbTNINjh0aHBLQlJvNzUzSGhtaDlJZ0Y2bDQxYlFXYkh4MnJzOUt5YnNObHREVWJOdUs1OFQ0RkpBTlQ2RnoKc1Y2Y0pMZWtaVnFRNXordVRFUlVyc3g5TVB6cXFWK25vc1FMckFXcGlxTzZjRjJsWHQ2aHpiT1dtazEwNDVzRQo0T3dHQkRYSjBQekxrSURRR0dkQmNMelNFYU9FT2oyUnJRY2JEcFJTV0xpOFc4MXNKSUxjVDNqcyt6VGVBYVV4CkJEQVpnT1dlN3JtelZwbXVUQzNJT3M1MGE2cGQ2Zy9WMkNnNFlhV2FlamNsb2NQVEV6MHpwZ2JCWDBDOWZOZ1QKUEsrNzIzZFJ6OGZQeUR6aXJ6YWw0V0xza2JFUTdGaEh3djZjNURjZWRibThMc2ZMRDVVMlhOMktiZWZ5NlBOYgptNkt5bTNHRlV1dGdlaXNYWGMzQ1lFMENBd0VBQWFPQmx6Q0JsREFkQmdOVkhRNEVGZ1FVZFpseEJObzJVTngvCi9LTDg3K254R0dBMFNaMHdXQVlEVlIwakJGRXdUNEFVZFpseEJObzJVTngvL0tMODcrbnhHR0EwU1oyaElhUWYKTUIweEd6QVpCZ05WQkFNTUVtTmhMbVpwYm1WemRISmhaR1YyTG1OdmJZSVVhcmxQaStjRG4xOW5PUlloQ1M1WApFcDBMY3Vnd0RBWURWUjBUQkFVd0F3RUIvekFMQmdOVkhROEVCQU1DQVFZd0RRWUpLb1pJaHZjTkFRRUxCUUFECmdnSUJBSDV0RVV6VDdRQ1BQU3hZWndXNUxNMHoxK3N2VE1lUjlPbnV4eFBySDU4UkY0bGNKeWxoNFNqaVFFbGsKUXB6V0IrWnI3bjFwaHFVV090dFJBTytzWFlrelQzYk5jVTEvT3N4b0t6RFd6VWRhRGJvRENCYVB1ckpUZmVQQQpwcFNXRTcyU1AwemFtVHNJQ0R6VHJzUlYrR3FSZks0L1hZUWdTeUc3dkhQSjN1a1hsWnZ5a3F0ZGtGTEdmQXRrCmtITGo5ZUVJdnoybWNwcGJCMGxnQUw0ckhBK3VLbjN1THJVTjB6RzRVR0dsUmZESHo4V1BJR1ZNQ0ZaQXpUZkEKS01ERVFKU2ZYb2t3andLdm1nbnN2L1ZVdXRtVEs2TkZZNjlzRjF4TXBVSFRtY1EzdzZKd3lIMVlUeTd1NUZ0QQoxM1lTU1dzNmNSWWZ2UWVXeCtnUzVjUXFzejhSOU5sTXZPamlyUXA4akJMQlhkYkF1N3pMd3RkL20rYmppNE4yCnVMTnlVTS9JaG1rQkNQMlV0eW9vR1FmUmVqc08yeXFxNDlPYklmNENnVjFKTHJGNVErb2t3TmVlTTBHQzJWTzQKQ2dVR2tnZGNBM212YnJTaW4wd0hDWHJveDdSeXc4aDBtalJFZ3FrMmFkcnpJdXNyeFdLWmMvUXRZWFUzM3J4eQpBZTZwa0tFbHROVWc5SVlsZnlZN0FYTXhwWkdPZXNZZ21aSktmMW1IR2pzWUdreWFWeEQwNDVTMjV5ODhXLzBJCkFxNHdIaHRiZFJNY1hsVFRFYklLenp3Y1cyYy9GSkRHUUtiM25EVU96WkNiUlNvSkNQT1RFTTV3MlB3d1BJN2gKT01qZmhkdFJFeG5yRlllSTU5VTIvQkwzR1VsYVR0eHRTTTFjZFB6Mlk1Y2RJZFBZCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K","deltaEndpoint":"https://delta.finestradev.com","deviceApiKey":"049d2545a1036fd0a5918d1343acea91","deviceApiKeys":{"api.finestradev.com":"049d2545a1036fd0a5918d1343acea91"},"deviceType":"raspberrypi4-64","files":{"network/network.config":"[service_home_ethernet]\nType=ethernet\nNameservers=8.8.8.8,8.8.4.4\n\n[service_home_wifi]\nHidden=true\nType=wifi\nName=Smart Mimic\nPassphrase=91482863\nNameservers=8.8.8.8,8.8.4.4"},"listenPort":48484,"mixpanelToken":"__unused__","registryEndpoint":"registry.finestradev.com","userId":2,"vpnEndpoint":"vpn.finestradev.com","vpnPort":443,"wifiKey":"91482863","wifiSsid":"Smart Mimic","uuid":"9da5f6173e342dc1a765ef5986710bb2","registered_at":1629807429403,"deviceId":15387}

device type JSON

{
    "slug": "raspberrypi4-64",
    "version": 1,
    "aliases": [
        "raspberrypi4-64"
    ],
    "name": "Raspberry Pi 4",
    "arch": "aarch64",
    "state": "RELEASED",
    "instructions": [
        "Write the OS file you downloaded to your SD card. We recommend using <a href=\"http://www.etcher.io/\">Etcher</a>.",
        "Insert the freshly burnt SD card into the Raspberry Pi 4.",
        "Connect your Raspberry Pi 4 to the internet, then power it up."
    ],
    "gettingStartedLink": {
        "windows": "https://www.balena.io/docs/learn/getting-started/raspberrypi4/nodejs/",
        "osx": "https://www.balena.io/docs/learn/getting-started/raspberrypi4/nodejs/",
        "linux": "https://www.balena.io/docs/learn/getting-started/raspberrypi4/nodejs/"
    },
    "supportsBlink": true,
    "options": [
        {
            "isGroup": true,
            "name": "network",
            "message": "Network",
            "options": [
                {
                    "message": "Network Connection",
                    "name": "network",
                    "type": "list",
                    "choices": [
                        "ethernet",
                        "wifi"
                    ]
                },
                {
                    "message": "Wifi SSID",
                    "name": "wifiSsid",
                    "type": "text",
                    "when": {
                        "network": "wifi"
                    }
                },
                {
                    "message": "Wifi Passphrase",
                    "name": "wifiKey",
                    "type": "password",
                    "when": {
                        "network": "wifi"
                    }
                }
            ]
        },
        {
            "isGroup": true,
            "isCollapsible": true,
            "collapsed": true,
            "name": "advanced",
            "message": "Advanced",
            "options": [
                {
                    "message": "Check for updates every X minutes",
                    "name": "appUpdatePollInterval",
                    "type": "number",
                    "min": 10,
                    "default": 10
                }
            ]
        }
    ],
    "yocto": {
        "machine": "raspberrypi4-64",
        "image": "balena-image",
        "fstype": "balenaos-img",
        "version": "yocto-dunfell",
        "deployArtifact": "balena-image-raspberrypi4-64.balenaos-img",
        "compressed": true
    },
    "configuration": {
        "config": {
            "partition": {
                "primary": 1
            },
            "path": "/config.json"
        }
    },
    "initialization": {
        "options": [
            {
                "message": "Select a drive",
                "type": "drive",
                "name": "drive"
            }
        ],
        "operations": [
            {
                "command": "burn"
            }
        ]
    }
}
shawaj commented 2 years ago

reset pin is physical pin 11 / gpio 17

shawaj commented 2 years ago

Added in #103 but need to test the button and LEDs to confirm they're working correctly

shawaj commented 2 years ago

Working as of https://github.com/NebraLtd/helium-miner-software/pull/364 but still need to test that button and LED working correctly

salmanfarisvp commented 2 years ago

LED Status https://thefinestra.com/led/ and https://thefinestra.com/faqs/

image

shawaj commented 2 years ago

Thanks @salmanfarisvp 👍