]> git.hungrycats.org Git - linux/commitdiff
usb ipaq driver:
authorGanesh Varadarajan <ganesh@tuxtop.vxindia.veritas.com>
Wed, 27 Feb 2002 07:19:42 +0000 (23:19 -0800)
committerGreg Kroah-Hartman <greg@kroah.com>
Wed, 27 Feb 2002 07:19:42 +0000 (23:19 -0800)
   Added support for the HP Jornada.

Documentation/usb/usb-serial.txt
drivers/usb/serial/Config.help
drivers/usb/serial/Config.in
drivers/usb/serial/ipaq.c
drivers/usb/serial/ipaq.h

index dbab7aa4ace1a43833bbd8bb645f16c1abd629f8..52e6a89cd742b072cacbcb317d9199cfbdaccf2a 100644 (file)
@@ -95,12 +95,13 @@ HandSpring Visor, Palm USB, and Cli
   Kroah-Hartman at greg@kroah.com
 
 
-Compaq iPAQ driver
+Compaq iPAQ and HP Jornada driver
 
-  This driver can be used to connect to Compaq iPAQ PDAs running
-  Windows CE 3.0 using a USB autosync cable. It has been tested only on
-  the Compaq H3135. It should work with the H3600 and later models too.
-  It may work with other CE based handhelds as well.
+  This driver can be used to connect to Compaq iPAQ and HP Jornada PDAs
+  running Windows CE 3.0 or PocketPC 2002 using a USB cable/cradle. It
+  has been tested only on the Compaq H3135, but is rumoured to work on
+  with the H3600 and later models as well as the Jornada 548 and 568.
+  With minor modifications, it may work for other CE based handhelds too.
 
   The driver presents a serial interface (usually on /dev/ttyUSB0) over
   which one may run ppp and establish a TCP/IP link to the iPAQ. Once this
@@ -109,11 +110,14 @@ Compaq iPAQ driver
   kbytes/sec for download/upload to the iPAQ.
 
   The driver works intermittently with the usb-uhci driver but quite
-  reliably with the uhci driver. Make sure you have the right driver
-  loaded - usb-uhci is often the default.
+  reliably with the uhci driver. However, performance is much better
+  with usb-uhci. It does not seem to work with ohci at all.
 
   You must setup hotplug to invoke pppd as soon as the iPAQ is connected.
-  A ppp script like the one below may be used:
+  A ppp script like the one below should be kept in the file
+  /etc/hotplug/usb/ipaq Remember to chmod +x. Make sure there are no
+  options in /etc/ppp/options or ~/.ppprc which conflict with the ones
+  given below.
 
        #!/bin/bash
 
@@ -133,7 +137,7 @@ Compaq iPAQ driver
   On connecting the cable, you should see the usual "Device Connected",
   "User Authenticated" messages flash by on your iPAQ. Once connected,
   you can use Win CE programs like ftpView, Pocket Outlook from the iPAQ
-  and other synce utilities from the Linux side. Remember to enable IP
+  and xcerdisp, synce utilities from the Linux side. Remember to enable IP
   forwarding. 
 
   To use Pocket IE, follow the instructions given at
index 56b27ae25d4e77a1c9b177fb558b63f8dc9e63ed..4e314e8104cfc2119f1c449115c0cead861c099c 100644 (file)
@@ -40,9 +40,10 @@ CONFIG_USB_SERIAL_VISOR
   module, say M here and read <file:Documentation/modules.txt>.
 
 CONFIG_USB_SERIAL_IPAQ
-  Say Y here if you want to connect to your Compaq iPAQ running
-  Windows CE 3.0 using a USB autosync cable. For information on using
-  the driver, read <file:Documentation/usb/usb-serial.txt>.
+  Say Y here if you want to connect to your Compaq iPAQ or HP Jornada
+  548/568 running Windows CE 3.0 or PocketPC 2002 using a USB
+  cradle/cable. For information on using the driver,
+  read <file:Documentation/usb/usb-serial.txt>.
 
   This code is also available as a module ( = code which can be
   inserted in and removed from the running kernel whenever you want).
index bc8302781fb1fcced88d9df240a75d0b90683285..9969fc0d72d32b7310a2538b92296c53ca269cbb 100644 (file)
@@ -15,7 +15,7 @@ dep_tristate '  USB Digi International AccelePort USB Serial Driver' CONFIG_USB_
 dep_tristate '  USB Empeg empeg-car Mark I/II Driver (EXPERIMENTAL)' CONFIG_USB_SERIAL_EMPEG $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
 dep_tristate '  USB FTDI Single Port Serial Driver (EXPERIMENTAL)' CONFIG_USB_SERIAL_FTDI_SIO $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
 dep_tristate '  USB Handspring Visor / Palm m50x / Sony Clie Driver' CONFIG_USB_SERIAL_VISOR $CONFIG_USB_SERIAL
