[Droid Incredible Android Development] wdfowty:
Ok guys, here's where we're at. In talking with r2doesinc on IRC, he pointed us to what looks to be the cause of the data issue. Here's an excerpt from the logcat:

03-21 18:27:17.513: DEBUG/MobileDataStateTracker(132): phone_type=2
03-21 18:27:17.523: VERBOSE/SettingsMobileDataEnabler(760): Enter mMobileDataStateListener's onServiceStateChanged(): the serviceState is 1
03-21 18:27:17.523: VERBOSE/SettingsMobileDataEnabler(760): mSummary:Connect to the Internet
03-21 18:27:17.543: DEBUG/DATA(415): [DSST] pollstate() : reason = data network state changed
03-21 18:27:17.573: DEBUG/WorldPhoneModeSelection(415): ServiceState=1
03-21 18:27:17.573: ERROR/HtcCdmaSimCard(415): [IccCard] IccCardStatus is null
03-21 18:27:17.573: ERROR/HtcCdmaSimCard(415): [IccCard] IccCardStatus is null in CDMA, return unkonwn
03-21 18:27:17.573: DEBUG/WorldPhoneModeSelection(415): isSimActive, mIccState=UNKNOWN
03-21 18:27:17.573: DEBUG/WorldPhoneModeSelection(415): ServiceState=1
03-21 18:27:17.573: ERROR/HtcCdmaSimCard(415): [IccCard] IccCardStatus is null
03-21 18:27:17.573: ERROR/HtcCdmaSimCard(415): [IccCard] IccCardStatus is null in CDMA, return unkonwn
03-21 18:27:17.573: DEBUG/WorldPhoneModeSelection(415): isSimActive, mIccState=UNKNOWN
03-21 18:27:17.573: DEBUG/DATA(415): notify from network detached. removed.
03-21 18:27:17.573: DEBUG/DATA(415): [MMDCT] data profile switch done
03-21 18:27:17.583: DEBUG/HtcCdmaSimCard(415): [IccCard] Broadcasting intent ACTION_SIM_STATE_CHANGED IMSI reason null
03-21 18:27:17.603: DEBUG/HtcCdmaSIMRecords(415): Nothing notify
03-21 18:27:17.613: VERBOSE/HTCBrowserCustomizationChangeReceiver(817): Intent received: android.intent.action.SIM_STATE_CHANGED, Extra: IMSI
03-21 18:27:17.623: WARN/DATA(415): [QCTMM] SystemProperties DATA EVENT_POLL_STATE_REGISTRATION = 0
03-21 18:27:17.623: DEBUG/DATA(415): MMDCT getPhone
03-21 18:27:17.623: WARN/DATA(415): [QCTMM] iconIndex=1,iconMode=0
03-21 18:27:17.623: DEBUG/DATA(415): Broadcast ACTION_PS_ROAMING, enable= false

He says that it's IccCard, and it makes sense: the framework is trying to find hardware that doesn't currently exist on our device (a sim slot).

Here is the method in question (in com\android\internal\telephony\IccCard.smali)

.method public getIccCardState()Lcom/android/internal/telephony/IccCard$State;
.locals 6

.prologue
const/4 v5, 0x2

.line 946
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mIccCardStatus:Lcom/android/internal/telephony/IccCardStatus;

if-nez v3, :cond_1

.line 947
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mLogTag:Ljava/lang/String;

const-string v4, "[IccCard] IccCardStatus is null"

invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

.line 950
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mPhone:Lcom/android/internal/telephony/PhoneBase;

invoke-virtual {v3}, Lcom/android/internal/telephony/PhoneBase;->getPhoneType()I

move-result v3

if-ne v3, v5, :cond_0

.line 951
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mLogTag:Ljava/lang/String;

const-string v4, "[IccCard] IccCardStatus is null in CDMA, return unkonwn"

invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

.line 952
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->UNKNOWN:Lcom/android/internal/telephony/IccCard$State;

.line 1058
:goto_0
return-object v3

.line 955
:cond_0
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->ABSENT:Lcom/android/internal/telephony/IccCard$State;

goto :goto_0

.line 960
:cond_1
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mIccCardStatus:Lcom/android/internal/telephony/IccCardStatus;

invoke-virtual {v3}, Lcom/android/internal/telephony/IccCardStatus;->getCardState()Lcom/android/internal/telephony/IccCardStatus$CardState;

move-result-object v3

invoke-virtual {v3}, Lcom/android/internal/telephony/IccCardStatus$CardState;->isCardFail()Z

