[FreeBSD] 飛瑞 C-1000S UPS 用 nut 監控 – 用 USB 轉 RS232

O.S.: FreeBSD 9.0-RELEASE
Version:nut 2.6.4

之前一直都是用 nut 來監控飛瑞的 C-1000S UPS,不過換了一個新的主機板之後,因為沒有 RS232 的介面,所以只好用 USB 轉 RS232 的線來監控。也因此之前的 driver 設定就不能用了(其他的功能則是取決於 driver 能獲得的資訊而定)。

建議 USB 轉 RS232 的線,最好是採用 PL2303 晶片的(更貴的 FTDI 應該也可以吧)。

插上 USB 後,可以先用 usbconfig 指令確認一下有沒有抓到:

#usbconfig
ugen0.1: <XHCI root HUB 0x8086> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE
ugen1.1: <EHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen2.1: <EHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen2.2: <product 0x0024 vendor 0x8087> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen1.2: <product 0x0024 vendor 0x8087> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen2.3: <USB2.0 Hub 456 GenesysLogic> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen2.4: <product 0x005a vendor 0x0409> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen2.6: <product 0x8021 vendor 0x0557> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
ugen2.7: <CS1734B V1.4.131 ATEN> at usbus2, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON
ugen2.8: <USB 2.0 To COM Device Prolific Technology Inc.> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen2.9: <USB2.0 Hub 456 GenesysLogic> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE

ugen2.8 那個 " USB 2.0 to COM Device" 就是那個轉接線了,再來就是找到通訊的 port:

#dir /dev/cua*
crw-rw---- 1 uucp dialer 0, 175 Dec 11 20:30 /dev/cuaU0
crw-rw---- 1 uucp dialer 0, 176 Dec 11 20:30 /dev/cuaU0.init
crw-rw---- 1 uucp dialer 0, 177 Dec 11 20:30 /dev/cuaU0.lock
crw-rw---- 1 uucp dialer 0,  53 Dec 10 12:33 /dev/cuau0
crw-rw---- 1 uucp dialer 0,  54 Dec 10 12:33 /dev/cuau0.init
crw-rw---- 1 uucp dialer 0,  55 Dec 10 12:33 /dev/cuau0.lock

這邊是看到兩個 port (cuaU0、cuau0),從檔案時間應該就可以判斷哪個是你要的 port(基本上,我是開完機後,才插上 USB 轉 RS232 的線,這樣就很容易判斷了)

後來就是需要改掉 ups.conf 這個設定檔(主要是改 driver 和 port),不過目前我還沒有試到可以像之前 blazer_ser 這麼好的 driver:

[C1000S]               // snmp 用來辨識 UPS 的名稱
driver = genericups    // UPS Driver(如果沒選好,就有很多功能不能用)
port = /dev/cuaU0      // RS-232 COM-port 1
desc = "Phoenixtec C-1000S"   //就只是描述

這樣就可以使用了(基本上只會有 ups.status,也就是只知道 online 或是 low-battery 了)

發表迴響