[Nut-upsdev] nut vs. ModemManager and device stealing

Arjen de Korte nut+devel at de-korte.org
Wed Jan 20 19:23:18 UTC 2010


Citeren Michal Hlavinka <mhlavink op redhat.com>:

> I think it's its fault, but ModemManager maintainer says it nut  
> fault, because
> nut should not give up to open device and it should retry later. What do you
> think? Some more details can be found in the bug comments.

I would say the problem is with ModemManager (as already stated  
before). Sending a command and seeing what is returned, just isn't  
reliable. Microsoft and Hayes have attempted to standardize 'Serial  
PnP for COM devices' in the last decade of the previous century, but  
this wasn't hugely successful. Other than that, attempts to  
automatically detect devices on the serial port usually give rise to  
the same kind of interoperability problems as we see now.

The trouble we're seeing in NUT (and apcupsd too) is that the core  
electronics of many UPS devices in the field haven't essentially  
changed in the last two decades. Many devices that are on the market  
today still use serial controllers internally with a USB to serial  
controller tacked on to make them usable in an environment where we  
hardly see RS232 interfaces built in anymore. This is a legacy we (and  
ModemManager too) has to deal with. Given the wide variety of  
protocols used, there is no way to auto detect these. It is not  
uncommon to see UPS devices in the field that were manufactured two  
decades ago. If you periodically replace the batteries and do some  
preventive maintenance, there is no reason (other than inadequate  
available power requirements) to replace these old beasts. So unlike  
other computer hardware, we're likely to see these dinosaurs in  
service for quite a number of years to come.

Generally it is considered bad practice to just send a command and see  
if anything useful is returned on a serial interface. Therefor, NUT  
only supports hotplugging UPS devices for which we can unambiguously  
detect that they are supported. In case of USB connected devices, the  
VendorID:ProductID combination is usually a good indication. But even  
then, there are 'generic' models available that could be either a UPS,  
GPS or whatever (because the manufacturer was too cheap to apply for  
his own USB vendorid). And for the reasons already mentioned above,  
for serial connected UPS devices we never (will) support hotplugging.

Best regards, Arjen
-- 
Please keep list traffic on the list




More information about the Nut-upsdev mailing list