move-result v3

if-eqz v3, :cond_2

.line 961
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->ICC_FAIL:Lcom/android/internal/telephony/IccCard$State;

goto :goto_0

.line 966
:cond_2
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mIccCardStatus:Lcom/android/internal/telephony/IccCardStatus;

invoke-virtual {v3}, Lcom/android/internal/telephony/IccCardStatus;->getCardState()Lcom/android/internal/telephony/IccCardStatus$CardState;

move-result-object v3

invoke-virtual {v3}, Lcom/android/internal/telephony/IccCardStatus$CardState;->isCardPresent()Z

move-result v3

if-nez v3, :cond_4

.line 969
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mPhone:Lcom/android/internal/telephony/PhoneBase;

invoke-virtual {v3}, Lcom/android/internal/telephony/PhoneBase;->getPhoneType()I

move-result v3

if-ne v3, v5, :cond_3

.line 970
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mLogTag:Ljava/lang/String;

const-string v4, "[IccCard] !mIccCardStatus.getCardState().isCardPresent(), return unkonwn"

invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

.line 971
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->UNKNOWN:Lcom/android/internal/telephony/IccCard$State;

goto :goto_0

.line 974
:cond_3
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->ABSENT:Lcom/android/internal/telephony/IccCard$State;

goto :goto_0

.line 977
:cond_4
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mPhone:Lcom/android/internal/telephony/PhoneBase;

iget-object v3, v3, Lcom/android/internal/telephony/PhoneBase;->mCM:Lcom/android/internal/telephony/CommandsInterface;

invoke-interface {v3}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;

move-result-object v1

.line 979
.local v1, currentRadioState:Lcom/android/internal/telephony/CommandsInterface$RadioState;
sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_OFF:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-eq v1, v3, :cond_5

sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_UNAVAILABLE:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-eq v1, v3, :cond_5

sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->SIM_NOT_READY:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-eq v1, v3, :cond_5

sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RUIM_NOT_READY:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-eq v1, v3, :cond_5

sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->NV_NOT_READY:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-eq v1, v3, :cond_5

sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->NV_SIM_NOT_READY:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-eq v1, v3, :cond_5

sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->NV_READY:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-ne v1, v3, :cond_6

.line 986
:cond_5
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->NOT_READY:Lcom/android/internal/telephony/IccCard$State;

goto :goto_0

.line 989
:cond_6
sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->SIM_LOCKED_OR_ABSENT:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-eq v1, v3, :cond_7

sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->SIM_READY:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-eq v1, v3, :cond_7

sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RUIM_LOCKED_OR_ABSENT:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-eq v1, v3, :cond_7

sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RUIM_READY:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-eq v1, v3, :cond_7

sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->NV_SIM_LOCKED_OR_ABSENT:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-eq v1, v3, :cond_7

sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->NV_SIM_READY:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-ne v1, v3, :cond_13

.line 1000
:cond_7
sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RUIM_LOCKED_OR_ABSENT:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-eq v1, v3, :cond_8

sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RUIM_READY:Lcom/android/internal/telephony/CommandsInterface$RadioState;

if-ne v1, v3, :cond_9

.line 1002
:cond_8
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mIccCardStatus:Lcom/android/internal/telephony/IccCardStatus;

invoke-virtual {v3}, Lcom/android/internal/telephony/IccCardStatus;->getCdmaSubscriptionAppIndex()I

move-result v2

.line 1008
.local v2, index:I
:goto_1
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mIccCardStatus:Lcom/android/internal/telephony/IccCardStatus;

invoke-virtual {v3, v2}, Lcom/android/internal/telephony/IccCardStatus;->getApplication(I)Lcom/android/internal/telephony/IccCardApplication;

move-result-object v0

.line 1010
.local v0, app:Lcom/android/internal/telephony/IccCardApplication;
if-nez v0, :cond_b

.line 1011
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mLogTag:Ljava/lang/String;

const-string v4, "[IccCard] Subscription Application in not present"

invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

.line 1014
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mPhone:Lcom/android/internal/telephony/PhoneBase;

invoke-virtual {v3}, Lcom/android/internal/telephony/PhoneBase;->getPhoneType()I

move-result v3

if-ne v3, v5, :cond_a

.line 1015
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mLogTag:Ljava/lang/String;

const-string v4, "[IccCard] Subscription Application in not present, return unknown"

invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

.line 1016
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->UNKNOWN:Lcom/android/internal/telephony/IccCard$State;

