{"id":20713103,"url":"https://github.com/kholia/airspy-utils","last_synced_at":"2025-04-23T07:55:47.132Z","repository":{"id":147461027,"uuid":"423336851","full_name":"kholia/airspy-utils","owner":"kholia","description":"Airspy-Utils is a small software collection to help with firmware related operations on Airspy HF+ devices.","archived":false,"fork":false,"pushed_at":"2025-03-25T04:14:42.000Z","size":5579,"stargazers_count":19,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-23T07:55:39.411Z","etag":null,"topics":["airspy","airspy-hf","airspy-hf-discovery","airspyhf","firmware","firmware-tools","linux","tool","util","utility"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kholia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":"kholia"}},"created_at":"2021-11-01T04:27:51.000Z","updated_at":"2025-04-15T11:25:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"0db61a31-f8de-44af-907e-a9c8b4b0837b","html_url":"https://github.com/kholia/airspy-utils","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kholia%2Fairspy-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kholia%2Fairspy-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kholia%2Fairspy-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kholia%2Fairspy-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kholia","download_url":"https://codeload.github.com/kholia/airspy-utils/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250395204,"owners_count":21423377,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["airspy","airspy-hf","airspy-hf-discovery","airspyhf","firmware","firmware-tools","linux","tool","util","utility"],"created_at":"2024-11-17T02:23:31.665Z","updated_at":"2025-04-23T07:55:47.114Z","avatar_url":"https://github.com/kholia.png","language":"Python","funding_links":["https://github.com/sponsors/kholia"],"categories":["Archs"],"sub_categories":["Hardware"],"readme":"### Airspy-Utils\n\n`Airspy-Utils` is a small software collection to help with firmware related\noperations on Airspy HF+ devices on Linux (and other free systems).\n\nWhy? For 'best results' it is often recommended to deploy the latest firmware.\nThis small software utility collection helps Linux users with deploying the\nlatest Airspy firmware.\n\nUPDATE: The sole purpose of this work is to help out Linux users (like myself).\nI am NOT interested in starting licensing debates / controversies related to\nthe upstream Airspy project. I am a just a new Airspy Linux customer who has\nzero knowledge about DSP (none is required for this work), and Airspy's\nprevious history, behaviour, and origin.\n\n\n#### Currently Supported Devices\n\n- Airspy HF+ Discovery\n\nThis is the only Airspy device I have. Hint: Sponsorships can change this ;)\n\n\n#### Software Requirements\n\n- Python 3.x\n\n- A modern Linux distribution (Ubuntu \u003e= 20.04 is recommended)\n\n\n#### Setup\n\n```\nsudo apt install bossa-cli python3-pip airspyhf -y\n```\n\n```\ngit clone https://github.com/kholia/airspy-utils.git\n\ncd airspy-utils\n\npip3 install -r requirements.txt\n```\n\n\n#### Usage\n\nSee firmware version:\n\n```\n$ python3 hfplus_fw.py\nR3.0.6-CD\n```\n\nATTENTION: Please verify if the firmware is `BB` or `CD`. This is IMPORTANT.\n\nSee firmware version:\n\n```\n$ python3 hfplus_fw.py  # after firmware upgrade\nR3.0.7-CD\n```\n\nBackup calibration:\n\n```\n$ python3 hfplus_ppb.py -d \u003e file\n\n$ hexdump file\n0000000 71b0 a5ca 0000 0000 0000 0000 0000 0000\n0000010 0000 0000 0000 0000 0000 0000 0000 0000\n*\n0000100\n```\n\nRead calibration (`ppb`) value:\n\n```\n$ python3 hfplus_ppb.py -r\n0\n```\n\nWrite calibration (`ppb`) value:\n\n```\npython3 hfplus_ppb.py -w -p 0\n```\n\n\nReboot device in bootloader (programming) mode:\n\n```\npython3 hfplus_reboot.py -b\n```\n\nIn bootloader mode, running `lsusb` should show something like:\n\n```\nBus 003 Device 016: ID 03eb:6124 Atmel Corp. at91sam SAMBA bootloader\n```\n\nReboot device in normal mode:\n\n```\npython3 hfplus_reboot.py -n -p /dev/ttyACM0\n```\n\nNote: You may need to replace `/dev/ttyACM0` with the actual value for your\nsetup. It might be `/dev/ttyACM1` for example.\n\nGrab official firmware:\n\n```\nwget https://airspy.com/downloads/airspy-hf-flash-20200604.zip\n\nunzip airspy-hf-flash-20200604.zip\n\ncp airspy-hf-flash/hfplus-firmware-cd.bin firmware.bin  # ATTENTION: for devices using 'CD' firmware\n# cp airspy-hf-flash/hfplus-firmware-bb.bin firmware.bin  # ATTENTION: for devices using 'BB' firmware\n```\n\nFull process to update the firmware (and restore the calibration):\n\n```\npython3 hfplus_reboot.py -b\n\nsudo bossac -u -p /dev/ttyACM0  # you can try without sudo too\n\nsudo bossac -e -b -v -p /dev/ttyACM0 -w firmware.bin\n\npython3 hfplus_reboot.py -n -p /dev/ttyACM0\n\npython3 hfplus_ppb.py -w -p 0  # use your own calibration value here\n```\n\nCheck firmware version using the official software:\n\n```\n$ airspyhf_info\nAirSpy HF library version: 1.6.8\n\nS/N: 0xXYZ\nPart ID: 0x00000002\nFirmware Version: R3.0.7-CD\nAvailable sample rates: 912 kS/s 768 kS/s 456 kS/s 384 kS/s 256 kS/s 192 kS/s\n```\n\n\n#### References\n\n- https://gist.github.com/jj1bdx/ce9eb3bd7320eed76396669a25f27e29\n\n- https://airspy.com/downloads/hfplus_changelog.txt\n\n- https://airspy.com/downloads/SDRSharp_The_Guide_v3.0_ENG.pdf\n\n- https://airspy.com/downloads/airspy-hf-flash-20200604.zip\n\n- https://github.com/airspy/airspyhf/issues/18 (\"funny\" thread)\n\n- https://github.com/airspy/airspyhf/issues/4\n\n\n#### My consulting services\n\n:green_heart: Are you looking for **commercial** support with this or similar stuff? I am [available\nover email / phone](mailto:dhiru.kholia@gmail.com?subject=[GitHub]%20JtR%20Commercial%20Support%20Request\u0026body=Hi%20-%20We%20are%20interested%20in%20purchasing%20commercial%20support%20options%20for%20your%20project.) for a chat. Note: Project sponsors get access to direct support.\n\n- Reverse-engineering, and re-implementation of custom and/or proprietary\n  software routines.\n\n  e.g. https://github.com/openwall/john/blob/bleeding-jumbo/src/adxcrypt_fmt_plug.c\n\n  https://github.com/kholia/4690-OS - such is life ;)\n\n- Solid documentation work\n\n  I provide customers with solid documentation. Example: https://github.com/kholia/OSX-KVM\n\n\n#### Testimonials\n\n- https://www.whitehatsec.com/blog/cracking-aes-256-dmgs-and-epic-self-pwnage/\n\n- https://github.com/openwall/john/graphs/contributors\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkholia%2Fairspy-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkholia%2Fairspy-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkholia%2Fairspy-utils/lists"}