Install RP-PPPoE

  • sudo apt-get install ppp
  • wget
  • tar zxvf rp-pppoe-3.12.tar.gz
  • cd rp-pppoe-3.12/src
  • ./configure
  • make
  • sudo make install

configure file

  • sudo nano /etc/ppp/pppoe-server-options
    lcp-echo-interval 10
    lcp-echo-failure 2
    logfile /var/log/pppd.log
  • 原始是 require-pap 跟 login 要改成 require-chap 跟 auth,ms-dns 則是傳送 dns server 給 user 設定。

User setup

  • sudo nano chap-secrets
    # Secrets for authentication using CHAP
    # client server  secret         IP addresses
    "user1"  *         "123456"    *
  • client 為使用者名稱
  • secret 為使用者密碼

Enable internet connection

  • sudo su
  • cat 1 > /proc/sys/net/ipv4/ip_forward
  • uncomment net.ipv4.ip_forward=1 in /etc/sysctl.conf for permanent settings
  • iptables -A POSTROUTING -t nat -s -j MASQUERADE
  • exit

start pppoe server

  • sudo pppoe-server -I eno1 -L -R -N 100
  • -I 為網卡名稱,預設為 eth0。
  • -L 為派發給使用者的 gateway ip。
  • -R 為派發給使用者的 ip 起始位置。
  • -N 允許同時上線的使用者。
  • sudo killall pppoe-server


  • $ ./configure
    checking for gcc... no
    checking for cc... no
    checking for cl.exe... no
    configure: error: in `/home/enos/rp-pppoe-3.12/src':
    configure: error: no acceptable C compiler found in $PATH
    See `config.log' for more details
    解決方式: sudo apt-get install gcc
  • checking for Linux 2.4.X kernel-mode PPPoE support... yes
    configure: WARNING: *** Oops!  I couldn't find pppd, the PPP daemon anywhere.
    configure: WARNING: *** You must install pppd, version 2.3.10 or later.
    configure: WARNING: *** I will keep going, but it may not work.
    configure: WARNING: *** Oops.  I cannot figure out what version of pppd you have.
    configure: WARNING: *** All I got back was ''
    configure: WARNING: *** I will keep going, but it may not work.
    解決方式: sudo apt-get install ppp

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

  • Install FreeRADIUS v2.2.8
    $ sudo apt-get install freeradius
  • insert into the configure file

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

  • tzset(): set timezone
  • parse_commandline(): parse command
  • fixup_server_root(): fix root
  • asp_init():...
  • read_config_files()
  • create_common_env(): Set up the environment variables for cgi
  • open_logs()
  • create_server_socket(): create a nonblocking socket server
  • build_needs_escape()
  • fork()
  • init_signals()
  • timestamp(): log boa start time
  • loop()


  • getWlStaNum(): 做了無用
  • apmib_init()
  • save_cs_to_file(): save current setup value to a file (/web/config.dat->/var/config.dat)
  • .....

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


  • cat /proc/load_default 時 default_read_proc() 會輸出 default_flag.
  • reset_button_pressed() 會偵測 reset button.


  • ...........gpio register
  • rtl819x_gpio_platdata rtl_pdata_btn1
  • rtl_pdata_btn1.gpio = BSP_RESET_BTN_PIN = BSP_GPIO_PIN_G6 = 6x8+6 = 54
  • BSP_GPIO_PIN_G6 in rtl819x\linux-3.10\arch\mips\bsp\bspchip.h
  • platform_device rtl_btn_dev1 = .platform_data = &rtl_pdata_btn1
  • platform_device __initdata *rtl_devs[] = { rtl_btn_dev1 }
  • platform_add_devices(rtl_devs) --> inert into rtl819x_btn_driver by .name="rtl819x_btn"
  • ...........gpio register
  • gpio_chip rtl819x_gpio_peripheral
  • gpiochip_add(&rtl819x_gpio_peripheral)
  • rtl819x_gpio_peripheral_init()
  • arch_initcall(rtl819x_gpio_peripheral_init)

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

  • users/boa/apmib/apmib.h, add MIB ID (16000~32767), 1~15999 for Realtek.
  • users/boa/apmib/mibdef.h, add MIBDEF, 找 #endif // #ifdef MIB_IMPORT 補在上面, 也就是放在最後.
  • users/boa/utils/flash.c, 把預設值寫到 writeDefault 函數, 因為 RTL_DEF_SETTING_IN_FW 就不用了.
  • users/boa/apmib/upmib.h, 修改 MIB_MIB_VER 的值, 因為 RTL_DEF_SETTING_IN_FW 就改去修改 users/boa.defconfig/config-example.txt 的 MIB_VER 值.
  • MIB_VER 如果與 current value 不同時, 就會把 new_mib[] 值新增, update_mib 值更新, 如果都沒有會直執行 flash reset 讀取 default value.
  • 最後記得修改 users/boa.defconfig/config-example.txt, 把新的欄位加上去.

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