Troubleshooting Guide¶
Common issues and solutions for Espilon.
Installation Issues¶
ESP-IDF Installation¶
Command not found: idf.py
Cause: ESP-IDF environment not sourced.
Solution:
Python version error
Cause: ESP-IDF requires Python 3.8+
Solution:
Missing dependencies
Cause: Build tools not installed.
Solution:
Compilation Errors¶
Component not found
Cause: Submodules not initialized.
Solution:
PSRAM not available
Cause: Board doesn't have PSRAM or not enabled.
Solution:
Linker error: region 'iram0_0_seg' overflowed
Cause: Code too large for IRAM.
Solution:
Flashing Issues¶
Device Not Detected¶
Permission denied on /dev/ttyUSB0
Cause: User not in dialout group.
Solution:
Device not found
Cause: Wrong port or driver issue.
Solution:
No serial data received
Cause: USB cable is charge-only (no data).
Solution:
- Use a data-capable USB cable
- Try a different USB port
- Test with another device
Flash Failed¶
Failed to connect to ESP32: Timed out
Cause: ESP32 not in download mode.
Solution:
- Hold BOOT button
- Press and release RESET button
- Release BOOT button
- Try flashing again
For ESP32-CAM:
- Connect GPIO 0 to GND
- Power cycle
- Flash
- Disconnect GPIO 0
- Power cycle again
A fatal error occurred: Packet content transfer stopped
Cause: Power issue during flash.
Solution:
- Use external 5V power supply
- Reduce baud rate:
idf.py -p /dev/ttyUSB0 -b 115200 flash - Try shorter USB cable
Flash encryption check failed
Cause: Device has flash encryption enabled.
Solution:
- Flash encryption cannot be disabled once enabled
- Use a new ESP32 module
- Or use encrypted firmware
Network Issues¶
WiFi Connection¶
WiFi won't connect
Checks:
- SSID and password correct?
- 2.4GHz network? (ESP32 doesn't support 5GHz)
- Router allows new connections?
Debug:
WiFi keeps disconnecting
Cause: Weak signal or power issues.
Solution:
- Move closer to access point
- Use external antenna (if available)
- Check power supply stability
- Reduce TX power in menuconfig
Can't find hidden SSID
Cause: Hidden SSIDs require specific handling.
Solution:
GPRS Connection¶
SIM800 not responding
Checks:
- Antenna connected?
- SIM card inserted correctly?
- SIM PIN disabled?
- Power supply adequate?
Debug:
Network registration failed
Cause: No signal or SIM issue.
Solution:
- Check SIM is active (has credit/data)
- Verify APN settings
- Try better antenna placement
- Check signal strength in logs
GPRS activation failed
Cause: Wrong APN settings.
Solution:
Common APNs:
| Carrier | APN |
|---|---|
| SFR (FR) | sl2sfr |
| Orange (FR) | orange.fr |
| AT&T (US) | phone |
| T-Mobile (US) | fast.t-mobile.com |
C2 Connection¶
Can't connect to C2 server
Checks:
- C2 server running?
- Correct IP address in firmware?
- Correct port?
- Firewall allows connection?
Debug:
Connection established but no commands work
Cause: Encryption key mismatch.
Solution:
- Verify keys are identical in C2 and firmware
- Keys must be exact hex strings
- Key = 32 bytes (64 hex chars)
- Nonce = 12 bytes (24 hex chars)
Connection drops after a few seconds
Cause: Timeout or keepalive issue.
Solution:
Command Issues¶
Commands Not Working¶
Command not recognized
Cause: Module not enabled or command misspelled.
Solution:
Command timeout
Cause: Command takes too long or failed.
Solution:
- Increase timeout for long operations
- Check device logs for errors
- Verify network stability
Permission denied for command
Cause: Command requires elevated privileges.
Solution:
- Some commands are restricted by design
- Check command documentation
- Verify firmware configuration
Specific Commands¶
ARP scan returns no results
Checks:
- Correct network range?
- Device on same network?
- Network allows ARP?
Debug:
Ping always fails
Checks:
- Target IP reachable from device's network?
- Target allows ICMP?
- Network firewall blocks ICMP?
Debug:
FakeAP not visible
Checks:
- FakeAP module enabled?
- Not on same channel as connected AP?
- Device supports AP mode?
Solution:
Camera Issues (ESP32-CAM)¶
Camera init failed
Checks:
- PSRAM enabled in menuconfig?
- Camera ribbon cable secure?
- Correct camera model selected?
Solution:
Images are too dark
Solution:
Capture causes reboot
Cause: Power supply insufficient.
Solution:
- Use external 5V 1A+ power supply
- Add 100uF capacitor across power pins
- Reduce resolution:
capture_settings resolution QVGA
Performance Issues¶
Device runs slowly
Cause: Memory pressure or CPU overload.
Debug:
Solution:
- Disable unused modules
- Reduce concurrent operations
- Use smaller buffers in menuconfig
Frequent disconnects
Cause: WiFi interference or power issues.
Solution:
- Use stable power supply
- Reduce WiFi TX power
- Use external antenna
- Move away from interference sources
Commands take too long
Cause: Network latency or command complexity.
Solution:
- Check network latency with ping
- Break complex commands into smaller ones
- Increase C2 timeout settings
Recovery¶
Factory Reset¶
If device is in unknown state:
# Erase flash completely
idf.py -p /dev/ttyUSB0 erase_flash
# Reflash firmware
idf.py -p /dev/ttyUSB0 flash
Safe Mode¶
Boot with minimal configuration:
- Hold BOOT button during power-up
- Device starts with default settings
- Reconfigure via serial console
Serial Console Debug¶
Connect and monitor serial output:
# Start monitor
idf.py monitor
# Or use screen
screen /dev/ttyUSB0 115200
# Or use minicom
minicom -D /dev/ttyUSB0 -b 115200
Getting Help¶
If you can't resolve the issue:
- Check logs: Use
idf.py monitorfor detailed output - Search issues: GitHub Issues
- Ask community: GitHub Discussions
- Report bug: Create a new issue with:
- ESP-IDF version
- Board type
- Error messages
- Steps to reproduce
See also: FAQ | Quick Start