目前分類:Realtek SDK (7)

瀏覽方式: 標題列表 簡短摘要
  • +rtk_nand_profile() - drivers/mtd/rtk_nand_sd.c
  • ++mtd_device_parse_register() - drivers/mtd/mtdcore.c
  • +++parse_mtd_partitions() - drivers/mtd/mtdparts.c
  • ++++get_partition_parser() - drivers/mtd/mtdparts.c
  • +++add_mtd_partitions() - drivers/mtd/mtdparts.c
  • ++++allocate_partition() - drivers/mtd/mtdparts.c

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

反查
  • 透過 iwpriv ra0 show stainfo 來反查 MCS 的值
  • ap_cfg.c: pEntry->HTPhyMode.field.MCS
讀值設定
  • 設定值存在 /etc/Wireless/RT2860/RT2860.dat。
  • rt_profile.c: RTMPReadParametersHook()
  • cmm_profile.c: RTMPSetProfileParameters()
  • cmm_profile.c: HTParametersHook()
nvram 儲存值
  • WirelessMode: 設定 wireless mode,比如 11b,11b/g,11b/gn。
    driver 值存在 pAd->ApCfg.MBSSID[i].PhyMode, pAd->CommonCfg.PhyMode 及 pAd->CommonCfg.DesiredPhyMode。
  • FixedTxMode: CCK,OFDM,HT,作用不明。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

ipsec.conf

# ipsec.conf - strongSwan IPsec configuration file

config setup

conn %default
        authby=secret
        keyexchange=ikev1
        mobike=no
        ike=aes128-sha1-modp1024
        esp=aes128-sha1
        left=172.16.9.21
        leftsubnet=192.168.11.0/24
        leftfirewall=yes

conn RTX1000
        right=172.16.9.22
        rightsubnet=192.168.22.0/24
        auto=start

ipsec.secrets

# ipsec.secrets - strongSwan IPsec secrets file

: PSK "abcd1234"

Yamaha config

console character ascii
ip route default gateway 172.16.9.254
ip route 192.168.11.0/24 gateway tunnel 1
ip lan1 address 192.168.22.1/24
ip lan2 address 172.16.9.22/24
ip lan2 nat descriptor 1
tunnel select 1
 ipsec tunnel 101
  ipsec sa policy 101 1 esp aes-cbc sha-hmac
  ipsec ike group 1 modp1024
  ipsec ike local address 1 172.16.9.22
  ipsec ike pre-shared-key 1 text abcd1234
  ipsec ike remote address 1 172.16.9.21
 tunnel enable 1
tunnel select none
nat descriptor type 1 masquerade
nat descriptor address outer 1 172.16.9.22
nat descriptor address inner 1 192.168.22.1-192.168.22.254
nat descriptor masquerade static 1 1 172.16.9.22 udp 500
nat descriptor masquerade static 1 2 172.16.9.22 esp
dhcp service server
dhcp scope 1 192.168.22.100-192.168.22.254/24
dns server 8.8.8.8

iptables


雖然已經設定 leftfirewall=yes,strongSwan 會自動設定 firewall,但是還缺少一些設定。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

整合

  • 將 gmp-6.1.0.tar.bz2 解壓到 user 目錄。
  • 修改 user/Makefile,在 # application 下面新增一行。
    # application
    app_y += gmp-6.1.0
    
  • 修改 user/Makefile,在 prepare: 下面新增數行。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

修改 buildlin.sh

  • 刪除 if [ ! -f /usr/include/gmp.h ]; 這一整段。我是自己 build gmp for mips,不能用 x86 版本。
  • export PREFIX=../rtl819x/toolchain/msdk-4.4.7-mips-EB-3.10-0.9.33-m32t-131227b
  • export DESTDIR=/tmp/openswan
  • export ARCH=mips
  • export OSDEP=linux
  • export CC=$PREFIX/bin/mips-linux-gcc
  • export GCC=$PREFIX/bin/mips-linux-gcc
  • export LD=$PREFIX/bin/mips-linux-ld
  • export RANLIB=$PREFIX/bin/mips-linux-ranlib
  • export AR=$PREFIX/bin/mips-linux-ar
  • export AS=$PREFIX/bin/mips-linux-as
  • export STRIP=$PREFIX/bin/mips-linux-strip
  • export LD_LIBRARY_PATH=$PREFIX/lib/gcc/mips-linux-uclibc/4.4.7/
  • export PATH=$PATH:$PREFIX/bin
  • export USERCOMPILE="-fPIC -I../gmp-6.1.0 -I$PREFIX/include -L$PREFIX/lib"
  • export USERLINK="-L../gmp-6.1.0/.libs"
  • export KERNELSRC=../rtl819x/linux-3.10

主要是參考 CROSSCOMPILE.sh,這個檔案是寫給 arm 用的,但我的是 mips,所以需要小修改。

編譯

  • 修改 buildlin.sh
  • 執行 buildlin.sh
  • 編譯出來的檔案都放在 OBJ.linux.mips,所以只要把該目錄刪除就相當於做 make clean。
  • 如果要做 install,要修改 buildlin.sh,make USE_OBJDIR=true programs 改成 make USE_OBJDIR=true programs install。

問題排除

 CC      /home/enos/FGN-1000/openswan-2.6.43.1/modobj26/ipsec.mod.o
