OpenWRT: Build Firmware Linksys E900

From OnnoWiki
Jump to navigation Jump to search

Spesifikasi

  • tipe: E900
  • Platform & Frequency [MHz] : Broadcom BCM5357C0@300
  • RAM [MB] : 32
  • Flash [MB] : 8
  • Ant. Conn. Type : Internal
  • WLAN NIC : Broadcom
  • WLAN standard [802.11] : b/g/n
  • Eth. port count : 4 LAN 1 WAN
  • Power Input [V/A] : 12V 0.5A


Siapkan Aplikasi Pendukung

sudo su
apt-get update
apt-get install subversion gawk flex sharutils bison libz-dev zlib1g-dev patch \
fakeroot lzma git-core build-essential unzip libncurses5-dev curl php-xml-parser \
libexpat1 libexpat1-dev libssl-dev libdaemon*
cd /usr/local/src
wget http://www.cpan.org/modules/by-module/XML/XML-Parser-2.44.tar.gz
tar zxvf XML-Parser-2.44.tar.gz
cd /usr/local/src/XML-Parser-2.44
perl Makefile.PL
make install

Compile Menggunakan Development Trunk

Development Trunk tampaknya paling RECOMMENDED

Lakukan sebagai user biasa

svn co svn://svn.openwrt.org/openwrt/trunk/ ~/openwrt.trunk/trunk
cd ~/openwrt.trunk/trunk/
./scripts/feeds update
./scripts/feeds install meshwizard openssh-server openssh-client
./scripts/feeds install freifunk-common freifunk-gwcheck freifunk-mapupdate
./scripts/feeds install luci luci-app-meshwizard luci-app-olsr luci-app-olsr-services
./scripts/feeds install luci-app-olsr-viz luci-app-freifunk-policyrouting luci-mod-freifunk
./scripts/feeds install luci-theme-freifunk-generic olsrd olsrd-mod-txtinfo olsrd-mod-dyn-gw
./scripts/feeds install olsrd-mod-dyn-gw-plain olsrd-mod-dot-draw
./scripts/feeds install olsrd-mod-arprefresh olsrd-mod-watchdog olsrd-mod-tas olsrd-mod-httpinfo
./scripts/feeds install olsrd-mod-pgraph olsrd-mod-secure olsrd-mod-bmf
./scripts/feeds install luci-app-upnp minidlna miniupnpc miniupnpd luci-app-minidlna
./scripts/feeds install libdlna libgupnp libgupnp-dlna rtorrent
./scripts/feeds install usb-modeswitch usb-modeswitch-data usbutils multiwan
./scripts/feeds install 6in4 6rd 4th 6to4 6tunnel libdaemon aprx usb-modeswitch
./scripts/feeds install pptpd ppp-mod-pptp smstools3 picocom
./scripts/feeds install kamailio4 kamailio asterisk18 asterisk11 coova-chilli
./scripts/feeds update -a
./scripts/feeds install -a
make clean
make defconfig
make menuconfig
make world

Hasilnya akan berada di folder

~/openwrt.trunk/trunk/bin/brcm47xx

Setup Menuconfig

Menuconfig untuk Firmware Linksys E900

Minimal

Target System > Broadcom BCM47xx/53xx (MIPS)
Subtarget > MIPS 74K 
Target Profile > Broadcom SoC, BCM43xx WiFi (proprietary wl) 
Target Images  > squashfs > ramdisk 
Base system > 
      <*> base-files
      <*> busybox
      <*> dnsmasq
      <*> dropbear
      <*> firewall
      <*> fstools
      -*- jsonfilter
      -*- libc
      -*- libgcc
      <*> mtd
      -*- netifd
      <*> nvram
Kernel modules > Proprietary BCM43xx WiFi driver >
       <*> kmod-brcm-wl
       <*> kmod-brcm-wl-mini
       <*>   nas
       <*>   wl
       <*>   wlc
LuCI >
       1. Collections
             -*- luci
             <*> luci-ssl
       2. Modules
             -*- luci-mod-admin-full
             <*> luci-mod-failsafe
             <*> luci-mod-freifunk
             <*> luci-mod-rpc
       3. Applications
             -*- luci-app-firewall
       4. Themes
             -*- luci-theme-bootstrap
             <*> luci-theme-freifunk-bno
             <*> luci-theme-freifunk-generic
             <*> luci-theme-openwrt
       6. Protocols
             <*> luci-proto-ipv6
             -*- luci-proto-ppp


Catatan Proprietary WL Driver

