Hi On Sun, 15 Apr 2007 16:06:42 +0530 "Mahesh T. Pai" <[EMAIL PROTECTED]> wrote:
> Sending the log file created in /tmp/ as per the message.
>
> Willing to provide more info, if you tell me how to find it.
Can you please rebuild gammu with attached patch and test, whether it
will work?
--
Michal Čihař | http://cihar.com | http://blog.cihar.com
Index: ChangeLog
===================================================================
--- ChangeLog (revision 478)
+++ ChangeLog (working copy)
@@ -53,6 +53,7 @@
[-] * Increse limits for SMS backups (this requires dynamic allocation).
[!] * Development switched to Subversion, see README for details.
[-] * Detect Motorola Bluetooth port (Daniel Gimpelevich).
+[-] * Fixup AT driver to work with Samsung SGH X160.
20070403 - 1.10.2
[-] * Fixed crash on LMB export/import (bug #261).
Index: common/phone/at/atgen.c
===================================================================
--- common/phone/at/atgen.c (revision 474)
+++ common/phone/at/atgen.c (working copy)
@@ -1717,7 +1717,39 @@
switch (Priv->ReplyState) {
case AT_Reply_OK:
smprintf(s, "SMS status received\n");
- start = strstr(msg.Buffer, "+CPMS: ") + 7;
+ start = strstr(msg.Buffer, "+CPMS: ");
+ /*
+ * Samsung formats this different way, sample response:
+ * 1 "AT+CPMS="SM","SM""
+ * 2 "+CPMS:"SM",3,30,"SM",3,30,"SM",3,30"
+ * 3 "OK"
+ */
+ if (start == NULL) {
+ start = strstr(msg.Buffer, "+CPMS:\"") + 6;
+ current+=ATGEN_ExtractOneParameter(start+current, buffer);
+ if (strcmp(buffer, "\"ME\"") == 0) {
+ current+=ATGEN_ExtractOneParameter(start+current, buffer);
+ SMSStatus->PhoneUsed = atoi(buffer);
+ current+=ATGEN_ExtractOneParameter(start+current, buffer);
+ SMSStatus->PhoneSize = atoi(buffer);
+ smprintf(s, "Used : %i\n",SMSStatus->PhoneUsed);
+ smprintf(s, "Size : %i\n",SMSStatus->PhoneSize);
+ return ERR_NONE;
+ } else if (strcmp(buffer, "\"SM\"") == 0) {
+ current+=ATGEN_ExtractOneParameter(start+current, buffer);
+ SMSStatus->SIMUsed = atoi(buffer);
+ current+=ATGEN_ExtractOneParameter(start+current, buffer);
+ SMSStatus->SIMSize = atoi(buffer);
+ smprintf(s, "Used : %i\n",SMSStatus->SIMUsed);
+ smprintf(s, "Size : %i\n",SMSStatus->SIMSize);
+ return ERR_NONE;
+ } else {
+ smprintf(s, "Unknown memory: %s\n", buffer);
+ return ERR_UNKNOWNRESPONSE;
+ }
+ }
+ /* Skip +CPMS: */
+ start += 7;
if (strstr(msg.Buffer,"ME")!=NULL) {
SMSStatus->PhoneUsed = atoi(start);
current+=ATGEN_ExtractOneParameter(start+current, buffer);
@@ -3991,6 +4023,8 @@
return ATGEN_HandleCMSError(s);
case AT_Reply_CMEError:
return ATGEN_HandleCMEError(s);
+ case AT_Reply_Error:
+ return ERR_NOTSUPPORTED;
default:
break;
}
signature.asc
Description: PGP signature

