Hi, It seems that the reply to the RIL_REQUEST_GPRS_REGISTRATION_STATE is not formatted properly. The RIL interface for Éclair dictates this implementation:
/** * RIL_REQUEST_GPRS_REGISTRATION_STATE * * Request current GPRS registration state * * "data" is NULL * "response" is a "char **" * ((const char **)response)[0] is registration state 0-5 from TS 27.007 10.1.20 AT+CGREG * ((const char **)response)[1] is LAC if registered or NULL if not * ((const char **)response)[2] is CID if registered or NULL if not * ((const char **)response)[3] indicates the available radio technology, where: * 0 == unknown * 1 == GPRS only * 2 == EDGE * 3 == UMTS * 9 == HSDPA * 10 == HSUPA * 11 == HSPA * * LAC and CID are in hexadecimal format. * valid LAC are 0x0000 - 0xffff * valid CID are 0x00000000 - 0x0fffffff * * Please note that registration state 4 ("unknown") is treated * as "out of service" in the Android telephony system * * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE * GENERIC_FAILURE */ I remember tweaking the reference RIL for correct GPRS registration state reporting for our setup with a broadband 3G modem. I believe the ST-E RIL got it right. Take a peek inside: http://android.git.kernel.org/?p=platform/vendor/st-ericsson/u300.git;a=blob;f=u300-ril-network.c;h=50c672c7c7a7cffe2212ac878e363e530a795eeb;hb=HEAD ..more specifically the function called requestRegistrationState, which formats the reply for upper layers from the AT response. It also depends on what your modem sends back - different modems could report in different ways. Try porting this exact function into your RIL. --- Henrik Uhrenfeldt Chief Software Engineer Ixonos Denmark ApS Niels Jernes Vej 10, DK-9220 Aalborg Ø, Denmark mobile +45 4030 2607 email: henrik.uhrenfe...@ixonos.com http://www.ixonos.com -----Original Message----- From: android-porting@googlegroups.com [mailto:android-port...@googlegroups.com] On Behalf Of bryan.c.hsu Sent: 9. juni 2010 11:56 To: qvbs...@gmail.com; 'android-porting' Subject: 答复: [android-porting] signal of gprs is zero Hi, I think u can check the parameters of the CREG or COPS. It maybe caused by the wrong parameters from BP. Maybe u need to modify ril implementation for these two AT commands. Br. -----邮件原件----- 发件人: android-porting@googlegroups.com [mailto:android-port...@googlegroups.com] 代表 Weber 发送时间: 2010年6月9日 17:06 收件人: android-porting 主题: [android-porting] signal of gprs is zero Hi,everyone I have ported eclair2.1 to my board. at first ,I can dial a call and send sms(the signal are good--full or nearly full) but the gprs could not be used,mms can not be sent then I found that the apns are empty ,so I modify the apns-conf.xml in system/etc now I can see the G flag in the top bar,and the signal none(without little cross)---if it is not connected there will be a little cross on the signal flag here are the logs: 535 D/RILJ ( 781): [0027]< GPRS_REGISTRATION_STATE {2, ffffffff, ffffffff} 536 D/AT ( 676): 537 D/AT ( 676): 538 D/AT ( 676): +CREG: 2,2 539 D/AT ( 676): 540 D/AT ( 676): 541 D/AT ( 676): 542 D/AT ( 676): OK 543 D/AT ( 676): 544 D/AT ( 676): AT< +CREG: 2,2 545 D/AT ( 676): AT< OK 546 D/RIL ( 676): onRequest: QUERY_NETWORK_SELECTION_MODE 547 D/AT ( 676): AT> AT+COPS? 548 D/AT ( 676): AT+COPS? 549 D/RILJ ( 781): [0028]< REGISTRATION_STATE {2, ffffffff, ffffffff} 550 W/GSM ( 781): error parsing RegistrationState: java.lang.NumberFormatException: unable to parse 'ffffffff' as integer it seems that the GPRS state (fffffff) is wrong. could you tell me what are the problems ? Thanks -Weber -- unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting -- unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting -- unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting