Index: /trunk/src/target/OM-2007/openmoko-libs/libmokogsmd/moko-gsmd-connection.c
===================================================================
--- /trunk/src/target/OM-2007/openmoko-libs/libmokogsmd/moko-gsmd-connection.c	(revision 2000)
+++ /trunk/src/target/OM-2007/openmoko-libs/libmokogsmd/moko-gsmd-connection.c	(revision 2001)
@@ -26,6 +26,6 @@
 #include <errno.h>
 
+#define DEBUG_THIS_FILE
 #undef DEBUG_THIS_FILE
-#define DEBUG_THIS_FILE
 
 #ifdef DEBUG_THIS_FILE
@@ -178,5 +178,16 @@
         NULL);
 
-    //TODO add SIGNAL_GSMD_EVT_PIN
+    moko_gsmd_connection_signals[SIGNAL_GSMD_EVT_PIN] = g_signal_new
+        ("pin-requested",
+        G_TYPE_FROM_CLASS (klass),
+        G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
+        NULL,
+        NULL,
+        NULL,
+        g_cclosure_marshal_VOID__INT,
+        G_TYPE_NONE,
+        1,
+        G_TYPE_INT,
+        NULL);
 
     moko_gsmd_connection_signals[SIGNAL_GSMD_EVT_OUT_STATUS] = g_signal_new
@@ -280,4 +291,12 @@
 }
 
+/* this is the handler for receiving passthrough responses */
+static int
+pt_msghandler(struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh)
+{
+    char *payload = (char *)gmh + sizeof(*gmh);
+    g_debug("PASSTHROUGH RESPONSE = '%s'", payload);
+}
+
 static void
 moko_gsmd_connection_init(MokoGsmdConnection* self)
@@ -322,4 +341,5 @@
     }
 
+    lgsm_register_handler( priv->handle, GSMD_MSG_PASSTHROUGH, &pt_msghandler);
 }
 
@@ -371,2 +391,9 @@
     lgsm_voice_dtmf( priv->handle, number );
 }
+
+void moko_gsmd_connection_trigger_signal_strength_event(MokoGsmdConnection* self)
+{
+    MokoGsmdConnectionPrivate* priv = GSMD_CONNECTION_GET_PRIVATE(self);
+    g_return_if_fail( priv->handle );
+    lgsm_signal_quality( priv->handle );
+}
Index: /trunk/src/target/OM-2007/openmoko-libs/libmokogsmd/moko-gsmd-connection.h
===================================================================
--- /trunk/src/target/OM-2007/openmoko-libs/libmokogsmd/moko-gsmd-connection.h	(revision 2000)
+++ /trunk/src/target/OM-2007/openmoko-libs/libmokogsmd/moko-gsmd-connection.h	(revision 2001)
@@ -73,4 +73,5 @@
 void moko_gsmd_connection_incoming_clip(MokoGsmdConnection* self, const char* number);
 void moko_gsmd_connection_network_registration(MokoGsmdConnection* self, int type, int lac, int cell);
+void moko_gsmd_connection_trigger_signal_strength_event(MokoGsmdConnection* self);
 void moko_gsmd_connection_signal_strength_changed(MokoGsmdConnection* self, int strength);
 //voice
