Done some research. I don't have an UPS, but a simple USB keyboard also uses the usbhid driver, and I could reproduce your results.
Looked again at the apcupsd manual:
A USB UPS needs all of these drivers -- the USB device filesystem, the USB hub, the Human Interface Device subsystem driver, and the Human Interface Device driver. If you are compiling your own kernel, you want to enable
...as well as at least one USB Host Controller Driver...
There is not UHCI or OHCI in the kernel, only EHCI. Google told me that EHCI is full speed USB (480 Mbit), while UHCI or OHCI are both low- and highspeed (1.5 or 12Mbit). I suppose an UPS is 1.5Mbit, just like a keyboard or mouse. So I compiled an OHCI and UHCI module, but no luck. They load without complains, but it didn't get my keyboard working.
Some more googling brought me this
. The WD MyBook World has the same SoC as the Home Media, and UHCI just doesn't work. It seems there might be two (unpopulated) USB 1.1 ports on the SoC, which do UHCI. Well, unless you have extraordinary soldering skills, that doesn't help much.
Now the good news: At the end of the thread someone succeeds in connecting a low speed device, just by putting an USB 2.0 hub in between. This hub translates the low speed in full speed, and the device is recognized.
Alas I don't have a USB 2.0 hub here, so I can't test it. Maybe you have?
I tried adding this (I think == is needed based on the existing examples)
I think you are right. I also found this line in the conf file:
SUBSYSTEMS=="usb", KERNEL=="hiddev*", NAME="usb/%k"
so I suppose the line can be removed again.