-dep_tristate '  USB Compaq iPAQ Driver' CONFIG_USB_SERIAL_IPAQ $CONFIG_USB_SERIAL
+dep_tristate '  USB Compaq iPAQ / HP Jornada Driver' CONFIG_USB_SERIAL_IPAQ $CONFIG_USB_SERIAL
 dep_tristate '  USB IR Dongle Serial Driver (EXPERIMENTAL)' CONFIG_USB_SERIAL_IR $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
 dep_tristate '  USB Inside Out Edgeport Serial Driver (EXPERIMENTAL)' CONFIG_USB_SERIAL_EDGEPORT $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
 dep_tristate '  USB Keyspan PDA Single Port Serial Driver (EXPERIMENTAL)' CONFIG_USB_SERIAL_KEYSPAN_PDA $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
index 9167717f7e10ca27e9a79c6da0a776d9cf3ba3db..13e473bd7f736897638ddca896d05336af8d6901 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * USB Compaq iPAQ driver
  *
- *     Copyright (C) 2001
+ *     Copyright (C) 2001 - 2002
  *         Ganesh Varadarajan <ganesh@veritas.com>
  *
  *     This program is free software; you can redistribute it and/or modify
@@ -9,6 +9,9 @@
  *     the Free Software Foundation; either version 2 of the License, or
  *     (at your option) any later version.
  *
+ * (25/2/2002) ganesh
+ *     Added support for the HP Jornada 548 and 568. Completely untested.
+ *     Thanks to info from Heath Robinson and Arieh Davidoff.
  */
 
 #include <linux/config.h>
@@ -39,9 +42,9 @@
 /*
  * Version Information
  */
-#define DRIVER_VERSION "v0.1"
+#define DRIVER_VERSION "v0.2"
 #define DRIVER_AUTHOR "Ganesh Varadarajan <ganesh@veritas.com>"
-#define DRIVER_DESC "USB Compaq iPAQ driver"
+#define DRIVER_DESC "USB Compaq iPAQ, HP Jornada driver"
 
 /* Function prototypes for an ipaq */
 static int  ipaq_open (struct usb_serial_port *port, struct file *filp);
@@ -61,7 +64,9 @@ static void ipaq_destroy_lists(struct usb_serial_port *port);
 
 
 static __devinitdata struct usb_device_id ipaq_id_table [] = {
-       { USB_DEVICE(IPAQ_VENDOR_ID, IPAQ_PRODUCT_ID) },
+       { USB_DEVICE(COMPAQ_VENDOR_ID, COMPAQ_IPAQ_ID) },
+       { USB_DEVICE(HP_VENDOR_ID, HP_JORNADA_548_ID) },
+       { USB_DEVICE(HP_VENDOR_ID, HP_JORNADA_568_ID) },
        { }                                     /* Terminating entry */
 };
 
@@ -72,7 +77,7 @@ struct usb_serial_device_type ipaq_device = {
        owner:                  THIS_MODULE,
        name:                   "Compaq iPAQ",
        id_table:               ipaq_id_table,
-       num_interrupt_in:       0,
+       num_interrupt_in:       NUM_DONT_CARE,
        num_bulk_in:            1,
        num_bulk_out:           1,
        num_ports:              1,
@@ -104,8 +109,6 @@ static int ipaq_open(struct usb_serial_port *port, struct file *filp)
        
        dbg(__FUNCTION__ " - port %d", port->number);
 
-       down(&port->sem);
-       
        ++port->open_count;
        
        if (port->open_count == 1) {
@@ -193,8 +196,6 @@ static int ipaq_open(struct usb_serial_port *port, struct file *filp)
                }
        }
        
-       up(&port->sem);
-       
        return result;
 
 enomem:
@@ -219,8 +220,6 @@ static void ipaq_close(struct usb_serial_port *port, struct file *filp)
        serial = get_usb_serial(port, __FUNCTION__);
        if (!serial)
                return;
-       
-       down (&port->sem);
 
        --port->open_count;
 
@@ -238,8 +237,6 @@ static void ipaq_close(struct usb_serial_port *port, struct file *filp)
                port->open_count = 0;
 
        }
-       up (&port->sem);
-
        /* Uncomment the following line if you want to see some statistics in your syslog */
        /* info ("Bytes In = %d  Bytes Out = %d", bytes_in, bytes_out); */
 }
index 665900d176150ceadd79a2d9ec937da69b31237e..88ffb951bc4f8b2d8434d1e214421fad702a1d09 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * USB Compaq iPAQ driver
  *
- *     Copyright (C) 2001
+ *     Copyright (C) 2001 - 2002
  *         Ganesh Varadarajan <ganesh@veritas.com>
  *
  *     This program is free software; you can redistribute it and/or modify
 #define __LINUX_USB_SERIAL_IPAQ_H
 
 
-#define IPAQ_VENDOR_ID                 0x049f
-#define IPAQ_PRODUCT_ID                        0x0003
+#define COMPAQ_VENDOR_ID       0x049f
+#define COMPAQ_IPAQ_ID         0x0003
+
+#define HP_VENDOR_ID           0x003f
+#define HP_JORNADA_548_ID      0x1016
+#define HP_JORNADA_568_ID      0x1116
 
 /*
  * Since we can't queue our bulk write urbs (don't know why - it just