goto/16 :goto_0

.line 1005
.end local v0 #app:Lcom/android/internal/telephony/IccCardApplication;
.end local v2 #index:I
:cond_9
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mIccCardStatus:Lcom/android/internal/telephony/IccCardStatus;

invoke-virtual {v3}, Lcom/android/internal/telephony/IccCardStatus;->getGsmUmtsSubscriptionAppIndex()I

move-result v2

.restart local v2 #index:I
goto :goto_1

.line 1019
.restart local v0 #app:Lcom/android/internal/telephony/IccCardApplication;
:cond_a
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->ABSENT:Lcom/android/internal/telephony/IccCard$State;

goto/16 :goto_0

.line 1023
:cond_b
iget-object v3, v0, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState;

invoke-virtual {v3}, Lcom/android/internal/telephony/IccCardApplication$AppState;->isPinRequired()Z

move-result v3

if-eqz v3, :cond_c

.line 1024
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->PIN_REQUIRED:Lcom/android/internal/telephony/IccCard$State;

goto/16 :goto_0

.line 1026
:cond_c
iget-object v3, v0, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState;

invoke-virtual {v3}, Lcom/android/internal/telephony/IccCardApplication$AppState;->isPukRequired()Z

move-result v3

if-eqz v3, :cond_d

.line 1027
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->PUK_REQUIRED:Lcom/android/internal/telephony/IccCard$State;

goto/16 :goto_0

.line 1029
:cond_d
iget-object v3, v0, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState;

invoke-virtual {v3}, Lcom/android/internal/telephony/IccCardApplication$AppState;->isSubscriptionPersoEnabled()Z

move-result v3

if-eqz v3, :cond_e

.line 1030
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->NETWORK_LOCKED:Lcom/android/internal/telephony/IccCard$State;

goto/16 :goto_0

.line 1033
:cond_e
iget-boolean v3, p0, Lcom/android/internal/telephony/IccCard;->mIccExpired:Z

if-eqz v3, :cond_f

.line 1034
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->ICC_EXPIRED:Lcom/android/internal/telephony/IccCard$State;

goto/16 :goto_0

.line 1037
:cond_f
iget-object v3, v0, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState;

invoke-virtual {v3}, Lcom/android/internal/telephony/IccCardApplication$AppState;->isAppReady()Z

move-result v3

if-eqz v3, :cond_10

.line 1038
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->READY:Lcom/android/internal/telephony/IccCard$State;

goto/16 :goto_0

.line 1040
:cond_10
iget-object v3, v0, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState;

invoke-virtual {v3}, Lcom/android/internal/telephony/IccCardApplication$AppState;->isAppNotReady()Z

move-result v3

if-eqz v3, :cond_11

.line 1041
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->NOT_READY:Lcom/android/internal/telephony/IccCard$State;

goto/16 :goto_0

.line 1044
:cond_11
iget-object v3, v0, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState;

invoke-virtual {v3}, Lcom/android/internal/telephony/IccCardApplication$AppState;->isIMEILocked()Z

move-result v3

if-eqz v3, :cond_12

.line 1045
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->IMEI_LOCKED:Lcom/android/internal/telephony/IccCard$State;

goto/16 :goto_0

.line 1048
:cond_12
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->NOT_READY:Lcom/android/internal/telephony/IccCard$State;

goto/16 :goto_0

.line 1053
.end local v0 #app:Lcom/android/internal/telephony/IccCardApplication;
.end local v2 #index:I
:cond_13
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mPhone:Lcom/android/internal/telephony/PhoneBase;

invoke-virtual {v3}, Lcom/android/internal/telephony/PhoneBase;->getPhoneType()I

move-result v3

if-ne v3, v5, :cond_14

.line 1054
iget-object v3, p0, Lcom/android/internal/telephony/IccCard;->mLogTag:Ljava/lang/String;

const-string v4, "[IccCard] return default state-> UNKNOWN"

invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

.line 1055
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->UNKNOWN:Lcom/android/internal/telephony/IccCard$State;

goto/16 :goto_0

.line 1058
:cond_14
sget-object v3, Lcom/android/internal/telephony/IccCard$State;->ABSENT:Lcom/android/internal/telephony/IccCard$State;

goto/16 :goto_0
.end method

My understanding of Java is brief, and I'm still learning. But this dalvik byte code is killing me. If anyone is familiar, or has an idea, please let me know. I'd really appreciate it :D

BTW, snq- and Curious have produced a cam fix for the incredible S/2 ports, so expect an update soon!