linux/linux-2.6/drivers/mtd/ubi/Makefile:ubi-y += vtbl.o vmt.o upd.o build.o cdev.o kapi.o eba.o io.o wl.o scan.o
linux/linux-2.6/drivers/net/hnd/Kconfig:	default "wlconfig_lx_router_ap"
linux/linux-2.6/drivers/net/hnd/Kconfig:	default "wlconfig_lx_router_ap_sdstd"
linux/linux-2.6/drivers/net/hnd/Kconfig:	default "wlconfig_lx_router_sta"
linux/linux-2.6/drivers/net/hnd/Kconfig:	default "wlconfig_lx_router_apsta"
linux/linux-2.6/drivers/net/hnd/Kconfig:	default "wlconfig_lx_router_ap_1chipG"
linux/linux-2.6/drivers/net/hnd/Kconfig:	default "wlconfig_lx_router_sta_1chipG"
linux/linux-2.6/drivers/net/hnd/Kconfig:	default "wlconfig_lx_router_high"
linux/linux-2.6/drivers/net/hnd/Makefile:WLSHARED := wlconfig_lx_shared
linux/linux-2.6/drivers/net/wl/wl_generic.mk:    # define OS flag to pick up wl osl file from wl.mk
linux/linux-2.6/drivers/net/wl/wl_generic.mk:    # need -I. to pick up wlconf.h in build directory
linux/linux-2.6/drivers/net/wl/wl_generic.mk:    # wl-objs is for linking to wl.o
linux/linux-2.6/drivers/net/wl/wl_generic.mk:#WL_CONF_H: wlconf.h
linux/linux-2.6/drivers/net/wl/Makefile:WLCONF_H := wlconf.h
linux/linux-2.6/drivers/net/wl/Makefile:WLCONF_O := wlconf.o


