Strona 1 z 1

[Dyskusja] O modemach ADSL na USB + kwestia sterowników dla ZXDSL 852 V2

: 29 lis 2020, 17:32
autor: Piotr86PL
Dzień doberek!

Dzisiaj tak raczej na spokojnie, bo chciałbym rozpocząć temat do pogadania. A poruszyć tutaj chciałem kwestię modemów ADSL na USB. Przy okazji może opowiem skąd się bierze to moje zafiksowanie na ich punkcie. Dodatkowo chciałem opowiedzieć co nie co o sterowniku do ZTE ZXDSL 852 V2 na linuxie bo w artykule o Linnecie mówiłem, że modem ten nie zadziała, ponieważ nie da się skompilować driverów na nowym kernelu. No ale najpierw pogadanka.

Ogólnie w swoim życiu nigdy nie korzystałem z tego typu urządzeń. Od początku byłem posiadaczem Liveboxa tp, a potem przez moje ręce przewijały się Funbox 2.0, Livebox 3.0, Orange Modem Wi-Fi, DGT RGW VDSL2 FG4v1 oraz F@st 2704. Zdarzały się naprawdę krótkie epizody dawno temu, kiedy pojawiały się problemy z działaniem linii, dlatego tata mój podłączał modem SAGEM F@st 800. Ale to naprawdę, może z tydzień trwało i problemy szybko ustały. Potem ten modem tylko walał się po kątach domu tak bardzo, że ciężko było mi go odnaleźć. Inny modem jaki posiadam to ZTE ZXDSL 852 w wersji pierwszej (dwie diody), którego dostałem od kuzynów i również z niego nie korzystałem. Dlatego nie mam żadnych wspomnień z nimi i chętnie usłyszałbym jak wam się z nimi pracowało, czy w ogóle posiadaliście takowe. Moim zdaniem nie był to zły wynalazek. Chociaż modemy tego typu cierpiały na wiele problemów związanych z kompatybilnością, to nie były gorsze od swoich pełnych wersji. Na pewno na plus było to, że nie wymagały zewnętrznego zasilania, więc jeżeli mieliśmy laptopa, braki w dostawie prądu nie były nam straszne. Problem był kiedy w domu się pojawiał drugi komputer. Wtedy modem na USB nam nic nie pomoże i trzeba będzie skorzystać z innych rozwiązań. Nie mniej jednak myślę, że ten sprzęt jest naprawdę ciekawy i warty odnowienia, ponieważ posiada swoje zalety, które nadal są aktualne. Owszem wyciągają maks 8Mb/s ale w sytuacjach awaryjnych tyle według mnie wystarczy. A wy co myślicie o tym sprzęcie, jaką mieliście z nim styczność? Zapraszam do dyskusji, a teraz coś dla programistów.

Wspominałem w ramach artykułu o Linnecie, że pojawia się problem z instalacją modemu ZTE ZXDSL 852 V2. Jest on spowodowany tym, że należy sterowniki ręcznie skompilować pod systemem. Niestety pisany są one pod starszą wersję kernela i na nowszej po prostu nie działają. Niby błędów jest nie wiele, ale założę się, że należało by znacznie przebudować sterownik. Niestety nie znam się na tym, więc opiszę problemy szczątkowo, nawet nie wiem czy dobrze. Pierwsze błędy pojawiają się w pliku unicorn_usbdrv.c i dotyczą one makr __TIME__ oraz __DATE__. Wersja sterownika pisana od kernela 2.6.3 wyrzuca w tym pliku więcej błędów jednak znalazłem wersję przeportowaną przez Zbigniewa Łupińskiego na kernel 3.6.10. Mimo wszystko nie rozwiązuje to wielu problemów. Kolejne błędy pojawiają się w pliku linrapi.c. Tutaj mamy do czynienia z poważniejszymi usterkami, których naprawa wiąże się z przebudowaniem kodu. Przede wszystkim należało by przepisać timery kernelowe, bo kod bazuje na starych rozwiązaniach i pojawią się problemy typu ‘struct timer_list’ has no member named ‘data’. Wyskakuje też błąd związany z funkcją interruptible_sleep_on_timeout, której już w kernelu nie ma oraz parę innych defektów. Tutaj już sprawa jest poważna. Ostatnim plikiem powodującym problemy jest unicorn_ethdrv.c. Tam prócz problemów z timerem, pojawiają się błędy związane ze strukturą net_device. Chociaż na pierwszy rzut oka błędów jest niewiele, to może się okazać, że wraz z postępem naprawiania kodu mogą powstać dalsze defekty. Dodatkowo należało by wszystko sprawdzać na urządzeniu. Ogólnie to ten kod nie dotyczy ZXDSL 852 V2, a chipsetu Unicorn II firmy STMicroeletronics. Tak, więc drivery te przetestujemy również poprzez modem Siemens A-100 a także inne tego typu. Do testów nie wymagana jest również linia ADSL, chociaż przydała by się. Modem w chwili uaktywnienia powinien za pomocą diod wskazywać stan braku podłączenia linii (świeci się tylko Power). Jeżeli ktoś ma ochotę to może nanieść wszystkie lub część poprawek dotyczących tego kodu. Link: https://github.com/Piotr86PL/STM-UnicornII-Driver-Linux

To też byłoby na tyle mojej części. Jak już mówiłem. Zapraszam do dyskusji na oba tematy.
Do zobaczenia!