Index: sys/dev/usb/if_rum.c =================================================================== RCS file: /cvsroot/src/sys/dev/usb/if_rum.c,v retrieving revision 1.3.2.4 diff -p -r1.3.2.4 if_rum.c *** sys/dev/usb/if_rum.c 29 Sep 2007 08:53:17 -0000 1.3.2.4 --- sys/dev/usb/if_rum.c 7 Apr 2008 05:48:38 -0000 *************** static const struct usb_devno rum_devs[] *** 123,128 **** --- 123,129 ---- { USB_VENDOR_PLANEX2, USB_PRODUCT_PLANEX2_GWUSMM }, { USB_VENDOR_QCOM, USB_PRODUCT_QCOM_RT2573 }, { USB_VENDOR_QCOM, USB_PRODUCT_QCOM_RT2573_2 }, + { USB_VENDOR_QCOM, USB_PRODUCT_QCOM_RT2573_3 }, { USB_VENDOR_RALINK, USB_PRODUCT_RALINK_RT2573 }, { USB_VENDOR_RALINK_2, USB_PRODUCT_RALINK_2_RT2573 }, { USB_VENDOR_RALINK, USB_PRODUCT_RALINK_RT2671 }, Index: sys/dev/usb/uep.c =================================================================== RCS file: /cvsroot/src/sys/dev/usb/uep.c,v retrieving revision 1.7 diff -p -r1.7 uep.c *** sys/dev/usb/uep.c 12 Nov 2006 19:00:43 -0000 1.7 --- sys/dev/usb/uep.c 7 Apr 2008 05:48:38 -0000 *************** __KERNEL_RCSID(0, "$NetBSD: uep.c,v 1.7 *** 65,71 **** --- 65,75 ---- #include #include + #ifndef UEP_PENMOUNT_PM6000 #define UIDSTR "eGalax USB SN000000" + #else + #define UIDSTR "PenMount PM6000 SN000000" + #endif struct uep_softc { USBBASEDEVICE sc_dev; *************** struct uep_softc { *** 88,96 **** --- 92,110 ---- static struct wsmouse_calibcoords default_calib = { .minx = 0, .miny = 0, + #ifndef UEP_KOHJINSHA_SH .maxx = 2047, .maxy = 2047, .samplelen = WSMOUSE_CALIBCOORDS_RESET, + #else + .maxx = 1023, + .maxy = 599, + .samplelen = 4, + {{ 40, 40, 0, 0 }, + { 40, 984, 0, 599 }, + { 984, 984, 1023, 599 }, + { 984, 40, 1023, 0 }}, + #endif }; Static void uep_intr(usbd_xfer_handle, usbd_private_handle, usbd_status); *************** USB_MATCH(uep) *** 114,119 **** --- 128,134 ---- if (uaa->iface == NULL) return UMATCH_NONE; + #ifndef UEP_PENMOUNT_PM6000 if ((uaa->vendor == USB_VENDOR_EGALAX) && ( (uaa->product == USB_PRODUCT_EGALAX_TPANEL) || (uaa->product == USB_PRODUCT_EGALAX_TPANEL2) *************** USB_MATCH(uep) *** 122,130 **** if ((uaa->vendor == USB_VENDOR_EGALAX2) && (uaa->product == USB_PRODUCT_EGALAX2_TPANEL)) return UMATCH_VENDOR_PRODUCT; - return UMATCH_NONE; } --- 137,148 ---- if ((uaa->vendor == USB_VENDOR_EGALAX2) && (uaa->product == USB_PRODUCT_EGALAX2_TPANEL)) + #else + if ((uaa->vendor == USB_VENDOR_PENMOUNT) + && (uaa->product == USB_PRODUCT_PENMOUNT_PM6000)) + #endif return UMATCH_VENDOR_PRODUCT; return UMATCH_NONE; } *************** uep_intr(usbd_xfer_handle xfer, usbd_pri *** 381,392 **** --- 399,415 ---- return; } + #ifndef UEP_PENMOUNT_PM6000 if ((p[0] & 0xFE) != 0x80) { + #else + if ((p[0] & 0xbf) != 0x30) { + #endif printf("%s: bad input packet format\n", USBDEVNAME(sc->sc_dev)); return; } if (sc->sc_wsmousedev != NULL) { + #ifndef UEP_PENMOUNT_PM6000 /* * Packet format is 5 bytes: * *************** uep_intr(usbd_xfer_handle xfer, usbd_pri *** 411,422 **** --- 434,454 ---- x = (p[3] << 7) | p[4]; y = (p[1] << 7) | p[2]; + #else + x = (p[2] << 8) | p[1]; + y = (p[4] << 8) | p[3]; + #endif tpcalib_trans(&sc->sc_tpcalib, x, y, &x, &y); s = spltty(); + #ifndef UEP_PENMOUNT_PM6000 wsmouse_input(sc->sc_wsmousedev, p[0] & 0x01, x, y, 0, 0, WSMOUSE_INPUT_ABSOLUTE_X | WSMOUSE_INPUT_ABSOLUTE_Y); + #else + wsmouse_input(sc->sc_wsmousedev, (p[0] >> 6) & 0x1, x, y, 0, 0, + WSMOUSE_INPUT_ABSOLUTE_X | WSMOUSE_INPUT_ABSOLUTE_Y); + #endif splx(s); } } Index: sys/dev/usb/usbdevs =================================================================== RCS file: /cvsroot/src/sys/dev/usb/usbdevs,v retrieving revision 1.443.2.7 diff -p -r1.443.2.7 usbdevs *** sys/dev/usb/usbdevs 29 Sep 2007 08:53:16 -0000 1.443.2.7 --- sys/dev/usb/usbdevs 7 Apr 2008 05:48:38 -0000 *************** vendor DICKSMITH 0x1371 Dick Smith Elect *** 434,439 **** --- 434,440 ---- vendor BALTECH 0x13ad Baltech vendor CISCOLINKSYS 0x13b1 Cisco-Linksys vendor SHARK 0x13d2 Shark + vendor PENMOUNT 0x14e1 PenMount vendor HUAWEI3COM 0x1472 Huawei 3Com vendor SILICOM 0x1485 Silicom vendor RALINK 0x1485 Ralink Technology *************** product PEN MOBILEDRIVE 0x0280 USB 3 in *** 1607,1612 **** --- 1608,1616 ---- product PEN USBDISK 0x0d7d USB Disk product PEN ATTACHE 0x1300 USB 2.0 Flash Drive + /* PenMount products */ + product PENMOUNT PM6000 0x6000 PenMount 6000 + /* Peracom products */ product PERACOM SERIAL1 0x0001 Serial Converter product PERACOM ENET 0x0002 Ethernet adapter *************** product PUTERCOM UPA100 0x047e USB-1284 *** 1707,1712 **** --- 1711,1717 ---- /* Qcom products */ product QCOM RT2573 0x6196 RT2573 product QCOM RT2573_2 0x6229 RT2573 + product QCOM RT2573_3 0x6238 RT2573 /* Qtronix products */ product QTRONIX 980N 0x2011 Scorpion-980N keyboard