Skip to content

Commit

Permalink
Merge pull request #4 from Acetolyne/master
Browse files Browse the repository at this point in the history
dev updates
  • Loading branch information
Acetolyne committed Jul 12, 2020
2 parents ea35708 + 55a43b5 commit 13a9bd4
Show file tree
Hide file tree
Showing 219 changed files with 7,620 additions and 4,257 deletions.
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Tap on '....'
3.

**Expected behavior**
A clear and concise description of what you expected to happen.

**Affected versions**
Please write any difference related with the Expected behavior, on the following versions:
* Latest Stable Release
* Previous one (if any) that did not presented the issue
* Old versions available here: https://github.com/eried/Research/tree/master/HackRF/PortaPack/old_legacy_firmware

**Additional**
If the bug is difficult to explain, additionally to the text please include images and videos.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen. Remember that adding stuff is always possible, but time is a limited resource for everyone. Check the wiki for more information how to compile the firmware and try to explore modifying the code yourself.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional**
If the suggestion is difficult to explain, additionally to the text please include images and videos.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/problem-upgrading-the-firmware.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Problem upgrading the firmware
about: Deal with the firmware upgrade problems
title: Problem upgrading the firmware
labels: ''
assignees: ''

---

**What is happening?**
Describe here why you are unable to upgrade the firmware. Before describing your problems, please read: https://github.com/eried/portapack-havoc/wiki/Update-firmware.

**Were you able to update the firmware before?**
Things might be confusing the first time, please check the video available on the link above if this is your first time.

**Can you try the upgrade with a different PC/Portapack/HackRF?**
If is possible, swap hardware and try again. Also, try different USB cables, even if the one you are using works fine for other purposes.

