Produkty Cisco a dva sobi

Jistě znáte onu reklamní říkánku nejmenovaného výrobce vodky o sobech

Když potká sob soba
mají radost oba,
když se sejdou tři sobi,
tak se radost násobí.

Vcelku nedávno jsem pořídil něco technologie od firmy Cisco, bratru za čtvrt milionu. Ciscovské produkty mám rád, ještě donedávna pro mne byly symbolem kvality. Nicméně teď, na základě  získaných zkušeností vznikla modifikace této říkanky

Když potká prase prase,
zhlédne se v jeho kráse.

Proč?

Protože mi s ani jedním, z několika kusů AP CISCO 1602 a jedním kontrolérem 2504 nefungovalo konzolové připojení. Nejprve jsem předpokládal, že už i Cisco zmagořilo a přešlo na nějaký binární uzavřený konzolový formát, ale krátká konzultace se znalci toto vyvrátila. Stále 9k6 8N1, hladký text. Sláva, aspoň nějaká jistota.

Nedalo mi to a připojil jsem jeden z těchto nešťastných kusů ke staršímu počítači, tedy stroji, který má ještě hardwarovou RS232. A hele – komunikace funguje! Zkusme tedy čínský USB převodník s cisco boxy z dob, kdy se ještě nešidilo. Krásně komunikuje. Takže zbývá zjistit, proč s USB převodníkem nefungovala novější zařízení tohoto výrobce. Osciloskop a hurá do práce.

Nejprve si zopakujme základní definici úrovní na RS232. Toleranční pole „jedničky“ je -25 až -3 volty, toleranční pole „nuly“ je +3 až +25 voltů. Mezi -3 a +3 V je zakázaná zóna pro zajištění šumové imunity. Když se tak podíváme na výstup korektní, hardwarové RS232 z počítače, vypadá asi takhle, tedy takřka dokonale podle definice:

cisco-rs232-2

Inu, pojďme dále, v tomhle chyba nebude, naopak. Ale copak nám z ciscovského železa vylézá na výstupu? Tohle

cisco-rs232-1

To už je horší, normu to stále plní, 5 V je víc, než 3 V, ale na delších drátech s průmyslovým rušením už by s tím mohla být potíž. Nicméně, co je podstatně důležitější, pozorného čtenáře jistě zaujalo zvlnění kladné hladiny, jako kdyby nějaký spínaný zdroj, nebo co … Napadá mne kacířská myšlenka a odpojuji od Cisca příchod RS232ojky. A lup – na jeho výstupu je náhle nula. Zkusím na RXD Cisca připojit regulovatelný zdroj  a hele – kladná hladina sleduje napětí hladiny záporné.

Ta prasata, aby ušetřila (já nevím co), vyrábějí kladné napětí sériové komunikace z ukradeného záporného napětí příchozí linky od terminálu. U rychlobastlu na stůl bych tohle chápal, ale u profesionálního zařízení, navíc dobře napájeného (48 V)? Nakopat hadry.

Nicméně, ještě jsme se nedostali k tomu, proč vlastně ta komunikace s několika čínskými USB převodníky nechodila, zatímco tytéž převodníky bez problémů komunikovaly s řadou 25xx, 29xx, 36xx a řadou jiných. Sestro, osciloskop a kladivo.

cisco-rs232-3

Tak tohle mi vyrazilo dech. Žlutí soudruzi už se se zápornými napěťovými hladinami nemažou vůbec a jako „jedničku“ používají 0 V, jako „nulu“ 5 V. Ušetříme měnič, ne? Většina RS232 portů tenhle humus pochroupne, i když je hrubě proti definici a pro jednu úroveň používá zakázanou zónu  … Ale je třeba katovat kosty, nanuci si to stejně koupějí.

No a příčina je na světě – čínský zdrap neprodukuje zápornou napěťovou hladinu, měnič v Ciscu nemá na čem parazitovat, takže nevyrobí napájení pro sériový odchod z Cisca vůbec. Nová doba, host vyhazuje vrchního.

Závěr je jasný. Jedno prase (konstruktér sériáku Cisca) navrhlo nekorektní řešení svého sériového portu, ale ono se na to nepřijde, občas to někomu chodí a zbytek prohlásíme za pitomce. Druhé prase, v honbě za úsporou, navrhlo usbserial převodník, který je prodáván jako sériový převodník na RS232, ale ve skutečnosti je to převodník na TTL úrovně 🙂

Když potká prase prase,
zhlédne se v jeho kráse.