Download Print this page
NETGEAR KWGR614 User Manual
NETGEAR KWGR614 User Manual

NETGEAR KWGR614 User Manual

Opensource wireless-g router
Hide thumbs Also See for KWGR614:

Advertisement

Quick Links

OpenSource User Guide for OpenSource Wireless-G
Router KWGR614
Summary
This document provides further product information for open source developers who are
interested in using this platform to develop their customization applications.
WARNING:
Opening the router housing or putting in any customer software on the
router will void the warranty on your router
Specifications
This section describes the hardware memory specifications and the module and software
specifications for the OpenSource Wireless-G Router KWGR614.
Hardw are Memory Specifications
Total memory:
• Flash: 4MB
• SDRAM: 16MB
Memory usage of the latest router firmware:
• Flash: 2MB used = 1,804KB (router firmware V1.0.1-10.17WW) + 192KB
(Bootloader + BoardInfo + POT + Configuration)
• SDRAM: about 8.5MB (without including the dynamic memory allocation)
Module and Software Specifications
The following table lists the functional modules of the KWGR614 router and the source
and versions of the different modules. You can find more information on these functional
modules directly from the source of the packages.
Module
Package
NAT/NAPT
RomeDriver-Realtek
RIPv1/RIPv2
Copyright 2005, DNI
DHCP
udhcpd/udhcpc of
server/client
Busybox V1.00-pre2
DNS Proxy
Dnrd
Application Note
Version Location (directory)
3.6.3
1.0.0
0.9.10
2.17.2
linux-2.4.x/drivers/net/re865x/rtl865x
user/ripd
user/busybox/networking/udhcp
user/dnrd-dnshijack

Advertisement

loading

Summary of Contents for NETGEAR KWGR614

  • Page 1 • SDRAM: about 8.5MB (without including the dynamic memory allocation) Module and Software Specifications The following table lists the functional modules of the KWGR614 router and the source and versions of the different modules. You can find more information on these functional modules directly from the source of the packages.
  • Page 2 Making a Console Debug Interface for the KWGR614 Router This section provides instructions on how to make a console interface to a NETGEAR KWGR614 wireless router for the developer’s firmware development and debugging. The following example schematic illustrates using a MAX3232, the RS-232 Line Driver/Receiver from Texas Instruments (TI), to make a console board.
  • Page 3 1 stop bit, without flow control). To make a console debug interface for the KWGR614 router: Connect the console board to the pin header (J303) on the router board. The pin-out of J303 on the KWGR614 board is as follows:...
  • Page 4 • Pin 1: VDDH (3.3V) • Pin 2: TxD • Pin 3: RxD • Pin 4: GND (Ground) There are third-party vendors who provide compatible console boards, such as the AD233AK/AD233BK RS232 adapter kits at: http://www.compsys1.com/workbench/On_top_of_the_Bench/Max233_Adapter/max233 adapter.html Make sure the third-party adapter board is connected correctly to the corresponding pins of J303 on the router board.
  • Page 5 This section describes the steps and procedures that are required to download the source code, install the toolchain, compile and link the existing source code, and develop the user applications for the KWGR614 Router. Note: The procedures in this guide were performed on Suse Linux 10.1.
  • Page 6 Note: Root user permissions may be required to create the uclibc directory and install the tool chain into the root directory of the file system. 5. Compile. a. Change the working directory to KWGR614_xxx/. b. Type make menuconfig Target Platform Selection ---> [ * ] Customize Kernel Settings (NEW) Exit, Exit, Save configuration? yes Exit, Save configuration? yes...
  • Page 7 #define OS_VERSION “V1.01.01 Custom” Note: You can remove the country suffix from the version string by redefining EXTENSION. user/dni/nvram_realtek.c #if 1 #ifdef EXTENSION #undef EXTENSION #endif #define EXTENSION “” #endif New NVRAM Parameters 1. Define the structure of the parameter. user/boa/src/rtl865x/board.h #define MAX_QUESTION_LENGTH 64 typedef struct exampleParam_s...
  • Page 8 3. Create get/set functions for the parameter. user/dniutil/nvram_realtek.c char * nvram_get_example_question (char *name) DPRINTF("nvram_get(\"%s\")\n", name); sprintf(str, "%s", pRomeCfgParam->exampleParam.question); return (str); nvram_set_example_question(char *name, char *value) DPRINTF("nvram_set(\"%s\", \"%s\")\n", name, value); strncpy(pRomeCfgParam->exampleParam.question, value, \ sizeof(pRomeCfgParam->exampleParam.question)); return 1; char * nvram_get_example_answer (char *name) DPRINTF("nvram_get(\"%s\")\n", name); sprintf(str, "%d", pRomeCfgParam->exampleParam.answer);...
  • Page 9 5. Declare an instance of the parameter for runtime memory use. user/boa/src/dni/board.c exampleParam_t 6. Define default values for the parameter. user/boa/src/dni/board.c // nvram example exampleParam_t exampleParamDefault[1] = "What is the meaning of life, the universe, and everything?", 7. Define the initialization function. user/boa/src/dni/board.c uint32 example_init(void) /* read cfg from cfgmgr */...
  • Page 10 8. Add the function to system initialization. user/boa/src/dni/board.c uint32 sysInit(void) . . . /* init nvram example */ example_init(); . . . } /* end sysInit */ 9. Add an ID to the configuration management table and to the control table. user/boa/src/rtl865x/rtl_board.h enum _board_cfgmgr_tabId_e { .
  • Page 11 int example_cfg_save(void) cfgmgr_write(CFGMGR_TABID_EXAMPLE, \ cfgmgr_task(); return 1; 11. Add the parameter to the NVRAM commit function. user/boa/src/dni/board.c int nvram_commit(void) . . . cfgmgr_write(CFGMGR_TABID_EXAMPLE, \ cfgmgr_task(); return 1; 12. Clean and rebuild userspace At the shell prompt, type: work> cd user; make clean; cd ..; make Web Page Integration The boa web server is used.
  • Page 12 user/boa/src/www_WW/example.html <html> <head> <meta http-equiv="content-type" content="text/html;charset=ISO-8859- 1"> <META http-equiv='Pragma' CONTENT='no-cache'> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> <title>Router Customization Example</title> <link rel="stylesheet" href="/form1.css" type="text/css"> <script language="javascript" type="text/javascript"> <!-- hide script from old browsers function loadhelp(fname) if(top.helpframe != null) { top.helpframe.location.href="help/help"+fname+".html" //--> </script> </head> <body bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"...
  • Page 13 <html> <head> <META name="description" content="KWGR614"> <META http-equiv="Content-Type" content="text/html; charset=iso-8859- 1"> <META http-equiv="Pragma" content="no-cache"> <META HTTP-equiv="Cache-Control" content="no-cache"> <title>Help</title> <link rel="stylesheet" href="help.css"> </head> <body bgcolor="#0099cc" > <h1>Example Help</h1> <p>This is an example web page showing how to get a parameter from nvram.
  • Page 14 192.168.1.1 firmware image file to transmit. 7. Monitor the Test LED. When it starts blinking, the recovery procedure is complete. 8. Power cycle to reboot KWGR614. Note: Repeat the above steps if the procedure is interrupted or fails. Conclusion This guide provides information including the hardware memory spec, the software modules, the console interface for code debugging and development, guide for building the source code, the example program, and the device recovery procedure.