[Nut-upsdev] Newhidups gets unbound after a while

Patrick Agrain patrick.agrain at alcatel.fr
Wed May 3 06:56:33 UTC 2006


At 17:31 02/05/2006, Peter Selinger wrote:
>Strange. So the device first identifies itself as:
>
>Checking device (0463/FFFF) (001/002)
>- VendorID: 0463
>- ProductID: ffff
>- Manufacturer: MGE UPS SYSTEMS
>- Product: ELLIPSE
>- Serial Number: 1HDF44001
>- Bus: 001
>
>But after disconnecting, it identifies itself as:
>
>Checking device (0463/FFFF) (002/002)
>- VendorID: 0463
>- ProductID: ffff
>- Manufacturer: unknown
>- Product: unknown
>- Serial Number: 1HDF44001
>- Bus: 002

Ohh. Good point. I was not aware of that.


>In particular, the Manufacturer and Product become "unknown". This is
>the reason NUT does not reconnect to the device; it cannot determine
>that it is indeed the same device. (Also, in the example above, the
>bus changed from 001 to 002, but this is because you plugged the UPS
>into a different USB port for the two experiments;

Yes. I think I grab logs from two different machines. For my tests, I have 
two IBM Appliance Servers: one with an UHCI controller and 6 USB ports and 
one with an OHCI controller and only 2 USB ports.
But the behavior is the same on both Appliance.
I recheck the point (on the same machine ;-) and I confirm that Vendor / 
Product are unknown when trying to reconnect.

Could it be an USB problem to read strings? I already had such problem on 
old version of the USB core. I will have a look.

>it does not bother
>NUT).
>
>The question is: why is this happening? I have no idea what might
>cause this. Did you try unplugging and replugging the UPS while it is
>connected?

If done, then reconnection also fails.

>  Will NUT reconnect to it then? Also, did you try unplugging
>and replugging the UPS *after* it has disconnected itself? Will NUT
>reconnect to it then?

No.

But one point...
By reading Arnaud's mails and your tips on your website, I understood that 
the kernel should be compiled without the HID support and without the 
HIDDEV support.
HIDDEV is removed in the kernel. There are no problem with that.
But if I remove the HID support (CONFIG_USB_HID), newhidups does not even 
connect to the UPS.

Example :

This is the status of the USB tree on idle ( no UPS monitoring ) :
T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0463 ProdID=ffff Rev=42.41
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 20mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=hid 
<-------------------- due to CONFIG_USB_HID
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl= 20ms

This is status of the USB tree after nut has started (upsdrvctl start ) :
T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0463 ProdID=ffff Rev=42.41
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 20mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbdevfs 
<------------- OK. User space.
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl= 20ms

And this the status of the USB tree at release ( deconnection or upsdrvctl 
stop ) :
T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0463 ProdID=ffff Rev=42.41
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 20mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=(none) 
<----------
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl= 20ms

I suspect this could be the cause of the non-reconnection.

When CONFIG_USB_HID is not set, then Driver=(none) at idle and newhidups 
never starts.
That behavior is also strange for me.

Any idea ?
Regards,
Patrick Agrain




More information about the Nut-upsdev mailing list