Smart-UPS 500

apcupsdでうまく使えない。
電源断は検知できているのだけど、そのあと復旧したことになってしまう。
復旧してないのにね。そのあとはフラッタ状態。
中を見ると、hid-core.cがエラーを吐いている。


FreeBSDでは使えたとか使えないとか。
ここには使えた人。
http://d.hatena.ne.jp/sillywalk7/20061021
MLのほうには使えないというのがある。


hid-core.cだけど、違うエラーを出している例が1000でもあった。
kernelも近い。ハードはぜんぜん違うけど。
http://osdir.com/ml/sysutils.apcupsd.user/2006-08/msg00238.html


いま使っているのは、apcupsd_3.10.17-2.dsc。
Sargeでは、3.10.17-2。
Etchでは、3.12.4-2。
lennyでは、3.14.1-3。
Sidでは、3.14.2-1。
微妙に上がっている。
本家はどうかな。
http://www.apcupsd.com/
3.14.2 (15 September 2007)が最新。

3.14.1 -- 04 May 2007 
  * (linux-usb) Rewrite device opening logic to be more reliable. See 
      ChangeLog for details.

対応するのはこれかな。

2007-05-01 20:26  adk0212
	* src/drivers/usb/linux/linux-usb.c:
	Rewrite device opening logic. The new logic works as follows:
	 - If user specifies a DEVICE, we will open that device and that
	device only. There is no fallback to autodetect. This is generaly 
	what users expect when they explicitly give DEVICE.
	 - If no DEVICE is specified, we autodetect as before.
	Furthermore, if we lose the connection to the device, we prefer 
	to re-open the same device again, but will restart autodetection 
	if that fails.
	 - If DEVICE is specified using the deprecated '[]' syntax, just 
	do normal autodetection as if DEVICE had not been specified at all.

これは違うな。
地道に拾うか。

Release 3.10.17 18Mar05
- Restructure USB driver to share common code

これは反映済み。

Release 3.10.18 21Jul05
- Fix USB lockups on 800 RS and 650 CS models by inserting a 20 ms delay
  between control transfers.
- Fix runaway process with USB on linux-2.6.12 kernels by filtering out
  duplicate events in pusb_ups_check_state().

うーん、最新までおっかけてみたけど、それっぽいのはないな。
.rptと.statusに対応のものがないせいかな?
examples/rpt/の下か。
これも見たけど関係ないみたいだな... orz


ためしに750でやってみたら、うまく動いている。
個体不良かよ... orz
それとも同じシリーズで使っているモジュール違うのかな?


しょうがないので、もう一台手配することに。