[Miscellaneous Android Development] RickyGoldsmith:
The GPS Porblem debugging so far......

So if you look at the GPS debug, not everything is b0rken.

D/NVRAM ( 3120): mtk_gps_sys_nmea_output_to_app: $GPGGA,000002.000,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*41
D/NVRAM ( 3120): $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
D/NVRAM ( 3120): $GPRMC,000002.000,V,8960.0000,N,00000.0000,E,0.000,0.00,060180,,,N*4C
D/NVRAM ( 3120): $GPVTG,0.00,T,,M,0.000,N,0.000,K,N*32
D/NVRAM ( 3120): $GPACCURACY,3162.1*3

As you can see in the above snippet, it does fetch some data... Now further....

D/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: SVListBitMap: 0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: Get SV info success
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[0]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[1]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[2]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[3]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[4]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[5]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[6]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[7]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[8]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[9]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[10]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[11]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[12]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[13]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[14]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[15]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[16]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[17]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[18]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[19]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[20]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[21]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[22]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[23]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[24]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[25]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[26]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[27]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[28]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[29]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[30]=0
E/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: EPH[31]=0
D/mnl_linux( 3120): mtk_gps_sys_gps_mnl_callback: MTK_GPS_MSG_FIX_READY,GET_RTC_FAIL

Now this is something I haven't been able to nail at all. There's no mention of this function call is the CM source code. Which, as I understand, is correct. These look like kernel calls coming from the MTK Kernel. Next in line will be to check the MTK kernel sources.

D/MNLD ( 812): mnl_set_alarm: (0, 0x80000000, 5)
D/gps_mt3326( 411): gps_state_thread: line = 1818received 247 bytes:
D/gps_mt3326( 411): nmea_reader_parse: line = 1218GPS get accuracy failed, fix mode:1

This looks expected given the details in snippet 2. We had an error there hence the final accuracy results failed.

So what I haven't yet debugged is that why the MTK GPS driver is failing. Especially given that we are using the same kernel. The only item I would suspect is the User Space MTK framework jar files that MTK ships. These reside in /system/framework/. Someone needs to have a look at these mtk framework files and compare them against the one shipped with GiONEE's stock rom ones. Hopefully that might shed more light on where the bug lies.