Wow. I thought it would be easy to configure my new (to me) APC SmartUPS to be connected to my FreeBSD server on the serial port. The install of apcupsd went quite well but when it came time to set the device to be used in the config file I couldn’t figure out which device it was! I looked at the output of dmesg to see all the devices that were found on startup. I saw sio0 which mentioned a COM port so I thought maybe that would be it. I tried using /dev/sio0 but that didn’t work so I even restarted the computer to check the BIOS and made sure the serial port was enabled. It was. Another restart had me looking at sio0 again. It made sense to me as well for Serial Input/Output but still didn’t work.
Ok, to Google I went and finally found this little gem from the freebsd mailing list. The thread mentioned the same message I was getting
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
about sio0 but the person asking seemed to know something I didn’t. They knew that FreeBSD normally uses cuad0 for the serial device. I have no idea why or how that came about. Can’t even figure out how that naming convention came about but I’m sure there are some out there who know. Well, now I know — I put /dev/cuad0 in the config file and now my APC UPS is talking to my FreeBSD box! I might write about the details later but apcupsd is pretty cool because it will allow my box to find the percentage of battery left on the UPS when it is running on batteries and when it gets to a certain percent the computer can shut itself off properly before losing power!
Google to the rescue again!