1

(138 odpowiedzi, napisanych Oprogramowanie / Software)

Niestety nic to nie zmienia. Pod windą mam większe sukcesy bo udaje mi się przełączyć w jedną lub drugą ale też nie zawsze.

Wygląda na to, że nie jest to sztywny schemat, który można zapodać za każdym razem. Tak jakby ważna była któraś odpowiedź (faktycznie odpowiedzi na te same komendy bywają różne), tyle że trudno to zauważyć bo sterownik sieje cały czas komendami, musiałbym je jakoś odfiltrować.

2

(138 odpowiedzi, napisanych Oprogramowanie / Software)

Podczas pracy modemu skonfigurowanego w trybie CDMA puściłem echem:

echo -ne "\xCF\x07\x00\x99\xCB\x7E" > /dev/ttyACM2
echo -ne "\xD5\x26\x00\x0A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xCF\xED\x7E" > /dev/ttyACM2
echo -ne "\xCF\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" > /dev/ttyACM2
echo -ne "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" > /dev/ttyACM2
echo -ne "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" > /dev/ttyACM2
echo -ne "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" > /dev/ttyACM2
echo -ne "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xE4\x0A\x7E" > /dev/ttyACM2
echo -ne "\xCF\x01\x00\x49\x9F\x7E" > /dev/ttyACM2

straciłem połączenie z internetem wlazłem do konfiguracji i zmieniłem ustawienia na 3g po czym modem zaczął pięknie hulać - znak, że udało mi się go przełączyć smile

Gorzej w drugą stronę. Komendy dla CDMA nie powodują żadnych widocznych zmian, modem dalej hula w 3g.

Generalnie nie wiem czy w routerze nie przeszkadzają te komendy AT, które ciągle lecą. Pod windows udało mi się przełączyć w jedną i drugą stronę ale to było na modemie nie zalogowanym podając stringi w RealTerm. W RealTerm widze też odpowiedzi co bardzo ułatwia, w przypadku OpenWrt nie widzę i nie wiem jak to zrobić, próbowałem cat w drugim oknie terminala i minicom ale nic z tego, wygląda, że port ttyACM2 zajęty jest przez inny proces.

3

