Index: gomunicator/src/configmodel.c =================================================================== --- gomunicator.orig/src/configmodel.c 2006-09-19 11:52:13.000000000 +0200 +++ gomunicator/src/configmodel.c 2007-01-10 10:06:37.000000000 +0100 @@ -67,10 +67,10 @@ { g_free(retVal.model); retVal.model = g_strdup("HTC Magician"); - retVal.moduleType = M_OTHER; + retVal.moduleType = M_MAGICIAN; retVal.wait_ack_before_sending_sms_pdu = TRUE; retVal.at_cmds_in_frames = TRUE; - retVal.devName = "/dev/ttyS0"; + retVal.devName = "/dev/ttyS1"; retVal.initATCmd = ""; retVal.smsStoreATCmd = "AT+CPMS=\"SM\",\"SM\",\"SM\""; } Index: gomunicator/src/configmodel.h =================================================================== --- gomunicator.orig/src/configmodel.h 2006-01-02 03:21:28.000000000 +0100 +++ gomunicator/src/configmodel.h 2007-01-10 10:05:48.000000000 +0100 @@ -5,7 +5,9 @@ { M_WAVECOM, M_OTHER, - M_HIMALAYA + M_HIMALAYA, + M_CELLON, + M_MAGICIAN, } t_phonemodule; Index: gomunicator/src/main.c =================================================================== --- gomunicator.orig/src/main.c 2006-09-19 11:52:13.000000000 +0200 +++ gomunicator/src/main.c 2007-01-10 10:05:48.000000000 +0100 @@ -533,14 +533,14 @@ } tryReadPhone(2); - if (phoneConfig.moduleType != M_HIMALAYA) - { - checkFUN(); - } - else - { + switch (phoneConfig.moduleType) { + case M_HIMALAYA: + case M_MAGICIAN: phoneGetOK("", TRUE); sendSetEquipmentState(1); + break; + default: + checkFUN(); } checkPIN(); checkCOPS(); Index: gomunicator/src/phoneComms.c =================================================================== --- gomunicator.orig/src/phoneComms.c 2006-09-19 11:52:13.000000000 +0200 +++ gomunicator/src/phoneComms.c 2007-01-10 10:05:48.000000000 +0100 @@ -203,7 +203,7 @@ gboolean sendPIN(const gchar * PINString) { sprintf(at_buf,"AT+CPIN=\"%s\"", PINString); - return phoneGetOK(at_buf, TRUE); + return phoneGetOK_slow(at_buf, TRUE); } /** @@ -240,13 +240,15 @@ sprintf(at_buf,"AT+CMUT=0"); phoneGetOK(at_buf, TRUE); - sprintf(at_buf,"AT$AU=100"); + sprintf(at_buf,"AT$AU=102"); phoneGetOK(at_buf, TRUE); sprintf(at_buf,"AT+CLIR=0"); phoneGetOK(at_buf, TRUE); - sprintf(at_buf,"AT%%CGPPP=1"); +// sprintf(at_buf,"AT%%CGPPP=1"); +// phoneGetOK(at_buf, TRUE); + sprintf(at_buf,"AT%%HTCCSQ=0"); /* off for now, confuses the state machine */ phoneGetOK(at_buf, TRUE); sprintf(at_buf,"AT%%CPRIM=\"GMM\",\"CONFIG MULTISLOT_CLASS=<10>\""); @@ -255,7 +257,11 @@ sprintf(at_buf,"AT+CREG=1"); phoneGetOK(at_buf, TRUE); - sprintf(at_buf,"AT%%IATT"); +// sprintf(at_buf,"AT%%IATT"); +// phoneGetOK(at_buf, TRUE); + sprintf(at_buf,"AT%%FDNPIN=1"); + phoneGetOK(at_buf, TRUE); + sprintf(at_buf,"AT+PUKRESET=1"); phoneGetOK(at_buf, TRUE); sprintf(at_buf,"AT"); @@ -270,8 +276,8 @@ sprintf(at_buf,"ATE0"); phoneGetOK(at_buf, TRUE); - sprintf(at_buf,"AT+CLCK=?"); - phoneGetOK(at_buf, TRUE); /* processing here changes clck_ps */ +// sprintf(at_buf,"AT+CLCK=?"); +// phoneGetOK(at_buf, TRUE); /* processing here changes clck_ps */ phoneGetSecurity(); @@ -280,13 +286,13 @@ phoneGetSecurity(); - sprintf(at_buf,"AT%%ALS=0"); - phoneGetOK(at_buf, TRUE); +// sprintf(at_buf,"AT%%ALS=0"); +// phoneGetOK(at_buf, TRUE); sprintf(at_buf,"AT+CPBR=?"); phoneGetOK(at_buf, TRUE); - sprintf(at_buf,"AT$AD=100"); + sprintf(at_buf,"AT$AD=102"); phoneGetOK(at_buf, TRUE); sprintf(at_buf,"AT+CREG=?"); @@ -300,6 +306,7 @@ sprintf(at_buf,"AT+CMUT=?"); phoneGetOK(at_buf, TRUE); +#if 0 /* check ten times for CLCK "PS" response, after which * it looks like it's okay to check for a PIN number - not before! */ @@ -310,6 +317,7 @@ phoneGetSecurity(); sleep(1); } +#endif return gotOK; } Index: gomunicator/src/dbus.c =================================================================== --- gomunicator.orig/src/dbus.c 2006-01-14 23:17:53.000000000 +0100 +++ gomunicator/src/dbus.c 2007-01-10 10:05:48.000000000 +0100 @@ -5,6 +5,7 @@ #include #include +#include "config.h" #define _(x) gettext(x)