예제 #1
0
void cfg_uart_ppp_serv( void (*entry_point)(void)) {
  int r;
  wip_in_addr_t local, dest;
  wip_bearer_t b;

  appli_entry_point = entry_point;

  wip_inet_aton( PPP_LOCAL_STRADDR, &local);
  wip_inet_aton( PPP_DEST_STRADDR, &dest);

  r = wip_bearerOpen( &b, PPP_BEARER, evh_bearer, NULL);
  ASSERT_OK( r);

  /* if Open AT application on WCPU aims at addressing an other IP @ 
   * than PPP peer or 127.0.0.1, it has to enable the IP Gateway 
   * functionality. This is done using WIP_BOPT_IP_SETGW at TRUE 
   */
  r = wip_bearerSetOpts( b, WIP_BOPT_IP_ADDR,  local,
                         WIP_BOPT_IP_DST_ADDR, dest,
                         WIP_BOPT_IP_SETDNS,   FALSE,
                         WIP_BOPT_IP_SETGW,    TRUE,
                         WIP_BOPT_RESTART,     FALSE,
                         WIP_BOPT_END);
  ASSERT_OK( r);
  
  r = wip_bearerStartServer( b, evh_ppp_auth, NULL);
  ASSERT_OK( r);
}
예제 #2
0
static void open_and_start_bearer( void) {
  int r;
  wip_bearer_t b;

  r = wip_bearerOpen( &b, "GPRS", evh_bearer, NULL);
  ASSERT_OK( r);
  
  r = wip_bearerSetOpts( b, WIP_BOPT_GPRS_APN, GPRS_APN,
                         WIP_BOPT_LOGIN,       GPRS_USER,
                         WIP_BOPT_PASSWORD,    GPRS_PASSWORD,
                         WIP_BOPT_END);
  ASSERT_OK( r);
  r = wip_bearerStart( b);
  ASSERT( 0 == r || WIP_BERR_OK_INPROGRESS == r);
}
예제 #3
0
static void OpenAndStartBearer ( void )
{
    s8 bearerRet;
    wip_bearer_t br;

    /* Open the GPRS bearer */
    bearerRet = wip_bearerOpen ( &br, GPRS_BEARER, cbEvhBearer, NULL ) ;
    ASSERT_OK( bearerRet);

    /* Set the bearer configuration */
    bearerRet = wip_bearerSetOpts ( br,
                            WIP_BOPT_GPRS_APN, GPRS_APN,
                            WIP_BOPT_LOGIN, GPRS_USER,
                            WIP_BOPT_PASSWORD, GPRS_PASSWORD,
                            WIP_BOPT_END );
    ASSERT_OK( bearerRet );

    /* Start the bearer */
    bearerRet = wip_bearerStart ( br );
    ASSERT( OK == bearerRet || WIP_BERR_OK_INPROGRESS == bearerRet);
}
예제 #4
0
파일: init.c 프로젝트: Ryugoron/university
/*
 * Richtet GPRS Verbindung ein
 */
void initGprs()
{
	// Speichert den Rückgabewert der WIP Funktionsaufrufe
	s8 result;

	// Initialisiert den TCP Stack. Auf eine Auswertung des Rückgabewertes wurde
	// verzichtet, da sich das Modul bei bei einem Fehler resettet
	wip_netInit();

	// Meldet den Handler für die GPRS Verbindung an
	wip_bearerOpen(
		&init_gprsBearer,
		"GPRS",
		init_gprsHandler,
		NULL
	);

	// Konfiguriert die GPRS Verbindung
	result =
		wip_bearerSetOpts(
			init_gprsBearer,
			WIP_BOPT_GPRS_APN,	initGprsApn,
			WIP_BOPT_LOGIN,		initGprsUsr,
			WIP_BOPT_PASSWORD,	initGprsPwd,
			WIP_BOPT_END
		);

	// Behandelt die Konfiguration
	switch(result)
	{
	case OK:
		//info("TCP Stack wurde initialisiert");
		break;
	case WIP_BERR_NO_DEV:
		info("Die Geräteschnittstelle existiert nicht");
		break;
	case WIP_BERR_ALREADY:
		info("Die Geräteschnittstelle wurde bereits geöffnet");
		break;
	case WIP_BERR_NO_IF:
		info("Die Netzwerkschnittstelle ist nicht verfügbar");
		break;
	case WIP_BERR_NO_HDL:
		info("Der Handler ist unbekannt");
		break;
	}

	// Baut die GPRS Verbindung auf
	result =
		wip_bearerStart(init_gprsBearer);

	// Behandlet den Verbindungsaufbau
	switch(result)
	{
	case OK:
		//info("Verbindung wird eingerichtet");
		break;
	case WIP_BERR_OK_INPROGRESS:
		//info("Verbindung gestartet, ein Ereignis folgt bei Beendingung");
		break;
	case WIP_BERR_BAD_HDL:
		info("Ungültiger Handle");
		break;
	case WIP_BERR_BAD_STATE:
		info("Die Verbindung wurde nicht gestoppt");
		break;
	case WIP_BERR_DEV:
		info("Fehler bei der Initialisierung der Verbindungsschicht");
		break;
	}
}