I have recently been reading about SDRs and based on what I have understood so far SDR consists of a radio hardware capable of transmitting and/or receiving radio signals within a given radio spectrum range and a software backbone to control its radio operations, so I thought it should be possible to achieve similar operations using an android smartphone therefore I tried to search for projects in the internet and the closest I have found is SDR Touch which requires an external dedicated hardware. Now since a smartphone has so many radio interfaces (Cellular, Wi-Fi, Bluetooth, GPS etc.) is it somehow possible that I can make a project (using root or whatever) that utilizes smartphone's radio components and why isn't there any project that exists performing such functionalities?.

  • 1
    Probably not... the OS doesn't really talk to or have any control over the radio hardware on any device. Android devices use a RIL (Radio Interface Layer) to talk to the radio's firmware/hardware which are proprietary by the device OEM and limit what the device can actually do with the radio hardware.
    – acejavelin
    Jun 22 '17 at 13:13
  • So what stands between the normal android phone and fully functional SDR are the restriction imposed by the RIL implementation, if I were to somehow code my own RIL or reverse engineer an existing one would it then be possible to achieve this?
    – AguThadeus
    Jun 22 '17 at 17:36
  • 1
    Maybe... if you are better than 99% of the Android developers/hackers out there, the RIL is a tough nut to crack and in many devices it takes teams of dev's months to interface to it (to get VoLTE working in custom ROMs on the Moto G3 as an example). The issue is the radio firmware that the RIL talks to only has certain capabilities, meaning even if you make your own RIL to talk to the firmware, the OS still isn't able to talk to the radio hardware directly at all. That is how Android is designed.
    – acejavelin
    Jun 22 '17 at 18:03
  • 1
    The communication in Android to the mobile radios is a stack, at the top is the chipset/radio hardware, that is controlled by the firmware (the "radio" part of a factory image or OTA update), that communicated with the RIL of the OS, and the kernel talks to the RIL... Apps talk to and request all things through the kernel.
    – acejavelin
    Jun 22 '17 at 18:04
  • I guess it is not as easy as initially thought it would be...I will try to do more research into this, thanks for the input
    – AguThadeus
    Jun 22 '17 at 18:25

It is very hard because usually radio drivers are proprietary

But there is Nexmon project that turn nexus 5 into SDR

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.