Re: UQ_BAD_HID

2012-08-12 Thread RD Thrush
On 08/10/12 08:13, Stuart Henderson wrote:
> On 2012/08/10 13:46, Martin Pieuchot wrote:
>>
>> I'm also in favor of removing quirks however I would suggest to remove
>> them on a case-by-case basis until libusb have full support for
>> communicating with any usb device (hopefully in this release cycle). 
> 
> Many items on that list are UPS which share a single usbhid-ups driver
> in NUT and were added speculatively from NUT's vid/pid list.
> 
> I think it would be safe to remove quirks for the devices which
> are only supported by the common NUT driver.  Do you think this is
> reasonable?
> 
> We have other software in the ports tree (sysutils/apcupsd, not
> sysutils/apc-upsd which is different) that can drive USB-connected APC
> devices so, given your comments, so I'd like to see that tested
> before removing the UQ_BAD_HID for APC UPS.
> 
> Index: usb_quirks.c
> [...snip...]

apcupsd fails when running a kernel without the UQ_BAD_HID quirk entries.

I also noticed 50+ new uhidev entries in the dmesg since the Aug 1 snapshot.
dmesg at end.  I'm reverting to the last snapshot.

I patched the apcupsd package to enable DEBUG and see the following:
x2:Projects/apcupsd 949>diff -wbu /etc/rc.conf.local.20120612 /etc/rc.conf.local
--- /etc/rc.conf.local.20120612 Tue Jun 12 21:21:01 2012
+++ /etc/rc.conf.local  Sun Aug 12 18:13:39 2012
@@ -12,3 +12,4 @@
 sshd_flags="-u0"   # for normal use: ""
 wsmoused_flags=""  # for ps/2 or usb mice: "", serial: "-p /dev/cua00"
 pkg_scripts="samba spamassassin dbus_daemon arpwatch ladvd apcupsd"
+apcupsd_flags="--kill-on-powerfail -d301"
x2:Projects/apcupsd 950>sudo /etc/rc.d/apcupsd -d start
doing rc_read_runfile
doing rc_check
apcupsd
doing rc_pre
doing rc_start
0.000 apcupsd: apcupsd.c:219 Options parsed.
0.001 apcupsd: apcconfig.c:799 After config scriptdir: "/etc/apcupsd"
0.001 apcupsd: apcconfig.c:800 After config pwrfailpath: "/etc/apcupsd"
0.001 apcupsd: apcconfig.c:801 After config nologinpath: "/etc"
0.001 apcupsd: apcupsd.c:242 Config file /etc/apcupsd/apcupsd.conf processed.
0.001 apcupsd: newups.c:102 write_lock at drivers.c:208
0.013 apcupsd: drivers.c:210 Looking for driver: usb
0.013 apcupsd: drivers.c:214 Driver dumb is configured.
0.013 apcupsd: drivers.c:214 Driver apcsmart is configured.
0.013 apcupsd: drivers.c:214 Driver net is configured.
0.013 apcupsd: drivers.c:214 Driver usb is configured.
0.013 apcupsd: drivers.c:217 Driver usb found and attached.
0.013 apcupsd: newups.c:108 write_unlock at drivers.c:234
0.013 apcupsd: drivers.c:236 Driver ptr=0x5357a0
0.013 apcupsd: apcupsd.c:261 Attached to driver: usb
doing rc_write_runfile
(ok)
x2:Projects/apcupsd 951>0.018 apcupsd: newups.c:102 write_lock at bsd-usb.c:728
0.018 apcupsd: bsd-usb.c:253 Found bus /dev/usb0.
0.019 apcupsd: bsd-usb.c:253 Found bus /dev/usb1.
0.061 apcupsd: bsd-usb.c:253 Found bus /dev/usb2.
0.061 apcupsd: bsd-usb.c:253 Found bus /dev/usb3.
0.062 apcupsd: bsd-usb.c:253 Found bus /dev/usb4.
0.062 apcupsd: newups.c:108 write_unlock at bsd-usb.c:747
apcupsd FATAL ERROR in bsd-usb.c at line 755
Cannot find UPS device --
For a link to detailed USB trouble shooting information,
please see <http://www.apcupsd.com/support.html>.
0.063 apcupsd: apclog.c:62 apcupsd FATAL ERROR in bsd-usb.c at line 755
Cannot find UPS device --
For a link to detailed USB trouble shooting information,
please see <http://www.apcupsd.com/support.html>.

