Dzień Doberek
Dzisiaj naszła mnie taka ochota na rozebranie jednego z modemów z mojej kolekcji. Nigdy nie widziałem jak wygląda takie cudo w środku, choć sam się domyślałem. Jednak aby nie było to za proste i szybkie, to pozwolę sobie na napisanie bardzo długiego i nudnego wstępu o tym jak działał i po co to było w ogóle komukolwiek potrzebne.
Historia modemów ADSL w Polsce, zasilanych z portów USB rozpoczęła się, kiedy lubiana przez każdego firma telekomunikacyjna rozpowszechniła swoją znaną dziś usługę, czyli Neostradę. Pewnie zapytacie się po co coś takiego zrobili. Są ku temu wiele powodów. Mówi się, że przede wszystkim chodzi o pieniądze - taki modem USB kosztował w tamtych czasach około 200 zł, kiedy pełnoprawny modem-router ADSLowy można było nabyć dopiero w cenie 500 zł. Inną kwestią, był fakt, iż niewiele ówczesnych płyt głównych posiadało kartę Ethernet, a Telekomunikacja nie chciała narażać się na sytuację, gdzie dostarczy sprzęt Ethernet, a klient nie będzie miał jak go uruchomić, ponieważ nie posiada takowego interfejsu. Z kolei każda płyta posiadała przynajmniej jeden port USB, a nawet jeśli nie, to zwykle komputer wyposażony był w zewnętrzny kontroler USB. Karty Ethernet nie koniecznie, gdyż przed Neostradą był Szybki Dostęp do Internetu i połączenie komutowane poprzez numer 0 20 21 22, gdzie urządzenia dostępowe działały poprzez RS-232.
Później oczywiście rozpowszechnił się standard Ethernet u użytkowników domowych tak więc, TP wprowadziło do oferty modemy Speedtouch 510 i inne. Sprzęt USB był sprzedawany równolegle z Ethernetowym, dla tych którzy woleli rozwiązania typu Universal Serial Bus. Ich życie się szybko zakończyło tuż po wydaniu Pudełka Życia 2.0 (czyt. Livebox 2.0). Powodem tego stanu rzeczy był brak sterowników dla nowszych systemów i popularność nowszych rozwiązań.
Kiedy wysłuchaliśmy już tej nudnej historii to możemy przejść do omówienia naszej sztuki. Na stole mam modem ZTE ZXDSL 852 w wersji pierwszej. Oznaczenia "V1" i "V2" są mojego autorstwa, gdyż oficjalnie i wersja prostokątna i kwadratowa była oznaczona jako "ZXDSL 852". Trochę to głupie ze strony ZTE, gdyż wersja druga, mogła być mylona z wersją pierwszą, która była kijowa. Zapytacie się pewnie czemu "kijowa" - to proste - posiadała sterowniki 32-bitowe. Tak Connexant, który jest autorem chipsetu tego urządzenia nigdy nie wydał 64-bitowych driverów, dlatego też ZTE szybko wymieniło układ w wersji drugiej na Unicorn II, który jest niewiele lepszy - ale ma x64 drivery.
Aby zrozumieć budowę tego urządzenia najpierw wyjaśnijmy sobie sposób jego działania. Otóż jest to zmyślny i bardzo tani sprzęt, co widać po tym jak działa. Nie posiada wewnętrznej pamięci na firmware, a mały EEPROM na program, który ładuje oprogramowanie z komputera do RAMu, a następnie go uruchamia. Już widać jak bardzo skomplikowny jest to sprzęt i dlaczego są z nim problemy na Linuxie. A więc od początku...
Najpierw należy zainstalować sterowniki, jeśli pierwszym naszym krokiem będzie podłączenie urządzenia to mogą zostać śmieciowe wpisy, przez które sprzęt się nie odpali. Kiedy podłączymy nasz wtyk USB do pieca, uprzednie obracając go o 3 razy o 180 stopni, pierwsze co zobaczymy w Menadżerze urządzeń będzie "ADSL USB MODEM", który bardzo szybko zamieni się w "ZTE ZXDSL852 Device". Jest to nasz tzw. Loader, przez który wgrywany jest firmware do RAMu. Kiedy to się stanie naszym oczom ukaże się pozycja o nazwie, która już coś mówi, czyli "ZXDSL852 WAN PPPoA Adapter" (zamiast PPPoA może też być PPPoE - zależy od instalacji sterowników modemu). Jest to nasz interfejs sieciowy przez który przechodzi cała transmisja. Połączenie PPP realizowane jest poprzez moduł PPP systemu, gdyż modem widziany jest jako osprzęt ISDN. Numer telefonu może być w tym przypadku dowolny.
Wraz z potrzebnymi sterownikami dołączany jest też program konfiguracyjny w formie apletu do Panelu Sterowania. Niech was nie zmyli ubogość opcji. Po wciśnięciu kombinacji ALT + P, program ujawnia swoją potęgę. Oprócz możliwości zatrzymania synchronizacji (co nie umożliwiają nawet dzisiejsze modem-routery), aplet pozwala nam na sprawdzenie stanu działania warstw ADSL, ATM i AAL - czy wysyłają i odbierają dane. Możemy nawet ustawić dodatkowe kanały PVC, sprawdzić statystykę ADSL, ATM, warstwy fizycznej, a nawet wyświetlić wykres ilości bitów przypadających na daną częstotliwość. Jest to więc sprzęt o dużych możliwościach jednak niestety uruchomimy go tylko na 32-bitowych systemach.
Dobra to teraz otwórzmy skorupę tego urządzenia i zobaczmy co kryje wnętrze. Całość trzymana jest przez cztery śrubki, które chowają się pod nóżkami antypoślizgowymi. Czym prędzej, więc odkręciłem je i otworzyłem obudowę, aby ujrzeć cały układ odpowiedzialny za działanie sprzętu. W oczy rzucają się takie elementy jak transformator, który stanowi element sekcji zasilania, czy rezonator kwarcowy oraz inne elementy obsługujące linię telefoniczną, jednak to co interesuje nas najbardziej to te trzy elementy zaznaczone na zdjęciu.
Pierwszy od góry moduł to pamięć DRAM ESMT M12L64164A, która ma pojemność 8 MB. Jej zadaniem jest przede wszystkim przechowywanie firmware-u, który wykorzystywany jest przez główny chip. Może również pełnić rolę bufora danych pomiędzy układem ADSL a komputerem.
Następny większy i bardziej kwadratowy scalak to serce całego urządzenia. Jest to chip Access Runner firmy Conexant, model CX82320. Jako ciekawostkę mogę powiedzieć, iż seria ta została sprzedana firmie Ikanos Communications w 2009 roku, wraz z całą linią urządzeń dostępu szerokopasmowego. Biegacz Dostępu odpowiada za częściową komunikację na linii komputer-dslam, ponieważ pozwala jedynie na ustanowienie połączenia ATM z centralą, czyli synchronizuje się. Drugą część komunikacji obsługuje sam system operacyjny, który enkaspuluje pakiety IP w pakiety Point-to-Point Protocol, które trafiają do modemu. Access Runner obsługuje również warstwę fizyczną, czyli potrafi odbierać i wysyłać sygnały przez linię telefoniczną. Conexant reklamuje swój chip jako jedyny w swoim rodzaju, gdyż w przeciwieństwie do innych rozwiązań, ten większość operacji związanych z warstwą adapcyjną AAL5 wykonuje na poziomie sterowników. Jak się okazuje inne modemy USB również część zadań pozostawiają sterownikom, dlatego też tak trudno było je uruchomić na Linuxach. Do maćków były zwykle dedykowane drivery (akurat Access Runner ich nie miał). Firmware podobnie jak w innych modemach działa za pomocą dwóch trybów: PPPoA implementuje AAL5 już w komputerze, jak już było mówione; PPPoE implementuje stos IP w modemie. Większość sterowników na Linuxa potrafiła zaimplementować jedynie opcję pierwszą. Ciekawostką dotyczącą firmware-u jest to, iż działa pod kontrolą system VxWorks od Wind River Systems. Samo oprogramowanie znajduje się w pliku CnxEtU.sys, który można znaleźć w paczce ze sterownikami. Z tą też informacją kończymy rozważania na temat chipsetu.
Ostatnim interesującym nas elementem jest pamięć EEPROM AT24C04N o pojemności 4Kb. Jej zadaniem jest przechowywanie kodu odpowiedzialnego za wgranie firmware-u do RAMu i jego uruchomienie. Jak widać po jej gabarytach nie jest tutaj najważniejszym elementem i jej wymontowanie podczas pracy urządzenie nie powinno spowodować jego wyłączenia, chociaż to może mieć zaimplementowane jakieś systemy ochronne. W środowisku fizycznym tego nie widać, za pomocą Virtualboxa udało mi się odprowadzić do sytuacji, gdzie odciąłem dostęp do systemu poprzez wyłączenie maszyny, a modem nadal pracował i komunikował się z centralą.
Niestety jakimś cudem nie zrobiłem zdjęcia tego EEPROMu
Na tym też kończymy omawianie tego urządzenia, gdyż reszta części odpowiedzialna jest za zasilanie i modulacje sygnału telefonicznego. Pozostało bardzo ważne pytanie do omówienia: Czy jest sens korzystania z tych urządzeń dziś? Odpowiedź brzmi: Jak najbardziej. ZTE ZXDSL 852 ale i też inne modemy mogą stanowić jednostki zastępcze w wypadku braku prądu czy uszkodzenia obecnego modem-routera. Niektóre jednostki jak właśnie ten ZTE czy SAGEM F@st 800 mogą służyć do diagnostyki linii i połączeń. Naprawdę zastosowań dla tego urządzenia jest wiele.
Tak, więc dziękuje że chciało wam się to czytać i dobrnąć do tego momentu. Dziękuje też tym którzy odpadli po lekturze tego postu.
"Deasemblacja" i pogadanka o modemie ZTE ZXDSL 852 V1
"Deasemblacja" i pogadanka o modemie ZTE ZXDSL 852 V1
Ostatnio zmieniony 08 sie 2021, 16:28 przez Piotr86PL, łącznie zmieniany 1 raz.
Re: "Deasemblacja" i pogadanka o modemie ZTE ZXDSL 852 V1
Miałem do czynienia jedynie z modemami i NT kami podczas pracy jako monter w ówczesnym Dialogu i nie było tam miękkiej gry po prostu sprzedawało się klientowi na miejscu kartę ethernet za kilkadziesiąt złotych wraz z instalacją na miejscu. Potem rozpocząwszy pracę w sieciach kablowych (UPC i dzisiejsza Vectra) praktykę tą kontynuowało się i tak do dzisiaj po roku przerwy wracam do kochanej HFC