linux/linux-2.6/arch/mips/configs/E1200_defconfig:CONFIG_WL_AP="wlconfig_lx_router_ap"
linux/linux-2.6/arch/mips/configs/E1200_defconfig:CONFIG_WL_AP_SDSTD="wlconfig_lx_router_ap_sdstd"
linux/linux-2.6/arch/mips/configs/E1200_defconfig:CONFIG_WL_STA="wlconfig_lx_router_sta"
linux/linux-2.6/arch/mips/configs/E1200_defconfig:CONFIG_WL_APSTA="wlconfig_lx_router_apsta"
linux/linux-2.6/arch/mips/configs/E1200_defconfig:CONFIG_WL_AP_ONCHIP_G="wlconfig_lx_router_ap_1chipG"
linux/linux-2.6/arch/mips/configs/E1200_defconfig:CONFIG_WL_STA_ONCHIP_G="wlconfig_lx_router_sta_1chipG"
linux/linux-2.6/arch/mips/configs/E1200_defconfig:CONFIG_WL_HIGH="wlconfig_lx_router_high"
linux/linux-2.6/arch/mips/configs/M15_defconfig:CONFIG_WL_AP="wlconfig_lx_router_ap"
linux/linux-2.6/arch/mips/configs/M15_defconfig:CONFIG_WL_AP_SDSTD="wlconfig_lx_router_ap_sdstd"
linux/linux-2.6/arch/mips/configs/M15_defconfig:CONFIG_WL_STA="wlconfig_lx_router_sta"
linux/linux-2.6/arch/mips/configs/M15_defconfig:CONFIG_WL_APSTA="wlconfig_lx_router_apsta"
linux/linux-2.6/arch/mips/configs/M15_defconfig:CONFIG_WL_AP_ONCHIP_G="wlconfig_lx_router_ap_1chipG"
linux/linux-2.6/arch/mips/configs/M15_defconfig:CONFIG_WL_STA_ONCHIP_G="wlconfig_lx_router_sta_1chipG"
linux/linux-2.6/arch/mips/configs/M15_defconfig:CONFIG_WL_HIGH="wlconfig_lx_router_high"
linux/linux-2.6/arch/mips/configs/E1500_defconfig:CONFIG_WL_AP="wlconfig_lx_router_ap"
linux/linux-2.6/arch/mips/configs/E1500_defconfig:CONFIG_WL_AP_SDSTD="wlconfig_lx_router_ap_sdstd"
linux/linux-2.6/arch/mips/configs/E1500_defconfig:CONFIG_WL_STA="wlconfig_lx_router_sta"
linux/linux-2.6/arch/mips/configs/E1500_defconfig:CONFIG_WL_APSTA="wlconfig_lx_router_apsta"
linux/linux-2.6/arch/mips/configs/E1500_defconfig:CONFIG_WL_AP_ONCHIP_G="wlconfig_lx_router_ap_1chipG"
linux/linux-2.6/arch/mips/configs/E1500_defconfig:CONFIG_WL_STA_ONCHIP_G="wlconfig_lx_router_sta_1chipG"
linux/linux-2.6/arch/mips/configs/E1500_defconfig:CONFIG_WL_HIGH="wlconfig_lx_router_high"
linux/linux-2.6/arch/mips/defconfig-2.6-bcm947xx:CONFIG_WL_AP="wlconfig_lx_router_ap"
linux/linux-2.6/arch/mips/defconfig-2.6-bcm947xx:CONFIG_WL_AP_SDSTD="wlconfig_lx_router_ap_sdstd"
linux/linux-2.6/arch/mips/defconfig-2.6-bcm947xx:CONFIG_WL_STA="wlconfig_lx_router_sta"
linux/linux-2.6/arch/mips/defconfig-2.6-bcm947xx:CONFIG_WL_APSTA="wlconfig_lx_router_apsta"
linux/linux-2.6/arch/mips/defconfig-2.6-bcm947xx:CONFIG_WL_AP_ONCHIP_G="wlconfig_lx_router_ap_1chipG"
linux/linux-2.6/arch/mips/defconfig-2.6-bcm947xx:CONFIG_WL_STA_ONCHIP_G="wlconfig_lx_router_sta_1chipG"
linux/linux-2.6/arch/mips/defconfig-2.6-bcm947xx:CONFIG_WL_HIGH="wlconfig_lx_router_high"
linux/linux-2.6/.config.old:CONFIG_WL_AP="wlconfig_lx_router_ap"
linux/linux-2.6/.config.old:CONFIG_WL_AP_SDSTD="wlconfig_lx_router_ap_sdstd"
linux/linux-2.6/.config.old:CONFIG_WL_STA="wlconfig_lx_router_sta"
linux/linux-2.6/.config.old:CONFIG_WL_APSTA="wlconfig_lx_router_apsta"
linux/linux-2.6/.config.old:CONFIG_WL_AP_ONCHIP_G="wlconfig_lx_router_ap_1chipG"
linux/linux-2.6/.config.old:CONFIG_WL_STA_ONCHIP_G="wlconfig_lx_router_sta_1chipG"
linux/linux-2.6/.config.old:CONFIG_WL_HIGH="wlconfig_lx_router_high"
linux/linux-2.6/.config:CONFIG_WL_AP="wlconfig_lx_router_ap"
linux/linux-2.6/.config:CONFIG_WL_AP_SDSTD="wlconfig_lx_router_ap_sdstd"
linux/linux-2.6/.config:CONFIG_WL_STA="wlconfig_lx_router_sta"
linux/linux-2.6/.config:CONFIG_WL_APSTA="wlconfig_lx_router_apsta"
linux/linux-2.6/.config:CONFIG_WL_AP_ONCHIP_G="wlconfig_lx_router_ap_1chipG"
linux/linux-2.6/.config:CONFIG_WL_STA_ONCHIP_G="wlconfig_lx_router_sta_1chipG"
linux/linux-2.6/.config:CONFIG_WL_HIGH="wlconfig_lx_router_high"
linux/linux-2.6/drivers/net/hnd/Kconfig:	default "wlconfig_lx_router_ap"
linux/linux-2.6/drivers/net/hnd/Kconfig:	default "wlconfig_lx_router_ap_sdstd"
linux/linux-2.6/drivers/net/hnd/Kconfig:	default "wlconfig_lx_router_sta"
linux/linux-2.6/drivers/net/hnd/Kconfig:	default "wlconfig_lx_router_apsta"
linux/linux-2.6/drivers/net/hnd/Kconfig:	default "wlconfig_lx_router_ap_1chipG"
linux/linux-2.6/drivers/net/hnd/Kconfig:	default "wlconfig_lx_router_sta_1chipG"
linux/linux-2.6/drivers/net/hnd/Kconfig:	default "wlconfig_lx_router_high"
linux/linux-2.6/drivers/net/hnd/Makefile:WLSHARED := wlconfig_lx_shared
linux/linux-2.6/include/linux/autoconf.h:#define CONFIG_WL_HIGH "wlconfig_lx_router_high"
linux/linux-2.6/include/linux/autoconf.h:#define CONFIG_WL_AP_ONCHIP_G "wlconfig_lx_router_ap_1chipG"
linux/linux-2.6/include/linux/autoconf.h:#define CONFIG_WL_AP_SDSTD "wlconfig_lx_router_ap_sdstd"
linux/linux-2.6/include/linux/autoconf.h:#define CONFIG_WL_APSTA "wlconfig_lx_router_apsta"
linux/linux-2.6/include/linux/autoconf.h:#define CONFIG_WL_AP "wlconfig_lx_router_ap"
linux/linux-2.6/include/linux/autoconf.h:#define CONFIG_WL_STA_ONCHIP_G "wlconfig_lx_router_sta_1chipG"
linux/linux-2.6/include/linux/autoconf.h:#define CONFIG_WL_STA "wlconfig_lx_router_sta"



Harus di edit

linux/linux-2.6/drivers/net/wl/Makefile
linux/linux-2.6/drivers/net/wl/wl_generic.mk