-
Notifications
You must be signed in to change notification settings - Fork 92
Getting Started with HydraBus flash and use hydrafw on linux
cd ~
rm -rf ~/dfu-util
git clone git://git.code.sf.net/p/dfu-util/dfu-util dfu-util
cd ~/dfu-util
./autogen.sh
./configure
sudo make install
export hydrafw_build_name=build_HydraFW_v0.11-1-g4d74500_HydraBus_HydraNFC
export hydrafw_build_name_ext="$hydrafw_build_name".zip
export hydrafw_build_url=https://github.com/hydrabus/hydrafw/releases/download/v0.11/$hydrafw_build_name_ext
rm -rf ~/hydrafw
rm -rf ~/$hydrafw_build_name
rm -rf ~/$hydrafw_build_name_ext
cd ~
wget $hydrafw_build_url
unzip $hydrafw_build_name_ext -d hydrafw
mv $hydrafw_build_name hydrafw
wget https://raw.githubusercontent.com/hydrabus/hydrafw/master/utils/udev-rules/09-hydrabus.rules -O ~/hydrafw/09-hydrabus.rules
Alternative way is to build yourself hydrafw see https://github.com/hydrabus/hydrafw/wiki/how-to-build-flash-and-use-hydrafw-on-linux
Before to execute those steps you shall Build the firmware or Download and extract hydrafw build release.
2) Keep pressing UBTN button at PowerON/RESET in order to enter USB DFU (you do not need any jumper wire)
Note: You can also do that step with an HydraNFC connected on Top (or any other official shield)
If you have some problems to enter USB DFU remove all wires/extension connected (on J1/J2/J3) and connect BOOT0 & BOOT1 like described hereafter(it works on any revision of HydraBus Board).
For very old HydraBus Board v1.0 Rev1 with HydraFW < v0.5 (those boards are not sold anymore since years) do this step
3) Connect MicroUsb cable (USB Type-C cable for HydraBus v1.0 Rev1.5 or more) from PC to HydraBus USB1 board
Note: USB DFU is working only on HydraBus USB1 (USB2 cannot be used for that)
If Linux have problem to detect the device use an External USB1.1 or 2.0 Hub as there is problem with USB3.0 port on some computer.
sudo dfu-util -l
Note It shall returns something like:
dfu-util 0.8
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to [email protected]
Found DFU: [0483:df11] ver=2200, devnum=4, cfg=1, intf=0, alt=3, name="@Device Feature/0xFFFF0000/01*004 e", serial="385636783233"
Found DFU: [0483:df11] ver=2200, devnum=4, cfg=1, intf=0, alt=2, name="@OTP Memory /0x1FFF7800/01*512 e,01*016 e", serial="385636783233"
Found DFU: [0483:df11] ver=2200, devnum=4, cfg=1, intf=0, alt=1, name="@Option Bytes /0x1FFFC000/01*016 e", serial="385636783233"
Found DFU: [0483:df11] ver=2200, devnum=4, cfg=1, intf=0, alt=0, name="@Internal Flash /0x08000000/04*016Kg,01*064Kg,07*128Kg", serial="385636783233"
cd ~/hydrafw
sudo dfu-util -i 0 -a 0 -d 0483:df11 -D ./build/hydrafw.dfu
Note It shall returns something like:
dfu-util 0.8
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to [email protected]
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash "
file contains 1 DFU images
parsing DFU image 1
image for alternate setting 0, (1 elements, total size = 132744)
parsing element 1, address = 0x08000000, size = 132736
Download [=========================] 100% 132736 bytes
Download done.
done parsing DfuSe file
If Linux have problem to flash the device use an External USB1.1 or 2.0 Hub as there is problem with USB3.0 port on some computer.
6) Disconnect USB cable from HydraBus (disconnect also jumper wire "BOOT0 to 3V3" and "BOOT1 to GND" if they was previously connected)
7) Reconnect USB cable on USB1 or USB2(both port are supported), Now hydrafw is started (ULED shall blink)
Note: If you have error to update the firmware with dfu-util
, change USB port or try with an External USB 2.0 Hub as there is sometimes problems with some USB2.0/USB3.0 ports, then retry dfu-util
line.
Do not forget to add hydrabus rules to your linux distribution (shall be done only one time) in order to use /dev/ttyACM0 without needs to be root
sudo cp 09-hydrabus.rules /etc/udev/rules.d/09-hydrabus.rules
sudo udevadm trigger
See PR https://github.com/hydrabus/hydrafw/pull/151
See script https://github.com/hydrabus/hydrafw/blob/master/utils/udev-rules/09-hydrabus-arch_linux.rules
See https://learn.microsoft.com/en-us/windows/wsl/connect-usb
sudo apt-get install putty
putty /dev/ttyACM0
Note: On some systems putty does not work fine so choose screen ...
sudo apt-get install screen
screen /dev/ttyACM0
If you have error to open the device add sudo
sudo screen /dev/ttyACM0
HydraFW commands are described in wiki https://github.com/hydrabus/hydrafw/wiki/HydraFW-commands
Documentation updated October 22, 2016 using system:
Laptop Asus N56VZ Intel Core i7-3630QM CPU 2.40GHz, 8GB DDR3
Tested on Ubuntu 14.04.3 LTS and Ubuntu 16.04.1 LTS
If your system is using ModemManager you may have some conflicts because ModemManager will probe your device which commands like:
AT
AT+CMEE=1
To prevent that either you have to stop ModemManager daemon with:
systemctl stop ModemManager
or edit /lib/systemd/system/ModemManager.service and add the line
Environment="MM_FILTER_RULE_TTY_ACM_INTERFACE=0"
in the [Unit] section. Then restart the daemon:
systemctl daemon-reload
systemctl restart ModemManager
- CHANGELOG
- Console commands
- Binary mode guide
-
NFC/HydraNFC v1 guide
- Read UID of an ISO/IEC_14443 Tag
- Read UID and data of a MIFARE Ultralight Tag
- Read UID of an ISO/IEC 15693 Tag
- Emul ISO14443a Tag
- Emul MIFARE Ultralight Tag
- Emul Mifare Classic Tag
- Unique NFC sniffer design
- Launch NFC sniffer from console
- Sniffer ISO14443A wireshark pcap
- Autonomous/stand-alone sniffer mode
- Sniffer ISO14443A real-time infinite trace mode
- HydraFW-HydraNFC-v1.x-TRF7970A-Tutorial