The problem seems to occur most for me when leaving a Wi-Fi signal area after being on Wi-Fi for a long while. Immediately afterwards, the 3g/data signal goes haywire, disconnecting and reconnecting several times over a few minutes of use. Things seem to work better if I manually disable Wi-Fi before leaving the house; I still get occasional drops, but only once every few hours, which really isn't too bad. (EDIT: Never mind, the problem came back.) This leads me to suspect that it has something to do with transitioning between Wi-Fi and 3G, but of course that's just a guess.
Undercover, how's that new setting (LTE/GSM/CDMA AUTO (PRL)) working out so far? Also, I don't think you mentioned whether your data drops were "permanent" (i.e., requiring something like toggling airplane mode or rebooting to fix) or temporary (data drops, then reconnects itself after a little while).
EDIT: I was able to grab this from logcat around the time a data drop happened:
Code:
W/Smack/Packet( 1065): notify conn break (IOEx), close connection
D/ConnectivityService( 541): handleConnectivityChange: addresses changed linkProperty[0]: resetMask=1
D/ConnectivityService( 541): car=removed=[100.241.121.139/29,] added=[]
D/NetUtils( 541): android_net_utils_resetConnections in env=0x40e733e8 clazz=0x75d00001 iface=rmnet_usb0 mask=0x1
D/ConnectivityService( 541): resetConnections(rmnet_usb0, 1)
<...>
D/Tethering( 541): MasterInitialState.processMessage what=3
I/qtaguid ( 1065): Failed write_ctrl(u 56) res=-1 errno=22
I/qtaguid ( 1065): Untagging socket 56 failed errno=-22
W/NetworkManagementSocketTagger( 1065): untagSocket(56) failed with errno -22
D/ConnectivityService( 541): ConnectivityChange for mobile: DISCONNECTED/DISCONNECTED
D/ConnectivityService( 541): Attempting to switch to wifi
D/ConnectivityService( 541): Attempting to switch to BLUETOOTH_TETHER
D/NetUtils( 541): android_net_utils_resetConnections in env=0x40e733e8 clazz=0x7ad00001 iface=rmnet_usb0 mask=0x3
D/ConnectivityService( 541): resetConnections(rmnet_usb0, 3)
D/overlay ( 163): FROM_STATE = OV_BYPASS_3_LAYER TO_STATE = OV_CLOSED
D/ConnectivityService( 541): handleInetConditionHoldEnd: net=0, condition=0, published condition=0
D/ConnectivityService( 541): handleInetConditionHoldEnd: no active default network - ignoring
D/Tethering( 541): MasterInitialState.processMessage what=3
I have no idea if this is helpful or informative at all ... perhaps someone more knowledgeable than me would be able to make some sense of this , or tell me what information might be more useful.