Skip to content

Latest commit

 

History

History
160 lines (106 loc) · 7.12 KB

compatibility.md

File metadata and controls

160 lines (106 loc) · 7.12 KB

Compatibility

Proxmark SKU compatibility

Proxmark3 is open hardware, and many vendors have customised the hardware in different ways.

If your device works with the mainline firmware and client on your PC, then you should be able to use it with AndProx, provided it meets the other firmware compatibility requirements.

If the customised version of PM3 that doesn't work with the mainline firmware and/or client, contact the device's vendor for help.

Firmware compatibility

This project targets the mainline firmware, so some functionality may not be available or broken if you use another branch.

Like Proxmark3, the client and the firmware on the device are symbiotic -- and there is no guarantee of multi-version compatibility.

To get correct firmware, you need to flash it with your computer:

You cannot flash firmware with AndProx.

When building from source, you must use source code checked out directly from git, and have the git command line tool installed in your build environment. This is because of AndProx's use of git submodule and an issue with PM3's build system.

Note: You only need to ensure the firmware (os) matches the version used by AndProx.

There is normally no need to reflash the bootloader for AndProx.

Do not reflash the bootloader, except using PM3's official version. Improperly reflashing the bootloader can brick your PM3, and requires a JTAG interface device to fix it.

Incompatible firmware

The biggest cause of issues for new users of Proxmark3 (in general) is bad firmware on their device:

  • Wrong or old firmware versions can fail in strange ways that look like bugs.

  • Many Proxmark3 device vendors ship old versions of PM3's firmware.

  • Some Proxmark3 device vendors ship modified versions of PM3's firmware without corresponding source code (required by the GPL) or otherwise do not contribute their modifications back to the greater community.

In light of this, AndProx intentionally refuses to run on old, or known-bad firmware.

The following firmware is blocked by default:

  • Old firmware is blocked:

    Each version of AndProx indicates which version of PM3 it contains, and the AndProx releases page lists compatible firmware versions for each release.

  • Firmware without version data is blocked: this generally indicates that the firmware was built improperly.

    This is common with devices sold via online marketplaces.

    Example hw version output with missing firmware versions:

    bootrom: /-suspect 2015-04-02 15:12:04
    os: /-suspect 2015-04-02 15:12:11
    

    Only os is checked in v2.0.5 and later. Both bootrom and os are checked before v2.0.4.

  • Firmware that mentions any online marketplace (eg: URLs, email addresses) is blocked: I have no idea what modifications have been done to the firmware. The vendors rarely release source code (required by the GPL) or contribute their changes back to the community.

  • iceman's firmware is blocked: iceman's fork tends to get a lot of bleeding-edge functionality before mainline PM3. As a result, patches have been merged in a different order, leading to incompatible RPC calls.

    I'm investigating an "Iceman AndProx" build, but first priority is to get mainline stable. Getting it working on iceman's fork will require many patches to be applied to it.

Developers are welcome to disable these checks for themselves, at their own risk by modifying AndProx's source code. The method to change is ProxmarkVersion.isSupportedVersion.

Bug reports with incompatible or non-supported firmware will not be accepted.

Note: AndProx 2.0.3 and earlier had an issue where devices with iceman's bootloader (but mainline OS/firmware) would be blocked. This is particularly an issue with the Proxmark3 RDV4 hardware. Later versions of AndProx have this issue fixed -- so upgrade if this impacts you.

Known incompatible devices

The following will not work under any circumstances, even if it appears in another list:

  • Any device with a version of Android older than 5.0. You need to update your device's software. Contact your phone manufacturer for more information, or replace your device.

  • Any device with the MIPS CPU architecture. These are fairly rare and no longer supported by Android. You will need to get a device with an x86 or ARM CPU instead.

Non-working for USB connections

Additional known incompatible devices

Manufacturer Device Notes
Google / LG Nexus 4 Does not supply 5v

Known compatible devices

Note: Even if the device appears in the list below, you always need Android 5.0 or later to run AndProx. If it is not available from the manufacturer, you'll need to install a third-party Android distribution to get it.

Note: Android TV requires side-loading the APK. A Bluetooth keyboard is strongly recommended for all Android TV devices, as the UI is not remote-friendly.

Manufacturer Device Connector Y-cable Notes
Google Pixel 1 / 1 XL USB C Needed for HF Device includes USB-C to A dongle
Google Pixel 3a USB C Not required Device includes USB-C to A dongle
Google / Asus Nexus Player USB Micro-B x86_64
Google / LG Nexus 5X USB C
Samsung Galaxy S8 USB C
Sony Bravia TV (2013+) USB A Not required Product name bug