26

Odp: 3G INFO

Tzn z ostatnią cyfrą kontrolną czy bez?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

27

Odp: 3G INFO

z cyfrą, bez cyfry to ok. 1000, odebrana wczoraj więc chyba z tej nowej puli.

28

Odp: 3G INFO

No to ta sama pula, ja jestem 100 wcześniej.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

29 (edytowany przez uggp 2011-08-10 16:12:14)

Odp: 3G INFO

U mnie wciąż problem z Play.

Edit.
skracam posta żeby nie śmiecić

30

Odp: 3G INFO

Jak widzisz - modem nie reaguje na polecenie wydane w PDU, natomiast reaguje na zwykłe tekstowe, ale odpowiedź nie jest tekstowa ani PDU (przynajmniej dekoder online nie potrafi sobie poradzić).

Przerób sobie skrypt  play_fresh.gcom, żeby nie czekał do 0 Wyjscie tylko "+CUSD:", ale i tak trzeba będzie powalczyć w wynikiem. Pokaż co zwraca AT+CSCS?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

31 (edytowany przez uggp 2011-08-10 15:50:45)

Odp: 3G INFO

AT+CSCS=?
+CSCS: ("IRA","GSM","UCS2")

Jak pytam go "tekstowo" gcom'em to również cisza (skryptem play_fresh.
gcom
,
to co pokazuje picocom w odpowiedzi to jakieś dziwne kodowanie

EDIT:
domyślnie idzie IRA
zmieniłem, że nie czeka na "0 Wyjście"
Teraz w odpowiedzi mam te szyfry wink

32

Odp: 3G INFO

Jeszcze AT+CSCS?  (nie cscs=?) niech pokaże co ma domyślnie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

33 (edytowany przez uggp 2011-08-10 16:24:39)

Odp: 3G INFO

Terminal ready
AT+CSCS?
+CSCS: "IRA"

OK

Pozmieniałem skrypt i teraz

root@Gargoyle:~# gcom -d /dev/ttyUSB2 -s /usr/share/3ginfo/scripts/play_fresh2.gcom
"0050006C006100790020003200340020004D0065006E0075000A00310020004B006F006E0074006F000A0032002000550073006C0075006700690020002F002000500072006F006D006F0063006A0065000A0030002000570079006A0073006300690065000A00570069006500630065006A0020006F00700063006A00690020007A006E0061006A0064007A006900650073007A0020007700200050006C00610079003200340020006E006100200068007400740070003A002F002F00320034002E0070006C00610079002E0070006C",72"

I co z tym dalej zrobić to nie wiem. Przed każdym znakiem 0x00. Co to za kod?

Edit:
Właśnie wklepałem hexy do hexedytora i to jest ASCII. To znaczy za pomocą ASCII idzie kod HEX który mówi jak to znak ASCII.
Jakiś obłęd smile

@Cezary,
Jak bym zrobił dekoder w C/C++ do tego to dasz radę to skompilować dla ASUSA 500gP V1?

34

Odp: 3G INFO

Tak, dało by radę.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

35

Odp: 3G INFO

Pewnie dało by się to w skrypcie zrobić.
Na razie w C:

// updu2txt.c
#include <stdio.h>

char fh(char h)
{
char r=0;
if ((h>='0') && (h<='9')) {r=h-'0';};
if ((h>='A') && (h<='F')) {r=h-'A'+10;};
if ((h>='a') && (h<='f')) {r=h-'a'+10;};
return r;
}

int main(int argc, char* argv[])
{
int i=0;
char c1,c2,c;
if (argc==2)
   {
   while ((argv[1][i]) && (argv[1][i+1]))
      {
      c1=argv[1][i];
      c2=argv[1][i+1];
      if ((c1!='0') || (c2!='0'))
         {
         c=((fh(c1)<<4) | (fh(c2)));
         printf("%c",c);             
         }
      i+=2;
      };
   };
printf("\n");
return 0;
}

jak dam updu2txt 00xx00yy00zz... to wróci normalny ASCII

testowałem pod Ubuntu i dla tego co podałem u góry to wychodzi:

Play 24 Menu
1 Konto
2 Uslugi / Promocje
0 Wyjscie
Wiecej opcji znajdziesz w Play24 na http://24.play.pl

Jeśli możesz to skompiluj mi proszę dla ASUS WL500gP v1 Backfire (10.03.x, latest version. Always.)

36

Odp: 3G INFO

Nie ma potrzeby, masz:

A="0050006C006100790020003200340020004D0065006E0075000A00310020004B006F006E0074006F000A0032002000550073006C0075006700690020002F002000500072006F006D006F0063006A0065000A0030002000570079006A0073006300690065000A00570069006500630065006A0020006F00700063006A00690020007A006E0061006A0064007A006900650073007A0020007700200050006C00610079003200340020006E006100200068007400740070003A002F002F00320034002E0070006C00610079002E0070006C" 
echo $A | awk '{for(i=1;;i=i+2) if (substr($1,i,2) != "") {idx++; if (idx % 2 == 0) printf "%c", (index("0123456789ABCDEF",substr($1,i,1))-1)*16+(index("0123456789ABCDEF",substr($1,i+1,1))-1) } else exit;} '
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

37

Odp: 3G INFO

Sprawdziłem na Ubuntu i działa. Wstawię to w skrypt na routerku. Powinno być dobrze.

38

Odp: 3G INFO

Działa, bo sprawdzałem u siebie...

PS. na normalnym awk jest prościej bo na tym z busyboxa paru przydatnych funkcji nie ma, np. strtonum...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

39

Odp: 3G INFO

OK, Śmiga elegancko.
Po złożeniu do kupy.
play_fresh2.gcom

