Edit: I have just re-tested the fix and it is still working. I did a slight modification to the steps below. If you have already tried the fix below and have been unsuccessful on having your phone working properly, please have a look at the updated instructions and try again.
Edit #2: Another slight modification to the steps below.
For those of you having problems making calls, receiving SMS or getting a Sprint 3G/1x service signal with your Nexus 5, I have found a temporary solution. After spending hours looking for a fix, I have found a fairly easy temporary fix. I activated my new Nexus 5 on Sprint today. After finding a store with a Sprint SIM card in stock, the device was only getting a LTE signal. I could not make calls since CDMA networks use the 3G/1x network to make calls and receive texts. The issue was getting that 3G/1x signal working. Follow the steps below carefully to MAYBE get your Nexus 5 to work properly on Sprint until a proper fix is issued.
Note: This was tested to work on a brand new Nexus 5 bought directly from Google on the Play Store. Model: LG - D820. Android version 4.4.4 (Built KTU84P). Baseband version M8974A-184.108.40.206.16. The process below isn't terribly complicated to perform and it doesn't really change any major components of the device. None the less, PERFORM AT YOUR OWN RISK. It might be a good idea to start fresh and reset the phone before attempting the fix.
After making sure your Sprint SIM Card is in your phone and your device is activated:
1.) Turn off the Nexus 5.
2.) After a couple of minutes, turn the phone back on.
3.) After the phone is back on, go to Settings in your app drawer or from the notifications/quick settings menu at the top of the screen.
4.) Go to More... under the "Wireless & Networks" category.
5.) Go to Mobile Networks
6.) Go to Preferred network type
7.) Select 1x
8.) Turn the phone off.
9.) After a couple of minutes, turn the phone back on.
10.) Check the notifications bar at the top of the screen. You should see "1x" next to your signal bars.
11.) Wait a minute or two for the phone to connect to the network.
12.) Make a test call. If the call is successful, proceed to step 13. If the call doesn't connect on the first attempt, wait at least five minutes so the phone can make a proper connection to the network, then try again. You should be able to make a call on the 1x network mode. If you still can't make a call, start over from step 1.
13.) Redo steps 3, 4, 5 and 6.
14.) Select LTE (recommended).
15.) Wait about a minute or two for the phone to reconnect to the network.
16.) You should now see "LTE" next to your signal bars at the top of the screen.
17.) Perform a test call and confirm your voice mail settings by calling your voice mail box by holding the number 1 on the dial pad. All calls will take a few seconds to connect while the phone switches between LTE mode and 1x/voice mode. After you hang up, the phone should switch back to LTE mode.
This is only a temporary fix!!! If the device is restarted/rebooted or if the battery dies, the steps above will have to be performed again to get the phone working properly again. If the device's profile is updated, this will cause the phone's setting to change to Global mode and undo the temporary fix. Do not switch the preferred network type to anything other than 1x and LTE.
The problem might lie in the baseband/modem drivers that come with Android version 4.4.4 for the Nexus 5 . CDMA mode might be flawed. This problem might be fixed in the upcoming version of Android. So if the steps above do not work, hold tight until Google releases the new version. If you are not patient enough to wait, you can also perform a version downgrade to 4.4.2. by flashing a new image of the OS. I have only tested the method described above. Perform image flashing at your own risk!
This is pretty impressive that you put this all together. I'm able to reproduce the behavior and the steps work just as you describe. Is this not a widespread problem? You would think it would be getting more attention. Hopefully Android L will fix it as you suggest. Have you tried flashing just a different version of the radio?
There are some Google Groups that are reporting a problem similar to this. The main issue there was many people weren't getting their phones to work properly after switching from a GSM SIM back to CDMA. There are also a number of other message boards reporting this problem. The only fix seems to be to either downgrade to 4.4.2, which changes the baseband back to locking the Spark LTE bands. Another fix is to flash to Android L developer preview. Flashing the preview also flashes a new baseband version that seems to work without problems.
I'm not willing to flash my phone or change the baseband version. I've looked into it but its way too intimidating for me. Plus, the choices of ROMs and unlockers is incredible and overwhelming. I am good with stock Android. :-) I'm sure others aren't willing to do that either so, I found the fix on another site. I cleaned up the steps and made them easier to follow. Then, posted them on here since a lot of people are having trouble getting the device to work properly on Sprint.
I just really hope someone at Google sees this thread and makes sure this is fixed once and for all.
Thanks for the additional info. I brought mine from ATT, so that makes sense. Have you also seen poor reception with this issue? I'm scarcely able to get more than 1-2 bars even right next to the tower. The nexus 6 is rumored to be announced tomorrow, and android L should follow soon after. With this workaround, I think I'll wait for now.
Thanks for letting us know about this issue. We'll try to work closely with Google to see about getting this matter resolved. Your patience is greatly appreciated.
Sprint Social Care
The latest developer preview of android L has been released and it has baseband version M8974A-220.127.116.11.21. I'm going to update to this version and I will let you know the result. The final version might not be released for another couple of weeks, so I can't wait that long.