• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Apps rild & socket issue on Samsung S3C6410

vikingmsi

Lurker
Hi,
The content of my logcat is as below. Sometimes, I get a line "D/AT (1956) AT> AT", and then didn't see any log sent from the D/AT; and sometimes I can see the log until AT> CTREG+1. Anyway, I never saw the /dev/socket/rild is alive.

Can anyone help this?


=======================================
# logcat -b radio
I/RIL ( 1956): Opening tty device /dev/s3c2410_serial1
D/AT ( 1956): AT> AT
D/AT ( 1956): AT< OK
D/AT ( 1956): AT> ATS0=0
D/AT ( 1956): AT< OK
D/AT ( 1956): AT> AT+CMEE=1
I/PHONE ( 2027): Network Mode set to 0
I/PHONE ( 2027): Cdma Subscription set to 1
D/PHONE ( 2027): mDoesRilSendMultipleCallRing=true
D/PHONE ( 2027): mCallRingDelay=3000
W/GSM ( 2027): Can't open /system/etc/voicemail-conf.xml
W/GSM ( 2027): Can't open /system/etc/spn-conf.xml
D/GSM ( 2027): [DSAC DEB] registerForPsRestrictedEnabled
D/GSM ( 2027): [DSAC DEB] registerForPsRestrictedDisabled
D/GSM ( 2027): [PdpConnection] DataConnection.clearSettings()
D/RILJ ( 2027): [0000]> RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING
D/RILJ ( 2027): [0000]< RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING error: com.android.internal.telephony.CommandException: RADIO_NOT_AVAILABLE
D/STK ( 2027): StkService: StkService: is running
D/STK ( 2027): StkService: NEW sInstance
I/PHONE ( 2027): Creating GSMPhone
D/RILJ ( 2027): [0001]> GET_CURRENT_CALLS
D/RILJ ( 2027): [0001]< GET_CURRENT_CALLS error: com.android.internal.telephony.CommandException: RADIO_NOT_AVAILABLE
E/GSM ( 2027): Wrong network type: 0
E/GSM ( 2027): Wrong network type: 0
D/GSM ( 2027): Poll ServiceState done: oldSS=[1 home null null null Unknown CSS not supported 0 0RoamInd: 0DefRoamInd: 0] newSS=[1 home null null null Unknown CSS not supported -1 -1RoamInd: -1DefRoamInd: -1] oldGprs=1 newGprs=1 oldType=unknown newType=unknown
D/GSM ( 2027): GSMDataConnTrack handleMessage { what=12 when=38834 obj=android.os.AsyncResult@43ba7fb8 }
D/GSM ( 2027): [GsmDataConnectionTracker] Radio is off and clean up all connection
D/GSM ( 2027): [GsmDataConnectionTracker] Clean up connection due to radioTurnedOff
D/GSM ( 2027): [GsmDataConnectionTracker] setState: DISCONNECTING
D/GSM ( 2027): [PdpConnection] DataConnection.clearSettings()
D/GSM ( 2027): [DataConnection] Stop poll NetStat
D/GSM ( 2027): [GsmDataConnectionTracker] setState: IDLE
D/GSM ( 2027): GSMDataConnTrack handleMessage { what=19 when=38834 obj=android.os.AsyncResult@43ba8308 }
D/GSM ( 2027): [DataConnection] Stop poll NetStat
D/GSM ( 2027): GSMDataConnTrack handleMessage { what=22 when=38834 obj=android.os.AsyncResult@43ba8458 }
D/GSM ( 2027): [GsmDataConnectionTracker] ***trySetupData due to roamingOff
D/GSM ( 2027): [DSAC DEB] trySetupData with mIsPsRestricted=false
D/GSM ( 2027): [GsmDataConnectionTracker] trySetupData: Not ready for data: dataState=IDLE gprsState=1 sim=false UMTS=false phoneState=IDLE isDataAllowed=true dataEnabled=true roaming=false dataOnRoamingEnable=false ps restricted=false desiredPowerState=true MasterDataEnabled=true
D/GSM ( 2027): [IccCard] Broadcasting intent ACTION_SIM_STATE_CHANGED NOT_READY reason null
I/RILJ ( 2027): Couldn't find 'rild' socket; retrying after timeout
D/RILJ ( 2027): WAKE_LOCK_TIMEOUT mReqPending=0 mRequestList=0
I/RILJ ( 2027): Couldn't find 'rild' socket; retrying after timeout
I/RILJ ( 2027): Couldn't find 'rild' socket; retrying after timeout
I/RILJ ( 2027): Couldn't find 'rild' socket; retrying after timeout
I/RILJ ( 2027): Couldn't find 'rild' socket; retrying after timeout
I/RILJ ( 2027): Couldn't find 'rild' socket; retrying after timeout
I/RILJ ( 2027): Couldn't find 'rild' socket; retrying after timeout
E/RILJ ( 2027): Couldn't find 'rild' socket after 8 times, continuing to retry silently
 
Hi,
Sometimes I can only send 1 AT command, and sometimes 2 or 3. Somehow the thread "readerloop" terminates or disappears...

I modified two files:
1. reference-ril.c, in mainloop
=====================================
.....
fd = open(s_device_path, O_RDWR);
//Viking debug if ( fd >= 0 && !memcmp( s_device_path, "/dev/ttyS", 9 ) ) {
if ( fd >= 0 && !memcmp( s_device_path, "/dev/s3c2410_serial1", 20 ) ) { //Viking debug
/* disable echo on serial ports */
struct termios ios;
tcgetattr( fd, &ios );
bzero(&ios, sizeof(ios)); /*Viking debug*/
//Viking debug ios.c_lflag = 0; /* disable ECHO, ICANON, etc... */
/*Viking debug - Start*/
cfsetispeed(&ios,B115200);
cfsetospeed(&ios,B115200);
ios.c_cflag|=(CS8|CREAD);
ios.c_iflag|=IGNPAR;
tcflush(fd,TCIFLUSH);
/*Viking debug - End*/
tcsetattr( fd, TCSANOW, &ios );
......
2. atchannel.c
=========================================
while (p_eol == NULL) {
if (0 == MAX_AT_RESPONSE - (p_read - s_ATBuffer)) {
LOGD("Viking >>> ---------- readline 5 -----------"); //Viking debug
LOGE("ERROR: Input line exceeded buffer\n");
/* ditch buffer and start over again */
s_ATBufferCur = s_ATBuffer;
*s_ATBufferCur = '\0';
p_read = s_ATBuffer;
}
/*Viking debug - Start*/
tv.tv_sec = 1; /* 1 second*/
tv.tv_usec = 0; /*0 micro second*/
pos = 0;
count = 0;
FD_ZERO(&rfds);
FD_SET(s_fd, &rfds);
retval = select(s_fd+1, &rfds, NULL, NULL, &tv); //<= Sometimes the systems stops here
/*Viking debug - End*/
do {
count = read(s_fd, p_read,
MAX_AT_RESPONSE - (p_read - s_ATBuffer));
} while (count < 0 && errno == EINTR);
if (count > 0) {
AT_DUMP( "<< ", p_read, count );
s_readCount += count;
......
 
Back
Top Bottom