/home/enos/FGN-1000/openswan-2.6.43.1/modobj26/ipsec.mod.c:8: error: variable '__this_module' has initializer but incomplete type
/home/enos/FGN-1000/openswan-2.6.43.1/modobj26/ipsec.mod.c:9: error: unknown field 'name' specified in initializer
/home/enos/FGN-1000/openswan-2.6.43.1/modobj26/ipsec.mod.c:9: warning: excess elements in struct initializer
/home/enos/FGN-1000/openswan-2.6.43.1/modobj26/ipsec.mod.c:9: warning: (near initialization for '__this_module')
/home/enos/FGN-1000/openswan-2.6.43.1/modobj26/ipsec.mod.c:10: error: unknown field 'init' specified in initializer
/home/enos/FGN-1000/openswan-2.6.43.1/modobj26/ipsec.mod.c:10: warning: excess elements in struct initializer
/home/enos/FGN-1000/openswan-2.6.43.1/modobj26/ipsec.mod.c:10: warning: (near initialization for '__this_module')
/home/enos/FGN-1000/openswan-2.6.43.1/modobj26/ipsec.mod.c:14: error: unknown field 'arch' specified in initializer
/home/enos/FGN-1000/openswan-2.6.43.1/modobj26/ipsec.mod.c:14: error: 'MODULE_ARCH_INIT' undeclared here (not in a function)
/home/enos/FGN-1000/openswan-2.6.43.1/modobj26/ipsec.mod.c:14: warning: excess elements in struct initializer
/home/enos/FGN-1000/openswan-2.6.43.1/modobj26/ipsec.mod.c:14: warning: (near initialization for '__this_module')
make[3]: *** [/home/enos/FGN-1000/openswan-2.6.43.1/modobj26/ipsec.mod.o] Error 1
make[2]: *** [modules] Error 2
make[2]: Leaving directory `/home/enos/FGN-1000/fib003_res/rtl819x/linux-3.10'
make[1]: *** [module26] Error 2
make[1]: Leaving directory `/home/enos/FGN-1000/openswan-2.6.43.1'
make: *** [module] Error 2

這是因為 kernel module 動態載入功能沒開啟,把 Enable loadable module support 打開即可。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

build pgen

  • mkdir build.pc
  • cd build.pc
  • ../configure
  • make Parser/pgen

因為在編譯 python 時,會用到本身的 pgen,但是 cross compile 編出來的當然不能用,只能先編一套 pc 版的出來。

build python

  • 修改 Makefile.pre.in,把 pgen 換成 pc 版本。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

Linux Kernel Configuration

Networking support  --->
  Networking options  ---> 
[*] Transformation user configuration interface
[*] PF_KEY sockets
[*] TCP/IP networking
  [*] IP: advanced router
  [*] IP: policy routing
  [*] IP: AH transformation
  [*] IP: ESP transformation
  [*] IP: IPComp transformation
  [*] IP: IPsec transport mode
  [*] IP: IPsec tunnel mode
  [*] IP: IPsec BEET mode
[*] Network packet filtering framework (Netfilter) --->
      Core Netfilter Configuration --->
  xx[ ] IPSEC protocol support
    [*] Netfilter Xtables support
    ??[*] "esp" match support
      [*] IPsec "policy" match support
      IP: Netfilter Configuration  --->
    [*] IP tables support (required for filtering/masq/NAT)
    ??[*] "ah" match support

IPSEC protocol support 不可以選,在 realtek SDK 會造成 kernel panic,其它 SDK 我就不知了。

編譯

CC=/home/enos/FGN-1000/fib003_res/rtl819x/toolchain/msdk-4.4.7-mips-EB-3.10-0.9.33-m32t-131227b/bin/mips-linux-gcc \
CXX=/home/enos/FGN-1000/fib003_res/rtl819x/toolchain/msdk-4.4.7-mips-EB-3.10-0.9.33-m32t-131227b/bin/mips-linux-g++ \
STRIP=/home/enos/FGN-1000/fib003_res/rtl819x/toolchain/msdk-4.4.7-mips-EB-3.10-0.9.33-m32t-131227b/bin/mips-linux-strip \
AR=/home/enos/FGN-1000/fib003_res/rtl819x/toolchain/msdk-4.4.7-mips-EB-3.10-0.9.33-m32t-131227b/bin/mips-linux-ar \
RANLIB=/home/enos/FGN-1000/fib003_res/rtl819x/toolchain/msdk-4.4.7-mips-EB-3.10-0.9.33-m32t-131227b/bin/mips-linux-ranlib \
CFLAGS="-I/home/enos/FGN-1000/gmp-6.1.0" \
LDFLAGS="-L/home/enos/FGN-1000/gmp-6.1.0/.libs" \
./configure --host=mips-linux --prefix=/tmp/strongSwan --enable-static=yes --enable-shared=yes \
--with-linux-headers=/home/enos/FGN-1000/fib003_res/rtl819x/linux-3.10/include/uapi

with-linux-headers 這個要指向 linux kernel 的 include,但是要指向 uapi 這個目錄才對;還有一定要用 SDK 的 linux kernel,不可以用 strongswan 的,會造成不可預期的問題。

台南小新 發表在 痞客邦 PIXNET 留言(1) 人氣()