pondělí 1. dubna 2013

USB-RS232 adaptér a UPS

Postavil jsem si nový server z nepoužívaného nettopu Acer Aspire Revo (o tom někdy jindy, je to dost netypické provedení), který nemá ani jeden sériový (RS232) port, ale za to má 6 USB portů. A tak jsem se začal poohlížet po nějakém levném převodníku z USB na RS232. Záhy jsem našel opravdu pěkný kousek na DX.com za nějakých 60 Kč, v recenzích se dočetl o bezvadné Linuxové kompatibilitě, tak jsem neváhal a šel do něj.

Adaptér skutečně v Linuxu perfektně funguje, přihlásí se jako pl2303, kernel si sám natáhne správný modul, který udělá /dev/ttyUSB0 a je připraven k použití. Nějakou dobu jsem ho nechal ležet ladem, než mě napadlo využít ho pro propojení UPS se serverem tak, aby server věděl, kdy je na baterkách. Mám pořád svou starou, větrem ošlehanou, věčně vrčící a nic nevydržící Blackout Buster 400 UPS od Power Kinetics, ke které jsem před pěti lety opravil řídící soft a která má jen RS232 konektor.

Tentokrát jsem na to ale chtěl jít mnohem fikaněji. Dočetl jsem se, že NUT už tuto UPS podporuje a tak jsem začal rovnou s ním, abych mohl později nainstalovat NUT monitor na pracovní PC, připojené na stejnou UPS. NUT má spoustu konfiguračních souborů, tak jsem všechno nastavil dle svého nejlepšího vědomí a... nic nefungovalo. Dost dlouho jsem to ladil, než jsem pojal jisté podezření a zároveň jsem vyměkl natolik, že jsem se rozhodl nejdřív oprášit původně fungující konfiguraci a pak jít dál po jednotlivých menších krocích.

Začal jsem tím, že jsem UPS připojil k pracovnímu PC přes RS232 (kde vždycky bývala) a zároveň použil starý dobrý OpenUPSmart. Vše fungovalo bezvadně. OK. Tak jsem nahradil OpenUPSmart NUTem a zkusil znovu. Stále vše fungovalo výborně. Takže jsem přepojil UPS přes USB-RS232 adaptér do USB portu, a to už nefungovalo. Tak jsem zkusil jiný USB port a ten fungoval... ovšem za minutu hlásil ztrátu spojení s UPS. Chvíli jsem čaroval s linuxovým jádrem (odpojit adaptér, odstranit modul pl232, znovu zapojit adaptér, povolit debug hlášky v kernelu, ...) a pak zas spustil NUT a ten zas chviličku fungoval a pak zas ztráta spojení s UPS. Nakonec už jsem byl schopen to nasimulovat spolehlivě - komunikace s UPS fungovala jen asi prvních 80 sekund po zavedení modulu, pak se jakoby něco "vybilo" a spojení se ztratilo.

Teprve teď mě napadlo přečíst si ty recenze na DX.com pořádně a tam jsem se dočetl věci, které ledacos vysvětlovaly. Zdá se, že tento adaptér je výborný na komunikaci s běžným RS232 zařízením přes RX+TX, kde normě vyhoví, ale není úplně OK na takové to "mávání" jednotlivým signálovými dráty (které UPS rády používají místo normální komunikace), nehledě k tomu, že nejspíš neumí dávat plných 12V, na což může být některý protějšek (jako tahle UPS) trošku citlivý.

Závěr je, že tento bezva adaptér je na prodej za 60, a já teď sháním novou UPS s USB komunikací...

Žádné komentáře:

Okomentovat