Could you send me a copy of your current framework-res.apk, I'd like to check something.
Thanks!
Thanks!
My money is that something like this is going to be what cracks it. This passes the smell test as being on the right track. I don't have any experience working with Android phones, I have always worked on tablets. So the data is a new function to me. But this tends to be how we unlock features on tablets that are usually only available on phones...get rid of the phone dependency or expand the tablet definition to include it.One more thing to try, change the PRODUCT_CHARACTERISTICS in build.prop to not indicate tablet. It seems that Phone.apk and TelephonyProvider.apk depend on this, at least for labeling.
Code:PRODUCT_CHARACTERISTICS := tablet, nosdcardThis is from packages/providers/TelephonyProvider/res/values/strings.xmlCode:PRODUCT_CHARACTERISTICS := nosdcard
So I think it builds differently based on the product characteristics. Can someone confirm this? Either way, I'm going to try a clean build with this in a bit.Code:<!-- Official label of the TelephonyProvider, as seen in the "Manage Applications" UI. This is the version of the label for tablet devices, where the TelephonyProvider stores configuration info about the mobile data network. [CHAR LIMIT=40] --> <string name="app_label" product="tablet">Mobile Network Configuration</string> <!-- Official label of the TelephonyProvider, as seen in the "Manage Applications" UI. The TelephonyProvider stores configuration info about the carrier and cell network, and also provides storage for SMS and MMS messages. [CHAR LIMIT=25] --> <string name="app_label" product="default">Phone/Messaging Storage</string>
D/GSM ( 946): isTwoDigitShortCode
D/GSM ( 946): dialing w/ mmi 'null'...
D/GSM ( 946): [GSMConn] acquireWakeLock
D/RILJ ( 946): [0263]> SET_MUTE false
D/RIL ( 3054): onRequest: SET_MUTE
D/AT ( 3054): AT> AT+CMUT=0
D/RILJ ( 946): [0264]> DIAL
D/AT ( 3054): AT< +CME ERROR: 4
D/RIL ( 3054): onRequest: DIAL
D/AT ( 3054): AT> ATD0542808961;
D/RILJ ( 946): [0263]< SET_MUTE
D/AT ( 3054): AT< +CME ERROR: 4
D/RILJ ( 946): [0264]< DIAL
D/GSM ( 946): [GsmDCT] handleMessage msg={ what=270343 when=-129ms [email protected] }
D/GSM ( 946): [GsmDCT] onVoiceCallStarted
D/RILJ ( 946): [0265]> GET_CURRENT_CALLS
D/RIL ( 3054): onRequest: GET_CURRENT_CALLS
D/AT ( 3054): AT> AT+CLCC
D/AT ( 3054): AT< OK
D/RILJ ( 946): [0265]< GET_CURRENT_CALLS
D/RILJ ( 946): [0266]> SET_MUTE false
D/RIL ( 3054): onRequest: SET_MUTE
D/AT ( 3054): AT> AT+CMUT=0
D/RILJ ( 946): [0267]> SET_MUTE false
D/AT ( 3054): AT< +CME ERROR: 4
D/RILJ ( 946): [0266]< SET_MUTE
D/RIL ( 3054): onRequest: SET_MUTE
D/AT ( 3054): AT> AT+CMUT=0
D/GSM ( 946): Pending MO dropped before poll fg state:DIALING
D/RILJ ( 946): [0268]> LAST_CALL_FAIL_CAUSE
D/AT ( 3054): AT< +CME ERROR: 4
D/RILJ ( 946): [0267]< SET_MUTE
D/RIL ( 3054): onRequest: LAST_CALL_FAIL_CAUSE
D/AT ( 3054): AT> AT+CEER
D/AT ( 3054): AT< +CEER: "CC setup error", 19, "User alerting, no answer"
D/AT ( 3054): AT< OK
D/RILJ ( 946): [0268]< LAST_CALL_FAIL_CAUSE {19}
D/PHONE ( 946): VM: PhoneSubInfo.getVoiceMailNUmber:
D/GSM ( 946): [GSMConn] releaseWakeLock
D/GSM ( 946): [GsmDCT] handleMessage msg={ what=270344 when=-94ms [email protected] }
D/GSM ( 946): [GsmDCT] onVoiceCallEnded
D/GSM ( 946): dialing w/ mmi 'GsmMmiCode {State=PENDING action=*# sc=111 poundString=*#111#}'...
D/RILJ ( 946): [0319]> SEND_USSD *#111#
D/RIL ( 3054): onRequest: SEND_USSD
D/AT ( 3054): AT> AT+CUSD=1, "*#111#"
D/AT ( 3054): AT< +CME ERROR: 4
D/RILJ ( 946): [0319]< SEND_USSD error: com.android.internal.telephony.CommandException: GENERIC_FAILURE
D/RILJ ( 946): [0320]> SET_MUTE false
D/RIL ( 3054): onRequest: SET_MUTE
D/AT ( 3054): AT> AT+CMUT=0
D/AT ( 3054): AT< +CME ERROR: 4
D/RILJ ( 946): [0320]< SET_MUTE
D/RILJ ( 946): [0339]> SEND_SMS
D/RIL ( 3054): onRequest: SEND_SMS
D/AT ( 3054): AT> AT+CMGS=16
D/AT ( 3054): atchannel: sms case, needs extra EOS
D/AT ( 3054): AT< >
D/AT ( 3054): AT> 0001000a815024089816000004d4f29c0e^Z
D/AT ( 3054): AT< +CMGS: 2
D/AT ( 3054): AT< OK
D/RILJ ( 946): [0339]< SEND_SMS { messageRef = 2, errorCode = 0, ackPdu = null}
That's an interesting revelation. If the physical chip in our tablets is one designed for USB modems and not phones, then our chances of getting voice calls drop substantially.Also, our radio is mounted on /dev/ttyACM0.. most likely as a USB 3G Modem.
The chip itself is found in several smartphones afaik.That's an interesting revelation. If the physical chip in our tablets is one designed for USB modems and not phones, then our chances of getting voice calls drop substantially.
I tried building with maguro radio and flashing the /dev/block/mmcblk0p4 with the galaxy nexus radio as well, but no go, couldn't start the modem. Baseband still reporting 1231_0.10.0_1021. I'm thinking we could get dialing to work, but we have to flash the baseband with something that allows voice dialing.Unless I screwed up build.prop the maguro radio is a dud. Will pull down the N4 images and see about extracting its radio now.
Getting MMS to work is, unfortunately, a bit more involved then a patch to framework-res. With telephony completely missing from the build a lot of jars will need to be replaced to "patch in place".
On the smartphones (like maguro), it's mounted at ttyS01 as a serial device. Not sure why the difference, just something to look at.The chip itself is found in several smartphones afaik.
As I understand it, the voice capable chip is MOUNTED AS a modem.
Ah ok. In which case, the entire way the OS communicates with it would have to change, which is a bit of a job to do.The chip itself is found in several smartphones afaik.
As I understand it, the voice capable chip is MOUNTED AS a modem.
hummmm...that sound's good!!It's the source to an Infineon modem RIL under the same name as the ril used on tilapia but with full voice capability. If our problem is the RIL, something like this will certainly fix it.