OpenWRT: Build Firmware Linksys E1700
Spesifikasi
Model : E1700 Platform : Mediatek MT7620A RAM [MB] : 32 Flash [MB] : 8 Ant. Conn. Type : External WLAN NIC : SOC WLAN standard [802.11] : b/g/n 2x2:2 Eth. port count : 4 Gb LAN 1 Gb 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.43.tar.gz tar zxvf XML-Parser-2.43.tar.gz cd /usr/local/src/XML-Parser-2.43 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/ramips/
Konfigurasi Default
Konfigurasi untuk E1700
Target System (Ralink RT288x/RT3xxx) ---> Subtarget (MT7620 based boards) ---> Target Profile (Linksys E1700) --->
Konfigurasi default yang ada dari openwrt tidak ada driver wifi. Kita dapat menambahkan paling tidak
- Luci
- Asterisk (supaya keren)
- Samba (supaya keren)
- UPnP (supaya keren)
Administration ---> <*> asterisk11-gui Kernel modules ---> -*- kmod-ipv6 -*- kmod-sched -*- kmod-sched-core LuCI ---> 1. Collections -*- luci <*> luci-ssl 3. Applications <*> luci-app-ahcp -*- luci-app-firewall <*> luci-app-radvd <*> luci-app-samba <*> luci-app-upnp <*> luci-app-wshaper 4. Themes -*- luci-theme-bootstrap <*> luci-theme-freifunk-bno <*> luci-theme-freifunk-generic <*> luci-theme-openwrt 5. Protocols <*> luci-proto-ipv6 -*- luci-proto-ppp Network ---> Telephony ---> -*- asterisk11 -*- hostapd-common -*- iw -*- samba36-server <*> wpad-mini -*- wshaper
Setelah selesai, kita perlu compile
cd ~/openwrt.trunk/trunk make clean make defconfig make world
Setelah jadi, kita perlu menambahkan driver wifi dan compile ulang secara manual berikut ini.
Cara Menambahkan Driver Wifi
Download patch
cd ~ rm -Rf ~/rt2860v2-for-openwrt-mt7620/ git clone https://github.com/wuqiong/rt2860v2-for-openwrt-mt7620.git
Merge ke build directory
cd ~ cp -r rt2860v2-for-openwrt-mt7620/ralink ~/openwrt.trunk/trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620/linux-3.14.28/drivers/mtd/
cd ~ cp -r rt2860v2-for-openwrt-mt7620/rt2860v2 rt2860v2-for-openwrt-mt7620/rt2860v2_ap ~/openwrt.trunk/trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620/linux-3.14.28/drivers/net/wireless/
Hati-hati folder
/linux-ramips_mt7620/linux-3.14.26 /linux-ramips_mt7620/linux-3.14.27 /linux-ramips_mt7620/linux-3.14.28
mungkin akan berubah / berbeda tergantung versi kernel yang kita compile.
Tambahkan di Kconfig dan Makefile
Selanjutnya, tambahkan Kconfig dan Makefile obj di directory "mtd" dan "wireless"
Tambahkan kalimat berikut di akhir file Kconfig sebelum endif #MTD
vi ~/openwrt.trunk/trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620/linux-3.14.28/drivers/mtd/Kconfig
source "drivers/mtd/ralink/Kconfig" endif # MTD
Tambahkan kalimat berikut di akhir file makefile:
vi ~/openwrt.trunk/trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620/linux-3.14.28/drivers/mtd/Makefile
obj-$(CONFIG_MTD_RALINK) += ralink/
Tambahkan kalimat berikut di akhir file Kconfig sebelum endif # WLAN
vi ~/openwrt.trunk/trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620/linux-3.14.28/drivers/net/wireless/Kconfig
source "drivers/net/wireless/rt2860v2_ap/Kconfig" endif # WLAN
Tambahkan kalimat berikut di akhir file makefile:
vi ~/openwrt.trunk/trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620/linux-3.14.28/drivers/net/wireless/Makefile
obj-$(CONFIG_RT2860V2_AP) += rt2860v2_ap/
Tambahkan konfigurasi
Jalankan
cd ~/openwrt.trunk/trunk make kernel_menuconfig
Masukan konfigurasi berikut
Machine selection ---> System type (Ralink based machines) ---> Ralink SoC selection (MT7620/8) ---> Devicetree selection (None) ---> Device Driver --> <*> Memory Technology Device (MTD) support ---> Ralink Flash Type support ---> [*] Ralink MTD support Device Driver --> [*] Network device support ---> [*] Wireless LAN ---> <*> Ralink RT2860 802.11n AP support [*] LED Support [ ] WSC (WiFi Simple Config) [*] LLTD (Link Layer Topology Discovery Protocol) [*] WDS [*] MBSSID [*] New MBSSID MODE [*] AP-CLient Support [*] MAC Repeater Support [ ] IGMP snooping (NEW) [ ] NETIF Block (NEW) [ ] DFS (NEW) [*] Carrier Detect [ ] DLS ((Direct-Link Setup) Support (NEW) [ ] IDS (Intrusion Detection System) Support (NEW) [*] CoC Support (NEW) [ ] Memory Optimization (NEW) [ ] Video Turbine support (NEW) [ ] 802.11n Draft3 (NEW) [ ] Adjust Power Consumption Support (NEW [ ] Single SKU (NEW) Choose Power Design (Internal PA and Internal LNA) ---> [ ] TSSI Compensation (NEW) [ ] Temperature Compensation (NEW)
Pastikan pilih (*) untuk membuat driver masuk ke kernel, bukan kernel module.
Buat lagi firmware
Ulangi lagi pembuatan firmware. Tapi
JANGAN LAKUKAN make clean
cd ~/openwrt.trunk/trunk/ make world
Hasilnya ada di folder
~/openwrt.trunk/trunk/bin/ramips
openwrt-ramips-mt7620-e1700-squashfs-factory.bin openwrt-ramips-mt7620-e1700-squashfs-sysupgrade.bin openwrt-ramips-mt7620-root.squashfs openwrt-ramips-mt7620-uImage.bin openwrt-ramips-mt7620-vmlinux.bin openwrt-ramips-mt7620-vmlinux.elf
Flash Linksys E1700
Flash image yang di hasilkan ke router. Device ra0 akan muncul
ifconfig ra0
atau
ifconfig wlan0
Kita tidak bisa mengkonfigurasi
ifconfig ra0 up.
atau
ifconfig wlan0 up
Karena kita tidak memiliki file
/etc/Wireless/RT2860/RT2860.dat
Atau symbol link ke /tmp/RT2860.dat.
File tersebut di buat oleh script di directory /lib/wifi/ yang pertama kali di perkenalkan oleh lintel. Setelah kita mempunyai file
RT2860.dat
Masukan di
/etc/Wireless/RT2860/RT2860.dat /tmp/RT2860.dat
Agar operasional Linksys E1700 menjadi stabil.
Cara Membuat / Mengambil file RT2860.dat
Cara paling gampang. Download yang sudah jadi
wget https://gitorious.org/wive-rtnl-ralink-rt305x-routers-firmware/wive-rtnl-ralink-rt305x-routers-firmware/raw/a5879610328768271faad102fc0ab80de56ff813:etc/Wireless/RT2860/RT2860.dat
Cara yang lebih susah. Ambil file rt2860v2.sh dari
https://raw.githubusercontent.com/wuqiong/rt2860v2-for-openwrt-mt7620/master/rt2860v2.sh
Untuk MAC address WLAN bisa di set menggunakan file
/etc/config/wireless
dengan parameter
macaddr '1a:1a:1a:1a:1a:1a'
atau menggunakan factory default mac dari eeprom yang dapat diambil menggunakan perintah
hexdump -s 4 -n 6 -C /dev/mtd2 | head -n 1 | sed 's/\ \ /:/g' | cut -d: -f 2 | sed 's/\ /:/g'
Setelah kita mempunyai file
RT2860.dat
Masukan di
/etc/Wireless/RT2860/RT2860.dat /tmp/RT2860.dat
Agar operasional Linksys E1700 menjadi stabil.
Lebih Lanjut
- file rt2860v2.sh