Re: [Evolution] Palm Tungsten T - Sync



Le mar 15/04/2003 à 16:21, JP Rosevear a écrit :
> On Tue, 2003-04-15 at 07:45, Frederic Crozat wrote:
> > Le mar 15/04/2003 à 13:41, tom tk uni-linz ac at a écrit :
> > > Hi,
> > > 
> > > I  am using Mandrake 9.1/Evolution 1.2.4/Gnome and I try to get the sync with my new Tungsten T Palm/PalmOS 5.0 running.
> > > 
> > > It works with the kpilot and jpilot sync (so I think pilot-link should work). But the gpilotd doesn't seem to colloborate with my Palm.
> > > 
> > > Has anyone experienced the same? Any help would be welcome :-)
> > 
> > Grab packages at http://people.mandrakesoft.com/~fcrozat/pilot/ they
> > should work with Tungsten T (official update is scheduled really soon..)
> 
> Can you send me the patch for this?

It was on my todo list :)) 

I've cc: gnome-pilot-list for archiving purpose..

This patch is based on a patch sent by Peter Dieth on gnome-pilot-list
in early January 2003.

I've also attached a patch for USB handling when people are using
devfs/devfsd (which is default on Mandrake system).. It is needed since
/dev/usb/tts/1 (or 0) is only created AFTER hotsync button is pressed..

Could you commit both patches to CVS ?

Thanks..

-- 
Frederic Crozat <fcrozat mandrakesoft com>
Mandrakesoft
--- gnome-pilot-0.1.71/gpilotd/gpilotd.c.orig	2003-04-02 11:58:10.000000000 +0200
+++ gnome-pilot-0.1.71/gpilotd/gpilotd.c	2003-04-02 12:02:10.000000000 +0200
@@ -845,6 +845,8 @@
 	NULL
 };
 
+#define TUNGSTEN_STRING "P:  Vendor=0830 ProdID=0060"
+
 static gboolean product_net[] =
 {
 	FALSE,
@@ -884,17 +886,27 @@
 	f = fopen ("/proc/bus/usb/devices", "r");
 	
 	while (fgets (line, 255, f) != NULL && !visor_exists) {
-		if (line[0] != 'S')
+		if (line[0] != 'S' && line[0] != 'P')
 			continue;
-		
-		for (i = 0; product_names[i] != NULL; i++) {
-			if (!strncmp (line + strlen ("S:  Product="), 
-				      product_names[i], 
-				      strlen (product_names[i]))) {
+
+		if (line[0] == 'P') { /* workaround for Tungsten T */
+			if (!strncmp (line, TUNGSTEN_STRING, strlen(TUNGSTEN_STRING))) {
 				visor_exists = TRUE;
-				visor_net = product_net[i];
+				visor_net = TRUE;
 			}
 		}
+		else {
+		
+			for (i = 0; product_names[i] != NULL; i++) {
+				if (!strncmp (line + strlen ("S:  Product="), 
+					      product_names[i], 
+					      strlen (product_names[i]))) {
+					visor_exists = TRUE;
+					visor_net = product_net[i];
+				}
+			}
+		}
+
 	}
 	
 	fclose (f);
--- gnome-pilot-0.1.71/capplet/util.c.usb	2002-09-16 19:08:08.000000000 +0200
+++ gnome-pilot-0.1.71/capplet/util.c	2003-04-02 12:27:08.000000000 +0200
@@ -642,6 +642,7 @@
 			return ;
 		}
 	} else if (device->type == PILOT_DEVICE_USB_VISOR) {
+/* don't check anything, it could be no device if we are using devfs
 		struct stat sb;
 			
 		if (stat (device->port, &sb) != 0) {
@@ -660,7 +661,7 @@
 			error_dialog (str);
 			g_free (str);
 			return ;
-		}
+		}*/
 	}
 
 }
--- gnome-pilot-0.1.71/gpilotd/gpilotd.c.usb	2002-12-12 14:53:21.000000000 +0100
+++ gnome-pilot-0.1.71/gpilotd/gpilotd.c	2003-04-02 12:27:46.000000000 +0200
@@ -858,6 +858,7 @@
 visor_devices_in (GIOChannel *io_channel,
 		 GIOCondition condition,
 		 GPilotContext *context) {
+	static firstime = TRUE;
 	GPilotDevice *device;
 	GList *l;
 	int i;
@@ -874,6 +875,11 @@
 	if (context->paused) 
 		return FALSE;
 
+	if (!firstime)
+ 		sleep (4);
+ 	else
+ 		firstime = FALSE;
+
 	/* Check /proc/bus/usb/devices for a usb device */
 	f = fopen ("/proc/bus/usb/devices", "r");
 	


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]