ux500: iwd broken because of crypto driver bug
dmesg output:
[ 211.335296] hash1 a03c2000.hash: hash_hw_final: (ctx=0xc2ad7380)!
[ 211.335309] hash1 a03c2000.hash: hash_hw_final: Empty message with keylength > 0, NOT supported
[ 211.335317] hashX hashX: ahash_final: hash_hw/dma_final() failed
[ 211.335342] hash1 a03c2000.hash: hash_hw_update: indata length=12, bin=0
[ 211.335355] hashX hashX: ahash_final: data size: 0
[ 211.335362] hash1 a03c2000.hash: hash_hw_final: (ctx=0xc2ad7380)!
[ 211.335369] hash1 a03c2000.hash: hash_hw_final: Empty message with keylength > 0, NOT supported
[ 211.335375] hashX hashX: ahash_final: hash_hw/dma_final() failed
Original issue:
Describe your issue
What's the expected behaviour?
PostmarketOS mainline kernel compiled with DH-related flags necessary for iwd operation.
Console
environment installs bloated software NetworkManager, which depends on dbus.
Unfortunately, even if I select None
and install wpa_supplicant, it still depends on dbus.
I do not need dbus nor wish to use any software that interfaces with dbus. So, I opted for eiwd instead.
The primary difference between eiwd and iwd is the lack of dbus and iwctl.
I would like to use eiwd, but kernel recompilation is necessary. Why is this the case?
I'm using the mainline kernel already. (linux-postmarketos-stericsson
)
NOTE: samung-golden
kernel (vendor?) is too old (3.x) and does not have DH-related compile flags.
What's the current behaviour?
eiwd does not run due to missing kernel flags.
How to reproduce your issue?
install eiwd
attempt to start service
get no output anywhere (logread or dmesg)
run eiwd binary
get error
What device are you using?
samsung-golden
(linux-postmarketos-stericsson
)
On what postmarketOS version did you encounter the issue?
edge as of 2022-07-15
On what environment did you encounter the issue?
-
No environment ("none" in pmbootstrap)
How did you get postmarketOS image?
-
I built it using pmbootstrap
What's the build date of the image? (in yyyy-mm-dd format)
2022-07-15
Additional information
(demonstrating eiwd is not running)
s3mini:/var/lib/iwd# /etc/init.d/eiwd restart
* Stopping eiwd ...
* start-stop-daemon: no matching processes found [ ok ]
* Starting eiwd ... [ ok ]
s3mini:/var/lib/iwd# /etc/init.d/eiwd restart
* Stopping eiwd ...
* start-stop-daemon: no matching processes found [ ok ]
* Starting eiwd ... [ ok ]
s3mini:/var/lib/iwd# ps aux | grep -i iwd
1540 root 0:00 grep -i iwd
(running iwd binary directly, because no output was given in dmesg nor logread)
s3mini:/var/lib/iwd# /usr/libexec/iwd
No HMAC(SHA1) support found
No HMAC(MD5) support found
No CMAC(AES) support found
No HMAC(SHA256) support not found
No HMAC(SHA512) support found, certain TLS connections might fail
DES support not found
AES support not found
No CBC(DES3_EDE) support found, certain TLS connections might fail
No CBC(AES) support found, WPS will not be available
No Diffie-Hellman support found, WPS will not be available
The following options are missing in the kernel:
CONFIG_CRYPTO_USER_API_HASH
CONFIG_CRYPTO_USER_API_SKCIPHER
CONFIG_KEY_DH_OPERATIONS
CONFIG_CRYPTO_ECB
CONFIG_CRYPTO_MD5
CONFIG_CRYPTO_CBC
CONFIG_CRYPTO_SHA256
CONFIG_CRYPTO_AES
CONFIG_CRYPTO_DES
CONFIG_CRYPTO_CMAC
CONFIG_CRYPTO_HMAC
CONFIG_CRYPTO_SHA512
CONFIG_CRYPTO_SHA1
The following optimized implementations might be available:
CONFIG_CRYPTO_SHA1_SSSE3
CONFIG_CRYPTO_AES_NI_INTEL
CONFIG_CRYPTO_SHA512_SSSE3
CONFIG_CRYPTO_AES_X86_64
CONFIG_CRYPTO_DES3_EDE_X86_64
CONFIG_CRYPTO_SHA256_SSSE3