Subject: Re: USB GPS on NetBSD
To: Nick Hudson <nick.hudson@dsl.pipex.com>
From: David Howland <dhowland@users.sourceforge.net>
List: tech-kern
Date: 05/03/2007 00:50:50
Well, by the patches at the end of this mail, I got my device to be 
recognized by the ucycom driver.

The new dmesg report looks like this.

uhidev0 at uhub0 port 1 configuration 1 interface 0
uhidev0: DeLorme Publishing DeLorme USB Earthmate, rev 1.00/0.01, addr 
2, iclass 3/0
ucycom0 at uhidev0

I did a MAKEDEV ttyY0 to create the dev entry.

Now I have no idea how to use it, and I think there is a problem.

Any access to /dev/ttyY0 results in an immediate kernel panic.
It says something about sleepq_enqueue.

Any suggestions now?

thanks,
-d


-=-=-=-=-=-=-=-=-

--- ucycom.c.orig	2007-05-02 23:25:30.000000000 -0400
+++ ucycom.c
@@ -175,6 +175,7 @@ Static void ucycom_get_cfg(struct ucycom
  Static const struct usb_devno ucycom_devs[] = {
  	{ USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_USBRS232 },
  	{ USB_VENDOR_DELORME, USB_PRODUCT_DELORME_EARTHMATE },
+	{ USB_VENDOR_DELORME, USB_PRODUCT_DELORME_EARTHMATE_LT20 },
  };
  #define ucycom_lookup(v, p) usb_lookup(ucycom_devs, v, p)



--- usbdevs.h.orig	2007-05-02 15:47:38.000000000 -0400
+++ usbdevs.h
@@ -834,6 +834,7 @@

  /* DeLorme products */
  #define	USB_PRODUCT_DELORME_EARTHMATE	0x0100		/* Earthmate GPS */
+#define	USB_PRODUCT_DELORME_EARTHMATE_LT20	0x0200		/* Earthmate LT-20 
GPS */

  /* Diamond products */
  #define	USB_PRODUCT_DIAMOND_RIO500USB	0x0001		/* Rio 500 USB */



--- usbdevs_data.h.orig	2007-05-02 23:24:28.000000000 -0400
+++ usbdevs_data.h
@@ -2542,6 +2542,10 @@ const struct usb_product usb_products[]
  	    "Earthmate GPS",
  	},
  	{
+	    USB_VENDOR_DELORME, USB_PRODUCT_DELORME_EARTHMATE_LT20,
+	    "Earthmate LT-20 GPS",
+	},
+	{
  	    USB_VENDOR_DIAMOND, USB_PRODUCT_DIAMOND_RIO500USB,
  	    "Rio 500 USB",
  	},