0.063 apcupsd: newups.c:102 write_lock at bsd-usb.c:770
0.064 apcupsd: newups.c:108 write_unlock at bsd-usb.c:777
0.064 apcupsd: apclog.c:62 apcupsd error shutdown completed


### dmesg stuff ###
With the Aug 1 snapshot kernel the APC UPS showed as:
ugen0 at uhub1 port 1 "American Power Conversion Smart-UPS 1000 XL FW:631.3.D 
USB FW:1.5" rev 1.10/0.06 addr 2

OpenBSD 5.2-current (USB_UPS) #0: Sun Aug 12 16:35:33 EDT 2012
r...@x2.thrush.com:/usr/src/sys/arch/amd64/compile/USB_UPS
real mem = 1072365568 (1022MB)
avail mem = 1021456384 (974MB)
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.3 @ 0xf0530 (67 entries)
bios0: vendor American Megatrends Inc. version "0221" date 12/06/2005
bios0: ASUSTeK Computer Inc. A8V
acpi0 at bios0: rev 2
acpi0: sleep states S0 S1 S3 S4 S5
acpi0: tables DSDT FACP APIC OEMB
acpi0: wakeup devices PCI0(S4) PS2K(S4) PS2M(S4) UAR1(S4) AC97(S4) USB1(S4) 
USB2(S4) USB3(S4) USB4(S4) EHCI(S4) PWRB(S4) SLPB(S4)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee0: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+, 2002.86 MHz
cpu0: 
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW,LAHF,CMPLEG
cpu0: 64KB 64b/line 2-way I-cache, 64KB 6

Re: UQ_BAD_HID

2012-08-11 Thread Vijay Sankar

Quoting Stuart Henderson :


On 2012/08/10 10:05, Vijay Sankar wrote:


I tested one APC UPS I have here with apcupsd and it works well. If
this information is of any use, please let me know and I can test it
with other APC UPS'es we have here (ES 550 etc.) and report back.


Thanks, is that with the APC entries in usb_quirks.c removed?
You can check in dmesg that the UPS attaches to uhid(4) rather
than ugen(4).


Also, apcupsd.org documentation indicates that using apcupsd will
result in loss of USB keyboards and mice on OpenBSD. I did not have
such problems with my setup -- my USB keyboard and mouse works fine
so far.


This is pretty old information. Before the quirk was added (in
2007), it would have been necessary to disable the uhid(4) driver
in kernel config to allow the UPS to attach to ugen(4) instead.

But now in -current/5.2 it's possible to carry out certain
operations from userland even though a device is attached to a
driver other than ugen(4).




Thanks very much.

dmesg | grep APC

ugen0 at uhub3 port 4 "APC Back-UPS ES 650 FW:818.w1.D USB FW:w1" rev  
1.10/1.06 addr 5


I will remove the following

 { USB_VENDOR_APC, USB_PRODUCT_APC_UPS, ANY,{  
UQ_BAD_HID }},
 { USB_VENDOR_APC, USB_PRODUCT_APC_UPS5G,   ANY,{  
UQ_BAD_HID }},


and test it on a different system. Sorry about that.

Vijay

Vijay Sankar, M.Eng., P.Eng.
ForeTell Technologies Limited
vsan...@foretell.ca

-
This message was sent using ForeTell-POST 4.9



Re: UQ_BAD_HID

2012-08-11 Thread Stuart Henderson
On 2012/08/10 10:05, Vijay Sankar wrote:
> 
> I tested one APC UPS I have here with apcupsd and it works well. If
> this information is of any use, please let me know and I can test it
> with other APC UPS'es we have here (ES 550 etc.) and report back.

Thanks, is that with the APC entries in usb_quirks.c removed?
You can check in dmesg that the UPS attaches to uhid(4) rather
than ugen(4).

> Also, apcupsd.org documentation indicates that using apcupsd will
> result in loss of USB keyboards and mice on OpenBSD. I did not have
> such problems with my setup -- my USB keyboard and mouse works fine
> so far.

This is pretty old information. Before the quirk was added (in
2007), it would have been necessary to disable the uhid(4) driver
in kernel config to allow the UPS to attach to ugen(4) instead.

But now in -current/5.2 it's possible to carry out certain
operations from userland even though a device is attached to a
driver other than ugen(4).



Re: UQ_BAD_HID

2012-08-10 Thread Vijay Sankar

Quoting Stuart Henderson :


On 2012/08/10 13:46, Martin Pieuchot wrote:


I'm also in favor of removing quirks however I would suggest to remove
them on a case-by-case basis until libusb have full support for
communicating with any usb device (hopefully in this release cycle).


