Difference between revisions of "Bus Pirate: First steps"

From Embedded Lab Vienna for IoT & Security
Jump to navigation Jump to search
Line 28: Line 28:
== [1.] Windows ==
== [1.] Windows ==


* But Bus Pirate into Bootloader mode (2 options)
; Check Bus Pirate Version
: Connect via Putty to the Bus Pirate and type <code>i</code>
 
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 [http://dangerousprototypes.com/docs/Bus_Pirate#Bus_Pirate_v3_bootloader_upgradesbootloader upgrade guide]
 
*; Enter Bus Pirate Bootloader mode (2 options)
: 1. Connect via Putty to the Bus Pirate and type <code>$</code> (! after this you have to close the application otherwise the firmware loader can not connect)
: 1. Connect via Putty to the Bus Pirate and type <code>$</code> (! 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: [http://dangerousprototypes.com/docs/images/thumb/2/26/Bpv3-upgrade-jumper.jpg/250px-Bpv3-upgrade-jumper.jpg])
: 2. Connect the two pins: PGD and PGC (see image: [http://dangerousprototypes.com/docs/images/thumb/2/26/Bpv3-upgrade-jumper.jpg/250px-Bpv3-upgrade-jumper.jpg])
* Download: https://github.com/mikebdp2/Bus_Pirate.git
* Download: https://github.com/mikebdp2/Bus_Pirate.git
* Navigate to Bus_Pirate\BPv3-bootloader\ds30_Loader_GUI
* Navigate to Bus_Pirate\BPv3-bootloader\ds30_Loader_GUI
* Run 'ds30 Loader GUI.exe'
*; 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 Connect / and select the firware image (found under Bus_Pirate\package_latest\BPv3\bpv3_fw7.0_opt2_18092016.hex)
* Click Load
* Click Load
Line 41: Line 53:
=== Communicate with the Bus Pirate ===
=== Communicate with the Bus Pirate ===


;Install minicom serial reader/writer
; Install minicom serial reader/writer
:<code> sudo apt install minicom</code>
: <code> sudo apt install minicom</code>
;Connect BusPirate to the computer
; Connect BusPirate to the computer
:Check on what port the Bus Pirate connected to:
: Check on what port the Bus Pirate connected to:
:<code>dmesg | tail</code>
: <code>dmesg | tail</code>


  j@laptop:~$ dmesg | tail
  j@laptop:~$ dmesg | tail
Line 59: Line 71:
  [  765.891161] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0
  [  765.891161] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0


;Configure minicom
; Configure minicom
:<code>minicom -s</code>
: <code>minicom -s</code>
:select <code>Serial port setup</code>
: select <code>Serial port setup</code>
:set to following parameters:
: set to following parameters:


     +-----------------------------------------------------------------------+
     +-----------------------------------------------------------------------+
Line 76: Line 88:
     +-----------------------------------------------------------------------+
     +-----------------------------------------------------------------------+


:Then <code>Save setup as dfl</code>
: Then <code>Save setup as dfl</code>
;Connect to Bus Pirate
; Connect to Bus Pirate
:<code>sudo minicom</code>
: <code>sudo minicom</code>
:Press Enter and following should be displayed:
: Press Enter and following should be displayed:
  Welcome to minicom 2.7.1
  Welcome to minicom 2.7.1
  OPTIONS: I18n  
  OPTIONS: I18n  
Line 89: Line 101:
'''If <code>Hiz/></code> is not being displayed the connection was not successful
'''If <code>Hiz/></code> is not being displayed the connection was not successful


;Get Bus Pirate version
; Get Bus Pirate version
:Enter: <code>i</code>
: Enter: <code>i</code>


  HiZ>i
  HiZ>i
Line 106: Line 118:
=== Update Firmware ===
=== Update Firmware ===


Build the [source code yourself]
;2 Options:
# Build the [http://dangerousprototypes.com/docs/Compile_the_Bus_Pirate_firmware source code yourself]
# Or use a precompiled binary of the firmware: (easier)


or use a precompiled binary of the firmware (easier)
; Download firmware v7 for Bus Pirate v3.6
;Download firmware v7 for Bus Pirate v3.6
: <code>git clone https://github.com/mikebdp2/Bus_Pirate.git</code>
:<code>git clone https://github.com/mikebdp2/Bus_Pirate.git</code>
: <code>cd Bus_Pirate/BPv3-bootloader/pirate-loader</code>
:<code>cd Bus_Pirate/BPv3-bootloader/pirate-loader</code>
: <code>cmake .</code>
:<code>cmake .</code>
: <code>make</code>
:<code>make</code>
; Enter Bootloader (2 options):
;Enter Bootloader (2 options):
: 1. connect via some serial terminal (eg. minicom) and enter <code>$</code> (! after this you have to close the application otherwise the firmware loader can not connect)
:1. connect via some serial terminal (eg. minicom) and enter <code>$</code> (! 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: [http://dangerousprototypes.com/docs/images/thumb/2/26/Bpv3-upgrade-jumper.jpg/250px-Bpv3-upgrade-jumper.jpg])
:2. connect the two pins: PGD and PGC (see image: [http://dangerousprototypes.com/docs/images/thumb/2/26/Bpv3-upgrade-jumper.jpg/250px-Bpv3-upgrade-jumper.jpg])
; Load the precompiled hex:
;Load the precompiled hex:
: <code>pirate-loader --dev=X --hex=Y</code>
:<code>pirate-loader --dev=X --hex=Y</code>
: X..Serial Port (usally /dev/ttyUSB0)
:X..Serial Port (usally /dev/ttyUSB0)
: Y..firmware image (found under Bus_Pirate/package_latest/BPv3/bpv3_fw7.0_opt2_18092016.hex)
:Y..firmware image (found under Bus_Pirate/package_latest/BPv3/bpv3_fw7.0_opt2_18092016.hex)


== Used Hardware ==
== Used Hardware ==

Revision as of 14:24, 11 November 2019

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.

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)

Used Hardware

Bus Pirate v3.6 Universal serial interface

References