NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/45908: Roland UM-ONE and Telldus Tellstick USB devices not recognized



>Number:         45908
>Category:       kern
>Synopsis:       Roland UM-ONE and Telldus Tellstick USB devices not recognized
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Wed Feb 01 14:00:00 +0000 2012
>Originator:     Tom Ivar Helbekkmo
>Release:        NetBSD 5.99.60 per 2012-01-24
>Organization:
>Environment:
System: NetBSD athene.hamartun.priv.no 5.99.60 NetBSD 5.99.60 (ATHENE) #31: Tue 
Jan 31 21:40:41 CET 2012 
tih%athene.hamartun.priv.no@localhost:/usr/obj/sys/arch/i386/compile.i386/ATHENE
 i386
Architecture: i386
Machine: i386
>Description:

Roland's new low-cost USB MIDI interface, the UM-ONE, is not supported
by NetBSD.  Since the interface, as far as the driver in NetBSD is
concerned, works just like the old UM-1, it's very simple to fix this.

The Swedish company Telldus seems to have changed their name from
Metageek, and now market a home automation product called the
Tellstick.  Support for this new device, and its big brother, the
Tellstick Duo, as ucom over uftdi devices, is also simple to add.

>How-To-Repeat:

Connect a Roland UM-ONE, and observe that it is not recognized as umidi.
Connect a Tellstick, and observe that it is not recognized as uftdi/ucom.

>Fix:

Apply the following patch:

Index: sys/dev/usb/uftdi.c
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/uftdi.c,v
retrieving revision 1.50
diff -u -r1.50 uftdi.c
--- sys/dev/usb/uftdi.c 23 Dec 2011 00:51:45 -0000      1.50
+++ sys/dev/usb/uftdi.c 1 Feb 2012 13:35:59 -0000
@@ -153,6 +153,8 @@
        { USB_VENDOR_SEALEVEL, USB_PRODUCT_SEALEVEL_SEAPORT4P3 },
        { USB_VENDOR_SEALEVEL, USB_PRODUCT_SEALEVEL_SEAPORT4P4 },
        { USB_VENDOR_SIIG2, USB_PRODUCT_SIIG2_US2308 },
+       { USB_VENDOR_TELLDUS, USB_PRODUCT_TELLDUS_TELLSTICK },
+       { USB_VENDOR_TELLDUS, USB_PRODUCT_TELLDUS_TELLSTICK_DUO },
 };
 #define uftdi_lookup(v, p) usb_lookup(uftdi_devs, v, p)
 
Index: sys/dev/usb/umidi_quirks.c
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/umidi_quirks.c,v
retrieving revision 1.16
diff -u -r1.16 umidi_quirks.c
--- sys/dev/usb/umidi_quirks.c  8 Jul 2008 11:34:43 -0000       1.16
+++ sys/dev/usb/umidi_quirks.c  1 Feb 2012 13:35:59 -0000
@@ -515,6 +515,22 @@
 };
 
 /*
+ * ROLAND UM-ONE
+ */
+UMQ_FIXED_EP_DATA_DEF(ROLAND, ROLAND_UMONE, ANYIFACE, 1, 1) = {
+       /* out */
+       { 0, 1 },
+       /* in */
+       { 1, 1 }
+};
+UMQ_FIXED_EP_DEF(ROLAND, ROLAND_UMONE, ANYIFACE, 1, 1);
+
+UMQ_DEF(ROLAND, ROLAND_UMONE, ANYIFACE) = {
+       UMQ_FIXED_EP_REG(ROLAND, ROLAND_UMONE, ANYIFACE),
+       UMQ_TERMINATOR
+};
+
+/*
  * Midiman Midisport 2x4. This has 2 physical MIDI IN jacks that are read
  * on endpoint 0x81 (descriptor index 0). It has 4 physical MIDI OUT jacks
  * that can be written on endpoints 2 or 4 (at descriptor index 2 or 4,
@@ -587,6 +603,7 @@
        UMQ_REG(ROLAND, ROLAND_UA25, 2),
        UMQ_REG(ROLAND, ROLAND_UA4FX, 2),
        UMQ_REG(ROLAND, ROLAND_SONICCELL, 2),
+       UMQ_REG(ROLAND, ROLAND_UMONE, ANYIFACE),
        UMQ_REG(MIDIMAN, MIDIMAN_MIDISPORT2X4, ANYIFACE),
        { .vendor = 0 },
 };
Index: sys/dev/usb/usb_quirks.c
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/usb_quirks.c,v
retrieving revision 1.73
diff -u -r1.73 usb_quirks.c
--- sys/dev/usb/usb_quirks.c    23 Dec 2011 00:51:48 -0000      1.73
+++ sys/dev/usb/usb_quirks.c    1 Feb 2012 13:35:59 -0000
@@ -63,7 +63,7 @@
        ANY,    { UQ_HID_IGNORE }},
  { USB_VENDOR_TRIPPLITE2, USB_PRODUCT_TRIPPLITE2_UPS,      
        ANY,   { UQ_HID_IGNORE }},
- { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY_24X, ANY, { UQ_HID_IGNORE 
}},
+ { USB_VENDOR_TELLDUS, USB_PRODUCT_TELLDUS_WISPY_24X, ANY, { UQ_HID_IGNORE }},
 
  { USB_VENDOR_KYE, USB_PRODUCT_KYE_NICHE,          0x100, { UQ_NO_SET_PROTO}},
  { USB_VENDOR_INSIDEOUT, USB_PRODUCT_INSIDEOUT_EDGEPORT4,
Index: sys/dev/usb/usbdevs
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/usbdevs,v
retrieving revision 1.606
diff -u -r1.606 usbdevs
--- sys/dev/usb/usbdevs 21 Jan 2012 12:50:28 -0000      1.606
+++ sys/dev/usb/usbdevs 1 Feb 2012 13:35:59 -0000
@@ -504,7 +504,7 @@
 vendor SENAO           0x1740  Senao
 vendor ASUSTEK2                0x1761  ASUSTeK Computer
 vendor SWEEX2          0x177f  Sweex
-vendor METAGEEK                0x1781  MetaGeek
+vendor TELLDUS         0x1781  Telldus
 vendor DISPLAYLINK     0x17e9  DisplayLink
 vendor E3C             0x18b4  E3C Technologies
 vendor AMIT            0x18c5  AMIT
@@ -1858,8 +1858,10 @@
 /* Merlin products */
 product MERLIN V620             0x1110  Merlin V620
 
-/* MetaGeek products */
-product METAGEEK WISPY_24X     0x083f  Wi-Spy 2.4x
+/* Telldus products */
+product TELLDUS WISPY_24X      0x083f  Wi-Spy 2.4x
+product TELLDUS TELLSTICK      0x0c30  Tellstick
+product TELLDUS TELLSTICK_DUO  0x0c31  Tellstick Duo
 
 /* Metricom products */
 product METRICOM RICOCHET_GS   0x0001  Ricochet GS
@@ -2414,6 +2416,7 @@
 product ROLAND UM3             0x009A  EDIROL UM-3
 product ROLAND UA4FX           0x00A3  EDIROL UA-4FX
 product ROLAND SONICCELL       0x00C2  SonicCell
+product ROLAND UMONE           0x012a  UM-ONE MIDI I/F
 
 /* Sagem products */
 product SAGEM XG760A           0x004a  XG-760A



Home | Main Index | Thread Index | Old Index