mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-10 21:03:01 +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>
362 lines
8.1 KiB
Markdown
362 lines
8.1 KiB
Markdown
# Reconnecting to Internet After Captive Portal Testing
|
|
|
|
If captive portal testing fails or you need to reconnect to your normal network, here are several methods to get back online.
|
|
|
|
## Quick Reference
|
|
|
|
**Before testing:** Always run `sudo ./scripts/verify_wifi_before_testing.sh` first!
|
|
|
|
**If stuck:** Run `sudo ./scripts/emergency_reconnect.sh` for automated recovery.
|
|
|
|
## Quick Recovery Methods
|
|
|
|
### Method 1: Via Web Interface (If Accessible)
|
|
|
|
If you can still access the web interface at `http://192.168.4.1:5000`:
|
|
|
|
1. **Navigate to WiFi tab**
|
|
2. **Click "Scan"** to find available networks
|
|
3. **Select your network** from the dropdown
|
|
4. **Enter your WiFi password**
|
|
5. **Click "Connect"**
|
|
6. **Wait for connection** - AP mode should automatically disable
|
|
|
|
### Method 2: Via SSH (If You Have Direct Access)
|
|
|
|
If you have SSH access to the Pi (via Ethernet, direct connection, or still connected to AP):
|
|
|
|
```bash
|
|
# Connect via SSH
|
|
ssh user@192.168.4.1 # If connected to AP
|
|
# OR
|
|
ssh user@<pi-ip> # If on same network
|
|
|
|
# Disable AP mode first
|
|
sudo systemctl stop hostapd
|
|
sudo systemctl stop dnsmasq
|
|
|
|
# Connect to WiFi using nmcli
|
|
sudo nmcli device wifi connect "YourNetworkName" password "YourPassword"
|
|
|
|
# Or if you have a saved connection
|
|
sudo nmcli connection up "YourNetworkName"
|
|
```
|
|
|
|
### Method 3: Via API Endpoints (If Web Interface Works)
|
|
|
|
If the web interface is accessible but you can't use the UI:
|
|
|
|
```bash
|
|
# Connect to WiFi via API
|
|
curl -X POST http://192.168.4.1:5000/api/v3/wifi/connect \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"ssid": "YourNetworkName", "password": "YourPassword"}'
|
|
|
|
# Disable AP mode
|
|
curl -X POST http://192.168.4.1:5000/api/v3/wifi/ap/disable
|
|
```
|
|
|
|
### Method 4: Direct Command Line (Physical Access)
|
|
|
|
If you have physical access to the Pi or a keyboard/monitor:
|
|
|
|
```bash
|
|
# Disable AP mode services
|
|
sudo systemctl stop hostapd
|
|
sudo systemctl stop dnsmasq
|
|
|
|
# Check available networks
|
|
nmcli device wifi list
|
|
|
|
# Connect to your network
|
|
sudo nmcli device wifi connect "YourNetworkName" password "YourPassword"
|
|
|
|
# Verify connection
|
|
nmcli device status
|
|
ip addr show wlan0
|
|
```
|
|
|
|
### Method 5: Using Saved Network Configuration
|
|
|
|
If you've previously connected to a network, it may be saved:
|
|
|
|
```bash
|
|
# List saved connections
|
|
nmcli connection show
|
|
|
|
# Activate a saved connection
|
|
sudo nmcli connection up "YourSavedConnectionName"
|
|
|
|
# Or by UUID
|
|
sudo nmcli connection up <uuid>
|
|
```
|
|
|
|
## Step-by-Step Recovery Procedure
|
|
|
|
### Scenario 1: Still Connected to AP Network
|
|
|
|
If you're still connected to "LEDMatrix-Setup":
|
|
|
|
1. **Access web interface:**
|
|
```
|
|
http://192.168.4.1:5000
|
|
```
|
|
|
|
2. **Go to WiFi tab**
|
|
|
|
3. **Connect to your network** using the interface
|
|
|
|
4. **Wait for connection** - you'll be disconnected from AP
|
|
|
|
5. **Reconnect to your new network** and access Pi at its new IP
|
|
|
|
### Scenario 2: Can't Access Web Interface
|
|
|
|
If web interface is not accessible:
|
|
|
|
1. **SSH into Pi** (if possible):
|
|
```bash
|
|
ssh user@192.168.4.1 # Via AP
|
|
# OR via Ethernet if connected
|
|
```
|
|
|
|
2. **Disable AP mode:**
|
|
```bash
|
|
sudo systemctl stop hostapd dnsmasq
|
|
```
|
|
|
|
3. **Connect to WiFi:**
|
|
```bash
|
|
sudo nmcli device wifi connect "YourNetwork" password "YourPassword"
|
|
```
|
|
|
|
4. **Verify connection:**
|
|
```bash
|
|
nmcli device status
|
|
ping -c 3 8.8.8.8 # Test internet connectivity
|
|
```
|
|
|
|
### Scenario 3: No Network Access at All
|
|
|
|
If you have no network access (AP not working, no Ethernet):
|
|
|
|
1. **Physical access required:**
|
|
- Connect keyboard and monitor to Pi
|
|
- Or use serial console if available
|
|
|
|
2. **Disable AP services:**
|
|
```bash
|
|
sudo systemctl stop hostapd
|
|
sudo systemctl stop dnsmasq
|
|
sudo systemctl disable hostapd # Prevent auto-start
|
|
sudo systemctl disable dnsmasq
|
|
```
|
|
|
|
3. **Connect to WiFi manually:**
|
|
```bash
|
|
sudo nmcli device wifi list
|
|
sudo nmcli device wifi connect "YourNetwork" password "YourPassword"
|
|
```
|
|
|
|
4. **Restart network services if needed:**
|
|
```bash
|
|
sudo systemctl restart NetworkManager
|
|
```
|
|
|
|
## Emergency Recovery Script
|
|
|
|
Create this script for quick recovery:
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# emergency_reconnect.sh - Emergency WiFi reconnection script
|
|
|
|
echo "Emergency WiFi Reconnection"
|
|
echo "=========================="
|
|
|
|
# Stop AP mode
|
|
echo "Stopping AP mode..."
|
|
sudo systemctl stop hostapd 2>/dev/null
|
|
sudo systemctl stop dnsmasq 2>/dev/null
|
|
|
|
# List available networks
|
|
echo ""
|
|
echo "Available networks:"
|
|
nmcli device wifi list
|
|
|
|
# Prompt for network
|
|
echo ""
|
|
read -p "Enter network SSID: " SSID
|
|
read -sp "Enter password: " PASSWORD
|
|
echo ""
|
|
|
|
# Connect
|
|
echo "Connecting to $SSID..."
|
|
sudo nmcli device wifi connect "$SSID" password "$PASSWORD"
|
|
|
|
# Wait a moment
|
|
sleep 3
|
|
|
|
# Check status
|
|
if nmcli device status | grep -q "connected"; then
|
|
echo "✓ Connected successfully!"
|
|
IP=$(ip addr show wlan0 | grep "inet " | awk '{print $2}' | cut -d/ -f1)
|
|
echo "IP Address: $IP"
|
|
else
|
|
echo "✗ Connection failed. Check credentials and try again."
|
|
fi
|
|
```
|
|
|
|
Save as `scripts/emergency_reconnect.sh` and make executable:
|
|
```bash
|
|
chmod +x scripts/emergency_reconnect.sh
|
|
sudo ./scripts/emergency_reconnect.sh
|
|
```
|
|
|
|
## Preventing Issues
|
|
|
|
### Before Testing
|
|
|
|
1. **Save your current network connection:**
|
|
```bash
|
|
# Your network should already be saved if you've connected before
|
|
nmcli connection show
|
|
```
|
|
|
|
2. **Note your Pi's IP address** on your normal network:
|
|
```bash
|
|
hostname -I
|
|
```
|
|
|
|
3. **Ensure you have alternative access:**
|
|
- Ethernet cable (if available)
|
|
- SSH access via another method
|
|
- Physical access to Pi
|
|
|
|
### During Testing
|
|
|
|
1. **Keep a terminal/SSH session open** to the Pi
|
|
2. **Test from a secondary device** (not your main computer)
|
|
3. **Have the recovery commands ready**
|
|
|
|
### After Testing
|
|
|
|
1. **Verify internet connectivity:**
|
|
```bash
|
|
ping -c 3 8.8.8.8
|
|
curl -I https://www.google.com
|
|
```
|
|
|
|
2. **Check Pi's new IP address:**
|
|
```bash
|
|
hostname -I
|
|
ip addr show wlan0
|
|
```
|
|
|
|
3. **Update your SSH/config** if IP changed
|
|
|
|
## Troubleshooting Reconnection
|
|
|
|
### Issue: Can't Connect to Saved Network
|
|
|
|
**Solution:**
|
|
```bash
|
|
# Remove old connection and reconnect
|
|
nmcli connection delete "NetworkName"
|
|
sudo nmcli device wifi connect "NetworkName" password "Password"
|
|
```
|
|
|
|
### Issue: AP Mode Won't Disable
|
|
|
|
**Solution:**
|
|
```bash
|
|
# Force stop services
|
|
sudo systemctl stop hostapd dnsmasq
|
|
sudo systemctl disable hostapd dnsmasq
|
|
|
|
# Kill processes if needed
|
|
sudo pkill hostapd
|
|
sudo pkill dnsmasq
|
|
|
|
# Restart NetworkManager
|
|
sudo systemctl restart NetworkManager
|
|
```
|
|
|
|
### Issue: WiFi Interface Stuck
|
|
|
|
**Solution:**
|
|
```bash
|
|
# Reset WiFi interface
|
|
sudo nmcli radio wifi off
|
|
sleep 2
|
|
sudo nmcli radio wifi on
|
|
sleep 3
|
|
|
|
# Try connecting again
|
|
sudo nmcli device wifi connect "NetworkName" password "Password"
|
|
```
|
|
|
|
### Issue: No Networks Found
|
|
|
|
**Solution:**
|
|
```bash
|
|
# Check WiFi is enabled
|
|
nmcli radio wifi
|
|
|
|
# Enable if off
|
|
sudo nmcli radio wifi on
|
|
|
|
# Check interface status
|
|
ip link show wlan0
|
|
|
|
# Restart NetworkManager
|
|
sudo systemctl restart NetworkManager
|
|
```
|
|
|
|
## Quick Reference Commands
|
|
|
|
```bash
|
|
# Disable AP mode
|
|
sudo systemctl stop hostapd dnsmasq
|
|
|
|
# List WiFi networks
|
|
nmcli device wifi list
|
|
|
|
# Connect to network
|
|
sudo nmcli device wifi connect "SSID" password "Password"
|
|
|
|
# Check connection status
|
|
nmcli device status
|
|
|
|
# Get IP address
|
|
hostname -I
|
|
ip addr show wlan0
|
|
|
|
# Test internet
|
|
ping -c 3 8.8.8.8
|
|
|
|
# Restart network services
|
|
sudo systemctl restart NetworkManager
|
|
```
|
|
|
|
## Best Practices
|
|
|
|
1. **Always test from a secondary device** - Keep your main computer on your normal network
|
|
2. **Have Ethernet backup** - If available, keep Ethernet connected as fallback
|
|
3. **Save network credentials** - Ensure your network is saved before testing
|
|
4. **Document your Pi's IP** - Note the IP on your normal network before testing
|
|
5. **Keep SSH session open** - Maintain an active SSH connection during testing
|
|
6. **Test during safe times** - Don't test when you need immediate internet access
|
|
|
|
## Recovery Checklist
|
|
|
|
- [ ] Stop AP mode services (hostapd, dnsmasq)
|
|
- [ ] Verify WiFi interface is available
|
|
- [ ] Scan for available networks
|
|
- [ ] Connect to your network
|
|
- [ ] Verify connection status
|
|
- [ ] Test internet connectivity
|
|
- [ ] Note new IP address
|
|
- [ ] Update any configurations that reference old IP
|
|
|