[Android Q&A, Help & Troubleshooting] fwiep:
Good news and request

Hello all,

TL;DR: 1) my Y550-L01's wifi is working again

TL;DR: 2) I'd like your help in testing the WireGuard functionality in this ROM

Today, my personal Y550-L01 was given a new life. I decided to retry flashing the stock firmware to possibly fix the dead wifi (MAC == 02:00:00:00:00:00).

Instead of only flashing BOOT, RECOVERY and SYSTEM from fastboot, I downloaded the complete stock firmware from this thread's post #2.

After putting it on a SD-card and restoring with vol-up + vol-down + power, the wifi worked again!

Now I'm back on my own most recent LineageOS 14.1 and all is working well. :)

While building this ROM on a new build-PC, I had to rebuild the kernel, too. At first I got an error about WireGuard which couldn't be found. WireGuard, in this kernel? Apparently so. I looked into the script that was supposed to fetch the most recent wg-kernel source code and place it into the kernel directory structure. It seems that the site providing the snapshots has restructured their repositories. So, I edited the script accordingly. Now, I don't get errors during the build, and the most recent snapshot is included.

After flashing the ROM, installing F-droid, then the WireGuard-app via F-droid and importing my tunnel-config, I only get:

Sending handshake initiation
Handshake did not complete after 5 seconds, retrying (try ...)

when enabling the VPN.

Can you help me test the WireGuard-functionality of this new ROM? It has October-2020 patches.

ZIP: lineage-14.1-20201112-UNOFFICIAL-y550.zip

MD5: lineage-14.1-20201112-UNOFFICIAL-y550.zip.md5

ASC: lineage-14.1-20201112-UNOFFICIAL-y550.zip.md5.asc

Update

It appears that WireGuard wasn't actually included in the kernel. Only the source code was downloaded and put into place. But in the kernel config, it was not enabled.

As soon as I did enable it and try to build, I got the following errors:

In file included from ../../../../../../kernel/huawei/y550-vid/net/wireguard/crypto/zinc/curve25519/curve25519.c:26:0:
../../../../../../kernel/huawei/y550-vid/net/wireguard/crypto/zinc/curve25519/curve25519-arm-glue.c:15:20: error: curve25519_nobs causes a section type conflict with curve25519_test_vectors
static bool *const curve25519_nobs[] __initconst = { &curve25519_use_neon };
^
In file included from ../../../../../../kernel/huawei/y550-vid/net/wireguard/crypto/zinc/curve25519/curve25519.c:81:0:
../../../../../../kernel/huawei/y550-vid/net/wireguard/crypto/zinc/curve25519/../selftest/curve25519.c:12:44: note: 'curve25519_test_vectors' was declared here
static const struct curve25519_test_vector curve25519_test_vectors[] __initconst = {
^
/home/fwiep/android/lineage14/kernel/huawei/y550-vid/scripts/Makefile.build:308: recipe for target 'net/wireguard/crypto/zinc/curve25519/curve25519.o' failed
make[3]: *** [net/wireguard/crypto/zinc/curve25519/curve25519.o] Error 1

This is way beyond me - I have no experience in C or building kernels.

I suppose, this is why the original Y550-kernel-builders left WG disabled and abandoned the effort?

If anyone can help - please do. I'd like to see this work :)

Kind regards and thanks,

FWieP