mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-10 13:02:59 +00:00
* 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>
173 lines
4.0 KiB
Markdown
173 lines
4.0 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
sudo systemctl status ledmatrix-web
|
|
```
|
|
|
|
If not running:
|
|
```bash
|
|
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:
|
|
- **http://192.168.4.1:5000/v3**
|
|
- **http://192.168.4.1:5000**
|
|
|
|
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:
|
|
- **http://captive.apple.com** (should redirect to setup page)
|
|
- **http://www.google.com** (should redirect to setup page)
|
|
- **http://192.168.4.1:5000** (direct access - should always work)
|
|
|
|
### 4. Verify AP Mode is Active
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
# 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**:
|
|
```bash
|
|
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**:
|
|
```bash
|
|
# 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**:
|
|
```bash
|
|
# 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:
|
|
- **http://192.168.4.1:5000/v3**
|
|
- Or try: **http://captive.apple.com** (iOS) or **http://www.google.com** (Android)
|
|
|
|
## 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:
|
|
|
|
```bash
|
|
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):
|
|
|
|
```bash
|
|
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**:
|
|
```bash
|
|
sudo systemctl status ledmatrix-web hostapd dnsmasq ledmatrix-wifi-monitor
|
|
```
|
|
|
|
2. **Check logs**:
|
|
```bash
|
|
sudo journalctl -u ledmatrix-web -f
|
|
sudo journalctl -u ledmatrix-wifi-monitor -f
|
|
```
|
|
|
|
3. **Verify network configuration**:
|
|
```bash
|
|
ip addr show wlan0
|
|
ip route show
|
|
```
|
|
|
|
4. **Test from Pi itself**:
|
|
```bash
|
|
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.
|
|
|