Samsung Android Modem Device Driver -mss Ver.3-
Analysis and Implementation of the Samsung MSS v3 Modem Device Driver for Android
Abstract—This paper presents a comprehensive analysis of the Samsung MSS (Modem SubSystem) version 3 device driver as implemented in Samsung Exynos-based Android devices. MSS v3 represents a significant evolution in mobile communication stack integration, managing 5G NR, LTE, and legacy network interfaces. We examine the driver’s architecture, memory management, power control, IPC mechanisms, and its role within the Android RIL (Radio Interface Layer). Performance benchmarks and security considerations are also discussed.
- RIL/RIL Daemon (legacy): interacts with modem via AT/QMI.
- QMI-based clients (libqmi, qmicli) or vendor QMI libraries for control.
- netd/connman/NetworkStack integration using network interfaces exposed by driver.
- Users who require advanced features, such as device management or customization options.
- Users who are using the latest operating systems or devices that may not be compatible with the driver.
4.1 Symptom: “Baseband Unknown” in Settings
Possible cause: MSS Ver.3 driver failed to load modem firmware. samsung android modem device driver -mss ver.3-
9. Security Considerations
- Firmware signature verification and secure rollback prevention.
- Access controls to device nodes; prevent unauthorized firmware flashes.
- Sanitization of modem crash dumps (PII removal) before user-land upload.
- Kernel hardening: minimize privileged code paths; validate all transport data lengths and indices.
- SELinux and capability-based access for control daemons.
5. Power Management
5.1 Dynamic Power Management (DPM)
MSS v3 supports automatic power collapse when the modem is idle: Analysis and Implementation of the Samsung MSS v3
void mss_read_response(char *buf, size_t len)
ssize_t n = read(mss_fd, buf, len - 1);
if (n > 0)
buf[n] = '\0';
printf("Modem MSS v3 reply: %s\n", buf);
RIL/RIL Daemon (legacy): interacts with modem via AT/QMI
- Modem firmware crash (check
dmesg for mss_wdog_reset)
- Corrupted EFS partition (IMEI/serial data)
- RIL-daemon mismatch after custom ROM installation