opengt
 set com 115200n81
 set comecho off
 set senddelay 0.02
 waitquiet 0.2 0.2

 send "AT+CUSD=1,\"*111#\",15^m"
 waitfor 10 "+CUSD: "
 if % = -1 goto noresponse

 send "AT+CUSD=1,\"1\",15^m"
 waitfor 10 "+CUSD: "
 if % = -1 goto noresponse

 send "AT+CUSD=1,\"3\",15^m"
 waitfor 10 "+CUSD: "
 if % = -1 goto noresponse

 get 1 "^m" $s
 print $s

 send "AT+CUSD=1,\"0\",15^m"
 waitfor 10 "+CUSD: "
 exit 0

:noresponse
 print ""
 exit 0

play_fresh2.sh

#!/bin/sh
DEVICE=$(uci -q get 3ginfo.@3ginfo[0].device)
O=$(gcom -d $DEVICE -s /usr/share/3ginfo/scripts/play_fresh2.gcom | cut -f2 -d\")
if [ ! -z "$O" ]; then
    A=$(echo $O | awk '{for(i=1;;i=i+2) if (substr($1,i,2) != "") {idx++; if (idx % 2 == 0) printf "%c", (index("0123456789ABCDEF",substr($1,i,1))-1)*16+(index("0123456789ABCDEF",substr($1,i+1,1))-1) } else exit;}')
    echo $A | sed -e 's/1 Opis 9 Powrot 0 Wyjscie//g'
else
    echo "Problem operatora - brak możliwości sprawdzenia"
fi

Tak patrząc na to to można by zrobić chyba full automat, informacja o operatorze jest, potem zapytać modem, jak odpowie to sprawdzić co wyszły i podjąć decyzję o wyniku.

Teraz muszę powalczyć z bazą BTSów bo coś mi nie działa

40

Odp: 3G INFO

Ale nie napisałeś jaki masz modem smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

41 (edytowany przez uggp 2011-08-11 09:24:31)

Odp: 3G INFO

A no widzisz smile poedytowałem logi w postach żeby nie śmiecić i zniknęła ta infromacja

Modem to: ZTE INCORPORATED MF100 (Malowany na O2 wink )

Nie wiem czemu nie działa mi informacja o BTS. Ściągnąłem bazę (ograniczyłem do małopolski) i jak ręcznie przeglądam to moja pozycja w bazie istnieje. Tak samo jak kliknę na link CID to otwiera mi stronkę BTSearch i wyświetla się pozycja (nawet dwie ale ta druga jakaś błędna i z poza województwa).
Przeglądając skrypt 3ginfo.sh to w zasadzie powinno działać bo tu nie ma znaczenia jaki modem.
Chyba że się mylę.

42

Odp: 3G INFO

uci show 3ginfo pokaż.

A tak w ogóle to zrób 3ginfo-test i wyślij to mejlem do mnie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

43

Odp: 3G INFO

Problem jest z LAC,
skrypt odczytuje 520 a powinno być 520F. Nie wiem gdzie znika "F". Wpisałem ręcznie za linijką:

LAC=$(echo "$O" | awk -F[,] '/\+CREG/ {printf "%s", $3}' | sed 's/[^A-F0-9]//g')

bezpośrednio

LAC=$(echo "520F")

czyli wymusiłem LAC i zadziałało.

p.s. Raport leci na e-mail

44

Odp: 3G INFO

Ok, przeanalizuje sobie dane i zobaczymy co jest do zmiany. Dzięki.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

45

Odp: 3G INFO

Jeszcze może to się przydać:
Na polecenie
gcom -d /dev/ttyUSB2 -s /usr/share/3ginfo/scripts/3ginfo.gcom

Dostałem:

   
+CSQ: 13,99
+COPS: 0,0,"Plus",0
+ZPAS: "EDGE","CS_PS"
+CREG: 2,5,520f,5701
DEVICE:ZTE INCORPORATED MF100

"f" jest z małej litery, czy wielkość liter ma znaczenie?

46

Odp: 3G INFO

uggp napisał/a:

play_fresh2.sh

#!/bin/sh
DEVICE=$(uci -q get 3ginfo.@3ginfo[0].device)
O=$(gcom -d $DEVICE -s /usr/share/3ginfo/scripts/play_fresh2.gcom | cut -f2 -d\")
if [ ! -z "$O" ]; then
    A=$(echo $O | awk '{for(i=1;;i=i+2) if (substr($1,i,2) != "") {idx++; if (idx % 2 == 0) printf "%c", (index("0123456789ABCDEF",substr($1,i,1))-1)*16+(index("0123456789ABCDEF",substr($1,i+1,1))-1) } else exit;}')
    echo $A | sed -e 's/1 Opis 9 Powrot 0 Wyjscie//g'
else
    echo "Problem operatora - brak możliwości sprawdzenia"
fi

No tak, jak sie na szybko pisze to oczywistych spraw nie widać.

echo $O | awk '{for(i=1;;i=i+4)if(substr($1,i,4)!=""){printf "%c",(index("0123456789ABCDEF",substr($1,i+2,1))-1)*16+(index("0123456789ABCDEF",substr($1,i+3,1))-1)}else exit;} '

Małe uproszczenie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

47

Odp: 3G INFO

Podmieniłem A-F na a-f i działa wszystko. Widać mój modem tutaj wysyła hexy małymi literami.

48

Odp: 3G INFO

Tak, niestety tak.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

49

Odp: 3G INFO

Zainstaluj sobie nową wersję i sprawdź działanie. Powinno wszystko działać. Konfig zostaw swój, skrypt do limitu nazywa się tak samo: play_fresh2

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

50

Odp: 3G INFO

Potwierdzam: 3GInfo dla ZTE MF100 działa w 100%

Dzięki!