Skip to content

Releases: jla3378/MR1100-Kernel

v0.0.69: Initial WireGuard Modules

25 Jan 22:22
Compare
Choose a tag to compare
Pre-release

I've lost way too much sleep on this damn thing so tl'dr this is what I have:

  1. Functional WireGuard kernel module.
  2. Functional wg binary to control aforementioned tunnel interfaces.
  3. UDP tunnel kmods for IPv4 and IPv6 if you want to compile a module that has dependencies on kernel UDP tunneling (e.g. WireGuard)

Prerequisites

  • An MR1100. Can’t guarantee it’ll work on an MR2100 or an MR5000 if you’re so lucky to have one of those.
  • Telnet. Or SSH. But wait you might say, I can already “Telnet” via port 5510! Well, my dear child, I’m exhausted af and so I really don’t want to delve into detail but what you think is “Telnet” is really nothing more than an illusion made by this lil tidbit: nc -l 192.168.1.1:5510 >/dev/smd7 </dev/smd7. Try again.
  • A WireGuard “peer” to connect to. For practical purposes, this usually means a commercial VPN provider that supports WireGuard.

“Installation”

  1. Throw dem mods into /usr/lib/modules/3.18.31/kernel/net/* ipv4 ipv6 and wireguard folders. Or not. I’m not your dad. Chuck em into /tmp or /dev/null for all I care.
  2. depmod the UDP tunnel kernel mods.
  3. depmod the wireguard mod.
  4. Put wg wherever tf you want. If you don’t hate yourself, somewhere in your $PATH.

How to Use

  1. Click here. Read everything.
  2. depmod wireguard
  3. Remember step 1 of this section? Good. Use all that info in your noggin to set it up. Or write a script to do it.

Compilation Information

  1. Compiled with GCC 8.3 Linaro.
$CFLAGS= -pipe -O2 \

-mfloat-abi=softfp -march=armv7-a \

-mtune=cortex-a7 -mfpu=neon-vpfv4
  1. Kernel sourced from Netgear GPL release:
/ root@mdm9650
❯ uname -a
Linux mdm9650 3.18.31 #1 PREEMPT Tue Nov 26 17:24:37 PST 2019 armv7l GNU/Linux