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