RidgeOS: SM8250 + X55 Modem

The modem in the OnePlus 8T is a Qualcomm SDX55M. Unlike other Qualcomm SoCs with an integrated modem, it is a separate chip connected over PCIe and controlled through MHI. Even worse, it is flashless and not the same X55 that the kernel already supports on those PCIe cards in laptops, which means it wakes up on a cold boot with no firmware and no memory of who it is.

So before it can do anything useful, the host has to perform a lot of rituals: Sahara, EFS, tqftpserv, and so on.

That meant loading firmware, giving it EFS storage for calibration data, serving a few runtime files, waiting for it to expose QMI services, asking it to go online, doing an additional dance with the data path, and finally starting a data call.

In short: quite a lot of ceremony just to make a data connection.

After enough kernel patches, userspace glue, and cold reboots, it finally happened. The modem came up. It registered. rmnet0 existed. I could ping through the cellular network.

That was the good part.

Then I ran a speed test.

Uploads were slow, but believable for a half-working bring-up. Downloads were the real joke: around 64 kbit/s on a 5G connection.

At that point I expected some deep modem problem. Maybe QMAP was wrong. Or maybe I needed IPA. By the way, you do not need IPA unless you need 5G <-> Wi-Fi <-> USB acceleration. Maybe the data format was wrong. Maybe the carrier was unhappy. Maybe I had offended some Qualcomm subsystem by doing something wrong.

Nope.

It was a debug line I had left in the kernel.

During bring-up I had left debug prints inside the MHI network driver. Not harmless occasional logs, either. I had left a log line in the kernel, and the console was running at 115200 baud.

After removing the per-packet and per-interrupt logs, download speed jumped from about 64 kbit/s to roughly 40-80 Mbit/s.

So now the discontinued OnePlus 8T can talk to the mobile network again.

It just needed firmware, EFS, QRTR, QMI, rmnet, a small data-call tool, and one deleted log line :)

Stay tuned for more. I hope to release sources soon.