apcupsd - periodicke odpojovani usb ups

Dan Lukes dan at obluda.cz
Mon Dec 13 19:15:03 CET 2010


On 12/13/10 10:08, Josef Hrabec:
> mam pripojenou UPS APC Back-UPS 500 k serveru NEC Express5800/120Rf-1
> prostrednictvim USB kabelu s instalovanym FreeBSD RELEASE 7.3 a
> apcupsd-3.14.8_1. V okamziku, kdy nastartuji apcupsd daemon, tak se zacne
> zminena UPS periodicky odpojovat a zase pripojovat

> Nov 30 13:50:25 server apcupsd[50767]: apcupsd 3.14.8 (16 January 2010)
> freebsd startup succeeded
> Nov 30 13:50:28 server kernel: ugen0: at uhub1 port 1 (addr 2) disconnected
> Nov 30 13:50:28 server kernel: ugen0: detached
> Nov 30 13:50:33 server root: Unknown USB device: vendor 0x051d product
> 0x0002 bus uhub1
> Nov 30 13:50:33 server kernel: ugen0:<American Power Conversion Back-UPS
> 500 FW: 6.4.I USB FW: c1, class 0/0, rev 1.10/1.00, addr 2>  on uhub1
> Nov 30 13:50:35 server apcupsd[50767]: Communications with UPS restored.
> Nov 30 13:50:36 server kernel: ugen0: at uhub1 port 1 (addr 2) disconnected
> Nov 30 13:50:36 server kernel: ugen0: detached

Jestli ono nepujde o nejake skvrny na slunci. Mam pocitac co nema nema 
PS/2 mys a klavesnici, ale uz jen USB a proto k nemu beznou klavesnici i 
mys pripojuji pres USB<=>2xPS/2 adapter. A fungovalo to. Asi pred trem 
ahodinama jsem klavesnici s mysi nahradil necim trochu jinym (ale ze 
hledisk apocitace to ej stale PS/2 mys a klavesnice) a dostla jsem velmi 
podobnou situaci - USB zarizeni se inicializuje, ale v okamziku, kdy 
poprve sahnu na nejakouklavesu - a tudiz dojde k realne komunikaci - 
zarizeni se odpoji.

U tebe neni treba mackat klavesu, apcupsd komunikuje pravidelne. A je to 
podobne i v tom, ze uvnitr te UPS je take adapter, i kdyz v tomto 
pripade USB<=>serial

Predbezme mam zato, ze jde o nejakou chybu v ovladacich USB, ktera je ve 
FreeBSD 8.1 a chyba bud' souvisi s power-managementem (zarizeni 
nedostane pozadovany vykon a to co dostava mu staci pro klidovy stav, ne 
vsak pro aktivni komunikaci) nebo souvisi s vlastni komunikaci (a pak 
jde nejspis o nejakou time-related race condition).

Nicmene, ja se na tem stroj dostanu jednak normalen po siti a i kdyby 
nahodou ne, mam nezavisly pristup na seriovy port (pres iRMC), takze se 
dostanu na consoli i kdyby to nenabehlo.

To bohuzel problem odsouva do spodnich pater TO-DO listu a je takrka 
nulova sance, ze bych se mu venoval jeste letos.

Az se k tomu jednou dostanu, tak power-management-related problem by mel 
zmizet, pokud se mezi pocitac a zarizeni zapoji USB HUB - ale musi mit 
vlastni nzavisle napajeni. Pokud tento test k nicemu nepovede, nezbude 
nez zacit debugovat ovladac USB ve snaze trochu bliz zjistit, co vedlo k 
"detach" udalosti.

Jo - vlastne - jeste pred tim vyzkousej, jestli problem nezmizi zmenou 
ovladace. Hardware casto nabizi pro pristup k USB portu dve nezavisla 
rozhrani - prvni je jedno z dvojice UHCI nebo OHCI, to druhe byva EHCI. 
FreeBSD pak vetsinou obsahuje ovladace pro obe rozhrani pricemz v 
konkretni chvili nakonec kazdy port obsluhuje jen jeden z nich. Bohuzel 
si nepamatuju, ktery je bezne uprednostnovan - pokud by ale chyba byla v 
"nespolecne" casto, pak by mohlo byt resenim pouziti druheho ovladace. 
Pokud tedy mas aktualne kernel, ktery ma ovladace/detekuje obe rozhrani 
([UO]HCI+EHCI) tak zkus, jestli resenim neni kernel, ktery ma jen jedno 
- bud' samotne EHCI nebo sahotne {U/O}HCI.

Ja ale v dohledne dobe skoro jiste (z casovych duvodu) nezkusim ani 
tento trivialni test (a to mam ty moduly dynamicky loadovane, takze je 
to trivialni pokus).

> Pokud jste se nekdo nahodou setkal s obdobnym problemem s periodickym
> odpojovani UPS s USB rozhranim a podarilo se jej nejak vyresit

Setkal, zatim neresil. Treba ti pomohou vyse popsane prvoplanove napady. 
Naopak - pokud se ti to podari vyresit driv nez se k tomu dostanu, muzes 
dat vedet.

Dan


More information about the Users-l mailing list