OpenWrt

From ElectroDragon
Revision as of 02:52, 9 October 2019 by Chao (talk | contribs) (Menuconfig)
Jump to navigation Jump to search

Compile

branch openwrt-18.06: git clone -b openwrt-18.06 https://github.com/openwrt/openwrt.git
branch chaos_calmer is legacy: git clone -b chaos_calmer https://github.com/openwrt/openwrt.git
  • update
cd openwrt          //enter into openwrt folder
./scripts/feeds update -a     // update install package
./scripts/feeds install -a      //install updates
  • make menuconfig
  • Setup for MicroSD card & IOT Device mode or IOT gateway modes
Kernel modules    ---> 
 Other modules    ---> 
   <*> kmod-sdhci-mt7620 
  • Make it - make V=s
  • Find the firmware - openwrt/bin/ramips/openwrt-ramips-mt7628-mt7628-squashfs-sysupgrade.bin
  • IPK packages - openwrt/ bin/ramips/packages/
  • Firmware could be updated via LUCI webpage

Openwrt Folder List

Menuconfig

Target

  • For AR9331 - TP-LINK TL-WR720N v3

Build and Use Toolchain

  • in menuconfig, tick option "Build the OpenWrt based Toolchain"
  • Toolchain can be found at "/bin/ramips/OpenWrt-Toolchain-ramips-mt7628_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686.tar.bz2"
  • Install toolchain: sudo tar -jxvf ./bin/ramips/OpenWrt-Toolchain-ramips-mt7628_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686.tar.bz2 -C /opt/

C application

  • Compile use mipsel-openwrt-linux-gcc
  • mipsel-openwrt-linux-gcc hello_world.c -o hello_world

Run the complied application

  • chmod +x /tmp/hello_world //add executable rights
  • /tmp/hello_world //run“hello_world”application

IPK Application

  • Save src file at ./package/utils
  • In menuconfig -> Utilities , add this package

Compile

  • cd ./package/utils //enter into package/utils folder
  • mkdir hello_world //make“hello_world” folder for source code
  • cd hello_world
  • mkdir src //make src folder for source code
  • nano src/hello_world.c //create hello_world.c file in src
  • nano src/Makefile // add a new Makefile
  • make menuconfig
  • Utilities --->
<M> hello_world.................... Hello world -prints a hello world message 
  • make V=s
  • find installation file at openwrt/ bin/ramips/packages/base/hello_world_1.0_ramips_24kec.ipk

Install

  • opkg install /tmp/usbutils_007-1_ramips_24kec.ipk

Applications

  • 4G network card: kmod-mii, kmod-usb-net, kmod-usb-wdm, kmod-usb-net-qmi-wwan, uqmi
  • USB file system: ntfs-3g, kmod-fs-ext4, kmod-fs-vfat
  • Audio play: kmod-usb-audio, madplay-alsa
  • Audio Misc: zlib, libffi, libattr, libpthread, glib2, libflac, libmad, libcurl, libogg, libvorbisidec, mpd-mini
  • libmpdclient, mpc
  • USB webcamera: libjpeg, mjpg-streamer
  • Web SIP Call: zlib, libopenssl, libpthread, libre, librem, baresip, kmod-sound-core, kmod-usb-audio, librt, alsa-lib, baresip-mod-alsa

Usage

  • No need to setup anything for firewall
  • Apps list can check on this page category: Linux
  • Use Transmission
  • change mode to STA-client -> wifi -> find SSID:openwrt -> edit -> mode -> client -> scan -> join network -> enter password -> save

Luci

Programming tutorial in chinese

Relvant connector can check this page: feeds/luci/modules/luci-base/luasrc/