docs: add Termux/Android setup and troubleshooting
- Document Android/Termux requirements (Termux:API, permissions) - Add ADB command to disable phantom process killer - Document check-termux command for prerequisite verification - Add Termux boot script example for auto-start - Add troubleshooting section for common Termux issues Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
93
USAGE.md
93
USAGE.md
@@ -4,11 +4,75 @@ RF Mapper is a WiFi and Bluetooth signal mapper for Linux. It scans nearby devic
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- Linux with WiFi and Bluetooth hardware
|
- Linux with WiFi and Bluetooth hardware (or Android via Termux)
|
||||||
- Python 3.10+
|
- Python 3.10+
|
||||||
- `sudo` access (required for scanning)
|
- `sudo` access (required for scanning on Linux)
|
||||||
- System tools: `iw`, `hcitool`, `bluetoothctl`
|
- System tools: `iw`, `hcitool`, `bluetoothctl`
|
||||||
|
|
||||||
|
### Android/Termux Requirements
|
||||||
|
|
||||||
|
For running RF Mapper on Android via Termux:
|
||||||
|
|
||||||
|
| Requirement | Description |
|
||||||
|
|-------------|-------------|
|
||||||
|
| **Termux** | From F-Droid (NOT Play Store) |
|
||||||
|
| **Termux:API** | From F-Droid (same source as Termux) |
|
||||||
|
| **Termux:Boot** | Optional, for auto-start on boot |
|
||||||
|
| **termux-api package** | `pkg install termux-api` |
|
||||||
|
| **Location permission** | Grant to Termux:API app |
|
||||||
|
| **GPS enabled** | Enable Location in Android settings |
|
||||||
|
|
||||||
|
**Important:** All Termux apps must be from the same source (F-Droid recommended). Mixing Play Store and F-Droid versions causes API communication failures.
|
||||||
|
|
||||||
|
#### ADB Configuration for Android 12+
|
||||||
|
|
||||||
|
Android 12+ has a "phantom process killer" that terminates background processes. Disable it for stable Termux operation:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Connect via ADB and run:
|
||||||
|
adb shell "settings put global settings_enable_monitor_phantom_procs false"
|
||||||
|
```
|
||||||
|
|
||||||
|
This setting persists across reboots but may reset after Android updates.
|
||||||
|
|
||||||
|
#### Verify Termux Prerequisites
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Check if all prerequisites are met
|
||||||
|
rf-mapper check-termux
|
||||||
|
```
|
||||||
|
|
||||||
|
Output shows status of each requirement:
|
||||||
|
```
|
||||||
|
==================================================
|
||||||
|
TERMUX ENVIRONMENT DETECTED
|
||||||
|
Checking prerequisites...
|
||||||
|
==================================================
|
||||||
|
✓ Termux:API package: OK
|
||||||
|
✓ Location services: OK (lat: 50.8585)
|
||||||
|
✓ Wake lock: OK (wake lock acquired)
|
||||||
|
✓ Termux:Boot: OK (boot directory exists)
|
||||||
|
==================================================
|
||||||
|
All prerequisites met. Starting RF Mapper...
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Termux Boot Script
|
||||||
|
|
||||||
|
For auto-start on device boot, create `~/.termux/boot/start-rf-mapper.sh`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#!/data/data/com.termux/files/usr/bin/bash
|
||||||
|
termux-wake-lock
|
||||||
|
cd ~/git/rf-mapper
|
||||||
|
source venv/bin/activate
|
||||||
|
rf-mapper start
|
||||||
|
```
|
||||||
|
|
||||||
|
Make it executable:
|
||||||
|
```bash
|
||||||
|
chmod +x ~/.termux/boot/start-rf-mapper.sh
|
||||||
|
```
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -113,6 +177,9 @@ rf-mapper config
|
|||||||
|
|
||||||
# Set GPS coordinates
|
# Set GPS coordinates
|
||||||
rf-mapper config --set-gps 50.8585 4.3978 --save
|
rf-mapper config --set-gps 50.8585 4.3978 --save
|
||||||
|
|
||||||
|
# Check Termux prerequisites (Android only)
|
||||||
|
rf-mapper check-termux
|
||||||
```
|
```
|
||||||
|
|
||||||
### Profiling
|
### Profiling
|
||||||
@@ -244,3 +311,25 @@ sudo hciconfig hci0 up
|
|||||||
- Zoom in to level 15+ for buildings to appear
|
- Zoom in to level 15+ for buildings to appear
|
||||||
- Not all areas have building data in OpenStreetMap
|
- Not all areas have building data in OpenStreetMap
|
||||||
- The map style must support vector tiles with building data
|
- The map style must support vector tiles with building data
|
||||||
|
|
||||||
|
### Termux: "Termux:API app not responding"
|
||||||
|
1. Ensure Termux:API is from F-Droid (not Play Store)
|
||||||
|
2. Grant all permissions to Termux:API in Android settings
|
||||||
|
3. Restart Termux after installing Termux:API
|
||||||
|
|
||||||
|
### Termux: Process killed in background
|
||||||
|
Android's phantom process killer terminates background processes. Fix:
|
||||||
|
```bash
|
||||||
|
adb shell "settings put global settings_enable_monitor_phantom_procs false"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Termux: Location services failing
|
||||||
|
1. Enable GPS/Location in Android settings
|
||||||
|
2. Grant location permission to Termux:API
|
||||||
|
3. Test with: `termux-location -p passive`
|
||||||
|
4. Ensure you're outdoors or near windows for GPS signal
|
||||||
|
|
||||||
|
### Termux: Wake lock not working
|
||||||
|
1. Disable battery optimization for Termux in Android settings
|
||||||
|
2. Run `termux-wake-lock` before starting RF Mapper
|
||||||
|
3. The app acquires wake lock automatically on start
|
||||||
|
|||||||
Reference in New Issue
Block a user