zoukankan      html  css  js  c++  java
  • 向openwrt 源码添加ap143支持

    借鉴地址:http://www.pppei.net/blog/post/536

    1、向文件 argetlinuxar71xxgenericprofilesatheros.mk 中添加ap143类型

       

    define Profile/AP143
            NAME:=Atheros AP143 reference board                                 // 对应make menuconfig中单板类型选择处的显示                
            PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-storage       
    endef

    define Profile/AP143/Description
            Package set optimized for the Atheros AP143 reference board.
    endef

    $(eval $(call Profile,AP143))

    修改完后保存文件,然后删除tmp目录。

    命令: rm -rf tmp

    重新进入单板类型后,就会存在ap143单板类型。

    2、

    这步我提供了patch,下载后放入 target/linux/ar71xx/patches-3.18/ 下即可。

    文件名称为:730-MIPS-ath79-add-ap143-support.patch

    手动修改比较麻烦,于是做了patch自动完成,只修改了三个文件内核源码目录中的arch/mips/ath79/machtypes.h 和Makefile 以及Kconfig,具体修改的内容打开patch一看便知。

     

    3、这一步要修改的这些脚本都是在刷机后,固件启动过程中用到的,也要添加对AP143单板的识别。
    打开 target/linux/ar71xx/base-files/lib/ar71xx.sh 找到 ar71xx_board_detect 函数,加入单板类型:

     *"AP143 reference board")
          name="ap143"
            ;; 

     

    注:这里引号内的ap143和下面其它脚本中要修改的内容一致
    target/linux/ar71xx/base-files/lib/upgrade/platform.sh

    文件中函数 platform_check_image 添加“ap143”

     ap136-010 |
     ap136-020 |
     ap135-020 |
     ap143 |
     ap96 |
     bxu2000n-2-a1 |
     db120 |

    注:不修改这个文件web页面刷机会提示固件不正确。

    target/linux/ar71xx/base-files/etc/uci-defaults/leds
    找到:

    ap113)
     ucidef_set_led_usbdev "usb" "USB" "ap113:green:usb" "1-1"
     ;;

    在下面添加

    ap143)
     ucidef_set_led_default "wan" "WAN" "ap143:green:wan" "1"
            ucidef_set_led_switch "lan1" "LAN1" "ap143:green:lan1" "switch0" "0x1"
            ucidef_set_led_wlan "wlan" "WLAN" "ap143:green:wlan" "phy0tpt"
            ;;

     

    target/linux/ar71xx/base-files/etc/uci-defaults/network
    找到:

     

    tl-wr841n-v9 |
    ap143 |                     // 添加了ap143
    whr-g301n |
    whr-hp-g300n |
    whr-hp-gn |
    wzr-hp-ag300h)
     ucidef_set_interfaces_lan_wan "eth0" "eth1"
     ucidef_add_switch "switch0" "1" "1"
     ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 4"
     ;;

    注:不修改此文件无法初始化网络

    target/linux/ar71xx/base-files/etc/diag.sh 中修改指示灯的工作状态。

     

    4、

    target/linux/ar71xx/image/Makefile
    中添加

    1)分区相关:

    ap143_mtdlayout_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,14528k(rootfs),1344k(kernel),64k(factory),64k(art),15872k@0x50000(firmware)

    2)

    $(eval $(call SingleProfile,AthLzma,64k,AP143_16M,ap143-16M,AP143,ttyS0,115200,$$(ap143_mtdlayout_16M),RKuImage))

     

    3)

    $(eval $(call MultiProfile,AP143,AP143_16M))

    然后要重编译tools,清空之前编译的内容,重新编译固件生效

    命令: make tools/clean

     

     

    至此,板类型ap143的支持工作已经基本完成,可以编译固件了。

     

    make menuconfig     // 选中单板类型AP143

    make V=99

     

     

    遗留问题:编译的时候,每次都需要确认单板类型为ap143的是否编译?

     * Atheros AR71XX/AR724X/AR913X machine selection
    *
    ALFA Network AP96 board support (ATH79_MACH_ALFA_AP96) [Y/n] y
    ALFA Network Hornet-UB board support (ATH79_MACH_HORNET_UB) [Y/n] y
    ALFA Network N2/N5 board support (ATH79_MACH_ALFA_NX) [Y/n] y
    ALFA Network Tube2H board support (ATH79_MACH_TUBE2H) [Y/n] y
    Allnet ALL0258N support (ATH79_MACH_ALL0258N) [Y/n] y
    Allnet ALL0315N support (ATH79_MACH_ALL0315N) [Y/n] y
    Bitmain Antminer S1 support (ATH79_MACH_ANTMINER_S1) [Y/n] y
    Atheros AP113 board support (ATH79_MACH_AP113) [Y/n] y
    Atheros AP121 reference board (ATH79_MACH_AP121) [Y/n/?] y
    Atheros AP132 reference board (ATH79_MACH_AP132) [Y/n/?] y
    Atheros AP136/AP135 reference board (ATH79_MACH_AP136) [Y/n/?] y
    Atheros AP143 refernece board (ATH79_MACH_AP143) [N/y/?] (NEW)

     

  • 相关阅读:
    async/await的一些用法
    软件须把握两个点: 错误可控, 复杂度可控
    C++内存管理原则
    *复赛前提醒
    一些好用的网站
    NOIP真题汇总
    信息学中的一些些数论
    [Luogu 1052] noip 05 过河
    浅谈概率期望动态规划
    [Luogu 1312] noip11 Mayan游戏
  • 原文地址:https://www.cnblogs.com/rohens-hbg/p/5439949.html
Copyright © 2011-2022 走看看