The Treo 650 Bootloader in Linux

From ShadoWiki

To get the Treo 650 bootloader working in Linux, you'll need the ipaq driver source from SynCE [1] and you'll want to apply this patch that sends extra initialization packets to the phone.

toshiba bluetooth card

Oops! This patch is actually reversed - you'll need to apply it with -R I think.

--- ipaq.c	2005-11-30 18:19:05.000000000 -0700
+++ ipaq.c-2.6.13.3	2005-10-11 06:54:55.000000000 -0600
@@ -672,61 +658,15 @@
 	 * through. Since this has a reasonably high failure rate, we retry
 	 * several times.
 	 */
-	retries = KP_RETRIES;
-	while (retries--) {
-		result = usb_control_msg(serial->dev,
-				usb_sndctrlpipe(serial->dev, 0), 0x22, 0x21,
-				0, 0, NULL, 0, 100);
-		if (result != 0) {
-			break;
-		}
-	}
-	
-	if (!retries)
-		goto initfail;
-	
-	retries = KP_RETRIES;
-	while (retries--) {
-		result = usb_control_msg(serial->dev,
-				usb_sndctrlpipe(serial->dev, 0), 0x22, 0x21,
-				2, 0, NULL, 0, 100);
-		if (result == 0) {
-			break;
-		}
-	}
 
-	if (!retries)
-		goto initfail;
-
-	retries = KP_RETRIES;
 	while (retries--) {
 		result = usb_control_msg(serial->dev,
 				usb_sndctrlpipe(serial->dev, 0), 0x22, 0x21,
-				3, 0, NULL, 0, 100);
+				0x1, 0, NULL, 0, 100);
 		if (result == 0) {
-			break;
+			return 0;
 		}
 	}
-
-	if (!retries)
-		goto initfail;
-
-	retries = KP_RETRIES;
-	while (retries--) {
-		result = usb_control_msg(serial->dev,
-				usb_sndctrlpipe(serial->dev, 0), 0x20, 0,
-				0, 0, NULL, 0, 100);
-		if (result == 0) {
-			break;
-		}
-	}
-	
-	if (!retries)
-		goto initfail;
-
-	return 0;
-	
-initfail:
 	err("%s - failed doing control urb, error %d", __FUNCTION__, result);
 	goto error;
 
  [ Home | Forum ]

Google
 
Web shadowmite.com