Our archive contains no Microsoft, Marvell or NVIDIA files. They belong to their owners, so you obtain them yourself from official sources, on devices and images you are entitled to use. We do not host or link to copies.
Wi-Fi and Bluetooth firmware
Required for both radios to work together.
| File | mwls97w8arm.sys from the Surface RT driver |
| Version | w8797-B0, RF878X, FP62_WIN7, 14.62.17.p215, BT_UART |
| Firmware size | 434,264 bytes |
| SHA256 | 97cc4df3d978db1485c3531c13749cc91d12eae7570c38edeabfd2dd9e6d8b74 |
Official source: the recovery image for the first-generation Surface RT from the Microsoft page. Microsoft asks you to sign in and enter a Surface RT serial number.
The Surface 2 image will not do: it has different firmware, FP62_WIN 14.62.28.p58, whose Wi-Fi does not work with mwifiex. Without a Surface RT serial number the official route will not work. A Windows RT installation on a Surface RT also has the driver, here:
Windows/System32/DriverStore/FileRepository/mwls97w8arm.inf_arm_*/mwls97w8arm.sysExtract the firmware from the image or the driver file. The script is in the archive:
sudo apt install wimtools
sh tools/get-firmware.sh path/to/sources/install.wim out/
# or, if you already have the driver file:
sh tools/get-firmware.sh path/to/mwls97w8arm.sys out/The script downloads nothing and does not alter the firmware. It stops with an error if the SHA256 does not match.
H.264 decoder firmware
Optional. The decoder runs NVIDIA code on the AVP processor and needs nvavp_vid_ucode_alt.bin and related files.
Official source: NVIDIA Linux for Tegra (L4T) R17 for Tegra 114 (Dalmore), under NVIDIA's license terms.
EMC memory table
Optional, needed for 792 MHz. The table is unique to the board and lives in your tablet's ACPI, at \_SB.PEPD.DVF6. Dump it from your device and generate the header with tools/gen_emc_table.py. The script's first lines describe the input files.
surface-emc does not build without this header. A table from another board can corrupt memory.
Regular Linux firmware
Everything else comes from your distribution's linux-firmware package.
Legal note
Interoperability research and using firmware on your own hardware are treated differently across countries. Check what applies to you. This text is not legal advice.