Skip to content

Final Project Video

Pranav Shastry edited this page Apr 23, 2026 · 15 revisions

Overview

This page provide's an overview of Pranav Shastry's contribution to the AESD Final Project Embedded Linux based Wi-Fi Captive Portal Gateway

Video Outline

Drive Link:

Note: Video is in 1080p 60fps. Please download for the best viewing experience.

The video demonstrates:

  • Booting the Raspberry Pi based gateway and bringing up the guest Wi-Fi network
  • Connecting a client device to the guest SSID
  • Automatic captive portal popup behavior on supported devices
  • Logging into the captive portal using guest user account credentials
  • Successful internet access after authentication
  • Accessing the admin portal from the management interface
  • Device monitoring through authenticated, unauthenticated, online, and offline device views
  • User account management, including creation, modification, disabling, and deletion
  • Permanent allow and permanent block handling using MAC address based control
  • Wireless configuration and portal customization through the admin interface
  • GitHub repository overview a note from Pranav Shastry on how this can be used

Challenges

My most difficult challenges when implementing this project were:

  • Getting the onboard Raspberry Pi Broadcom Wi-Fi driver working reliably with hostapd in the Buildroot environment
  • Integrating shell scripts, CGI handlers, firewall rules, and the web interface into one working system
  • Debugging captive portal behavior across different client platforms, especially Apple and Android devices
  • Managing different access flows for authenticated users, permanently allowed devices, and permanently blocked devices
  • Designing a working admin portal with persistent configuration and runtime device/account state

Lessons Learned

The most important topics I learned from this project were:

  • How to build and customize an embedded Linux system using Buildroot for a real networking application
  • How hostapd, dnsmasq, iptables, lighttpd, and CGI scripts interact in a captive portal gateway design
  • How per-device access control can be implemented using IP and MAC based rule management
  • How captive portal detection differs across operating systems and why redirection behavior is harder than standard web development
  • How to design a management interface that connects backend state, firewall policy, and user-facing controls into one integrated embedded system

Clone this wiki locally