I’ve put this together a while back and just wanted to share it; it’s an interesting (I think) example of how things sometimes work in a way they were not intended to…
First, the starting point: Lenovo Chromebox Type 10H5 (with an aftermarket rear antenna):
Mine was the rock bottom of the line: Celeron 3205U (dual-core, 1.50 GHz), 4 GB RAM, 16 GB SSD (m.2 SATA). There are fancier models that go up to i3-5005U (dual-core, quad-thread, 2.00 GHz) and 8 GB RAM.
Obviously, the project had to start with extricating the device from the claws of ChromeOS (Mr. Chromebox to the rescue). Once Mr. Chromebox’s magic was applied to the device, I had my hands on something that had CoreBoot and could run any reasonable OS, as long as the OS could boot in a UEFI environment.
When I looked inside, I found a couple of interesting things. First, as expected, the device didn’t have a SATA drive. But the tray for one (clearly borrowed from a sister model running Windows) was present, because it served as a base for the internal (front) Wi-Fi antenna. Second, and that one was unexpected, the device actually had two m.2 slots for networking devices, so I was able to add a second wired NIC and retain the Wi-Fi card. Or, rather, replace it; the stock card was an Intel 7260 device (no AP mode), so I had to find something else. That something else was an engagingly named Lenovo Part Number 01AX709. It’s a Qualcomm Atheros QCNFA435 card, but the nice thing about it is, it is narrower than standard, so I was able to fit it in so that it avoided collision with a nearby capacitor:
Going back to the second wired NIC, I decided to keep things simple and cheap. The onboard NIC was Realtek RTL8111G, so I got another Realtek card for an add-on. Remembering the Realtek cards’ reputation for locking up under stress, I ran several overnight iperf3 tests, but have not observed a lock-up. The onboard NIC is configured as LAN, the add-on is WAN.
Once all parts were in place, all I had to do was to write an EFI firmware (I’ve tried both ext4 and squashfs) onto the m.2 drive, and the device fired right up. Obviously, I had to add drivers and firmware for the wireless card once core OpenWrt was up and running.
In the end, I had a competent networking device, hardly a world cup winner in any specific discipline, but a working specimen nonetheless.

