[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