-
Notifications
You must be signed in to change notification settings - Fork 119
Troubleshooting Guide
In the case where the automatic firmware recovery tool fails, you can wipe and re-flash the board manually.
To do this, you'll need to use the dfu-programmer
tool via the command line.
(If you've never used the command line before, don't worry! Every single step will be described here)
Manual firmware recovery will only work when the board is in Bootloader mode. It WILL NOT work in regular mode
DFU Programmer comes installed with the Windows version of EspoTek Labrador by default.
Before you run it, all you need to do is open up the Command Prompt and type in:
cd "C:\Program Files\EspoTek\EspoTek Labrador\firmware"
Then, run the following two commands to re-flash your device:
dfu-programmer atxmega32a4u erase --force
dfu-programmer atxmega32a4u flash labrafirm_0006_01.hex
On macOS, you'll first need to install the Homebrew package manager.
To do this, open a terminal and enter:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Then, you can install dfu-programmer
from homebrew with the command:
brew install dfu-programmer
The firmware file can be downloaded from this page here:
https://github.com/EspoTek/Labrador/tree/master/Desktop_Interface/bin/firmware
Download the latest version ending in _02.hex
(at the time of writing, labrafirm_0006_02.hex
)
Then run the following two commands:
dfu-programmer atxmega32a4u erase --force
dfu-programmer atxmega32a4u flash /path/to/labrafirm_xxxx_xx.hex
(You'll need to replace the /path/to/labrafirm_xxxx_xx.hex
bit with the actual path to your firmware file. You can get this by simply dragging the file onto the terminal window.
Most common Linux distributions should provide a dfu-programmer
package. For example, on Ubuntu:
sudo apt install dfu-programmer
The firmware file can be downloaded from this page here:
https://github.com/EspoTek/Labrador/tree/master/Desktop_Interface/bin/firmware
Download the latest version ending in _02.hex
(at the time of writing, labrafirm_0006_02.hex
)
Then run the following two commands:
dfu-programmer atxmega32a4u erase --force
dfu-programmer atxmega32a4u flash /path/to/labrafirm_xxxx_xx.hex
(You'll need to replace the /path/to/labrafirm_xxxx_xx.hex
bit with the actual path to your firmware file.
First, try the steps outlined here:
https://www.youtube.com/watch?v=t2F1rFmyQmY
If that doesn’t solve the problem, open the Device Manager. You should be greeted with a screen like this:
Look for Labrador.
If it’s under the heading of "libusbK USB Devices" but has a little yellow triangle on it, then the driver is correctly installed and configured - however there is not enough bandwidth.
Move Labrador to a different USB port that does not share bandwidth with devices that stream constantly (in proper terminology: isochronous/interrupt devices). This includes things like keyboards, mice and speakers.
Some suggestions:
-
If you’re using a hub, connect your other devices to the hub and give Labrador its own dedicated port.
-
Plug your other devices into your USB2.0 ports, and Labrador into the USB3.0 or eSata ports (or vice versa).
-
Devices that stream constantly (webcams being the most common culprit) are the most likely to compete with Labrador for bandwidth. If you are forced to share a port with Labrador, share it with something like a USB flash drive or card reader that does not stream constantly.
-
If need be, disconnect unneeded USB devices.
Your Labrador board should start working.
If it’s under the heading of "Other Devices", then the driver is not correctly installed and configured. To configure manually:
-
Double click on the device name to open the Properties window.
-
Select "Update Driver", from the Driver tab.
-
Select "Browse my Computer for Driver Software" (Locate and install driver software manually).
-
Select "Let me pick from a list of devices on my computer".
-
Then select "libusbK Usb Devices" from the list and the device will connect.
-
Note: if you cannot see "libusbK Usb Devices", do not try to be smart and select libusb-win32, libusb0 or anything similar. Instead, re-run the installer and make sure that both driver boxes are ticked and installation completes successfully.
If the device is not found at all.
-
Ensure you’re using a cable that has data lines. Some micro-USB phone charging cables are power-only!
-
Remove all wires from your Labrador board. And unplug and re-plug it in, twice if necessary. This will get it out of bootloader mode.
On non-Windows platforms, the Labrador reserves the entire bandwidth of a USB hub in order to ensure it gets a solid connection. Move Labrador to a different USB port that does not share bandwidth with devices that stream constantly (in proper terminology: isochronous/interrupt devices). This includes things like keyboards, mice and speakers.
Some suggestions:
-
If you’re using a hub, connect your other devices to the hub and give Labrador its own dedicated port.
-
Plug your other devices into your USB2.0 ports, and Labrador into the USB3.0 or eSata ports (or vice versa).
-
Devices that stream constantly are the most likely to compete with Labrador for bandwidth. If you are forced to share a port with Labrador, share it with something like a USB flash drive or card reader that does not stream constantly.
-
If need be, disconnect unneeded USB devices.
Your Labrador board should start working.
Some Mac OSX users have reported driver-related issues that prevent the Software Interface from communicating with the Labrador board. To fix it, install homebrew and then run the following two commands from the terminal:
brew update
brew install libusb
After resetting your computer, it should work.
If you’re having any other issues with your board, I’m happy to help.
The best thing to do is to post an issue on the GitHub page, that way any solutions will be posted publicly.
The second best thing to do is to send me an email. I can be found at admin@espotek.com