Jak zbierać dane z nieudanej sesji połączenia modemu

Kwestie techniczne, konfiguracja i rozwiązywanie problemów z modemami GSM (GPRS, EDGE, UMTS, HSDPA i HSUPA).

Moderator: Moderatorzy

ODPOWIEDZ
Awatar użytkownika
KrissTofferr
Mistrz bezprzewodowy
Posty: 1271
Rejestracja: 2008-03-11, 14:15
Lokalizacja: Lubelskie

Jak zbierać dane z nieudanej sesji połączenia modemu

Post autor: KrissTofferr »

Opiszę jak zbierać dane z nieudanej sesji połączenia modemu.

Jeśli przy próbie połączenia wystąpi błąd nr 628, 719, ogólnie xxx, to chcemy znaleźć jego przyczynę. Komputer i modem wysyłają pomiędzy sobą dane poprzez jeden lub kilka otwartych portów szeregowych COM (COM9, COM14 itd.) W początkowej i końcowej fazie połączenia zawsze przesyłane są polecenia AT i odpowiedzi modemu, czyli dane czysto tekstowe które człowiek może łatwo zinterpretować. Właśnie te dane musimy zobaczyć żeby ustalić moment przerwania komunikacji i przyczynę powstawania błędu.

Instrukcja dla systemów Windows x86

Zaloguj się jako administrator systemu Windows.
Pobierz darmowy program z microsoft'u: Portmon.zip.
Wypakuj go do katalogu C:\Portmon
Uruchom Portmon.exe, w jego menu wejdź w Computer, kliknij "Connect local".
Wejdź w Options, usuń zaznaczenie przy "Show Hex".
Wejdź w Capture -> Ports, zobacz ile portów COM jest pozaznaczanych na liście. Portmon może podsłuchiwać tylko te porty COM które są pozaznaczane na tej liście. Portmon podczas uruchamiania stara się zaznaczyć wszystkie porty obecne w systemie jednak nie zawsze jest to możliwe. Możesz też spróbować sam pozaznaczać wszystkie porty ale to nie uda się jeśli jakiś inny program albo usługa używały danego portu w chwili gdy uruchamiałeś Portmon'a. Wniosek jest z tego taki że trzeba uruchomić Portmon przy samym starcie systemu Windows, jeszcze zanim inne programy pootwierają porty COM do swoich celów. Portmon nie będzie wcale przeszkadzał tym innym programom.
W tym celu najlepiej jest dodać ścieżkę dostępu do Portmon w rejestrze windows w kluczu:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Po prostu skopiuj poniższy kod do pliku uruchamianie_portmon.reg i scal go z rejestrem windows:

Kod: Zaznacz cały

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

"AAAAAAA"="C:\\PortMon\\portmon.exe"
Uruchom ponownie system.

Po uruchomieniu systemu automatycznie otworzy się okno Portmon. Z menu wybierz File -> Log to file as..., wpisz nazwę pliku d:\15kwietnia2011.txt
Od tej chwili wszystkie przechwycone dane będą zapisywane do tego pliku tekstowego.

Teraz zainicjuj połączenie z modemem tak jak zwykle to robisz. Zaczekaj aż pojawi się komunikat błędu połączenia "Error xxx".
Zainicjuj połączenie jeszcze raz - dotąd aż zbierzesz dane z wystąpienia trzech takich błędów połączenia.

Aby zakończyć zbieranie danych przez Portmon - wejdź w menu: File i usuń zaznaczenie przy "Log to File".

Plik d:\15kwietnia2011.txt skompresuj do archiwum .zip i załącz do wiadomości na forum.

Jeśli nie chcesz aby Portmon uruchamiał się przy następnym starcie systemu to uruchom program: msconfig.exe i w zakładce "Uruchamianie" usuń zaznaczenie przy pozycji "portmon".
Ostatnio zmieniony 2011-07-05, 18:16 przez KrissTofferr, łącznie zmieniany 1 raz.
Awatar użytkownika
KrissTofferr
Mistrz bezprzewodowy
Posty: 1271
Rejestracja: 2008-03-11, 14:15
Lokalizacja: Lubelskie

Re: Jak zbierać dane z nieudanej sesji połączenia modemu

Post autor: KrissTofferr »

Instrukcja dla systemów Windows x86 i x64

Portmon (opisany powyżej) nie działa na systemach 64-bitowych. Jako alternatywę dla niego można zastosować systemowe rejestrowanie poleceń modemu które działa na wszystkich architekturach systemu Windows.

Włącz systemowe rejestrowanie poleceń modemu.

Zainicjuj połączenie z modemem tak jak zwykle. Zaczekaj aż pojawi się komunikat błędu połączenia "Error xxx".

Przechwycone dane zostały zapisane w pliku tekstowym:
C:\windows\System32\ModemLog_Nazwa_modemu.txt
lub w pliku:
C:\windows\ModemLog_Nazwa_modemu.txt
ODPOWIEDZ