Many items on that list are UPS which share a single usbhid-ups driver
in NUT and were added speculatively from NUT's vid/pid list.

I think it would be safe to remove quirks for the devices which
are only supported by the common NUT driver.  Do you think this is
reasonable?

We have other software in the ports tree (sysutils/apcupsd, not
sysutils/apc-upsd which is different) that can drive USB-connected APC
devices so, given your comments, so I'd like to see that tested
before removing the UQ_BAD_HID for APC UPS.

Index: usb_quirks.c
===
RCS file: /cvs/src/sys/dev/usb/usb_quirks.c,v
retrieving revision 1.66
diff -u -p -r1.66 usb_quirks.c
--- usb_quirks.c31 Jan 2012 21:13:32 -  1.66
+++ usb_quirks.c10 Aug 2012 12:04:34 -
@@ -124,38 +124,13 @@ const struct usbd_quirk_entry {
  { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPAD,   ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPAD2,  ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_SPEAKERS,   ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C100,   ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C120,   ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C550AVR,ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C800,   ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C900,   ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1100,  ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1250EITWRK,	ANY,	{  
UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1500EITWRK,	ANY,	{  
UQ_BAD_HID }},

- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6H375,   ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_1500, ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_OR2200, ANY,	{  
UQ_BAD_HID }},

  { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_OLD,  ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM,  ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_FLASH,	ANY,	{  
UQ_BAD_HID }},

- { USB_VENDOR_DELL2, USB_PRODUCT_DELL2_UPS,    ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_T750, ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_T1000,ANY,    { 
UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_T1500,ANY,    { 
UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_RT2200,   ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_R1500G2,  ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_T750G2,   ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_IDOWELL, USB_PRODUCT_IDOWELL_IDOWELL,ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_ITUNER, USB_PRODUCT_ITUNER_USBLCD20x2,   ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_LIEBERT, USB_PRODUCT_LIEBERT_UPS,ANY,    { 
UQ_BAD_HID }},
- { USB_VENDOR_LIEBERT2, USB_PRODUCT_LIEBERT2_PSA,  ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_MECANIQUE, USB_PRODUCT_MECANIQUE_WISPY,  ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY24I, ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS1,   ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS2,   ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_MUSTEK2, USB_PRODUCT_MUSTEK2_PM800,  ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_OMRON, USB_PRODUCT_OMRON_BX35F,  ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_OMRON, USB_PRODUCT_OMRON_BX50F,  ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_TENX, USB_PRODUCT_TENX_MISSILE,  ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_TERRATEC, USB_PRODUCT_TERRATEC_AUREON,   ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_TI, USB_PRODUCT_TI_MSP430,   ANY,    { UQ_BAD_HID }},




Hi,

I tested one APC UPS I have here with apcupsd and it works well. If  
this information is of any use, please let me know and I can test it  
with other APC UPS'es we have here (ES 550 etc.) and report back.


Also, apcupsd.org documentation indicates that using apcupsd will  
result in loss of USB keyboards and mice on OpenBSD. I did not have  
such problems with my setup -- my USB keyboard and mouse works fine so  
far.


APC  : 001,034,0880
DATE : 2012-08-10 09:57:36 -0500
HOSTNAME : server3.foretell.ca
VERSION  : 3.14.10 (13 September 2011) openbsd
UPSNAME  : UPS1
CABLE: USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2012-08-10 09:50:29 -0500
MODEL 

Re: UQ_BAD_HID

2012-08-10 Thread Martin Pieuchot
On 10/08/12(Fri) 13:13, Stuart Henderson wrote:
> On 2012/08/10 13:46, Martin Pieuchot wrote:
> > 
> > I'm also in favor of removing quirks however I would suggest to remove
> > them on a case-by-case basis until libusb have full support for
> > communicating with any usb device (hopefully in this release cycle). 
> 
> Many items on that list are UPS which share a single usbhid-ups driver
> in NUT and were added speculatively from NUT's vid/pid list.
> 
> I think it would be safe to remove quirks for the devices which
> are only supported by the common NUT driver.  Do you think this is
> reasonable?

If they use the same userland driver and work well for you, then yes it
sounds reasonable, ok mpi@.

> We have other software in the ports tree (sysutils/apcupsd, not
> sysutils/apc-upsd which is different) that can drive USB-connected APC
> devices so, given your comments, so I'd like to see that tested
> before removing the UQ_BAD_HID for APC UPS.
> 
> Index: usb_quirks.c
> ===
> RCS file: /cvs/src/sys/dev/usb/usb_quirks.c,v
> retrieving revision 1.66
> diff -u -p -r1.66 usb_quirks.c
> --- usb_quirks.c  31 Jan 2012 21:13:32 -  1.66
> +++ usb_quirks.c  10 Aug 2012 12:04:34 -
> @@ -124,38 +124,13 @@ const struct usbd_quirk_entry {
>   { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPAD,     ANY,    { UQ_BAD_HID }},
>   { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPAD2,    ANY,{ 
> UQ_BAD_HID }},
>   { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_SPEAKERS, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C100, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C120, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C550AVR,  ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C800, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C900, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1100,ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1250EITWRK,  ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1500EITWRK,  ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6H375, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_1500,   ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_OR2200, ANY,{ 
> UQ_BAD_HID }},
>   { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_OLD,ANY,{ 
> UQ_BAD_HID }},
>   { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM,ANY,{ UQ_BAD_HID }},
>   { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_FLASH,  ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_DELL2, USB_PRODUCT_DELL2_UPS,  ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_HP, USB_PRODUCT_HP_T750,   ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_HP, USB_PRODUCT_HP_T1000,  ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_HP, USB_PRODUCT_HP_T1500,      ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_HP, USB_PRODUCT_HP_RT2200, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_HP, USB_PRODUCT_HP_R1500G2,ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_HP, USB_PRODUCT_HP_T750G2, ANY,{ UQ_BAD_HID }},
>   { USB_VENDOR_IDOWELL, USB_PRODUCT_IDOWELL_IDOWELL,  ANY,{ UQ_BAD_HID }},
>   { USB_VENDOR_ITUNER, USB_PRODUCT_ITUNER_USBLCD20x2, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_LIEBERT, USB_PRODUCT_LIEBERT_UPS,  ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_LIEBERT2, USB_PRODUCT_LIEBERT2_PSA,ANY,{ UQ_BAD_HID }},
>   { USB_VENDOR_MECANIQUE, USB_PRODUCT_MECANIQUE_WISPY,ANY,{ 
> UQ_BAD_HID }},
>   { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY24I,   ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS1, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS2, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_MUSTEK2, USB_PRODUCT_MUSTEK2_PM800,ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_OMRON, USB_PRODUCT_OMRON_BX35F,ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_OMRON, USB_PRODUCT_OMRON_BX50F,ANY,{ 
> UQ_BAD_HID }},
>   { USB_VENDOR_TENX, USB_PRODUCT_TENX_MISSILE,ANY,{ 
> UQ_BAD_HID }},
>   { USB_VENDOR_TERRATEC, USB_PRODUCT_TERRATEC_AUREON, ANY,{ UQ_BAD_HID }},
>   { USB_VENDOR_TI, USB_PRODUCT_TI_MSP430, ANY,{ UQ_BAD_HID }},



Re: UQ_BAD_HID

2012-08-10 Thread Stuart Henderson
On 2012/08/10 13:46, Martin Pieuchot wrote:
> 
> I'm also in favor of removing quirks however I would suggest to remove
> them on a case-by-case basis until libusb have full support for
> communicating with any usb device (hopefully in this release cycle). 

Many items on that list are UPS which share a single usbhid-ups driver
in NUT and were added speculatively from NUT's vid/pid list.

I think it would be safe to remove quirks for the devices which
are only supported by the common NUT driver.  Do you think this is
reasonable?

We have other software in the ports tree (sysutils/apcupsd, not
sysutils/apc-upsd which is different) that can drive USB-connected APC
devices so, given your comments, so I'd like to see that tested
before removing the UQ_BAD_HID for APC UPS.

Index: usb_quirks.c
===
RCS file: /cvs/src/sys/dev/usb/usb_quirks.c,v
retrieving revision 1.66
diff -u -p -r1.66 usb_quirks.c
--- usb_quirks.c31 Jan 2012 21:13:32 -  1.66
+++ usb_quirks.c10 Aug 2012 12:04:34 -
@@ -124,38 +124,13 @@ const struct usbd_quirk_entry {
  { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPAD,   ANY,{ UQ_BAD_HID }},
  { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPAD2,      ANY,{ UQ_BAD_HID }},
  { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_SPEAKERS,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C100,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C120,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C550AVR,ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C800,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C900,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1100,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1250EITWRK,    ANY,{ 
UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1500EITWRK,    ANY,{ 
UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6H375,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_1500, ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_OR2200, ANY,  { UQ_BAD_HID }},
  { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_OLD,  ANY,{ UQ_BAD_HID }},
  { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM,  ANY,{ UQ_BAD_HID }},
  { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_FLASH,    ANY,{ 
UQ_BAD_HID }},
- { USB_VENDOR_DELL2, USB_PRODUCT_DELL2_UPS,    ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_T750,     ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_T1000,    ANY,{ 
UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_T1500,    ANY,{ 
UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_RT2200,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_R1500G2,      ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_T750G2,   ANY,{ UQ_BAD_HID }},
  { USB_VENDOR_IDOWELL, USB_PRODUCT_IDOWELL_IDOWELL,ANY,{ UQ_BAD_HID }},
  { USB_VENDOR_ITUNER, USB_PRODUCT_ITUNER_USBLCD20x2,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_LIEBERT, USB_PRODUCT_LIEBERT_UPS,    ANY,{ 
UQ_BAD_HID }},
- { USB_VENDOR_LIEBERT2, USB_PRODUCT_LIEBERT2_PSA,  ANY,{ UQ_BAD_HID }},
  { USB_VENDOR_MECANIQUE, USB_PRODUCT_MECANIQUE_WISPY,  ANY,{ UQ_BAD_HID }},
  { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY24I, ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS1,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS2,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_MUSTEK2, USB_PRODUCT_MUSTEK2_PM800,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_OMRON, USB_PRODUCT_OMRON_BX35F,      ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_OMRON, USB_PRODUCT_OMRON_BX50F,      ANY,{ UQ_BAD_HID }},
  { USB_VENDOR_TENX, USB_PRODUCT_TENX_MISSILE,      ANY,{ UQ_BAD_HID }},
  { USB_VENDOR_TERRATEC, USB_PRODUCT_TERRATEC_AUREON,   ANY,{ UQ_BAD_HID }},
  { USB_VENDOR_TI, USB_PRODUCT_TI_MSP430,   ANY,{ UQ_BAD_HID }},



Re: UQ_BAD_HID

2012-08-10 Thread Martin Pieuchot
On 09/08/12(Thu) 12:31, Kenneth R Westerback wrote:
> On Thu, Aug 09, 2012 at 03:30:16PM +0100, Stuart Henderson wrote:
> > Thanks to mpi@, libusb now has some support for communicating
> > with devices even though they're not attached to ugen(4).
> > 
> > What do people think about removing the UQ_BAD_HID entries in
> > usb_quirks.c which prevents these devices from attaching to uhid(4)?
> > 
> > My Liebert UPS is okay, yubikeys can be successfully programmed,
> > and I'll try my wi-spy when I can find it, I wonder if people with
> > other listed devices could check and see if the listing is still
> > necessary?
> 
> I'm always supportive of removing quirks.

I'm also in favor of removing quirks however I would suggest to remove
them on a case-by-case basis until libusb have full support for
communicating with any usb device (hopefully in this release cycle). 

I'm quite sure some devices still need to be attached as ugen(4) to be
driven by the libusb. For example bmercer@'s pandaboard connector is
recognized as ucom(4) by default and cannot be used with libusb and I
think it should be the same problem with the TI_MSP430 listed below.

The reason behind this is that for the moment only ugen(4) attached
devices offer an interface to submit bulk, isochronous and interrupt
transfers. 

So ok for removing quirks of tested devices, but not all of them.

Martin

> > 
> > 
> > 
> > 
> > 
> > Index: usb_quirks.c
> > ===
> > RCS file: /cvs/src/sys/dev/usb/usb_quirks.c,v
> > retrieving revision 1.66
> > diff -u -p -r1.66 usb_quirks.c
> > --- usb_quirks.c31 Jan 2012 21:13:32 -  1.66
> > +++ usb_quirks.c9 Aug 2012 14:23:41 -
> > @@ -109,59 +109,6 @@ const struct usbd_quirk_entry {
> >   { USB_VENDOR_NEC, USB_PRODUCT_NEC_PICTY920,   ANY,   { 
> > UQ_BROKEN_BIDIR }},
> >   { USB_VENDOR_NEC, USB_PRODUCT_NEC_PICTY800,   ANY,   { 
> > UQ_BROKEN_BIDIR }},
> >  
> > - { USB_VENDOR_APC, USB_PRODUCT_APC_UPS,    ANY,{ 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_APC, USB_PRODUCT_APC_UPS5G,  ANY,{ UQ_BAD_HID }},
> > - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE, ANY,{ 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_3G,  ANY,{ UQ_BAD_HID }},
> > - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_3GS, ANY,{ UQ_BAD_HID }},
> > - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_4_CDMA,  ANY,{ 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_4_GSM,   ANY,{ 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_4S,  ANY,{ UQ_BAD_HID }},
> > - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPOD_TOUCH, ANY,    { UQ_BAD_HID }},
> > - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPOD_TOUCH_2G,  ANY,    { 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPOD_TOUCH_3G,  ANY,{ 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPOD_TOUCH_4G,  ANY,{ 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPAD,   ANY,{ 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPAD2,  ANY,{ 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_SPEAKERS,   ANY,    { UQ_BAD_HID }},
> > - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C100,   ANY,{ UQ_BAD_HID }},
> > - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C120,   ANY,{ UQ_BAD_HID }},
> > - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C550AVR,    ANY,{ 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C800,   ANY,{ UQ_BAD_HID }},
> > - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C900,   ANY,{ UQ_BAD_HID }},
> > - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1100,  ANY,{ UQ_BAD_HID }},
> > - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1250EITWRK,ANY,{ 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1500EITWRK,ANY,{ 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6H375,   ANY,{ UQ_BAD_HID }},
> > - { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_1500, ANY,{ 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_OR2200, ANY,  { 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_OLD,  ANY,{ 
> > UQ_BAD_HID }},
> > - { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM,  ANY,{ UQ_BAD_HID }},
> > - { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_FLASH,ANY,{ 

Re: UQ_BAD_HID

2012-08-09 Thread Kenneth R Westerback
On Thu, Aug 09, 2012 at 03:30:16PM +0100, Stuart Henderson wrote:
> Thanks to mpi@, libusb now has some support for communicating
> with devices even though they're not attached to ugen(4).
> 
> What do people think about removing the UQ_BAD_HID entries in
> usb_quirks.c which prevents these devices from attaching to uhid(4)?
> 
> My Liebert UPS is okay, yubikeys can be successfully programmed,
> and I'll try my wi-spy when I can find it, I wonder if people with
> other listed devices could check and see if the listing is still
> necessary?

I'm always supportive of removing quirks.

 Ken

> 
> 
> 
> 
> 
> Index: usb_quirks.c
> ===
> RCS file: /cvs/src/sys/dev/usb/usb_quirks.c,v
> retrieving revision 1.66
> diff -u -p -r1.66 usb_quirks.c
> --- usb_quirks.c  31 Jan 2012 21:13:32 -  1.66
> +++ usb_quirks.c  9 Aug 2012 14:23:41 -
> @@ -109,59 +109,6 @@ const struct usbd_quirk_entry {
>   { USB_VENDOR_NEC, USB_PRODUCT_NEC_PICTY920, ANY,   { UQ_BROKEN_BIDIR }},
>   { USB_VENDOR_NEC, USB_PRODUCT_NEC_PICTY800, ANY,   { UQ_BROKEN_BIDIR }},
>  
> - { USB_VENDOR_APC, USB_PRODUCT_APC_UPS,  ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_APC, USB_PRODUCT_APC_UPS5G,ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE,   ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_3G,ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_3GS,   ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_4_CDMA,ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_4_GSM, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_4S,ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPOD_TOUCH,   ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPOD_TOUCH_2G,ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPOD_TOUCH_3G,ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPOD_TOUCH_4G,ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPAD, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPAD2,ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_SPEAKERS, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C100, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C120, ANY,    { UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C550AVR,  ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C800, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C900, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1100,ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1250EITWRK,  ANY,    { 
> UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1500EITWRK,  ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6H375, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_1500,   ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_OR2200, ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_OLD,ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM,ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_FLASH,  ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_DELL2, USB_PRODUCT_DELL2_UPS,  ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_HP, USB_PRODUCT_HP_T750,   ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_HP, USB_PRODUCT_HP_T1000,  ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_HP, USB_PRODUCT_HP_T1500,  ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_HP, USB_PRODUCT_HP_RT2200, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_HP, USB_PRODUCT_HP_R1500G2,ANY,    { UQ_BAD_HID }},
> - { USB_VENDOR_HP, USB_PRODUCT_HP_T750G2, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_IDOWELL, USB_PRODUCT_IDOWELL_IDOWELL,  ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_ITUNER, USB_PRODUCT_ITUNER_USBLCD20x2, ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_LIEBERT, USB_PRODUCT_LIEBERT_UPS,  ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_LIEBERT2, USB_PRODUCT_LIEBERT2_PSA,ANY,{ UQ_BAD_HID }},
> - { USB_VENDOR_MECANIQUE, USB_PRODUCT_MECANIQUE_WISPY,ANY,{ 
> UQ_BAD_HID }},
> - { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY24I,

UQ_BAD_HID

2012-08-09 Thread Stuart Henderson
Thanks to mpi@, libusb now has some support for communicating
with devices even though they're not attached to ugen(4).

What do people think about removing the UQ_BAD_HID entries in
usb_quirks.c which prevents these devices from attaching to uhid(4)?

My Liebert UPS is okay, yubikeys can be successfully programmed,
and I'll try my wi-spy when I can find it, I wonder if people with
other listed devices could check and see if the listing is still
necessary?





Index: usb_quirks.c
===
RCS file: /cvs/src/sys/dev/usb/usb_quirks.c,v
retrieving revision 1.66
diff -u -p -r1.66 usb_quirks.c
--- usb_quirks.c31 Jan 2012 21:13:32 -  1.66
+++ usb_quirks.c9 Aug 2012 14:23:41 -
@@ -109,59 +109,6 @@ const struct usbd_quirk_entry {
  { USB_VENDOR_NEC, USB_PRODUCT_NEC_PICTY920,   ANY,   { UQ_BROKEN_BIDIR }},
  { USB_VENDOR_NEC, USB_PRODUCT_NEC_PICTY800,   ANY,   { UQ_BROKEN_BIDIR }},
 
- { USB_VENDOR_APC, USB_PRODUCT_APC_UPS,ANY,{ 
UQ_BAD_HID }},
- { USB_VENDOR_APC, USB_PRODUCT_APC_UPS5G,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE, ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_3G,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_3GS, ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_4_CDMA,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_4_GSM,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPHONE_4S,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPOD_TOUCH, ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPOD_TOUCH_2G,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPOD_TOUCH_3G,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPOD_TOUCH_4G,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPAD,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPAD2,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_SPEAKERS,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C100,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C120,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C550AVR,ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C800,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C900,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1100,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1250EITWRK,ANY,{ 
UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1500EITWRK,ANY,{ 
UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6H375,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_1500, ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_OR2200, ANY,  { UQ_BAD_HID }},
- { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_OLD,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_FLASH,ANY,{ 
UQ_BAD_HID }},
- { USB_VENDOR_DELL2, USB_PRODUCT_DELL2_UPS,ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_T750, ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_T1000,ANY,{ 
UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_T1500,ANY,{ 
UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_RT2200,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_R1500G2,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_T750G2,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_IDOWELL, USB_PRODUCT_IDOWELL_IDOWELL,ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_ITUNER, USB_PRODUCT_ITUNER_USBLCD20x2,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_LIEBERT, USB_PRODUCT_LIEBERT_UPS,ANY,{ 
UQ_BAD_HID }},
- { USB_VENDOR_LIEBERT2, USB_PRODUCT_LIEBERT2_PSA,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_MECANIQUE, USB_PRODUCT_MECANIQUE_WISPY,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY24I, ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS1,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS2,   ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_MUSTEK2, USB_PRODUCT_MUSTEK2_PM800,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_OMRON, USB_PRODUCT_OMRON_BX35F,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_OMRON, USB_PRODUCT_OMRON_BX50F,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_TENX, USB_PRODUCT_TENX_MISSILE,  ANY,{ UQ_BAD_HID }},
- { USB_VENDOR_TERRATEC, USB_PRODUCT_TERRATEC_AUR

various UQ_BAD_HID for UPS

2011-03-09 Thread Stuart Henderson
Here are various device IDs for USB HID UPS, extracted from NUT.
Some vendors are using the same device ID for many UPS so I've
switched a few to generic device names. Any comments? OK?

Index: usb_quirks.c
===
RCS file: /cvs/src/sys/dev/usb/usb_quirks.c,v
retrieving revision 1.63
diff -u -p -r1.63 usb_quirks.c
--- usb_quirks.c2 Dec 2010 06:39:09 -   1.63
+++ usb_quirks.c9 Mar 2011 12:35:15 -
@@ -109,17 +109,34 @@ const struct usbd_quirk_entry {
  { USB_VENDOR_NEC, USB_PRODUCT_NEC_PICTY920,   ANY,   { UQ_BROKEN_BIDIR }},
  { USB_VENDOR_NEC, USB_PRODUCT_NEC_PICTY800,   ANY,   { UQ_BROKEN_BIDIR }},
 
- { USB_VENDOR_APC, USB_PRODUCT_APC_UPSPRO500,  ANY,    { UQ_BAD_HID }},
+ { USB_VENDOR_APC, USB_PRODUCT_APC_UPS,ANY,    { 
UQ_BAD_HID }},
+ { USB_VENDOR_APC, USB_PRODUCT_APC_UPS5G,  ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_SPEAKERS,   ANY,    { UQ_BAD_HID }},
+ { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C100,   ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C120,   ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C550AVR,ANY,    { UQ_BAD_HID }},
+ { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C800,   ANY,    { UQ_BAD_HID }},
+ { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C900,   ANY,    { UQ_BAD_HID }},
+ { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1100,  ANY,    { UQ_BAD_HID }},
+ { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1250EITWRK,ANY,    { 
UQ_BAD_HID }},
  { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1500EITWRK,ANY,    { 
UQ_BAD_HID }},
+ { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6H375,   ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_1500, ANY,    { UQ_BAD_HID }},
+ { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_OR2200, ANY,  { UQ_BAD_HID }},
  { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_OLD,  ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM,  ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_FLASH,ANY,    { 
UQ_BAD_HID }},
+ { USB_VENDOR_DELL2, USB_PRODUCT_DELL2_UPS,ANY,    { UQ_BAD_HID }},
+ { USB_VENDOR_HP, USB_PRODUCT_HP_T750, ANY,    { UQ_BAD_HID }},
+ { USB_VENDOR_HP, USB_PRODUCT_HP_T1000,ANY,    { 
UQ_BAD_HID }},
+ { USB_VENDOR_HP, USB_PRODUCT_HP_T1500,ANY,    { 
UQ_BAD_HID }},
+ { USB_VENDOR_HP, USB_PRODUCT_HP_RT2200,   ANY,    { UQ_BAD_HID }},
+ { USB_VENDOR_HP, USB_PRODUCT_HP_R1500G2,  ANY,    { UQ_BAD_HID }},
+ { USB_VENDOR_HP, USB_PRODUCT_HP_T750G2,   ANY,    { UQ_BAD_HID }},
+ { USB_VENDOR_IDOWELL, USB_PRODUCT_IDOWELL_IDOWELL,ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_ITUNER, USB_PRODUCT_ITUNER_USBLCD20x2,   ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_LIEBERT, USB_PRODUCT_LIEBERT_POWERSURE_PXT, ANY, { UQ_BAD_HID }},
+ { USB_VENDOR_LIEBERT, USB_PRODUCT_LIEBERT_UPS,ANY,    { 
UQ_BAD_HID }},
+ { USB_VENDOR_LIEBERT2, USB_PRODUCT_LIEBERT2_PSA,  ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_MECANIQUE, USB_PRODUCT_MECANIQUE_WISPY,  ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY24I, ANY,    { UQ_BAD_HID }},
  { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS1,   ANY,    { UQ_BAD_HID }},
Index: usbdevs
===
RCS file: /cvs/src/sys/dev/usb/usbdevs,v
retrieving revision 1.540
diff -u -p -r1.540 usbdevs
--- usbdevs 1 Feb 2011 18:23:59 -   1.540
+++ usbdevs 9 Mar 2011 12:35:15 -
@@ -89,7 +89,7 @@ vendor KYE0x0458  KYE Systems
 vendor DIAMOND20x045a  Diamond (Supra)
 vendor MICROSOFT   0x045e  Microsoft
 vendor PRIMAX  0x0461  Primax Electronics
-vendor MGE 0x0463  MGE UPS Systems
+vendor MGE 0x0463  Eaton (MGE)
 vendor AMP 0x0464  AMP
 vendor CHERRY  0x046a  Cherry Mikroschalter
 vendor MEGATRENDS  0x046b  American Megatrends
@@ -98,6 +98,7 @@ vendor BTC0x046e  Behavior Tech. Comput
 vendor PHILIPS 0x0471  Philips
 vendor SANYO   0x0474  Sanyo Electric
 vendor CONNECTIX   0x0478  Connectix
+vendor DELL2   0x047c  Dell
 vendor KENSINGTON  0x047d  Kensington
 vendor LUCENT  0x047e  Lucent
 vendor PLANTRONICS 0x047f  Plantronics
@@ -273,6 +274,7 @@ vendor EICON0x0734  Eicon Networks
 vendor SYNTECH 0x0745  Syntech Information
 vendor DIGITALSTREAM   0x074e  Digital Stream
 vendor AUREAL  0x0755  Aureal Semiconductor
+vendor IDOWELL 0x075d  iDowell
 vendor MIDIMAN 0x0763  Midiman
 vendor CYBERPOWER  0x0764  CyberPower
 vendor SURECOM 0x0769  Surecom Technology
@@ -461,6 +463,7 @@ vendor HYUNDAI  0x106c  Hyundai
 vendor GCTSE