OpenWrt Project MaxPham 15mar2015

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

 

2015
   

 
 
 
 
15 Mar 2015 
Version 1.10 

OPENWRT PROJECTS 
 
 

Contents
Contents ........................................................................................................................................................ 2 
Figures ........................................................................................................................................................... 3 
History Of Changes ........................................................................................................................................ 4 
1  Skill set and equipments ....................................................................................................................... 5 
1.1  System skills .................................................................................................................................. 5 
1.2  Software skills ............................................................................................................................... 5 
1.3  Network skills ................................................................................................................................ 5 
1.4  Equipments ................................................................................................................................... 5 
1.5  Hardware tools and prototype components ................................................................................ 6 
2  Support OpenWrt for OpenSource wireless Routers ............................................................................ 6 
2.1  Bring‐up OpenWrt for new platforms ........................................................................................... 6 
3  OpenWrt theme/logo customization .................................................................................................... 7 
3.1  Customize theme/logo per customer request: ............................................................................. 7 
4  Support Luci Web UI/uci config for new packages ............................................................................... 7 
4.1  Wifi Schedule ................................................................................................................................ 8 
4.2  Email Notification .......................................................................................................................... 9 
5  OpenWrt wifi hotspot ........................................................................................................................... 9 
6  OpenWrt NodogSplash ....................................................................................................................... 10 
7  WebCam Streaming using OpenWrt ................................................................................................... 12 
8  Passive traffic fingerprinting: .............................................................................................................. 12 
8.1  p0f ............................................................................................................................................... 12 
8.2  Prads tool .................................................................................................................................... 14 
9  Web‐Of‐Things .................................................................................................................................... 14 
10  Customize OpenWrt framework ..................................................................................................... 15 
11  Other embedded system project .................................................................................................... 15 
 

Max Pham Page 2

 
Figures
Figure 1: Any TP Link wireless Router (such as MR3420, MR3020, WR841ND). .......................................... 6 

Figure 2: Buffalo wireless Router (such as WZR‐HP‐AG300H). ..................................................................... 6 

Figure 3: Netgear WNDR3800. ...................................................................................................................... 7 

Figure 4: OpenWrt development system based on Raspberry Pi B .............................................................. 7 

Figure 5: Customize Theme/Logo ................................................................................................................. 7 

Figure 6: Support WebUI for new parameters ............................................................................................. 8 

Figure 7: Customize WebUI/uci config for new wifi modules ...................................................................... 8 

Figure 8: Wifi schedule Luci .......................................................................................................................... 9 

Figure 9: Web UI for email notification configuration .................................................................................. 9 

Figure 10: Packages status after installing .................................................................................................. 10 

Figure 11: Add new node (wifidog gateway) .............................................................................................. 10 

Figure 12: Authentication screen when wifi client try to access the internet. ........................................... 10 

Figure 13: Landing page .............................................................................................................................. 11 

Figure 14: Redirect page (for advertising). ................................................................................................. 11 

Figure 15: WebCam Streaming Diagram ..................................................................................................... 12 

Figure 16: Streaming with Android client (tinyCam Monitor) and Window client (YawCam) .................... 12 

Figure 17: menuconfig for p0f .................................................................................................................... 13 

Figure 18: p0f in daemon mode .................................................................................................................. 13 

Figure 19: p0f3 script .................................................................................................................................. 13 

Figure 20: Wifi Client OS and information .................................................................................................. 14 

Figure 21: Starting prads tool for OS fingerprint ........................................................................................ 14 

Figure 22: “Web‐Of‐Things” ........................................................................................................................ 15 

Figure 23: Backup/Store configuration using text file. ............................................................................... 15 

Max Pham Page 3

 
History Of Changes
Version    Issuer  Notes 

1.1  14‐Apr‐2014  Max Pham  Initial version 

1.2  27‐Apr‐2014  Max Pham  Add: 

 WifiDog 

 WebCam Stream 

1.3  30‐Apr‐2014  Max Pham  Update WebCam Stream client (tinyCam/Android, 


Yawcam/Win7) 

1.4  13‐Jun‐2014  Max Pham  Raspberry Pi 

1.5  25‐Jun‐2014  Max Pham  “Web‐of‐Things”: control GPIO using WebUI 

1.6  19‐Jul‐2014  Max Pham  p0f: passive traffic fingerprinting tool 

1.7  22‐Jul‐2014  Max Pham  Add hardware table 

1.8  27‐Jul‐2014  Max Pham  Wifi Schedule Luci 

1.9  02‐Feb‐2015  Max Pham  Add NoDogSplash 

1.10  15‐Mar‐2015  Max Pham  ‐ Update Nodogsplash. 

‐ Add email notification. 

Max Pham Page 4

 
 

1 Skill set and equipments

1.1 System skills


‐ Project Management, Scrum/Agile/Zypher. 

‐ Embedded System Development/Integration/QA and Testing. 

1.2 Software skills


‐ Embedded Linux/uboot integration and development. 

‐ Linux/Uboot Device Drivers 

‐ OpenWrt/Buildroot 

‐ Git/Bitbucket/SVN 

‐ Technical Writing 

1.3 Network skills


‐ Linux Networking/Firewall/Routing. 

‐ Wireless 802.11a/n/ac. 

‐ Network/Wireless Benchmarking 

1.4 Equipments
I have below hardwares on my desk 

‐ TP‐Link MR3420v2, MR3020v1, WR841ND; Buffalo WZR‐HP‐AG300H; Netgear WNDR3800; 

‐ Arduino Due R3, Mega 2560, Ethernet Shield, Arduino ADK, Arduino YUN. 

‐ Raspberry Pi B, Pi Camera. 

‐ Allwiner CubieBoard. 

