Hi Keith,
On 6/19/20 12:45 AM, KeithG wrote:
I have been running iwd on armv6 and v7 for a while without issue. I
finally got
an image or Arch aarch64 on my RPI running (kernel 5.4.44) and cannot start the
already compiled for aarch64 version of iwd on this kernel. The journal shows this:
Jun 18 23:34:02 rune64 systemd[1]: Starting Wireless service...
Jun 18 23:34:03 rune64 iwd[4088]: No HMAC(SHA1) support found
Jun 18 23:34:03 rune64 iwd[4088]: No HMAC(MD5) support found
Jun 18 23:34:03 rune64 iwd[4088]: No CMAC(AES) support found
Jun 18 23:34:03 rune64 iwd[4088]: No HMAC(SHA256) support not found
Jun 18 23:34:03 rune64 iwd[4088]: No HMAC(SHA512) support found, certain TLS
connections might fail
Jun 18 23:34:03 rune64 iwd[4088]: No Diffie-Hellman support found, WPS will not
be available
Jun 18 23:34:03 rune64 iwd[4088]: The following options are missing in the kernel:
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_USER_API_HASH
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_KEY_DH_OPERATIONS
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_MD5
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_SHA256
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_AES
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_CMAC
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_USER_API_HASH
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_USER_API_HASH
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_USER_API_HASH
Hmm, what's going on here, sounds like a small bug in the option print code.
I'll fix that.
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_HMAC
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_HMAC
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_HMAC
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_SHA512
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_SHA1
Jun 18 23:34:03 rune64 iwd[4088]: The following optimized implementations might
be available:
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_SHA1_SSSE3
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_AES_NI_INTEL
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_SHA512_SSSE3
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_AES_X86_64
Jun 18 23:34:03 rune64 iwd[4088]: CONFIG_CRYPTO_SHA256_SSSE3
Jun 18 23:34:03 rune64 systemd[1]: iwd.service: Main process exited,
code=exited, status=1/FAILURE
Jun 18 23:34:03 rune64 systemd[1]: iwd.service: Failed with result 'exit-code'.
Jun 18 23:34:03 rune64 systemd[1]: Failed to start Wireless service.
I recently built this kernel on a system that was running 5.7.x and iwd 1.7.1
was also built on this kernel. When I run iwd on 5.7.x, it runs and functions. I
checked the config and most of these appear as modules but are not built in.
Must they be built in?
So this is not really an iwd question but a kernel question. But, the answer is
no, they do not need to be built-in.
Some subsystems, like the keys subsystem, do not support module autoloading. So
if you build pkcs8 or pkcs7 parsers as modules, then you'd need to have them
loaded manually. iwd does ship a pkcs8.conf file to handle this for example.
However, I believe all of the options checked at startup can be compiled as
builtin or modules (or a mix) and they're properly handled by the autoloader.
Here's how my kernel is built (not really exhaustive list of options, but you
get the idea):
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA1_SSSE3=y
CONFIG_CRYPTO_SHA256_SSSE3=m
CONFIG_CRYPTO_SHA512_SSSE3=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_DES3_EDE_X86_64=m
Regards,
-Denis