[Nut-upsdev] Powerware 3105 (USB) in FreeBSD
Peter Selinger
selinger at mathstat.dal.ca
Sat Nov 26 16:43:54 UTC 2005
Kjell Claesson wrote:
>
> > however the newhidups driver output the following data, is it possible
> > to continue and write a sub-driver to newhidups?
> >
>
> It is not a hid device. - And why does it answer like it do?
>
> All usb devices have an enumerating process. And it is wrong of the
> hid driver to report it as a hid device as the klass is 0 and
> that mean that the klass is defined at interface level.
>
> And if you look at interface level it say class=ff and it
> mean vendor protocol.
> 8<-----------------------------------------------------
> T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0
> D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
> P: Vendor=0592 ProdID=0002 Rev= 0.80
> S: Manufacturer=Powerware
> S: Product=Powerware UPS
> C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 2mA
> I: If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=usbfs
> E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=20ms
> 8<-------------------------------------------------------
>
> So the solution is to make the usblib on freebsd handle
> interrut endpoint's. The driver is working nice on Linux
> running a 2.6 kernel.
>
> And you may have a look on bcmxcp.c and the protocol code,
> I don't think that Peter let this code go into the hid driver.
Yes, you are right. The way that newhidups checks for HID devices is a
bit sloppy at the moment. It works for all the actual HID devices that
we have seen so far, but it could occasionally mistakenly open a
non-HID device. I will fix this in the (perhaps distant) future.
-- Peter
More information about the Nut-upsdev
mailing list