What's Next: Available for New Opportunities

At the end of March 2026 I was laid off from Linaro as part of a round of cuts. After 3.5 years working on upstream kernel enablement, embedded security, and CI/CD infrastructure for ARM-based platforms, it came as a surprise - but I am using the time well. What I have been doing since The upstream work did not stop. I currently have three active patch series under review: An 18-patch WiFi 7 series on linux-wireless@ adding full support for the MediaTek MT7927 (Filogic 380) to the mt76/mt7925 driver. The series is at v4, community-tested across 10+ hardware platforms with 9 Tested-by tags from ASUS, Lenovo, Foxconn, and AMD. Phoronix covered it: MediaTek MT7927 WiFi 7 Linux Support Coming Together. ...

April 1, 2026 · 2 min · 357 words · Javier Tia

MT7927 WiFi on Linux: Making It Work

In my previous post, I ended with a wall: mt7925e 0000:0b:00.0: ASIC revision: 0000 mt7925e 0000:0b:00.0: Message 00000010 (seq 2) timeout mt7925e 0000:0b:00.0: Failed to get patch semaphore mt7925e 0000:0b:00.0: hardware init failed The mt7925e driver bound to the MT7927’s WiFi hardware, but registers returned zeros. The chip sat behind PCIe doing nothing. The ehausig/mt7927 project had gotten firmware into kernel memory but stalled at DMA state 0xffff10f1 - “waiting for firmware transfer.” Nobody had gotten past it. ...

March 6, 2026 · 21 min · 4464 words · Javier Tia

MT7927 Bluetooth: From DKMS to Upstream

In Part 1, I documented getting MT7927 Bluetooth working through a DKMS package - patching three missing layers (USB device ID, hardware variant support, and firmware) into an out-of-tree build. That post ended with: As of February 2026, none of the three layers have reached mainline Linux. This post covers what happened next: submitting all three layers upstream and getting the BT driver patches merged after five revision cycles. Update (2026-03-31): The BT driver patches have been merged into bluetooth-next by Luiz Augusto von Dentz. They will ship in mainline Linux 7.1 or 7.2. ...

March 5, 2026 · 6 min · 1083 words · Javier Tia

Intel IPU6 Webcam on Linux: From Proprietary Stack to Mainline

The Intel IPU6 (Imaging Processing Unit, generation 6) is the camera subsystem in Tiger Lake, Alder Lake, Raptor Lake, and Meteor Lake laptops. If you have a recent ThinkPad, XPS, or Surface, your webcam likely runs through it. For years, getting it to work on Linux meant an out-of-tree driver stack from Intel’s GitHub - four separate repositories, a DKMS module, proprietary firmware blobs, and a GStreamer-based relay daemon. It was fragile, broke on kernel updates, and couldn’t survive suspend/resume on recent kernels. ...

February 25, 2026 · 11 min · 2311 words · Javier Tia

MT7927 WiFi on Linux: Wrong Driver, Wrong Chip, No Driver

Update — March 5, 2026 MT7927 WiFi now fully works on Linux - 2.4/5/6 GHz, WiFi 7 320MHz EHT (~1 Gbps), MLO, AP mode, suspend/resume, and mac_reset recovery. 20 patches, community-tested on 10+ hardware platforms. See the follow-up: MT7927 WiFi on Linux: Making It Work. In my previous post, I documented the 15-month journey to get Bluetooth working on the MediaTek MT7927. The btusb-mt7927-dkms AUR package patched three missing layers - USB device ID, hardware variant support, and firmware extraction - to bring up a fully functional Bluetooth 5.4 adapter. ...

February 20, 2026 · 8 min · 1511 words · Javier Tia

Enabling MediaTek MT7927 Bluetooth on Linux: A 15-Month Journey

In November 2024, I installed an ASUS ROG Crosshair X870E Hero motherboard - AMD’s flagship X870E platform with a MediaTek MT7927 (Filogic 380) WiFi 7 chip. Running CachyOS, WiFi worked out of the box through the mt7925e driver. Bluetooth did not. What followed was a 15-month journey through kernel source, mailing lists, and community reverse-engineering that ended with a working Bluetooth 5.4 adapter and a published AUR package. This is the story of how it got there. ...

February 16, 2026 · 7 min · 1457 words · Javier Tia