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 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 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.