Cyanogenmod is the most popular aftermarket firmware for Android phones. Stock ROMs are the default firmware on devices, which usually have a skin and lots of modifications to the AOSP Android by manufacturers. Cyanogenmod removes all that manufacturer bloat and brings pure Android (which is on Nexus devices only by default) to many devices.
The speed and stability of Cyanogenmod, as compared to stock ROMs, has propelled it to popularity, with its user base growing even when it requires rooting and unlocking the bootloader, which is not easy for the average mobile user. Of course, being based on AOSP Android rather than the stock ROMs mean that CM does not have many device specific drivers and code made by its manufacturers. They usually substite some open-source, generic or hacked versions to make the device work.
The downside to this approach is that some things may not work as well as it does on stock ROMs. Common issues include multimedia (audio, video and camera), lower battery life or signal issues.
Signal issues, in particular, seems to be an issue on many Cyanogenmod versions. I have had this problem since CM9 on my old Nexus S, and the issue seems to occur sometimes on the Galaxy Nexus on CM10/CM10.1 too. Often, the device would not pick up cellular network signal after waking from deep sleep, or a restart. This issue is outright frustrating because the calling function failed me during some crucial moments. Ironic that a ‘smart’phone ends up failing in the one thing that any and all dumb phones are perfectly capable of performing.
Here are some known fixes to the radio signal issues on Cyanogenmod. Note that many of these might seem weird, but it fixes the quirky Android, so you might as well give it a try!
Toggle Airplane mode
Turning the airplane mode on, waiting for a few seconds and turning it off sometimes fixes the cell reception issues for me.
Change mobile network settings and APN
Changing various options on the network settings page is another fix. I found that the signal issue disappeared after enabling cell data, and changing the access point name (APN) and changing it back worked. Later, you can switch off mobile data. Very weird fix, I know, but custom ROMs are known to be highly quirky.
Some ROMs are buggy, and instead of trying to find workarounds, you can simply flash a newer version of the same ROM (an update), or try a different ROM altogether. In general, signal issues are found on AOSP based ROMs like CM, AOKP, Paranoid Android etc, so if no other solution works, try flashing a stock or stock-based ROM for your phone.
Change radio firmware
Radio firmware, also called modem firmware/baseband, is the software that powers the radio chip in the device. This is the part that performs all sorts of cellular transmissions, so changing this radio firmware to one that is used in your region can help.
For example, if you bought a Nexus 4 or Galaxy Nexus from the Play Store, it ships with the USA/UK specific radio baseband. If you want to use it in another region, flashing the radio firmware for that specific country/region might fix your issues. Device manufacturers typically optimize the modem firmware for each region, so it can also help with cell reception, voice quality and battery life.
There are two ways to change the firmware – by using fastboot (Nexus devices) or similar flashing utility (Odin or Hemdall for Samsung, etc) or by flashing it through the recovery.
Be extremely careful when you change the firmware, as incorrect or corrupt files can brick your phone. Ensure that the MD5 hash is correct, and also check that the radio is compatible with your device model.