Kernel 2 6 SDK User Guide v1 12
Kernel 2 6 SDK User Guide v1 12
Date: 2010/12/01
Version: 1.12
Fedora 9
Ubuntu 8.10/9.10
cd /RLXLinux/bootcode_rtl8196c_98
Note:
select ‘Target Platform Selection’ and click ‘Enter’ to customize settings of bootloader.
make
iii) Select ‘Load default settings’, then choose ‘<Exit>’ and click ‘Enter’
Note:
Above we just use configure applications and linux kernel in default way.
make
(1) Full image include webpages, root file system and linux kernel, which can be uploaded via
webpage or tftp.
fw.bin
(2) Image include webpages only, which can be uploaded via webpage or tftp.
webpages-gw.bin
(3) Image include root file system only, which can be uploaded via webpage or tftp.
root.bin
(4) Image include linux kernel only, which can be uploaded via webpage or tftp.
linux.bin
(5) Configure file of default settings, which can be uploaded via webpage.
config-gw-98.dat or config-gw-96c.dat
Step 1, reboot AP and click ‘Esc’ via console during AP booting, then AP enter bootloader
environment. Output of AP’s console is as follows:
Step 2, upload bootloader image via AP’s lan port using tftpd. Settings of tftp are as follows:
Step 1, reboot AP and click ‘Esc’ via console during AP booting, then AP enter bootloader
environment. Output of AP’s console is as follows:
Step 2, upload rlxlinux images via AP’s lan port using tftpd. Settings of tftp to upload
webpages-gw.bin are as follows.
And settings of tftp to upload root.bin and linux.bin are the similar, just using root.bin and
linux.bin as ‘File’ input at tftp UI instead.
By kernel default settings, linux kernel PCI is not supported, because wireless driver use its own
PCI driver. Linux kernel configure as follows.
Menuconfig:
If wireless driver use the PCI driver of linux kernel, linux kernel configure as follows.
Menuconfig:
Menuconfig:
Menuconfig:
Menuconfig (2):
File systems --->
DOS/FAT/NT Filesystems --->
MSDOS fs support // selected
Menuconfig:
usbmount // selected
Menuconfig:
samba // selected
Note: when samba is selected here, default config file should be uploaded via webpage to enable
samba.
Ps.
mnet: a utility to control the above flow.
usb_modeswitch: a mode switching tool for controlling multiple device USB (turn from storage
©2010 Realtek Semiconductor Corp. 17
mode into modem mode).
4.4.2 Linux kernel configure
In System Configuration, please select USB3G support and change the size of Flash to 0x400000,
and linux image offset to 0x130000 (make sure your board is 32M/4M sdram/flash, and bootloader is
also compatible).
2) Busybox command
Linux System Utilities --->
While usb dongle has been inserted and attached as modem device, kernel appear several
ttyUSB* in the /dev folder. The name of ttyUSB will append a number, for example: ttyUSB0. But the
number doesn't always start from 0, mnet will find a proper one, and generate a ppp option file in the
path /var/usb3g.option. Below is a example entry. In the most case, you doesn't need to change it.
Generally, mnet will detect the usb dongle's type and find a matched config for usb_modeswitch
when inserted (ie. hotplug occurred).
If an unsupported dongle is found, you can type command “lsusb” under the console to
identify the vendor id and product id, and get the support from
http://www.draisberghof.de/usb_modeswitch/#download.
If there is no supported config file, you need manually to add the vendor id and product id into
linux-2.6.30/drivers/usb/serial/option.c, and also implement a suitable eject utility (ex:usb_modeswitch
we used, it's kind of eject utility) for this dongle.
4.4.4.4 Add custom eject function
If there is a dongle doesn't support by usb_modeswitch, you can hook it into the follow of
original usb_modeswitch, by add your own eject function in the structure, and add corresponding
config.
If you are not using unlimited data plan, you can use manual dial. Please open the management
web page [TCP/IP Setting] Æ [WAN Interface], and change “connection type” to “Manual” then
reboot, after that you can connect or disconnect on your will.
If you want to know the running status of the mnet, you can get it via management web page
[Management] Æ [Status], looking for the field “Attain IP Protocol” under the “WAN Configuration”.
We provide 5 status as follows:
① B3G Removed: there is no usb dongle on the DUT.
② 3G Modem Initializing...: the usb dongle has been inserted, and ment is starting eject
process.
③ 3G Dialing...: ejected and attached as modem device. Trying to establish a PPP
connection.
④ 3G Connected: PPP connection has been established.
⑤ 3G Disconnected: PPP connection hang up.
Menuconfig:
Note: WAPI support two encrypt: WAPI-PSK and WAPI-CERT, while WAPI-CERT support local
AS and remote AS. If [WAPI Support] is selected and [Support local AS] is not selected,
WAPI-PSK and WAPI-CERT remote AS are supported. If both [WAPI Support] and [Support
local AS] are selected, WAPI-PSK, WAPI-CERT remote AS and WAPI-CERT local AS are
supported.
Menuconfig:
Menuconfig:
According hardware designed, please modify the GPIO pin mux which is used by I2C UART.
The GPIO pin used by I2C UART is defined in boot/serial_sc16is7x0/8250_sc16is7x0.c
For example, following configuration means I2C UART use GPIO pin D3~D6.
#define SC16IS7X0_RESET I2C_GPIO_ID( 'D', 3) // RESET = D3
#define SC16IS7X0_SCL I2C_GPIO_ID( 'D', 4) // SCL = D4
#define SC16IS7X0_SDA I2C_GPIO_ID( 'D', 5) // SDA = D5
#define SC16IS7X0_IRQ I2C_GPIO_ID( 'D', 6) // IRQ = D6
4.8.1.2 bootloader menuconfig
According hardware designed, please modify the gpio pin mux which used by I2C uart.The gpio
pin used by i2c uart is defined in linux-2.6.30/drivers/serial/8250_sc16is7x0.c
For example, following configuration means i2c uart use gpio pin D3~D6.
#define SC16IS7X0_RESET I2C_GPIO_ID( 'D', 3) // RESET = D3
#define SC16IS7X0_SCL I2C_GPIO_ID( 'D', 4) // SCL = D4
#define SC16IS7X0_SDA I2C_GPIO_ID( 'D', 5) // SDA = D5
#define SC16IS7X0_IRQ I2C_GPIO_ID( 'D', 6) // IRQ = D6
4.8.2.2 kernel menuconfig
Menuconfig:
Menuconfig:
Hardware NAT can be regarded as cache of Linux IP conntrack in hardware, without any
relationship to iptables rules.
Hardware NAT table entry is tried to add when Linux PS (Protocol Stack) create IP conntrack.
Hardware NAT table entry is tried to delete when Linux PS destroy IP conntrack.
When Linux PS IP conntrack timeout, it will be checked whether there is no traffic leading to
timeout or hardware offload leading to fake timeout.
Note: No API of hardware NAT is offered. All modifications of hardware NAT are patched to
Linux kernel. So operations on Linux IP conntrack will modify hardware NATP entry synchronously.
For example:
Path: /proc/fast_nat
Description: Flags for fast path control
Input Format:
echo “$FLAG” > /proc/fast_nat
Input Para.:
* the unit is non-zero: fastpath enabled
* the unit is 0: fastpath disabled
* “echo 0 > /proc/fast_nat” : disable fastpath.
* “echo 1 > /proc/fast_nat” : enable fastpath.
* “echo 2 > /proc/fast_nat” : clean the conntrack table.
Output Format:
$FLAG
Output Para.:
* 10: disable fastpath.
* 11 : enable fastpath.
* 12 : clean the conntrack table.
2) hw_nat
Path: /proc/hw_nat
Path: /proc/net/nf_conntrack
Description: this proc can indicate whether hardware NAT is applied to each IP conntrack.
4) IP fragment packets.
5) Server port / trigger port / DMZ / port mapping etc, and hardware NAT need not do
anything special for the features related to iptables rules because hardware NAT is
independent of the iptables rules.
Note: if hardware NAT is disabled, hardware QoS (refer to section 4.14) should be disabled too.
Hardware QoS is based on hardware NAT and iptables rule to ACL rule translation. So if we want
to use hardware QoS, hardware NAT and iptables rule to ACL rule translation should be enabled at
first.
After hardware NAT (refer to section 4.12.4) and iptables rule to ACL rule translation (refer to
section 4.13) are enabled, enable hardware QoS as follows:
Note: if hardware QoS is disabled, iptables rule to ACL rule translation support should be
disabled too.
1) dhcpv6 // Selected
2) radvd // Selected
Enter the directory of Busybox and make menuconfig to configure Busybox for IPv6 as follows:
Menuconfig:
ping6 // Selected
(0x10000) Hardware setting offset in flash. // user defined, but 64K alignment needed
(0x20000) Default setting offset in flash. // user defined, but 64K alignment needed
(0x30000) Current setting offset in flash. // user defined, but 64K alignment needed
(0x40000) webpages image offset in flash. // user defined, but 64K alignment needed
(0x100000) linux image offset in flash. // user defined, but 64K alignment needed
(0x300000) root image offset in flash. // user defined, but 64K alignment needed
Enter bootloader directory and make menuconfig to configure bootloader settings as follows:
Enter Linux kernel directory and make menuconfig to configure Linux kernel settings as follows:
[*] two spi flash support // Selected to add two SPI flash support
(0x400000) Config 1st flash size (NEW) //Input the 1st flash size, such as 4MB here
(0x400000) Config 2nd flash size (NEW) //Input the 2nd flash size, such as 4MB here
(0x800000) Size of Flash // Input total size of two SPI flash, such as 8MB here
1) remote step
2) host step
① export PATH=YOUR_PATH/rlxlinux-v2.2/users/gdb/gdb-host/bin/:$PATH
1) remote step
2) host step
① export PATH=YOUR_PATH/rlxlinux-v2.2/users/gdb/gdb-host/bin/:$PATH
On the GDB host machine, an un-stripped copy of the debugging program is needed, since GDB
needs the symbol and debugging information.
GDB can communicate with the target (GDB server) over a serial line, or over an IP network
using TCP or UDP.
At present gdbserver6.8 is used.
HTTP File Server is used to Brower/upload/Delete files on USB storage device which connected
to Realtek RTL819x Wireless Home Gateway.
(utf8) Default iocharset for FAT // Set Default iocharset for FAT is “utf8”
[*] NTFS file system support // Selected, but Disable NTFS write support
Home page:
The Hyperlink “Settings” is for Router configuration, and if partition is available, the partition
name will be showed in “Shared Partitions”
User can enter the hyperlink in shared partition for file access.
User can click the hyperlink “Name”, “Last modified”, and “Size” for sort.
# CFLAGS += -DINBAND_CTRL
# CFLAGS += -I../../inband_lib
# LIBS += ../../inband_lib/inband.a
# sysconf init $*
ifconfig eth0 up
ifconfig eth2 up
ifconfig eth3 up
cp /etc/hostapd.* /tmp
① Test wpa2-psk
killall hostapd
killall hostapd
hostapd_cli wps_pbc
killall hostapd
killall hostapd
If user want to customize hostapd, the configure file of hostapd at the folder of
users/hostapd-0.6.10/hostapd/conf can be modified as user need.
4.22 MP support
4.22.1 RTL8196C MP support
For RTL8196C MP, use “make menuconfig” to configure RTL8196C SDK settings as follows.
After configuring the settings as above, please refer to section 4.18 and configure the right
wireless driver.
For RTL8198 MP, use “make menuconfig” to configure RTL8198 SDK settings as follows.
After configuring the settings as above, please refer to section 4.18 and configure the right
wireless driver.
To configure AP mode for Pocket AP SDK, please use “make menuconfig” to configure SDK
settings as follows.
To configure AP mode for RTL8198 SDK, please use “make menuconfig” to configure SDK
settings as follows.
5.1 flash
Read/write MIB in Flash.
Usage:
Command Description
flash all Dump all MIB name and value in Flash
flash get [wlan-idx] <MIB name> Get MIB value from Flash
flash set [wlan-idx] <MIB name> <MIB value> Set MIB value into Flash
flash set [wlan-idx] <MIB name> Set MIB table entry into Flash
<action > <MIB table entry>
flash reset Reset current settings (use default settings)
flash default-sw Reset Current and Default settings
flash default Reset HW, Current, and Default settings
flash set_mib Get MIB from flash and set to WLAN interface
Examples:
flash all | grep HW // find all MIB in HW settings
flash get WLAN0_SSID // get SSID in wlan0
flash set WLAN0_SSID test // set SSID to test in wlan0
flash set WDS add 00e04c8196cc comment 0 // add 00e04c8196cc to WDS,0 is autorate
5.2 cvcfg-gw
MIB binary and text convertion tool.
Usage:
cvcfg-gw [-r] [-no_hw] <input> <ouput>
Options:
-r: generate raw configutation with padding 0
-no_hw: do not to generate hw setting
Examples:
cvcfg-gw config-gw-96c.txt config-gw-96c.dat
cvcfg-gw –r –no_hw config-gw-96c.txt config.bin
5.3 compweb
Convert WEB pages to be the downloadable binary.
5.4 cvimg
Convert image to be the downloadable binary.
Usage:
cvimg <image type> <image> <output file> <load address> <flash offset>
Options:
- Image type: root / boot / linux
- Load address: used in linux type
- Flash offset: burn address on flash
Examples:
cvimg root squashfs-lzma.o root.bin 0x100000 0x100000
cvimg boot boot boot.bin 0 0
cvimg linux nfjrom linux.bin 80500000 30000
5.5 mgbin
Merge all binary into one image.
Usage:
mgbin [-s] [-c] [-a] -o outputfile bootcode config webpages linux root
Options:
-s: do byte swap
-c: cascade. May use this option to merge image for web upload
-a: add all tag in header
Examples:
1) Create full image (rtl8196c-gw.bin) for TFTP update.
cvcfg-gw –r config-gw-96c.txt config-gw-96c.bin
mgbin –o rtl8196c-gw.bin boot.bin config-gw-96c.bin webpages-gw.bin linux.bin root.bin
Note: add -s if need swap
2) Create total image (rtl8196c-gw.bin) without boot loader and HW settings for TFTP update.
cvcfg-gw –r –no_hw config-gw-96c.txt config-gw-96c.bin
mgbin –o rtl8196c-gw.bin config-gw-96c.bin webpages-gw.bin linux.bin root.bin
3) Create total image (rtl8196c-gw.bin) for WEB upgrade.
mgbin –o rtl8196c-gw.bin webpages-gw.bin linux.bin root.bin
6.1 br_igmpProxy
Path: /proc/br_igmpProxy
Description: Enable/Disable IGMP proxy function.
Input Format:
Echo “$FLAG” > /proc/br_igmpProxy
Input Para.:
* 1: Enable IGMP proxy.
* 0: Disable IGMP proxy.
Output Format:
$FLAG
Output Para.:
* 1: IGMP proxy daemon is running.
* 0: IGMP proxy daemon is not running.
6.2 br_igmpsnoop
Path: /proc/br_igmpsnoop
Description: Enable/Disable IGMP snooping.
Input Format:
Echo “$FLAG” > /proc/ br_igmpsnoop
Input Para.:
* 1: Enable IGMP snooping.
* 0: Disable IGMP snooping.
Output Format:
$FLAG
Output Para.:
* 1: IGMP snooping enabled.
* 0: IGMP snooping disabled.
6.3 custom_Passthru
1) Path: /proc/ custom_Passthru
Description: Enable/Disable IPv6/PPPoE pass through for gateway mode.
Input Format:
Echo “$FLAG” > /proc/ custom_Passthru
Input Para.:
* bit 0 for IPv6 pass through contol and bit 1 for PPPoE pass through control.
* 0: Disable both IPv6 and PPPoE pass through.
6.4 enable_dos
Path: /proc/enable_dos
Description:
Input Format:
Echo “$FLAG” > /proc/enable_dos
Input Para.:
* 1st parameter: operation mode.
* 2nd parameter: br0 IP address.
* 3rd parameter: br0 subnet mask.
* 4th parameter: item number.
* 5th parameter: whole SYN threshold.
* 6th parameter: whole FIN threshold.
* 7th parameter: whole UDP threshold.
* 8th parameter: whole ICMP threshold.
* 9th parameter: per SYN threshold.
* 10th parameter: per FIN threshold.
* 11th parameter: per UDP threshold.
* 12th parameter: per ICMP threshold.
* 13th parameter: block time.
Output Format:
$FLAG
Output Para.:
* NULL: disable dos.
* 1st parameter: operation mode.
* 2nd parameter: br0 IP address.
©2010 Realtek Semiconductor Corp. 68
* 3rd parameter: br0 subnet mask.
* 4th parameter: item number.
* 5th parameter: whole SYN threshold.
* 6th parameter: whole FIN threshold.
* 7th parameter: whole UDP threshold.
* 8th parameter: whole ICMP threshold.
* 9th parameter: per SYN threshold.
* 10th parameter: per FIN threshold.
* 11th parameter: per UDP threshold.
* 12th parameter: per ICMP threshold.
* 13th parameter: block time.
6.5 fast_l2tp
Path: /proc/fast_l2tp
Description:
Input Format:
echo “$FLAG” > /proc/fast_l2tp
Input Para.:
* 1: the file value is 1 when the WAN interface type is set to L2TP
* 0: the file value is 0 when the WAN interface type is not set to L2TP
Output Format:
$FLAG
Output Para.:
* 1: the file value is 1 when the WAN interface type is set to L2TP
* 0: the file value is 0 when the WAN interface type is not set to L2TP
6.6 fast_nat
Path: /proc/fast_nat
Description: Flags for fast path control
Input Format:
echo “$FLAG” /proc/fast_nat
Input Para.:
* the unit is non-zero: fastpath enabled
* the unit is 0: fastpath disabled
* “echo 0 > /proc/fast_nat” : disable fastpath.
* “echo 1 > /proc/fast_nat” : enable fastpath.
* “echo 2 > /proc/fast_nat” : clean the conntrack table.
Output Format:
$FLAG
6.7 fast_pptp
Path: /proc/fast_pptp
Description:
Input Format:
echo “$FLAG” /proc/fast_nat
Input Para.:
* 1: the file value is 1 when the WAN interface type is set to PPTP
* 0: the file value is 0 when the WAN interface type is not set to PPTP
Output Format:
$FLAG
Output Para.:
* 1: the file value is 1 when the WAN interface type is set to PPTP
* 0: the file value is 0 when the WAN interface type is not set to PPTP
6.8 filter_table
Path: /proc/filter_table
Description: url filter control
Input Format:
echo “$STR” > /proc/filter_table
Input Para.:
*1: “flush“
Clear filter table, no parameter.
*2: “init $list_id
Initial the list with the id ($list_id)
$ list_id: several filter lists are created in filter table,list_id is the id of list
#define IP_RANGE_TABLE 1
#define MAC_TABLE 2
#define URL_KEY_TABLE 3
#define SCHEDULT_TABLE 4
#define CONTENT_FILTER 5
*3: “add:$resv#$list_id $flag $num key1 key2 …”
Add url rule
$resv: reserved, set 0 recommended.
$list_id: several filter lists are created in filter table,list_id is the id of list
6.9 gpio
Path: /proc/gpio
Description: The /proc/gpio was used for led control and push button.It’s depends on the
hardware.
Input Format:
Input Para.
Output Format:
Output Para.:
6.10 pptp_conn_ck
Path: /proc/ pptp_conn_ck
Description: for pptp dial-on-demand wantype, if wan is not dialed up, wan ip(10.64.64.*) is
invalid, the packets from lan to wan will not go thru fast pptp, but go up to linux kernel to trigger pptp
dialing up.
Input Format:
echo $FLAG > /proc/pptp_conn_ck
Input Para.:
* 3 : wantype is pptp dial-on-demand and wan ip is 10.64.64.*, the packets from lan to wan
will go up to linux kernel to trigger pptp dialing up
6.11 qos
Path: /proc/ qos
Description: Enable/Disable fastpath qos control.
Input Format:
Echo “$FLAG” > /proc/ qos
Input Para.:
* 0: QoS disabled
* non-zero value: QoS enabled
Output Format:
$FLAG
Output Para.:
* 0: QoS disabled
* non-zero value: QoS enabled
6.12 rf_switch
Path: /proc/ rf_switch
Description: check the current state of wireless。
Input Format:
none
Input Para.:
none
Output Format:
$FLAG
Output Para.:
* 0 : the current state of wireless is enabled.
* 1 : the current state of wireless is disabled.
6.13 rtk_vlan_support
Path: /proc/ rtk_vlan_support
Description: enable/disable rtk vlan feature
Input Format:
6.14 mib_vlan
Path: /proc/ethx/mib_vlan
Description: set the vlan feature of each interface. Each port is mapped to one interface ethx, from
left to right is eth0, eth2, eth3, eth4, eth1.
Input Format:
echo "1 $is_lan $vlan $tag $vid $priority $cfi" > /proc/eth0/ mib_vlan
Input Para.:
is_lan = 1; //1:lan, 0:wan
vlan = 1; //1:enable rtk vlan in this port, 0:disable rtk vlan feature in this port
tag = 0; // 1: only received vlan tagged packet and transmit packet with vlan
tagged,0:received both vlan tagged and vlan untagged packet and transmit packet with
UNTAGGED
vid = vlan id; //vlan id: 1~4095.
priority = x; //priority value in 802.1Q(0~7) if transmit packet with vlan tagged.
cfi=0; //cfi value in 802.1Q tag if transmit packet with vlan tagged.
Output Format:
$Global_vlan $is_lan $vlan $tag $vid $priority $cfi
Output Para.:
Global_vlan; // 1: rtk vlan feature is enable in whole system; 0: rtk vlan feature is disable in
whole system
is_lan; //1:lan, 0:wan
vlan; //1:enable rtk vlan in this port, 0:disable rtk vlan feature in this port
tag; // 1: only received vlan tagged packet and transmit packet with vlan tagged,0:received
both vlan tagged and vlan untagged packet and transmit packet with UNTAGGED
vid; //vlan id: 1~4095.
priority; //priority value in 802.1Q(0~7) if transmit packet with vlan tagged.
cfi; //cfi value in 802.1Q tag if transmit packet with vlan tagged.
6.16 hw_nat
Note: proc hw_nat exist when CONFIG_RTL_HARDWARE_NAT is defined.
Path: /proc/hw_nat
Input Format:
echo “$FLAG” > /proc/hw_nat
Input Para.:
* the unit is non-zero: hardware NAT enabled
* the unit is 0: hardware NAT disabled
* “echo 0 > /proc/hw_nat” : hardware NAT disabled, change to gateway mode.
* “echo 1 > /proc/hw_nat” : hardware NAT enabled, change to gateway mode.
* “echo 2 > /proc/hw_nat” : Change to bridge mode.
* “echo 3 > /proc/hw_nat” : Change to WISP mode.
* “echo 4 > /proc/hw_nat” : simply disabled the hardware NAT.
* “echo 5 > /proc/hw_nat” : simply disabled the hardware NAT.
* “echo 8 > /proc/hw_nat” : simply disabled the hardware NAT.
* “echo 9 > /proc/hw_nat” : init hardware NAT parameters. (Must init before hardware
NAT works)
Output Format:
$FLAG
① Since there is only one wireless IC, virtual AP and root AP use the same hardware.
② Boot sequence of our AP is that root AP is initialized firstly and virtual AP is initialized
then.
③ Hardware settings of virtual AP such as band and channel should be subset of root AP
hardware settings. Since our hardware support multiple data rate at the same, data rate of
④ Since virtual AP is also the software AP of our AP, the software settings of virtual AP
such as SSID, WMM, ACCESS, ENCRYPTION etc can be set different from root AP.
One example as follows: If you want AP show the name ‘BARLX48’ on Windows, do command
“flash set DEVICE_NAME BARLX48” in console, and then reboot AP.
7.7 How to add MAC address filter based on ether driver API?
1) Solution 1: Use ACL rule to do source or destination MAC address filter.
rule.srcMacMask_.octet[0]=0xFF;
rule.srcMacMask_.octet[1]=0xFF;
rule.srcMacMask_.octet[2]=0xFF;
rule.srcMacMask_.octet[3]=0xFF;
rule.srcMacMask_.octet[4]=0xFF;
rule.srcMacMask_.octet[5]=0xFF;
rule.srcMacMask_.octet[0]=0xFF;
rule.srcMacMask_.octet[1]=0xFF;
rule.srcMacMask_.octet[2]=0xFF;
rule.srcMacMask_.octet[3]=0xFF;
rule.srcMacMask_.octet[4]=0xFF;
rule.srcMacMask_.octet[5]=0xFF;
2) Solution 2: Use source block via hardware L2 table to do source MAC address filter.
l2temp_entry.macAddr.octet[0]=0x00;
l2temp_entry.macAddr.octet[1]=0x1e;
l2temp_entry.macAddr.octet[2]=0xc9;
l2temp_entry.macAddr.octet[3]=0x3b;
l2temp_entry.macAddr.octet[4]=0xb3;
l2temp_entry.macAddr.octet[5]=0x44;
retval=rtl865x_addFilterDatabaseEntryExtension(fid, &l2temp_entry);
macAddr.octet[0]=0x00;
macAddr.octet[1]=0x1e;
macAddr.octet[2]=0xc9;
macAddr.octet[3]=0x3b;
macAddr.octet[4]=0xb3;
macAddr.octet[5]=0x44;