I was just attempting to install a Letsencrypt certificate using acme.sh which depends on 'curl'. However during the request process curl is producing 'Illegal Instruction' in the log, and the request script fails.
Mar 29 13:44:35 <3.6> 10.0.20.4 c-fw : 00[LIB] curl SSL backend 'mbedTLS/2.4.2' not supported, https:// disabled
so somethings not right there, and also:
Mar 29 17:11:33 <1.6> 10.0.20.4 c-fw kernel: [2073277.579797] curl[14801]: unhandled signal 4 at b7d2b408 nip b7d2b408 lr b7d19af8 code 30001
The packages on my firewall:
curl - 7.52.1-3
libmbedtls - 2.4.2-1
Troubleshooting this is a bit outside my comfort zone, so any advice would be very welcome. Would it be an option to install the 'snapshot' versions of these packages to see if that fixes it ?
If I suspect libembedtls is broken on mpc85xx, what could I do to test this further ? eg. determine what other packages use the same library, and run some tests to see if they also are failing ?
I want to use the device as a IKEv2 VPN server running Strongswan, so if this also will be broken the sooner I know the better..
I just re-flashed to OpenWRT 15.05.1, and the fault with curl is gone...
On OpenWRT they are still using PolarSSL library. So this sort of confirms my feeling libmbedtls is broken for MPC85xx on LEDE.
I would rather stay with LEDE, but I'm concerned other packages as well as curl may be depending on libmedtls, so I may have to bail out and go back to OpenWRT..
I would like to help try and fix libmbedtls for my platform, but I'm not a programmer..
Curl does not offer "variants" but the SSL selection is done with a config item, so you can't use the imagegenerator or other shortcuts. You need to compile the non-standard options by yourself.
Or could you use wget instead of curl?
wget happily uses whatever libustreamssl variant you have installed. Default is libustream-mbedtls but I have libustream-openssl in my build.
EDIT: sorry, acme has a dependency for curl, so wget does not solve your goals.
Not quite that relevant for you, as pure openssl build with luci-ssl-openssl will not remove the mbedtls dependency from acme. acme will still require curl. You still need to compile curl by yourself (with libcurl config parameter as openssl).