Difference between revisions of "Bus Pirate: First steps"

From Embedded Lab Vienna for IoT & Security
Jump to navigation Jump to search
Line 1: Line 1:
== Summary ==  
== Summary ==  


Here the upgrade process for the Bus Pirate v3.6 will be showcased.
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 [http://dangerousprototypes.com/docs/Bus_Pirate manufacture] and the [https://github.com/BusPirate/Bus_Pirate github repository]
This will use the tutorial provided by the [http://dangerousprototypes.com/docs/Bus_Pirate manufacture] and the [https://github.com/BusPirate/Bus_Pirate github repository]
Line 26: Line 26:
* flashrom bios/flash programmer
* flashrom bios/flash programmer


== Windows ==
== [1.] Windows ==


comming soon..
* But Bus Pirate into 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)
: 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
* 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


== Linux ==
== [2.] Linux ==
 
For some strange reason the flash-firmware tool (called pirate-loader) did not work for me.
This is why I '''recommend using Windows''' to install a new Firmware.


=== Communicate with the Bus Pirate ===
=== Communicate with the Bus Pirate ===
Line 97: Line 101:


Hardware v3a and v2go shipped with '''bootloader v2''', please see the [http://dangerousprototypes.com/docs/Bus_Pirate#Bus_Pirate_v3_bootloader_upgradesbootloader upgrade guide]
Hardware v3a and v2go shipped with '''bootloader v2''', please see the [http://dangerousprototypes.com/docs/Bus_Pirate#Bus_Pirate_v3_bootloader_upgradesbootloader upgrade guide]


For [http://dangerousprototypes.com/docs/Bus_Pirate_menu_options_guide#I_Hardware.2C_firmware.2C_microcontroller_version_information all commands visit the manufactures website]
For [http://dangerousprototypes.com/docs/Bus_Pirate_menu_options_guide#I_Hardware.2C_firmware.2C_microcontroller_version_information all commands visit the manufactures website]
Line 107: Line 110:
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>sudo apt install subversion</code>
:<code>git clone https://github.com/mikebdp2/Bus_Pirate.git</code>
:<code>svn export https://github.com/mikebdp2/Bus_Pirate/trunk/package_latest/BPv3 buspirate</code>
:<code>cd Bus_Pirate/BPv3-bootloader/pirate-loader</code>
 
:<code>cmake .</code>
To flash the new firmware you need the ds30-pirate-loader tool
:<code>make</code>
 
;Enter Bootloader (2 options):
'''For some reason the binary pirate-loader_lnx did not work for me
: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])
;Load the precompiled hex:
:<code>pirate-loader --dev=X --hex=Y</code>
:X..Serial Port (usally /dev/ttyUSB0)
:Y..firmware image (found under Bus_Pirate/package_latest/BPv3/bpv3_fw7.0_opt2_18092016.hex)


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

Revision as of 14:18, 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

  • But Bus Pirate into 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

Build the [source code yourself]

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