Hello Friends!
I configured my mender client on my SBC and authorized it in the dashboard. However, I get the authorization errors and the device can’t update its inventory. I don’t use systemd. There is no startup script for mendor. Buildroot image, not package manager.
I manually entered this commands:
Setup
mender setup --device-type $DEVICE_TYPE --server-url https://eu.hosted.mender.io --tenant-token $TENANT_TOKEN --demo-polling --server-cert /etc/mender/server.crt --data /var/lib/mender
Starting the deamon
# mender daemon
INFO[0000] Loaded configuration file: /etc/mender/mender.conf
WARN[0000] Could not resolve path link: /dev/mmcblk0p2 Attempting to continue
WARN[0000] Could not resolve path link: /dev/mmcblk0p3 Attempting to continue
ERRO[0000] Failed to read the current active partition: No match between boot and root partitions.: Command to read boot environment not found. Tried grub-mender-grubenv-print, systemd-boot-printenv, fw_printenv: executable file not found in $PATH
INFO[0001] State transition: init [none] -> init [none]
INFO[0001] State transition: init [none] -> idle [Idle]
INFO[0001] State transition: idle [Idle] -> check-wait [Idle]
INFO[0001] State transition: check-wait [Idle] -> inventory-update [Sync]
WARN[0001] Returning artifact name from /etc/mender/artifact_info file. This is a fallback, in case the information can not be retrieved from the database, and is only expected when an update has never been installed before.
INFO[0002] Device unauthorized; attempting reauthorization
INFO[0002] Output (stderr) from command "/usr/share/mender/identity/mender-device-identity": using interface /sys/class/net/wlan0
ERRO[0002] Failed to authorize with "https://eu.hosted.mender.io": authentication request rejected server error message: dev auth: unauthorized
WARN[0002] Reauthorization failed with error: transient error: authorization request failed
ERRO[0002] Failed to submit inventory data: transient error: authorization request failed
ERRO[0002] inventory submit failed: transient error: authorization request failed
WARN[0002] Failed to refresh inventory: failed to submit inventory data: inventory submit failed: transient error: authorization request failed
INFO[0002] State transition: inventory-update [Sync] -> inventory-update-retry-wait [Sync]
INFO[0002] Handle update inventory retry state try: 0
WARN[0002] Returning artifact name from /etc/mender/artifact_info file. This is a fallback, in case the information can not be retrieved from the database, and is only expected when an update has never been installed before.
INFO[0003] Device unauthorized; attempting reauthorization
INFO[0003] Output (stderr) from command "/usr/share/mender/identity/mender-device-identity": using interface /sys/class/net/wlan0
ERRO[0004] Failed to authorize with "https://eu.hosted.mender.io": authentication request rejected server error message: dev auth: unauthorized
WARN[0004] Reauthorization failed with error: transient error: authorization request failed
ERRO[0004] Failed to submit inventory data: transient error: authorization request failed
ERRO[0004] inventory submit failed: transient error: authorization request failed
WARN[0004] Failed to refresh inventory: failed to submit inventory data: inventory submit failed: transient error: authorization request failed
INFO[0004] Wait 30s before next inventory update attempt in 59.99999825s
### MEANWHILE I AUTHORIZED MANUALLY IN THE DASHBOARD ###
The device is accepted and but still get this error from the deamon.
ps aux | grep mender
no processes
netstat
no other connections
Permanent output:
INFO[0431] Device unauthorized; attempting reauthorization
INFO[0431] Output (stderr) from command "/usr/share/mender/identity/mender-device-identity": using interface /sys/class/net/wlan0
INFO[0431] successfully received new authorization data from server https://eu.hosted.mender.io
ERRO[0431] Could not reconfigure proxy with URL "https://eu.hosted.mender.io" and token 'eyJhbGc...' Other applications running on the device won't be able to reach the Mender server. Error: failed to reconfigure proxy: failed to create listener: listen tcp 127.0.0.1:0: bind: cannot assign requested address
WARN[0431] Reauthorization failed with error: transient error: authorization request failed
ERRO[0431] Error receiving scheduled update data: update check request failed: transient error: authorization request failed
ERRO[0431] Update check failed: transient error: update check request failed: transient error: authorization request failed
INFO[0431] State transition: update-check [Sync] -> error [Error]
INFO[0431] Handling error state, current error: transient error: update check request failed: transient error: authorization request failed
INFO[0431] State transition: error [Error] -> idle [Idle]
INFO[0431] State transition: idle [Idle] -> check-wait [Idle]
INFO[0433] State transition: check-wait [Idle] -> inventory-update [Sync]
WARN[0433] Returning artifact name from /etc/mender/artifact_info file. This is a fallback, in case the information can not be retrieved from the database, and is only expected when an update has never been installed before.
Thanks in advance!
PS: Which values are accepted for --log-level
?
Hi, having a pretty similar issue here. I’m just starting with Mender on a Raspebrry Pi 3/4. I’ll share my logs ins case it helps.
Mar 16 13:52:02 raspberrypi systemd[1]: Started Mender OTA update service.
Mar 16 13:52:03 raspberrypi mender[629]: time="2023-03-16T13:52:03Z" level=info msg="Loaded configuration file: /etc/mender/mender.conf"
Mar 16 13:52:04 raspberrypi mender[629]: time="2023-03-16T13:52:04Z" level=info msg="No dual rootfs configuration present"
Mar 16 13:52:05 raspberrypi mender[629]: time="2023-03-16T13:52:05Z" level=info msg="State transition: init [none] -> init [none]"
Mar 16 13:52:05 raspberrypi mender[629]: time="2023-03-16T13:52:05Z" level=info msg="State transition: init [none] -> idle [Idle]"
Mar 16 13:52:05 raspberrypi mender[629]: time="2023-03-16T13:52:05Z" level=info msg="State transition: idle [Idle] -> check-wait [Idle]"
Mar 16 13:52:05 raspberrypi mender[629]: time="2023-03-16T13:52:05Z" level=info msg="State transition: check-wait [Idle] -> inventory-update [Sync]"
Mar 16 13:52:06 raspberrypi mender[629]: time="2023-03-16T13:52:06Z" level=info msg="Output (stderr) from command \"/usr/share/mender/inventory/mender-inventory-mender-configure\": An authentication token could not be obtained over DBus."
Mar 16 13:52:06 raspberrypi mender[629]: time="2023-03-16T13:52:06Z" level=warning msg="Inventory tool /usr/share/mender/inventory/mender-inventory-mender-configure wait failed: exit status 1"
Mar 16 13:52:08 raspberrypi mender[629]: time="2023-03-16T13:52:08Z" level=info msg="Device unauthorized; attempting reauthorization"
Mar 16 13:52:08 raspberrypi mender[629]: time="2023-03-16T13:52:08Z" level=info msg="Output (stderr) from command \"/usr/share/mender/identity/mender-device-identity\": using interface /sys/class/net/eth0"
Mar 16 13:52:08 raspberrypi mender[629]: time="2023-03-16T13:52:08Z" level=error msg="Failure occurred while executing authorization request: Method: Post, URL: https://192.168.1.102/api/devices/v1/authentication/auth_requests"
Mar 16 13:52:08 raspberrypi mender[629]: time="2023-03-16T13:52:08Z" level=error msg="Failed to authorize with \"https://192.168.1.102\": Unknown url.Error type: Host validation error"
Mar 16 13:52:08 raspberrypi mender[629]: time="2023-03-16T13:52:08Z" level=warning msg="Reauthorization failed with error: transient error: authorization request failed"
Mar 16 13:52:08 raspberrypi mender[629]: time="2023-03-16T13:52:08Z" level=error msg="Failed to submit inventory data: transient error: authorization request failed"
Mar 16 13:52:08 raspberrypi mender[629]: time="2023-03-16T13:52:08Z" level=error msg="inventory submit failed: transient error: authorization request failed"
Mar 16 13:52:08 raspberrypi mender[629]: time="2023-03-16T13:52:08Z" level=warning msg="Failed to refresh inventory: failed to submit inventory data: inventory submit failed: transient error: authorization request failed"
Mar 16 13:52:08 raspberrypi mender[629]: time="2023-03-16T13:52:08Z" level=info msg="State transition: inventory-update [Sync] -> inventory-update-retry-wait [Sync]"
Mar 16 13:52:08 raspberrypi mender[629]: time="2023-03-16T13:52:08Z" level=info msg="Handle update inventory retry state try: 0"
Mar 16 13:52:08 raspberrypi mender[629]: time="2023-03-16T13:52:08Z" level=info msg="Output (stderr) from command \"/usr/share/mender/inventory/mender-inventory-mender-configure\": An authentication token could not be obtained over DBus."
Mar 16 13:52:08 raspberrypi mender[629]: time="2023-03-16T13:52:08Z" level=warning msg="Inventory tool /usr/share/mender/inventory/mender-inventory-mender-configure wait failed: exit status 1"
Mar 16 13:52:10 raspberrypi mender[629]: time="2023-03-16T13:52:10Z" level=info msg="Device unauthorized; attempting reauthorization"
Mar 16 13:52:10 raspberrypi mender[629]: time="2023-03-16T13:52:10Z" level=info msg="Output (stderr) from command \"/usr/share/mender/identity/mender-device-identity\": using interface /sys/class/net/eth0"
Mar 16 13:52:10 raspberrypi mender[629]: time="2023-03-16T13:52:10Z" level=error msg="Failure occurred while executing authorization request: Method: Post, URL: https://192.168.1.102/api/devices/v1/authentication/auth_requests"
Mar 16 13:52:10 raspberrypi mender[629]: time="2023-03-16T13:52:10Z" level=error msg="Failed to authorize with \"https://192.168.1.102\": Unknown url.Error type: Host validation error"
Here’s my configuration as well:
/etc/mender/mender.conf
{
"HttpsClient": {},
"Security": {},
"Connectivity": {},
"DeviceTypeFile": "/var/lib/mender/device_type",
"DBus": {
"Enabled": true
},
"UpdateControlMapExpirationTimeSeconds": 90,
"UpdateControlMapBootExpirationTimeSeconds": 45,
"UpdatePollIntervalSeconds": 5,
"InventoryPollIntervalSeconds": 5,
"RetryPollIntervalSeconds": 30,
"ServerCertificate": "/etc/mender/server-ca-chain.pem",
"Servers": [
{
"ServerURL": "https://192.168.1.102"
}
]
}
Mender’s config folder looks lie this:
pi@raspberrypi:~ $ ls -l /etc/mender/
total 24
drwxr-xr-x 2 root root 4096 Mar 16 13:40 identity
drwxr-xr-x 2 root root 4096 Mar 16 13:40 inventory
-rw-r--r-- 1 root root 52 Mar 16 13:40 mender-connect.conf
-rw------- 1 root root 533 Mar 16 13:40 mender.conf
drwxr-xr-x 2 root root 4096 Mar 16 13:40 scripts
-rw-r--r-- 1 root root 2636 Mar 16 13:49 server-ca-chain.pem
pi@raspberrypi:~ $
Any help would be much appreciated.
For me the solution was to bring up lo
interface. Since I have custom S40network
script in etc/init.d/
, that is something I missed out.
ifup lo
before starting mender.
1 Like
Kudos for @mister_kanister for pointing the solution. Regarding your PS, the possible --log-level
values, they can be debug
, info
, warning
, error
, fatal
or panic
. Earlier log levels will also log the subsequent levels (so debug
will log everything). The default log level is info
.
Kind regards,
Estape
1 Like