‐ FriendlyARM Smart210. 

‐ GPS module, various kind of sensors, etc,... 

‐ BeagleBone Black RevC. 

‐ RFM12B modules (915MHz). 

Max Pham Page 5

 
1.5 Hardware tools and prototype components
‐ Oscilloscope. 

‐ VOM. 

‐ Electronic components and test board for prototype developing. 

‐ JLink. 

2 Support OpenWrt for OpenSource wireless Routers

2.1 Bring‐up OpenWrt for new platforms


I have a lot of bringup/enablement projects for OpenWrt: 

‐ Linksys 1900AC, WrtNode, ZBT wireless router, Etc… 

I can create/integrate/build/custom openwrt packages (such as Samba, Minidlna, OpenVPN, Freeradius, 
Quagga, Wifidog, Firewall/iptables, SNMP, etc,…) and provide SDK (Software Development Kit) for 
OpenWrt; Customize and setup to test (QA activities) the functions for a lot of open‐source wireless 
routers (including 3G). 

 
Figure 1: Any TP Link wireless Router (such as MR3420, MR3020, WR841ND). 

 
Figure 2: Buffalo wireless Router (such as WZR‐HP‐AG300H). 

Max Pham Page 6

 
   
Figure 3: Netgear WNDR3800. 

Setup development system using open hardware platform (such as Raspberry Pi, Cubieboard, 
FriendlyArm Tiny210v2) 

 
Figure 4: OpenWrt development system based on Raspberry Pi B 

3 OpenWrt theme/logo customization

3.1 Customize theme/logo per customer request:

 
Figure 5: Customize Theme/Logo 

4 Support Luci Web UI/uci config for new packages


Add new uci config and Luci webUI for customer package, such as new wifi driver parameters, 3G GUI, 
OpenVPN, etc,… 

Max Pham Page 7

 
 
Figure 6: Support WebUI for new parameters 

 
Figure 7: Customize WebUI/uci config for new wifi modules 

4.1 Wifi Schedule


Integrate the open‐source packages like wifi schedule 

Max Pham Page 8

 
 
Figure 8: Wifi schedule Luci 

4.2 Email Notification

 
Figure 9: Web UI for email notification configuration 

5 OpenWrt wifi hotspot


Enable/Deploy wifidog on both OpenWrt and AuthServer. 

Max Pham Page 9

 
 
Figure 10: Packages status after installing 

 
Figure 11: Add new node (wifidog gateway) 

 
Figure 12: Authentication screen when wifi client try to access the internet. 

6 OpenWrt NodogSplash
Setup NodogSplash for in‐expensive router (4MB flash size) such as MR‐3420v2. 
1
Nodogsplash offers a simple way to open a free Hotspot (Wi‐Fi) providing restricted access to an 
Internet connection. 

                                                            
1
 http://wiki.openwrt.org/doc/howto/wireless.hotspot.nodogsplash 

Max Pham Page 10

 
The goal was to use a single wireless router to both provide local secure wifi, and share a portion of our 
bandwidth as a free hotspot, with a splash page to advertise who is providing the hotspot, and the fact 
that secure, faster access is available for a small contribution towards costs. 

Below is a sample project based on Nodogsplash which is used for free wifi but users have to visit the 
defined web site first.  This is for advertising purpose. 

 
Figure 13: Landing page 

 
Figure 14: Redirect page (for advertising). 

Max Pham Page 11

 
7 WebCam Streaming using OpenWrt
This part to demo streaming webcam using the TPLink MR3420v2 (Atheros AR9341@535MHz, 32MiB 
RAM, 4MiB Flash, USB2.0).  Clients are webclient/Win7, Yawcam/Win7, TinyCam Monitor/Android 
Device (I use Tiny210v2 board as the Android Device, the functions should be same as other Android 
Smart Phone). 

Android
Device

USB

UVC WebCam

Laptop
 
Figure 15: WebCam Streaming Diagram 

 
Figure 16: Streaming with Android client (tinyCam Monitor) and Window client (YawCam) 

8 Passive traffic fingerprinting:

8.1 p0f
P0f is a tool that utilizes an array of sophisticated, purely passive traffic fingerprinting mechanisms to 
identify the players behind any incidental TCP/IP communications (often as little as a single normal SYN) 
without interfering in any way. 

Max Pham Page 12

 
 
Figure 17: menuconfig for p0f 

At the run time, the p0f will be started automatically at booting time: 

 
Figure 18: p0f in daemon mode 

User can start/stop/restart manually: 

 
Figure 19: p0f3 script 

All client information (including OS) is stored to the /var/log/p0f.log 

Max Pham Page 13

 
 
Figure 20: Wifi Client OS and information 

8.2 Prads tool


It passively listen to network traffic and gathers information on hosts and services it sees on the network. 
This information can be used to map your network, letting you know what services and hosts are active, 
and can be used together with your favorite IDS/IPS setup for "event to application" correlation. 

 
Figure 21: Starting prads tool for OS fingerprint 

9 Web‐Of‐Things
I have some demos of Web‐Of‐Things which help user to control GPIO from WebUI: 

Max Pham Page 14

 
 
Figure 22: “Web‐Of‐Things” 

10 Customize OpenWrt framework


I had customized OpenWrt framework such as the backup/restore configuration (include password) 
functions to store the text file (please refer below screenshot) instead of tarball files.   This help the 
administrator edit the configure file for many router easily. 

 
Figure 23: Backup/Store configuration using text file. 

11 Other embedded system project


I also have been done a lot of embedded projects which based on Linux.  Mostly porting/upgrade kernel 
for new platforms, customize root file system (using openwrt, buildroot, etc,…). 

Max Pham Page 15

You might also like