Re: Fw: [patch 02/03 v2] usb hid quirks for Masterkit MA901 usb radio
On 27.03.2013 21:33, Alexey Klimov wrote: [patch 1/2] hid: fix Masterkit MA901 hid quirks [patch 2/2] media: radio-ma901: return ENODEV in probe if usb_device doesn't match I spend some time testing them trying to figure out right scenarios and i hope i did correct checks. It will be nice if someone can test patches because i don't have any devices with same USB IDs as radio-ma901. Thanks Alexey, I am using an infrared receiver running the same software Dirk uses, applied your [patch 1/2] against a vanilla kernel v3.4.38 on my vdr machine. The hidraw device is generated again as expected. This is my USB device: idVendor 0x16c0 VOTI idProduct 0x05df bcdDevice1.08 iManufacturer 1 www.mikrocontroller.net/articles/USB_IR_Remote_Receiver iProduct2 USB IR Remote Receiver Thanks and best regards, Alexey. Thanks, Lars -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Fw: [patch 02/03 v2] usb hid quirks for Masterkit MA901 usb radio
On Wed, Mar 27, 2013 at 2:18 PM, Jiri Kosina wrote: > On Tue, 19 Mar 2013, Alexey Klimov wrote: > >> Yes, i just checked how hid_ignore() works and prepared dirty fix to >> test in almost the same way like it's done for Keene usb driver. I >> will send correct fix in next few days. > > Any news on this, please? Hi Jiri, I'm very very sorry (was busy because of life). I just sent two patches to you, Mauro and two mail lists: [patch 1/2] hid: fix Masterkit MA901 hid quirks [patch 2/2] media: radio-ma901: return ENODEV in probe if usb_device doesn't match Please check. First one for hid layer, so maybe you can take it directly through your tree. I hope it's not too late. I think Mauro will take second patch. I spend some time testing them trying to figure out right scenarios and i hope i did correct checks. It will be nice if someone can test patches because i don't have any devices with same USB IDs as radio-ma901. Thanks and best regards, Alexey. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Fw: [patch 02/03 v2] usb hid quirks for Masterkit MA901 usb radio
On Tue, 19 Mar 2013, Alexey Klimov wrote: > Yes, i just checked how hid_ignore() works and prepared dirty fix to > test in almost the same way like it's done for Keene usb driver. I > will send correct fix in next few days. Any news on this, please? -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Fw: [patch 02/03 v2] usb hid quirks for Masterkit MA901 usb radio
On Tue, 19 Mar 2013, Alexey Klimov wrote: > > Or Mauro, as the original patch went in through your tree, are you > > handling that? > > I think we really need to revert it before final release. It's already -rc3. If Mauro is currently too busy to handle this, I will take it. Please send it to me together with the appropriate hid_ignore() patch. Thanks, -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Fw: [patch 02/03 v2] usb hid quirks for Masterkit MA901 usb radio
On Mon, Mar 18, 2013 at 5:51 PM, Jiri Kosina wrote: > On Fri, 15 Mar 2013, Alexey Klimov wrote: > >> > indeed your patch breaks Atmega applications which using V-USB >> > (http://www.obdev.at/products/vusb/index.html), because 0x16c0, 0x05df are >> > the default Ids of V-USB. >> > >> > Have a look at this FAQ >> > >> > https://github.com/obdev/v-usb/blob/master/usbdrv/USB-ID-FAQ.txt >> > >> > It seems that the Masterkit M901 also uses V-USB. >> > >> > I'm using an IR remote control receiver based on Atmega8 with V-USB. Since >> > Kernel 3.8.2 there is no more hidraw device for my receiver, so I had to >> > change the Device-ID to 0x27d9. I think there are a lot of other V-USB >> > applications with similar problems. >> > >> > Dirk >> >> Exactly. That's why i tried to point it out. Thanks for explaining >> this in simplier words. >> >> It's difficult to answer on top posting emails. >> >> I don't understand one thing about your letter. Did you put >> linux-media kernel list in bcc (hide copy)? Is there any reason for >> this? http://www.mail-archive.com/linux-media@vger.kernel.org/msg59714.html >> >> Mauro, Jiri, >> can we revert this patch? If you need any ack or sign from me i'm >> ready to send it. >> >> I can contact people who cares about stable trees and ask them to >> revert this patch from stable trees. >> >> During 3.9-rcX cycle i can try to figure out some fix or additional >> checks for radio-ma901.c driver. > > I can revert 0322bd3980 and push it out to Linus for 3.9 still, Ccing > stable. > > Or Mauro, as the original patch went in through your tree, are you > handling that? I think we really need to revert it before final release. It's already -rc3. > Also additional work will be needed later to properly detect the > underlying device ... the best thing to do here is to put an entry into > hid_ignore(), similar to what we do for example for Keene FM vs. Logitech > AudioHub. Yes, i just checked how hid_ignore() works and prepared dirty fix to test in almost the same way like it's done for Keene usb driver. I will send correct fix in next few days. Thanks. Best regards, Klimov Alexey -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Fw: [patch 02/03 v2] usb hid quirks for Masterkit MA901 usb radio
On Fri, 15 Mar 2013, Alexey Klimov wrote: > > indeed your patch breaks Atmega applications which using V-USB > > (http://www.obdev.at/products/vusb/index.html), because 0x16c0, 0x05df are > > the default Ids of V-USB. > > > > Have a look at this FAQ > > > > https://github.com/obdev/v-usb/blob/master/usbdrv/USB-ID-FAQ.txt > > > > It seems that the Masterkit M901 also uses V-USB. > > > > I'm using an IR remote control receiver based on Atmega8 with V-USB. Since > > Kernel 3.8.2 there is no more hidraw device for my receiver, so I had to > > change the Device-ID to 0x27d9. I think there are a lot of other V-USB > > applications with similar problems. > > > > Dirk > > Exactly. That's why i tried to point it out. Thanks for explaining > this in simplier words. > > It's difficult to answer on top posting emails. > > I don't understand one thing about your letter. Did you put > linux-media kernel list in bcc (hide copy)? Is there any reason for > this? http://www.mail-archive.com/linux-media@vger.kernel.org/msg59714.html > > Mauro, Jiri, > can we revert this patch? If you need any ack or sign from me i'm > ready to send it. > > I can contact people who cares about stable trees and ask them to > revert this patch from stable trees. > > During 3.9-rcX cycle i can try to figure out some fix or additional > checks for radio-ma901.c driver. I can revert 0322bd3980 and push it out to Linus for 3.9 still, Ccing stable. Or Mauro, as the original patch went in through your tree, are you handling that? Also additional work will be needed later to properly detect the underlying device ... the best thing to do here is to put an entry into hid_ignore(), similar to what we do for example for Keene FM vs. Logitech AudioHub. -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Fw: [patch 02/03 v2] usb hid quirks for Masterkit MA901 usb radio
On Thu, Mar 14, 2013 at 2:20 PM, Dirk E. Wagner wrote: > Hi Alexey, Hi Dirk, Mauro, Jiri > indeed your patch breaks Atmega applications which using V-USB > (http://www.obdev.at/products/vusb/index.html), because 0x16c0, 0x05df are > the default Ids of V-USB. > > Have a look at this FAQ > > https://github.com/obdev/v-usb/blob/master/usbdrv/USB-ID-FAQ.txt > > It seems that the Masterkit M901 also uses V-USB. > > I'm using an IR remote control receiver based on Atmega8 with V-USB. Since > Kernel 3.8.2 there is no more hidraw device for my receiver, so I had to > change the Device-ID to 0x27d9. I think there are a lot of other V-USB > applications with similar problems. > > Dirk Exactly. That's why i tried to point it out. Thanks for explaining this in simplier words. It's difficult to answer on top posting emails. I don't understand one thing about your letter. Did you put linux-media kernel list in bcc (hide copy)? Is there any reason for this? http://www.mail-archive.com/linux-media@vger.kernel.org/msg59714.html Mauro, Jiri, can we revert this patch? If you need any ack or sign from me i'm ready to send it. I can contact people who cares about stable trees and ask them to revert this patch from stable trees. During 3.9-rcX cycle i can try to figure out some fix or additional checks for radio-ma901.c driver. -- Thanks & best regards, Klimov Alexey -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Fw: [patch 02/03 v2] usb hid quirks for Masterkit MA901 usb radio
Hi Alexey, indeed your patch breaks Atmega applications which using V-USB (http://www.obdev.at/products/vusb/index.html), because 0x16c0, 0x05df are the default Ids of V-USB. Have a look at this FAQ https://github.com/obdev/v-usb/blob/master/usbdrv/USB-ID-FAQ.txt It seems that the Masterkit M901 also uses V-USB. I'm using an IR remote control receiver based on Atmega8 with V-USB. Since Kernel 3.8.2 there is no more hidraw device for my receiver, so I had to change the Device-ID to 0x27d9. I think there are a lot of other V-USB applications with similar problems. Dirk Am 12.03.2013 00:25, schrieb Alexey Klimov: Hi Jiri and Mauro, all, On Fri, Dec 28, 2012 at 4:29 PM, Mauro Carvalho Chehab wrote: Hi Jiri, There's another radio device that it is incorrectly detected as an HID driver. As I'll be applying the driver's patch via the media tree, do you mind if I also apply this hid patch there? Thanks! Mauro Forwarded message: Date: Mon, 12 Nov 2012 07:57:03 +0100 From: Alexey Klimov To: linux-media@vger.kernel.org [2] Subject: [patch 02/03 v2] usb hid quirks for Masterkit MA901 usb radio Don't let Masterkit MA901 USB radio be handled by usb hid drivers. This device will be handled by radio-ma901.c driver. Signed-off-by: Alexey Klimov diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index 5de3bb3..8e06569 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c @@ -2025,6 +2025,7 @@ static const struct hid_device_id hid_ignore_list[] = { { HID_USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_HYBRID) }, { HID_USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_HEATCONTROL) }, { HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_BEATPAD) }, + { HID_USB_DEVICE(USB_VENDOR_ID_MASTERKIT, USB_DEVICE_ID_MASTERKIT_MA901RADIO) }, { HID_USB_DEVICE(USB_VENDOR_ID_MCC, USB_DEVICE_ID_MCC_PMD1024LS) }, { HID_USB_DEVICE(USB_VENDOR_ID_MCC, USB_DEVICE_ID_MCC_PMD1208LS) }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROCHIP, USB_DEVICE_ID_PICKIT1) }, diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 1dcb76f..17aa4f6 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -533,6 +533,9 @@ #define USB_VENDOR_ID_MADCATZ 0x0738 #define USB_DEVICE_ID_MADCATZ_BEATPAD 0x4540 +#define USB_VENDOR_ID_MASTERKIT 0x16c0 +#define USB_DEVICE_ID_MASTERKIT_MA901RADIO 0x05df + #define USB_VENDOR_ID_MCC 0x09db #define USB_DEVICE_ID_MCC_PMD1024LS 0x0076 #define USB_DEVICE_ID_MCC_PMD1208LS 0x007a Well, since patch also was pushed to stable trees like 3.5, 3.8, 3.2 and this fact made me look a little closer to usb ids. Actually, i googled these usb ids: 16c0 05df, link: http://www.google.com/search?q=16c0+05df [5] and here comes some doubts. For my eyes it looks like this usb radio consists of two chips: atmel tiny85 + actually fm tuner KT0830EG. It looks like tiny85 is used in many devices with the same usb ids like in our patch and people works with tiny85 using some software under linux. I don't know if linux software using hiddev/hidraw devices but this patch doesn't allow appearing of /dev/hiddev or /dev/hidraw files for any usb device with ids 0x16c0 0x05df, right? Is there any chance that using such patch we can break some linux software that uses /dev/hid* files and related functionality to communicate with tiny85? Please note that i'm not expert in tiny85 chip and i don't have any deep knowledges on how usb ids are allocated for every device in the world. Masterkit company changed (or was able to change?) only Manufacturer, Product, Serial fields in ma901 usb radio. I attached lsusb output in the end of letter. Bad thing here is that Masterkit has other usb not radio devices with the same usb ids based on tiny85 on the market. Sorry if i'm over-alarmed, i just really dont want to break any userspace programs by this patch. If everything above is correct then i can use some dev->product, dev->manufacturer, dev->serial checks in probe() function in radio-ma901.c driver in the way like it's done in radio-keene.c driver in probe function. If for example probe will discover that product doesn't match then i can return -ENODEV. It's just an idea. But i don't know if it is possible to do something with hid quirks: revert and put comments somewhere or workaround and additional checks? Well, any comments are welcome. -- Best regards, Klimov Alexey lsusb output: Bus 003 Device 002: ID 16c0:05df VOTI Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x16c0 VOTI idProduct 0x05df bcdDevice 1.00 iManufacturer 1 www.masterkit.ru [6] iProduct 2 MA901 iSerial 3 SHS bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 250mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterface
Re: Fw: [patch 02/03 v2] usb hid quirks for Masterkit MA901 usb radio
Hi Jiri and Mauro, all, On Fri, Dec 28, 2012 at 4:29 PM, Mauro Carvalho Chehab wrote: > Hi Jiri, > > There's another radio device that it is incorrectly detected as an HID driver. > As I'll be applying the driver's patch via the media tree, do you mind if I > also > apply this hid patch there? > > Thanks! > Mauro > > Forwarded message: > > Date: Mon, 12 Nov 2012 07:57:03 +0100 > From: Alexey Klimov > To: linux-media@vger.kernel.org > Subject: [patch 02/03 v2] usb hid quirks for Masterkit MA901 usb radio > > > Don't let Masterkit MA901 USB radio be handled by usb hid drivers. > > This device will be handled by radio-ma901.c driver. > > Signed-off-by: Alexey Klimov > > > diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c > index 5de3bb3..8e06569 100644 > --- a/drivers/hid/hid-core.c > +++ b/drivers/hid/hid-core.c > @@ -2025,6 +2025,7 @@ static const struct hid_device_id hid_ignore_list[] = { > { HID_USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_HYBRID) }, > { HID_USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_HEATCONTROL) }, > { HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, > USB_DEVICE_ID_MADCATZ_BEATPAD) }, > + { HID_USB_DEVICE(USB_VENDOR_ID_MASTERKIT, > USB_DEVICE_ID_MASTERKIT_MA901RADIO) }, > { HID_USB_DEVICE(USB_VENDOR_ID_MCC, USB_DEVICE_ID_MCC_PMD1024LS) }, > { HID_USB_DEVICE(USB_VENDOR_ID_MCC, USB_DEVICE_ID_MCC_PMD1208LS) }, > { HID_USB_DEVICE(USB_VENDOR_ID_MICROCHIP, USB_DEVICE_ID_PICKIT1) }, > diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h > index 1dcb76f..17aa4f6 100644 > --- a/drivers/hid/hid-ids.h > +++ b/drivers/hid/hid-ids.h > @@ -533,6 +533,9 @@ > #define USB_VENDOR_ID_MADCATZ 0x0738 > #define USB_DEVICE_ID_MADCATZ_BEATPAD 0x4540 > > +#define USB_VENDOR_ID_MASTERKIT0x16c0 > +#define USB_DEVICE_ID_MASTERKIT_MA901RADIO 0x05df > + > #define USB_VENDOR_ID_MCC 0x09db > #define USB_DEVICE_ID_MCC_PMD1024LS0x0076 > #define USB_DEVICE_ID_MCC_PMD1208LS0x007a Well, since patch also was pushed to stable trees like 3.5, 3.8, 3.2 and this fact made me look a little closer to usb ids. Actually, i googled these usb ids: 16c0 05df, link: http://www.google.com/search?q=16c0+05df and here comes some doubts. For my eyes it looks like this usb radio consists of two chips: atmel tiny85 + actually fm tuner KT0830EG. It looks like tiny85 is used in many devices with the same usb ids like in our patch and people works with tiny85 using some software under linux. I don't know if linux software using hiddev/hidraw devices but this patch doesn't allow appearing of /dev/hiddev or /dev/hidraw files for any usb device with ids 0x16c0 0x05df, right? Is there any chance that using such patch we can break some linux software that uses /dev/hid* files and related functionality to communicate with tiny85? Please note that i'm not expert in tiny85 chip and i don't have any deep knowledges on how usb ids are allocated for every device in the world. Masterkit company changed (or was able to change?) only Manufacturer, Product, Serial fields in ma901 usb radio. I attached lsusb output in the end of letter. Bad thing here is that Masterkit has other usb not radio devices with the same usb ids based on tiny85 on the market. Sorry if i'm over-alarmed, i just really dont want to break any userspace programs by this patch. If everything above is correct then i can use some dev->product, dev->manufacturer, dev->serial checks in probe() function in radio-ma901.c driver in the way like it's done in radio-keene.c driver in probe function. If for example probe will discover that product doesn't match then i can return -ENODEV. It's just an idea. But i don't know if it is possible to do something with hid quirks: revert and put comments somewhere or workaround and additional checks? Well, any comments are welcome. -- Best regards, Klimov Alexey lsusb output: Bus 003 Device 002: ID 16c0:05df VOTI Device Descriptor: bLength18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x16c0 VOTI idProduct 0x05df bcdDevice1.00 iManufacturer 1 www.masterkit.ru iProduct2 MA901 iSerial 3 SHS bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 250mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceS
Re: Fw: [patch 02/03 v2] usb hid quirks for Masterkit MA901 usb radio
On Fri, 28 Dec 2012, Mauro Carvalho Chehab wrote: > Hi Jiri, > > There's another radio device that it is incorrectly detected as an HID driver. > As I'll be applying the driver's patch via the media tree, do you mind if I > also > apply this hid patch there? Hi Mauro, please feel free to add Acked-by: Jiri Kosina and take the patch through your tree. Thanks, -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Fw: [patch 02/03 v2] usb hid quirks for Masterkit MA901 usb radio
Hi Jiri, There's another radio device that it is incorrectly detected as an HID driver. As I'll be applying the driver's patch via the media tree, do you mind if I also apply this hid patch there? Thanks! Mauro Forwarded message: Date: Mon, 12 Nov 2012 07:57:03 +0100 From: Alexey Klimov To: linux-media@vger.kernel.org Subject: [patch 02/03 v2] usb hid quirks for Masterkit MA901 usb radio Don't let Masterkit MA901 USB radio be handled by usb hid drivers. This device will be handled by radio-ma901.c driver. Signed-off-by: Alexey Klimov diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index 5de3bb3..8e06569 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c @@ -2025,6 +2025,7 @@ static const struct hid_device_id hid_ignore_list[] = { { HID_USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_HYBRID) }, { HID_USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_HEATCONTROL) }, { HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_BEATPAD) }, + { HID_USB_DEVICE(USB_VENDOR_ID_MASTERKIT, USB_DEVICE_ID_MASTERKIT_MA901RADIO) }, { HID_USB_DEVICE(USB_VENDOR_ID_MCC, USB_DEVICE_ID_MCC_PMD1024LS) }, { HID_USB_DEVICE(USB_VENDOR_ID_MCC, USB_DEVICE_ID_MCC_PMD1208LS) }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROCHIP, USB_DEVICE_ID_PICKIT1) }, diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 1dcb76f..17aa4f6 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -533,6 +533,9 @@ #define USB_VENDOR_ID_MADCATZ 0x0738 #define USB_DEVICE_ID_MADCATZ_BEATPAD 0x4540 +#define USB_VENDOR_ID_MASTERKIT0x16c0 +#define USB_DEVICE_ID_MASTERKIT_MA901RADIO 0x05df + #define USB_VENDOR_ID_MCC 0x09db #define USB_DEVICE_ID_MCC_PMD1024LS0x0076 #define USB_DEVICE_ID_MCC_PMD1208LS0x007a -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html