Files
LEDMatrix/docs/archive/CAPTIVE_PORTAL_TROUBLESHOOTING.md
Chuck ddd300a117 Docs/consolidate documentation (#217)
* docs: rename FONT_MANAGER_USAGE.md to FONT_MANAGER.md

Renamed for clearer naming convention.
Part of documentation consolidation effort.

* docs: consolidate Plugin Store guides (2→1)

Merged:
- PLUGIN_STORE_USER_GUIDE.md
- PLUGIN_STORE_QUICK_REFERENCE.md

Into: PLUGIN_STORE_GUIDE.md

- Unified writing style to professional technical
- Added Quick Reference section at top for easy access
- Removed duplicate content
- Added cross-references to related documentation
- Updated formatting to match style guidelines

* docs: create user-focused Web Interface Guide

Created WEB_INTERFACE_GUIDE.md consolidating:
- V3_INTERFACE_README.md (technical details)
- User-facing interface documentation

- Focused on end-user tasks and navigation
- Removed technical implementation details
- Added common tasks section
- Included troubleshooting
- Professional technical writing style

* docs: consolidate WiFi setup guides (4→1)

Merged:
- WIFI_SETUP.md
- OPTIMAL_WIFI_AP_FAILOVER_SETUP.md
- AP_MODE_MANUAL_ENABLE.md
- WIFI_ETHERNET_AP_MODE_FIX.md (behavior documentation)

Into: WIFI_NETWORK_SETUP.md

- Comprehensive coverage of WiFi setup and configuration
- Clear explanation of AP mode failover and grace period
- Configuration scenarios and best practices
- Troubleshooting section combining all sources
- Professional technical writing style
- Added quick reference table for behavior

* docs: consolidate troubleshooting guides (4→1)

Merged:
- TROUBLESHOOTING_QUICK_START.md
- WEB_INTERFACE_TROUBLESHOOTING.md
- CAPTIVE_PORTAL_TROUBLESHOOTING.md
- WEATHER_TROUBLESHOOTING.md

Into: TROUBLESHOOTING.md

- Organized by issue category (web, WiFi, plugins)
- Comprehensive diagnostic commands reference
- Quick diagnosis steps at the top
- Service file template preserved
- Complete diagnostic script included
- Professional technical writing style

* docs: create consolidated Advanced Features guide

Merged:
- VEGAS_SCROLL_MODE.md
- ON_DEMAND_DISPLAY_QUICK_START.md
- ON_DEMAND_DISPLAY_API.md
- ON_DEMAND_CACHE_MANAGEMENT.md
- BACKGROUND_SERVICE_README.md
- PERMISSION_MANAGEMENT_GUIDE.md

Into: ADVANCED_FEATURES.md

- Comprehensive guide covering all advanced features
- Vegas scroll mode with integration examples
- On-demand display with API reference
- Cache management troubleshooting
- Background service documentation
- Permission management patterns
- Professional technical writing style

* docs: create Getting Started guide for first-time users

Created GETTING_STARTED.md:
- Quick start guide (5 minutes)
- Initial configuration walkthrough
- Common first-time issues and solutions
- Next steps and quick reference
- User-friendly tone for beginners
- Links to detailed documentation

* docs: archive consolidated source files and ephemeral docs

Archived files that have been consolidated:
- Plugin Store guides (2 files → PLUGIN_STORE_GUIDE.md)
- Web Interface guide (V3_INTERFACE_README.md → WEB_INTERFACE_GUIDE.md)
- WiFi Setup guides (4 files → WIFI_NETWORK_SETUP.md)
- Troubleshooting guides (4 files → TROUBLESHOOTING.md)
- Advanced Features (6 files → ADVANCED_FEATURES.md)

Archived ephemeral/debug documentation:
- DEBUG_WEB_ISSUE.md
- BROWSER_ERRORS_EXPLANATION.md
- FORM_VALIDATION_FIXES.md
- WEB_UI_RELIABILITY_IMPROVEMENTS.md
- CAPTIVE_PORTAL_TESTING.md
- NEXT_STEPS_COMMANDS.md
- STATIC_IMAGE_MULTI_UPLOAD_PLAN.md
- RECONNECT_AFTER_CAPTIVE_PORTAL_TESTING.md

Archived implementation summaries:
- PLUGIN_CONFIG_TABS_SUMMARY.md
- PLUGIN_CONFIG_SYSTEM_VERIFICATION.md
- PLUGIN_SCHEMA_AUDIT_SUMMARY.md
- STARTUP_OPTIMIZATION_SUMMARY.md
- PLUGIN_DISPATCH_IMPLEMENTATION.md
- NESTED_SCHEMA_IMPLEMENTATION.md
- AP_MODE_MANUAL_ENABLE_CHANGES.md
- PLUGIN_CONFIG_SYSTEM_EXPLANATION.md

Total archived: 27 files
Preserves git history while cleaning up main docs directory

* docs: rename API_REFERENCE.md to REST_API_REFERENCE.md

Renamed for clarity - this is specifically the REST API reference
for the web interface, not a general API reference.

* docs: update README.md to reflect consolidated documentation structure

Updated documentation index:
- Reflects new consolidated guides (51 → 16-17 files)
- Updated Quick Start sections with new file names
- Added consolidation history (January 2026)
- Updated file references (API_REFERENCE → REST_API_REFERENCE)
- Documented archival of 33 files
- Added benefits of consolidation
- Updated statistics and highlights
- Removed outdated references
- Professional writing style maintained throughout

* docs: add Vegas scroll mode system architecture documentation

Added comprehensive internal architecture section for Vegas mode:
- Component overview with diagram
- VegasModeCoordinator responsibilities and main loop
- StreamManager buffering strategy and content flow
- PluginAdapter integration and fallback behavior
- RenderPipeline 125 FPS rendering process
- Component interaction flows
- Thread safety patterns
- Performance characteristics

Covers:
- How the four components work together
- Initialization and render loop flows
- Config update handling
- Frame rate management and optimization
- Memory usage and CPU characteristics

---------

Co-authored-by: Chuck <chuck@example.com>
2026-01-29 10:32:00 -05:00

4.0 KiB

Captive Portal Troubleshooting Guide

Problem: Can't Access Web Interface When Connected to AP

If you've connected to the "LEDMatrix-Setup" WiFi network but can't access the web interface, follow these steps:

Quick Checks

1. Verify Web Server is Running

sudo systemctl status ledmatrix-web

If not running:

sudo systemctl start ledmatrix-web
sudo systemctl enable ledmatrix-web

2. Try Direct IP Access

On your phone/device, try accessing the web interface directly:

The port :5000 is required - the web server runs on port 5000, not the standard port 80.

3. Check DNS Resolution

The captive portal uses DNS redirection. Try accessing:

4. Verify AP Mode is Active

sudo systemctl status hostapd
sudo systemctl status dnsmasq
ip addr show wlan0 | grep 192.168.4.1

All should be active/running.

5. Check Firewall

If you have a firewall enabled, ensure port 5000 is open:

# For UFW
sudo ufw allow 5000/tcp

# For iptables
sudo iptables -A INPUT -p tcp --dport 5000 -j ACCEPT

Common Issues

Issue: "Can't connect to server" or "Connection refused"

Cause: Web server not running or not listening on the correct interface.

Solution:

sudo systemctl start ledmatrix-web
sudo systemctl status ledmatrix-web

Issue: DNS not resolving / "Server not found"

Cause: dnsmasq not running or DNS redirection not configured.

Solution:

# Check dnsmasq
sudo systemctl status dnsmasq

# Restart AP mode
cd ~/LEDMatrix
python3 -c "from src.wifi_manager import WiFiManager; wm = WiFiManager(); wm.disable_ap_mode(); wm.enable_ap_mode()"

Issue: Page loads but shows "Connection Error" or blank page

Cause: Web server is running but Flask app has errors.

Solution:

# Check web server logs
sudo journalctl -u ledmatrix-web -n 50 --no-pager

# Restart web server
sudo systemctl restart ledmatrix-web

Issue: Phone connects but browser doesn't open automatically

Cause: Some devices don't automatically detect captive portals.

Solution: Manually open browser and go to:

Testing Steps

  1. Disconnect Ethernet from Pi
  2. Wait 30 seconds for AP mode to start
  3. Connect phone to "LEDMatrix-Setup" network (password: ledmatrix123)
  4. Open browser on phone
  5. Try these URLs:
    • http://192.168.4.1:5000/v3 (direct access)
    • http://captive.apple.com (iOS captive portal detection)
    • http://www.google.com (should redirect)

Automated Troubleshooting

Run the troubleshooting script:

cd ~/LEDMatrix
./scripts/troubleshoot_captive_portal.sh

This will check all components and provide specific fixes.

Manual AP Mode Test

To manually test AP mode (bypassing Ethernet check):

cd ~/LEDMatrix
python3 -c "
from src.wifi_manager import WiFiManager
wm = WiFiManager()

# Temporarily disconnect Ethernet check
# (This is for testing only - normally AP won't start with Ethernet)
print('Enabling AP mode...')
result = wm.enable_ap_mode()
print('Result:', result)
"

Note: This will fail if Ethernet is connected (by design). You must disconnect Ethernet first.

Still Not Working?

  1. Check all services:

    sudo systemctl status ledmatrix-web hostapd dnsmasq ledmatrix-wifi-monitor
    
  2. Check logs:

    sudo journalctl -u ledmatrix-web -f
    sudo journalctl -u ledmatrix-wifi-monitor -f
    
  3. Verify network configuration:

    ip addr show wlan0
    ip route show
    
  4. Test from Pi itself:

    curl http://192.168.4.1:5000/v3
    

If it works from the Pi but not from your phone, it's likely a DNS or firewall issue.