WARNING
- This application is intended solely for experimental purposes. It should not be used for any other reason.
- It is your responsibility to adhere to all local, state, national, and international laws while conducting experiments with this application. Any illegal activities are strictly prohibited.
- This application is not designed for use by individuals under the age of 18. By conducting an experiment with this application, you confirm that you are of legal age in your jurisdiction.
- All experiments conducted using this application are done at your own risk. We are not liable for any damages or losses that may occur as a result of your use.
- We do not and had never provide(d) any form of assistance or support for your experiments. You are solely responsible for any outcomes or consequences that may arise.
- By using this application, you agree to indemnify and hold harmless the developers and all associated parties from any and all claims, damages, losses, liabilities, costs, and expenses (including legal fees) arising out of your use of this application or your violation of these terms.
- This application is provided "as is" without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.
- We reserve the right to modify these terms and conditions at any time without prior notice. Your continued use of this application following any changes signifies your acceptance of our updated terms.
This app allows you to broadcast GPS baseband signal data streams.
Generator
You can use gps-sdr-sim to generate data for this app.
gps-sdr-sim -e RINEX_NAVIGATION_FILE -l LAT,LONG,HEIGHT -b 8 -o SOMENAME.C8
That will create SOMENAME.C8
, but note that you also need to specify its sample rate and frequency in another file, as explained below.
RINEX navigation file for GPS ephemerides
Download the latest file for this parameter directly from Nasa: https://cddis.nasa.gov/archive/gnss/data/daily/
Sample rate and frequency specification
Create SOMENAME.TXT
with:
sample_rate=SAMPLE_RATE
center_frequency=1575420000
Known working values for the SAMPLE_RATE
:
This file should use the same filename as the .C8 file but with .TXT extension. It contains the sample rate and center frequency for the .C8 file. Copy the files to your PortaPack MicroSD and open the .C8 file in the GPS Sim app.
Example 1
Create a rather small polygon with a path in KML format (i.e. a path you might want to simulate to walk). You can use Google Earth or another solution like https://www.doogal.co.uk/polylines.php. Load that file in the free SatGen NMEA simulator. In the generator, change the frequency to 10 Hz and export the NMEA.
gps-sdr-sim.exe -e brdc1180.20n -g NMEA.txt -b 8 -o TESTGPS.C8
You also need to create TESTGPS.TXT
as specified above.
Example 2
For a fixed position, use
gps-sdr-sim -e brdc1500.20n -s 1250000 -b 8 -o gpssim.C8 -l 30.286502,120.032669,100 -d 100
Test with a gpssim.txt
as follows:
sample_rate=1250000
center_frequency=1575420000
Example 3
NOTE: The website nmeagen may add timestamps to the output. That might be problematic for the simulation
We can create a realistic movement using a NMEA GGA stream generator like https://nmeagen.org/. In this website create several multi point lines with the positions you want. Download the NMEA file clicking "Generate NMEA file".
gps-sdr-sim.exe -e brdc3540.14n -g OUTPUT.nmea -b 8 -d DURATION -o MYGPSWALK.C8
You also need to create MYGPSWALK.TXT
as specified above.
Compatibility
Depending on several factors, results may vary. A modern device will use several sources and methods to validate the current position, so spoofing positions may not be possible in all situations. To improve your chances to receive simulated GPS data, try:
- Turn off Wifi/BT/Cellular and positioning-enhancements (best airplane mode)
- Go inside, where the device loses GPS signal
- Reboot the device after doing the previous two steps
If the device runs Android, follow your attempts with GPS Test.
Some known results
Note
This table contains only few examples, since newer phones use many ways to ensure the position is accurate, becomes harder to spoof GPS
Type | Make | Model | Locks on spoofed GPS? | GPS acts "jammed"? | Comments |
---|---|---|---|---|---|
Tablet | Samsung | Note 7 | No | Yes | |
Phone | Samsung | S8 | Yes | No | WIFI must be off |
Phone | Huawei | P30 lite | No | Yes | |
Phone | Huawei | Mate 10 Pro | No | NO | 6 or 7 satelites: No fix |
Smartwatch | Huawei | Amazfit Bip | Yes | No | |
Phone | Apple | iPhone 6 | Yes | No | Works with WIFI on |
Phone | ZTE | Axon 7 | Yes | No | Works with WIFI on |
Phone | Xiaomi | Mi5 | Yes | No | Works with WIFI on |
Phone | Samsung | S20+ 4G | Yes | No | WIFI must be off |
Smartwatch | Samsung | Gear S3 WiFi | Yes | No | Location over GPS only |
Phone | OnePlus | 7 Pro | No | No | Doesn't seem to do anything |
Phone | Samsung | S21 Ultra | Yes | No | |
Tablet | Apple | S21 Ultra | No | No | Doesn't seem to do anything |
Laptop | Apple | MacBookPro M1 | No | No | Doesn't seem to do anything |
How to collaborate
How to ask questions correctly
User manual
- First steps
- Usage cautions
- Intended use and Legality
- Features
- PortaPack Versions (which one to buy)
- HackRF Versions
- Firmware update procedure
- Description of the hardware
- User interface
- Powering the PortaPack
- Troubleshooting
- Applications
Developer Manual
- Compilation of the firmware
- Compile on WSL with ninja
- How to compile on Windows faster with WSL 2
- Using Docker and Kitematic
- Docker command-line reference
- Using Buddyworks and other CI platforms
- Notes for Buddy.Works (and other CI platforms)
- Using ARM on Debian host
- All in one script for ARM on Debian host
- Compile on Arch based distro (exclude Asahi)
- Dev build versions
- Notes About ccache
- Create a custom map
- Code formatting
- PR process
- Description of the Structure
- Software Dev Guides
- Tools
- Research
- UI Screenshots
- Maintaining
- Creating a prod/stable release (Maintainers only)
- Maintaining rules
- Development States Notes
Note
The wiki is incomplete. Please add content and collaborate.
Important
- This is a public wiki. Everything is visible to everyone. Don't use it for personal notes.
- Avoid linking to external tutorials/articles; they may become outdated or contain false information.