**Additional**
Add photos and videos of your procedure.
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
/sdcard/FREQMAN/BHT*
/sdcard/FREQMAN/R.TXT
/sdcard/FREQMAN/XXX.TXT
/sdcard/WAV/*

# Compiled Object files
*.slo
Expand Down Expand Up @@ -60,8 +59,9 @@ CMakeFiles/
# Editor files
*.sublime-project
*.sublime-workspace
*.vscode

# Host OS turds
# Host OS leftovers
.DS_Store
/firmware/CMakeCache.txt
/sdcard/ADSB/airlines.txt
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "hackrf"]
path = hackrf
url = https://github.com/jboone/hackrf.git
url = https://github.com/mossmann/hackrf.git
17 changes: 0 additions & 17 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,6 @@ env:
- ARTEFACT_BASE=$TRAVIS_BUILD_DIR/artefacts/
- ARTEFACT_PATH=$ARTEFACT_BASE/$BUILD_NAME

notifications:
irc:
channels:
- "chat.freenode.net#portapack"
template:
- "%{repository}#%{build_number} (%{branch} - %{commit} : %{author}): %{message}"
- "Change view : %{compare_url}"
- "Build details : %{build_url}"
# TODO: The "build_number.1" in this URL is almost certainly wrong, but correct value not available from Travis?
- "Firmware download : https://jboone.github.io/portapack-havoc-nightly/"

before_install:
- sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa -y
- sudo apt-get update -q
Expand Down Expand Up @@ -65,9 +54,3 @@ addons:
- cmake
- dfu-util

deploy:
provider: script
skip-cleanup: true
script: bash $TRAVIS_BUILD_DIR/tools/deploy-nightly.sh
on:
branch: master
162 changes: 47 additions & 115 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,130 +1,65 @@
![HAVOC banner](doc/banner.png)

HAVOC is an **unofficial** fork of the PortaPack H1 firmware, a portability add-on for the [HackRF One software-defined radio](http://greatscottgadgets.com/hackrf/).

Hardware is available at [ShareBrained Technology](http://sharebrained.com/portapack).

It is build on top of [ShareBrained's firmware](https://github.com/sharebrained/portapack-hackrf/), meaning most of the original functionality remains the same.

# Documentation & finding help

![Helpful note](doc/helpful.png)

Please RTFM before asking for help:
* [Havoc wiki](https://github.com/furrtek/portapack-havoc/wiki)
* [PortaPack wiki](https://github.com/sharebrained/portapack-hackrf/wiki)
* [Some questions and answers](https://github.com/furrtek/portapack-havoc/issues)
* [Facebook group](https://www.facebook.com/groups/177623356165819/) if that's your thing
* And probably a bunch of posts on a variety of forums...

If you want to submit a bug report or suggest something, use this page: https://github.com/furrtek/portapack-havoc/issues (Check if it hasn't been already posted, there's a search function. Also check the progress list below).

# Summary
# PortaPack Mayhem

As its name implies, HAVOC's functions can be fun, mean or even useful sometimes. You probably shouldn't use them. No ! Bad ! Put it down.
[![Build Status](https://travis-ci.com/eried/portapack-mayhem.svg?branch=master)](https://travis-ci.com/eried/portapack-mayhem) [![buddy pipeline](https://app.buddy.works/eried/portapack/pipelines/pipeline/252276/badge.svg?token=48cd59d53de0589a8fbe26bc751d77a59a011cf72581da049343879402991c34 "buddy pipeline")](https://app.buddy.works/eried/portapack/pipelines/pipeline/252276) [![CodeScene Code Health](https://codescene.io/projects/8381/status-badges/code-health)](https://codescene.io/projects/8381) [![Docker Hub Pulls](https://img.shields.io/docker/pulls/eried/portapack.svg)](https://hub.docker.com/r/eried/portapack)
[![Discord Chat](https://img.shields.io/discord/719669764804444213.svg)](https://discord.gg/fU9PsKW)

**In most countries, radio transmissions are tightly regulated. Transmitting outside of free/public bands without a licence or authorization, even at very low power, is certainly forbidden where you live. Always bear that in mind. You're the ONLY ONE responsible for what you do with this software.**
This is a fork of the [Havoc](https://github.com/furrtek/portapack-havoc/) firmware, which itself was a fork of the [PortaPack](https://github.com/sharebrained/portapack-hackrf) firmware, an add-on for the [HackRF](http://greatscottgadgets.com/hackrf/). A fork is a derivate, in this case one that has extra features and fixes when compared to the older versions.

# Fork features
[<img src="https://raw.githubusercontent.com/wiki/eried/portapack-mayhem/img/hw_overview_h2_front.png" height="400">](https://github.com/eried/portapack-mayhem/wiki/Hardware-overview) [<img src="https://raw.githubusercontent.com/wiki/eried/portapack-mayhem/img/hw_overview_h2_inside.png" height="400">](https://github.com/eried/portapack-mayhem/wiki/Hardware-overview#portapack-internals)

* IQ file replay
* Microphone FM transmit with CTCSS
* CTCSS decoder
* Frequency manager (save & load from SD card, with categories and notes)
* File manager
* "Soundboard" wave file player (put 8-bit mono files in SD card /wav directory)
* ADS-B receiver with map view
* ADS-B transmitter (aircraft spoof)
* SSTV transmitter
* Fully configurable jammer
* POCSAG transmitter
* POCSAG receiver/decoder
* Morse transmitter (FM tone and CW)
* OOK transmitter for common remote encoders (PT2262, doorbells, remote outlets, some garage doors, ...)
* RDS (Radio Data System) PSN, RadioText and Time groups transmitter
* Meteorological radiosonde receiver (M10, M2K2, ...)
* AFSK receiver
* AFSK transmitter (Bell202, ...)
* Nuoptix DTMF sync transmitter (quite specific but can be useful in some theme parks :) )
* TouchTunes jukebox universal remote (by Notpike)
* LCR (Language de Commande Routier) message generator
* Street lighting control transmitter (CCIR tones)
* "Play Dead" in case of emergency
* Fully configurable RF signal generator
* RSSI audio output as pitch (for direction finding)
*[PortaPack H2](https://s.click.aliexpress.com/e/_dSMPvNo) (clone) with a custom [3d printed case](https://github.com/eried/portapack-mayhem/wiki/H2-Enclosure)*

# Progress
# Quick overview

Feature | Progress | Notes
------- | -------- | -----
POCSAG RX   | 95% | Needs support for numeric messages
Morse TX | 95% | Needs fox hunt scheduler and live keying mode
Mic. TX | 95% | Carrier leak bug, need to find guard tones for various brands of wireless mics
ADS-B RX | 90% | Needs angle and speed decoding
Close-Call™ | 85% | Needs adjustments and optimization for wider frequency range
ADS-B TX | 85% | Works but baseband module needs cleaning
SSTV TX | 80% | Needs better bitmap file handling, support for other modes (ROBOT ?) and callsign FSK ID
Radiosondes | 75% | Needs support for other models
Wave visualizer | 70% | Needs cleaning and handling of other sample formats, high priority
AFSK RX | 70% | Needs work regarding flexibility
Sigfox RX | 40% | Tuning basics done, needs decoding code and testing
Generic TXs | 30% | Raw AX.25, AFSK, FSK, CCIR, DTMF... Tonesets are ready
CC1101 TRX | 10% | And other sub-GHz transceiver chips like SI4032...
SSTV RX | 0% |
Scanner | 0% | Easy, could be used with POCSAG RX to catch jumping channels
SSB TX | 0% | Requested but math is hard :(
OOK RX | 0% | See if rtl_433's author is fine with using protocol defs
Analog TV TX| 0% | Enough CPU ? B&W and no sound ?
LoJack RX | 0% | Basically AFSK RX
DMR info RX | 0% | Retrieve DMR channel info. **No voice** because of vocoder complexity and possible legal issue
Tetra info? | 0% | Same
If you are new to *HackRF+PortaPack+Mayhem*, there is an awesome introductory video by [Tech Minds](https://www.youtube.com/channel/UC9a8Z6Sp6eb2s3O79pX5Zvg) available:

# Screenshots
[![Setup and overview](https://img.youtube.com/vi/kjFB58Y1TAo/0.jpg)](https://www.youtube.com/watch?v=kjFB58Y1TAo)

![HAVOC screenshots](doc/screenshots.png)
# Frequently Asked Questions

# Thanks
This repository expands upon the previous work by many people and aims to constantly add new features, bugfixes and generate documentation to make further development easier. [Collaboration](https://github.com/eried/portapack-mayhem/wiki/How-to-collaborate) is always welcomed and appreciated.

* Sig and cLx for research on AFSK LCR, Xylos, and for lending remote-controlled outlets
* Pyr3x, Rainer Matla and DC1RDB for the donations :)
* Keld Norman and Giorgio Campiotti for ideas and suggestions
* In general, people who help making it better instead of asking already answered questions
## Does it work on H1/H2 PortaPack?

# License
Yes, both devices are the [same](https://github.com/eried/portapack-mayhem/wiki/First-steps). The one I am using to test all changes is this [PortaPack H2+HackRF+battery](https://s.click.aliexpress.com/e/_dSMPvNo), which is a kit that includes everything you need. Sadly, the people making the H2 never made the updated schematics available, which is not ideal (and goes against the terms of the license).

Except where specified in subdirectories of this project, all work is offered under the following license:
To support the people behind the hardware, please buy a genuine [HackRF](https://greatscottgadgets.com/hackrf/) and [PortaPack](https://store.sharebrained.com/products/portapack-for-hackrf-one-kit).

Copyright (C) 2013-2019 Jared Boone, ShareBrained Technology, Inc.
## Where is the latest firmware?

Copyright (C) 2015-2016 Furrtek
The current stable release is on the [![GitHub release (latest by date)](https://img.shields.io/github/v/release/eried/portapack-mayhem?label=Releases&style=social)](https://github.com/eried/portapack-mayhem/releases/latest) page. Follow the instructions you can find in the release description. There is also [nightly builds](https://github.com/eried/portapack-mayhem/releases/tag/nightly) generated periodically, which include the latest commits, but they may contain incomplete or buggy functionality.

## Is this the newest firmware for my PortaPack?
Most probably: **YES**. *If you find new features somewhere else, please [suggest](https://github.com/eried/portapack-mayhem/issues/new/choose) them*.

## Which one is actually the newest?
There is a lot of confusion of which is the latest version because no old version used any actual "version number". Additionally, since the files were distributed on facebook groups, github issue links and similar temporal sources, then there was no central location for them.

This fork (**Mayhem**) uses *major.minor.release* [semantic versioning](https://en.wikipedia.org/wiki/Software_versioning), so you can always compare your current version with the latest from [Releases](https://github.com/eried/portapack-mayhem/releases/latest).

## What about Havoc/GridRF/jamesshao8/jboone's?
* jboone's PortaPack: the [vanilla](https://en.wikipedia.org/wiki/Vanilla_software) experience
* Havoc: It was the most popular fork of jboone's PortaPack, currrently, it is not being maintained nor updated
* jamesshao8: He keeps his own version of the fork, while not attached as a fork to anything
* GridRF: They sell PortaPack clones with their own firmware based on a old version, which has no sourcecode available

## How can I collaborate
You can write [documentation](https://github.com/eried/portapack-mayhem/wiki), fix bugs and [answer issues](https://github.com/eried/portapack-mayhem/issues) or add new functionality. Please check the following [guide](https://github.com/eried/portapack-mayhem/wiki/How-to-collaborate) with details.

Consider that the hardware and firmware has been created and maintain by a [lot](https://github.com/mossmann/hackrf/graphs/contributors) of [people](https://github.com/eried/portapack-mayhem/graphs/contributors), so always try colaborating your time and effort first. For coding related questions, if something does not fit as an issue, please join our [Channel in Discord](https://discord.gg/fU9PsKW).

As a last option, if you want to send money directly to me for getting more boards, antennas and such:

[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CBPQA4HRRPJQ6&source=url)

## What if I need help?
First, check the [documentation](https://github.com/eried/portapack-mayhem/wiki). If you find a bug or you think the problem is related to the current repository, please open an [issue](https://github.com/eried/portapack-mayhem/issues/new/choose).

You can reach the [official community](https://www.facebook.com/groups/177623356165819) in Facebook.

## What if I find incongruencies, or grammatical errors in the text?
If is on the [Wiki](https://github.com/eried/portapack-mayhem/wiki), you can modify it directly. If is on files of the repository, you can send corrections as [pull requests](https://github.com/eried/portapack-mayhem/wiki/How-to-collaborate#coding-new-stuff-or-fixing-bugs). As a last resource, open an [issue](https://github.com/eried/portapack-mayhem/issues/new/choose).

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.

# Contact

## Original firmware and hardware

Jared Boone <jared@sharebrained.com>

ShareBrained Technology, Inc.

<http://www.sharebrained.com/>

The latest version of this repository can be found at
https://github.com/sharebrained/portapack-hackrf/

## Tools

Expand Down Expand Up @@ -213,6 +148,3 @@ When finished, press the reset button on the HackRF. The PortaPack code is now r

7. ldconfig




Binary file removed doc/banner.png
Binary file not shown.
7 changes: 7 additions & 0 deletions doc/developer_notes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ For example in this below option field the number 20 is where we specify the len
}
};

CREATING NEW APPS

New apps should be put in the apps folder
You will need 2 files app_name.cpp and app_name.hpp where app_name is the actual applications app_name
Once the view is created you will need to add it to the according manu in ui_navigation.cpp
The link should point to the View that is initialized in your app_name.cpp file
The application will also need to be added to the file firmware/application/CMakeLists.txt



Binary file removed doc/helpful.png
Binary file not shown.
Binary file removed doc/images/hardware/portapack_h1_operating.jpg
Binary file not shown.
Binary file removed doc/images/hardware/portapack_h1_parts.jpg
Binary file not shown.
Binary file removed doc/mainmenu.png
Binary file not shown.
Binary file removed doc/pj1.jpg
Binary file not shown.
Binary file removed doc/pj2.jpg
Binary file not shown.
Binary file removed doc/pocsag_rx.png
Binary file not shown.
Binary file removed doc/pwmrssi.png
Binary file not shown.
Binary file removed doc/screenshots.png
Binary file not shown.
Binary file removed doc/stealth.png
Binary file not shown.
Binary file removed doc/unistroke.png
Binary file not shown.

0 comments on commit 13a9bd4

Please sign in to comment.