(138 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

To jeszcze znajdź kod do przełączenia na normalnie WCDMA. Wtedy będzie można to oskryptować. Bo jeżeli to jest ten kod to na razie mamy przełączenie w jedną stronę smile

Znalazłem chwilę czasu i wróciłem do tematu komend przełączających ADU-890W. Dosyć ciężka dłubanina za pomocą narzędzi dostępnych w Windows, użyłem darmowego programu do podsłuchu pakietów USB oraz świetnego programiku RealTerm. Metodą prób i błędów sprawdzałem jakie pakiety idą, później zwalniałem port i testowałem komendy pod RealTerm (można tam zapodawać długie wiadomości w hex (większe niż 64 bajty należy dzielić i słać po kawałku).

I oto co udało mi się wydedukować:
komunikacja idzie, tak jak wcześniej pisałem, ramkami HDLC z sumą kontrolną, którą wylicza m.in. programik skompilowany przez Cezarego. Generalnie należy pomijać 3 ostatnie bajty bo nie są ważne.

Niektóre komendy dość łatwo idzie rozszyfrować po odpowiedziach:

\xCF\x00\x16\x26\xF3\x7E -> podaj typ urządzenia
\xCF\x05\x00\x29\xF8\x7E -> podaj typ modemu
\xD2\x09\x00\x63\x2B\x7E -> zwraca numer dostępowy SMS
\xCF\x1A\x00\x70\xEE\x7E -> zwraca ustawienia dostępu dla 3g (APN)

\xCF\x01\x00\x49\x9F\x7E -> komenda wysyłana co kilkaset ms w trybie WCDMA zwraca tryb, nazwę operatora i prawdopodobnie siłę sygnału
\xCF\x00\x02\x83\xA5\x7E -> komenda wysyłana co kilkaset ms w trybie CDMA nie zwraca operatora ale chyba siłę sygnału tak
oprócz nich co 5 sekund w obu trybach idą ramki \xD2\x0E\x00\x6B\x66\x7E ; \xD2\x0F\x00\xB3\x7F\x7E ; \xD2\x10\x00 \xEA\x69\x7E (tak by to wyglądało, że bajt \xD2 otwiera komendy dla SIM a \xCF dla modemu, więc może te tutaj to coś z SMS, kontaktami?)

Udało mi się zmienić kilka razy (nie zawsze skutecznie) tryb CDMA/WCDMA. Prawdopodobnie tutaj ważne jest co modem odpowiada, ponieważ do zmiany potrzeba serii komend.

I tak dla zmiany na 3G potrzeba takich komend:

\xCF\x00\x17\x13\x7D\x5D\x8F\x7E

\xCF\x07\x00\x99\xCB\x7E

\xD5\x26\x00\x0A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xCF\xED\x7E 

oraz długa ramka z danymi konfiguracyjnymi (dla 3g pusta, dla CDMA numer email i numer 777)
\xCF\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xE4\x0A\x7E

do zmiany na CDMA potrzeba:

\xCF\x00\x17\x0A\x3D\x02\x7E

\xD5\x26\x00\x51\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xCF\xB3\x7E
\xD5\x26\x00\x0A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xCF\xED\x7E

(długa ramka z emailem i 777)
\xCF\x00\x18\x63\x64\x6D\x61\x40\x6F\x72\x61\x6E\x67\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0B\x65\x78\x6B\x64\x6D\x6F\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x23\x37\x37\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x39\xF0\x7E

Może być tak, że któraś jest zbędna ale nie udało mi się czysto przełączyć bez wklepania wszystkich po kolei.

Teraz pytanie jako to przetestować pod OpenWrt?

4

(138 odpowiedzi, napisanych Oprogramowanie / Software)

Wybornie smile
Dzięki Cezary,

Przetestowałem losowo z 5 pinów z hotpluga 890W i wszystko pięknie się zgadza. Rozumiem, że poprawnie zadziała dla samego PINu ja bym miał w takim razie sugestię, by program był bardziej uniwersalny, nie tylko w kontekście pinu ale każdego dowolnego łańcucha. Byłby jak znalazł do interfejsu komunikacji z 890W a pewnikiem i wieloma innymi smile

Zamierzam w wolnej chwili posłuchać portu bo mi dość mocno zależy na kodzie przełączającym CDMA/WCDMA, dodatkowo fajnie by było wydobyć dla CDMA takie dane jak signal quality i inne dla 3ginfo, bo jak rozumiem to idzie chyba zupełnie innymi komendami?

No i właśnie tylko jak gadać z tym modemem?  Picocom, minicom nie pozwala na komunikację ttyACM (file is locked). Jak mu zapodać taki ciąg i zobaczyć odpowiedź?

5

(138 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

PS. Załączony tam jest programik w C - po zmianie order/polynom itd wylicza dobrze dla wszystkich podanych tu pingów 4 i 5 cyfrowych, oprócz tych zer.

To znaczy suma dla 0000

%D2%01%00%30%30%30%30%FF%FF%FF%FF

zgadza się

D07D

Może chodzi o to:
"To make sure that 0x7E only occurs to mark the valid start and end of a packet, any 0x7E bytes in the data is replaced with a [0x7D, 0x5E] sequence (known as "escaping"). 0x5E = 0x7E xor 0x20. Any data byte 0x7D must also be "escaped", meaning it must be replaced with a [0x7D, 0x5D] sequence. 0x5D = 0x7D xor 0x20"
(Źródło: http://www.piconomic.co.za/fwlib/group___h_d_l_c.html)

Czyli że 7D ma specjalne znaczenie i musi być zastapione 7D 5D?? Czy dobrze myślę.

6

(138 odpowiedzi, napisanych Oprogramowanie / Software)

ikceram napisał/a:

wysyłam ze skryptu i ręcznie.

\xD2\x01\x00\x31\x32\x32\x30\xFF\xFF\xFF\xFF\xD5\x6C\x7E -> próbowałem tez drugi wariant z końcówką \x57\x6D\x7E

pin to 1220

a potem

\xD2\x11\x00\x32\x70\x7E

sam już myślałem o zmianie PINu

PS. teraz dopiero zobaczylem ehhhh jakiś ślepy jestem

Cytat:

Dla pinu 0000 tez mam dłuższy ciąg

00000 - D2 01 00 30 30 30 30 30 FF FF FF F0 F4 7E
0000   - D2 01 00 30 30 30 30 FF FF FF FF D0 7D 5D 7E
0001   - D2 01 00 30 30 30 31 FF FF FF FF 94 76 7E
0002   - D2 01 00 30 30 30 32 FF FF FF FF 58 6B 7E
1111   - D2 01 00 31 31 31 31 FF FF FF FF D5 6C 7E

Nie chce mi się sprawdzać każdego, bo by zmienić pin muszę kartę przekładać do telefonu,
ale pewnie będę miał tak jak podałeś.
Teraz tylko jak znaleźć zależność.

Da się jakoś wyliczyć te sumę kontrolna ???
albo jakimś programem pod Windowsem podejrzeć ?
Czy tylko zmiana PINu ?

[Odpowiedź na te pytania jest tutaj: http://stackoverflow.com/questions/7983 … hdlc-frame

Komunikacja z modemem odbywa się za pomocą ramek HDLC - 2 flagi (otwierająca i zamykająca = x7E)
PunBB bbcode

później dane adresowe i kontrolne a następnie łańcuch z wiadomością i suma kontrolna.

Suma kontrolna (FCK) obliczana jest tylko dla danych adresowych, kontrolnych i treści za pomocą CRC-16-CCITT
W przypadku podawania tych łańcuchów z pinem nie ma flagi otwierającej(?) dlatego oblicza się od początku %D2%01......
Można się pobawić tutaj: http://www.zorc.breitbandkatze.de/crc.html (ustawienia zgodnie z pierwszym linkiem)

Nie wiem czy są jakieś narzędzia CRC-CCITT dostępne dla Openwrt czy też należałoby to załatwić jakimś skryptem.

Generalnie tak chyba odbywa się komunikacja w przypadku Qualcommów - więcej o tym.

Witam,

Przeleciałem na szybko niniejszy tutorial, zrobiłem extroota, potem transmission, samba. Wszystko działa tylko... zapomniałem o wydzieleniu partycji SWAP.

I moje pytanie: czy to ma znaczenie w przypadku 3420 v2 ? Wiadomo, że z pamięcią nie tęgo.
Ewentualnie czy i jak teraz wydzielić partycję dla swap?

Pozdrawiam

8

(138 odpowiedzi, napisanych Oprogramowanie / Software)

Problem w tym, że ja nie mam zasięgu 3G.

Przy przełączaniu pojawia się rząd komend, który kończy się podobnie długą komendą jak ten dla CDMA:

CF 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Wygląda na to, że to może być to - po zapodaniu zgasła dioda i modem się zresetował, po czym zalogował znów do CDMA.

Ktoś kto ma oba musiałby potestować, z zastrzeżeniem, że nie ponoszę odpowiedzialności smile Najlepiej podsłuchać własny modem i porównać wzór.

W moim przypadku tak czy siak ciągle kończy się na CDMA (z braku WCDMA).

9

(138 odpowiedzi, napisanych Oprogramowanie / Software)

ryba825 napisał/a:

Wysyłałem mu na USB i na ACM i mi się nie udało go przełączyć.

A próbowałeś na ACM2?

U mnie wysłanie :

echo -ne "CF 00 18 63 64 6D 61 40 6F 72 61 6E 67 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0B 65 78 6B 64 6D 6F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" > /dev/ttyACM2

podczas pracy modemu w CDMA powoduje jego wyłączenie, powtórne wklepanie powoduje restart i włączenie. Tak samo do tej pory musiałem wkładać modem na "gorąco" żeby zaskoczył po restarcie wył/routera a po tej komendzie dzieje się magia smile

Wnioskuję, że to komenda przełączająca na CDMA. U mnie to idzie na interfejsie NMEA (jak pisał ryba825) choć trochę się zdziwiłem bo myślałem że NMEA to standard dla urządzeń GPS (???) Jeżeli to leci w sentencjach NMEA to one chyba mają jakiś standardowy zapis do zdobycia gdzieś, czy się mylę?

Z innej beczki - ja mam inny problem z tym modemem, mianowicie ciągłe zwisy (kilka, kilkanaście minut) nie pomaga hub aktywny (natec Crab i zasilacz 2A) nadajnik CDMA kilkaset metrów od domu, zasięg full, ale o tym napiszę osobny wątek.

Cezary mów co i jak to może skombinujemy jakiś kod do przełączania trybów modemu.

Witam serdecznie.

Dołączę się do tematu z następującym pytaniem:
Moja konfiguracja to TL-MR3420 v2 z Gargoyle 1.5.10.11 (r37768), by obsy oraz modem Anydata ADU890-W, modem "zawiesza się" podczas korzystania z internetu dosłownie co kilka, kilkanaście minut - jaka może być tego przyczyna?
W logach powtarza się:
daemon.notice netifd: Interface 'wan' has lost the connection
daemon.notice netifd: Interface 'wan' is now up
user.notice firewall: Reloading firewall due to ifup of wan (3g-wan)

Dodam, że nadajnik CDMA mam 100 m od domu.

Ja podejrzewam słabą wydajność prądową routera, ale nie mam pewności. Jeżeli tak czy aktywny hub załatwi sprawę i najważniejsze jaki "mocny" hub polecacie do tego routera?