Temat: Modem E353Wu-1 - polecenia AT trybu NDIS
Jak uruchomić połączenie NDIS za pomocą komend AT. Chodzi o system Windows. Normalnie robię połączenie sieciowe na numer *99# i działa ale jest to tryb RAS (Dial-Up). Korzystam ze skryptu wsadowego do wprowadzenia PIN'u:
@echo off
echo at+cpin="tutaj_pin_karty">pin
print /d:com6 pin>nul
del pin>nul
ping 127.0.0.1>nul
rasdial/d|rasdial ^
RAS_353 /phone:*99#>nulChciałbym użyć karty sieciowej do połączenia bez używania zewnętrznych programów takich jak Mobile Partner czy Topnet_info. Chciałbym ręcznie np. za pomocą skryptu uruchamiać połączenie w trybie NDIS. Wiem, że usługa klienta DHCP musi być włączona aby karta uzyskała konfigurację sieciową od operatora.
Edytowano
========
OK, już doszedłem co i jak :-). W Windows jeśli chcemy wysłać znak specjalny np. daszek ^ za pomocą polecenia echo to trzeba go wpisać dwa razy ^^. Zrobiłem trzy skrypty do łączenia i rozłączania połączenia NDIS. Należy użyć portu COM na jakim mamy zainstalowany modem i PIN'u karty SIM jeśli aktywny - w przykładzie port COM6 i PIN 1234:
ndis_pin.bat
@echo off
cls
title Wprowadzanie PIN'u i laczenie NDIS...
echo at+cpin="1234">com6
ping 127.0.0.1 -n 6 > nul
echo at^^ndisdup=1,1,"internet">com6
ping 127.0.0.1 -n 8 > nul
# Polaczony - dioda swieci na niebieskondis.bat
@echo off
cls
title Laczenie NDIS...
echo at^^ndisdup=1,1,"internet">com6
ping 127.0.0.1 -n 8 > nul
# Polaczony - dioda swieci na niebieskondis_dc.bat
@echo off
cls
title Rozlaczanie NDIS...
echo at^^ndisdup=1,^0>com6
ping 127.0.0.1 -n 3 > nul
# Rozlaczony - dioda miga na niebiesko
# Czasami trzeba poczekac kilka sekund na rozlaczenieTrzy skrypty można zastąpić jednym, który działa na przemian nawet z kartą SIM na której nie ma ustawionego żądania PIN'u:
ndis_auto.bat
@echo off
setlocal
REM Przypisz zmiennej PORT wlasciwy port com
set PORT=com6
REM Jezeli wymagane jest wprowadzenie pinu przypisz go zmiennej PIN
set PIN=1234
REM Z jakim APN ma laczyc
set APN=internet
set "wait=ping localhost >nul -n "
set "n=0"
REM Ile istnieje aktywnych lacz
for /F %%? in ('route print ^|find " 0.0.0.0 "') do set /a "n+=1"
if %n% == 0 (
REM Jezeli istnieje zmienna PIN probuj ja wprowadzic, w innym przypadku pomin tylko laczac
if defined PIN ( call :pin_connect ) else call :connect
) else call :disconnect
%wait% 3
endlocal
for %%? in (%CmdCmdLine%) do if /i %%?==/c pause
goto :eof
:disconnect
title Rozlaczanie NDIS...
echo at^^ndisdup=1,^0>%PORT%
goto :eof
:pin_connect
title Wprowadzanie PIN'u
echo at+cpin="%PIN%">%PORT%
%wait% 6
:connect
title Laczenie NDIS...
echo at^^ndisdup=1,1,"%APN%">%PORT%
goto :eof