Bus Pirate: First steps

From Embedded Lab Vienna for IoT & Security
Revision as of 15:33, 11 November 2019 by Jostrowski (talk | contribs)
Jump to navigation Jump to search

Summary

Here the upgrade process for the Bus Pirate v3.6 will be showcased for [1.] Windows using the GUI application and for [2.] Linux using the console application.

This will use the tutorial provided by the manufacture and the github repository

Description

The Bus Pirate is an open source hacker multi-tool that talks to electronic stuff. It's got a bunch of features an intrepid hacker might need to prototype their next project. The Bus Pirate is used through a simple terminal interface.

For all commands visit the manufactures website

Protocols

  • 1-Wire
  • I2C
  • SPI
  • JTAG
  • Asynchronous serial
  • MIDI
  • PC keyboard
  • HD44780 LCD
  • 2- and 3-wire libraries with bitwise pin control
  • Scriptable binary bitbang, 1-Wire, I2C, SPI, and UART modes.

Application Support

  • AVRDude AVR programmer (AVRDude v5.8+, firmware v4 (any) or v5.9+)
  • OpenOCD JTAG debugger
  • flashrom bios/flash programmer

[1.] Windows

Check Bus Pirate Version
Connect via Putty to the Bus Pirate and type i
HiZ>i
Bus Pirate v3b
Firmware v5.10 (r559)  Bootloader v4.4
DEVID:0x0447 REVID:0x3046 (24FJ64GA002 B8)
http://dangerousprototypes.com
Hardware v3b and v3.5 shipped with bootloader v4+, continue below
Hardware v3a and v2go shipped with bootloader v2, please see the upgrade guide
  • Enter Bus Pirate Bootloader mode (2 options)
1. Connect via Putty to the Bus Pirate and type $ (! after this you have to close the application otherwise the firmware loader can not connect)
2. Connect the two pins: PGD and PGC (see image: [1])
  • Download: https://github.com/mikebdp2/Bus_Pirate.git
  • Navigate to Bus_Pirate\BPv3-bootloader\ds30_Loader_GUI
    Run 'ds30 Loader GUI.exe'
  • Click Connect / and select the firware image (found under Bus_Pirate\package_latest\BPv3\bpv3_fw7.0_opt2_18092016.hex)
  • Click Load

[2.] Linux

Communicate with the Bus Pirate

Install minicom serial reader/writer
sudo apt install minicom
Connect BusPirate to the computer
Check on what port the Bus Pirate connected to:
dmesg | tail
j@laptop:~$ dmesg | tail
[  760.610683] ftdi_sio 1-1.2:1.0: device disconnected
[  765.780110] usb 1-1.2: new full-speed USB device number 7 using xhci_hcd
[  765.887218] usb 1-1.2: New USB device found, idVendor=0403, idProduct=6001
[  765.887224] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  765.887227] usb 1-1.2: Product: FT232R USB UART
[  765.887230] usb 1-1.2: Manufacturer: FTDI
[  765.887233] usb 1-1.2: SerialNumber: A907NRH0
[  765.890644] ftdi_sio 1-1.2:1.0: FTDI USB Serial Device converter detected
[  765.890768] usb 1-1.2: Detected FT232RL
[  765.891161] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0
Configure minicom
minicom -s
select Serial port setup
set to following parameters:
   +-----------------------------------------------------------------------+
   | A -    Serial Device      : /dev/ttyUSB0                              |
   | B - Lockfile Location     : /var/lock                                 |
   | C -   Callin Program      :                                           |
   | D -  Callout Program      :                                           |
   | E -    Bps/Par/Bits       : 115200 8N1                                |
   | F - Hardware Flow Control : No                                        |
   | G - Software Flow Control : No                                        |
   |                                                                       |
   |    Change which setting?                                              |
   +-----------------------------------------------------------------------+
Then Save setup as dfl
Connect to Bus Pirate
sudo minicom
Press Enter and following should be displayed:
Welcome to minicom 2.7.1
OPTIONS: I18n 
Compiled on Aug 13 2017, 15:25:34.
Port /dev/ttyUSB0, 16:23:34
Press CTRL-A Z for help on special keys
HiZ>

If Hiz/> is not being displayed the connection was not successful

Get Bus Pirate version
Enter: i
HiZ>i
Bus Pirate v3b
Firmware v5.10 (r559)  Bootloader v4.4
DEVID:0x0447 REVID:0x3046 (24FJ64GA002 B8)
http://dangerousprototypes.com

Hardware v3b and v3.5 shipped with bootloader v4+, continue below

Hardware v3a and v2go shipped with bootloader v2, please see the upgrade guide

For all commands visit the manufactures website

Update Firmware

2 Options
  1. Build the source code yourself
  2. Or use a precompiled binary of the firmware: (easier)
Download firmware v7 for Bus Pirate v3.6
git clone https://github.com/mikebdp2/Bus_Pirate.git
cd Bus_Pirate/BPv3-bootloader/pirate-loader
cmake .
make
Enter Bootloader (2 options)
1. connect via some serial terminal (eg. minicom) and enter $ (! after this you have to close the application otherwise the firmware loader can not connect)
2. connect the two pins: PGD and PGC (see image: [2])
Load the precompiled hex
pirate-loader --dev=X --hex=Y
X..Serial Port (usally /dev/ttyUSB0)
Y..firmware image (found under Bus_Pirate/package_latest/BPv3/bpv3_fw7.0_opt2_18092016.hex)
HiZ>i
Bus Pirate v3.5
Community Firmware v7.0 - goo.gl/gCzQnW [HiZ UART I2C SPI] Bootloader v4.4
DEVID:0x0447 REVID:0x3046 (24FJ64GA002 B8)
http://dangerousprototypes.com

Used Hardware

Bus Pirate v3.6 Universal serial interface

References