Firmware
All LabJack devices, except the U12, have upgradable firmware. From time to time, we release a new firmware to fix any issues that are discovered or add new features. Find your device from the list below to download its firmware.
LJSelfUpgrade for upgrading using Windows
Use the latest version of LJSelfUpgrade to upgrade the firmware on Windows. In order to run, LJSelfUpgrade version 1.24 and above requires the installation of UD driver 3.15 on your system.
Python Firmware Upgrader for upgrading using Linux and Mac OS X
Linux and Mac users, or adventurous Windows users, can use a Python firmware upgrader from the list below. (Grab the correct one for your system, Python 2.7, 2.6 or 2.5.)
- Requires Internet access during programming.
- If you have UE9 Control firmware older than 1.78, you must use LJSelfUpgrade.
- If you have a U3A or U3B (hardware revisions 1.20 or 1.21), you can use the Python upgrader by manually downloading and specifying the proper firmware file (see readme file), but it is lightly tested. If you run into problems, find a Windows machine and use LJSelfUpgrade to attempt to recover as described in Section 1.2.
Note: The Python Firmware Upgrader requires httplib2. It can be downloaded from its Google code page. Python 2.5 also requires simplejson, which can be downloaded here.
Search
Shopping Cart
Testimonials
-
Thanks for the great support you provide. You always provide the answer that I need, and you manage it in a very short time.
—Mark, Racal Acoustics


Comments
#1
I hacked the source code, replacing U3C with U3A in the three places where it occured, and it did in fact download the 1.44 firmware. (U3C occurs four times, twice in a variable, twice in strings, and I replaced all four), but I failed to update the firmware on this rather old U3A.
horizon-[/proj/sombrero/mcr/python2.6-firmware-upgrader] mcr 10078 %python selfUpgrader.py 3
Downloading firmware version 1.44 into a file called U3Afirmware_144_12112007.hex
Downloading firmware from website...
Done.
Reading firmware file...
Done.
Firmware file provides firmware version 1.44.
Found a U3 with a serial number 310020149 and firmware version 0.100.
Is this the U3 you wish to upgrade? [Y/n] y
Checking Authorization...
Done.
Stage 1 erasing old firmware...
libusb error: LIBUSB_ERROR_TIMEOUT
Traceback (most recent call last):
File "selfUpgrader.py", line 129, in <module>
upgradeU3Firmware(filename, recovery, forceYes)
File "/Users/mikec/projects/labjack/firmware-upgrader/u36Upgrade.py", line 198, in upgradeU3Firmware
File "/Users/mikec/projects/labjack/firmware-upgrader/u36Upgrade.py", line 56, in unlockFlash
File "/usr/local/lib/python2.6/dist-packages/LabJackPython.py", line 536, in _writeRead
result = self.read(readLen, stream=False)
File "/usr/local/lib/python2.6/dist-packages/LabJackPython.py", line 282, in read
return self._readFromExodriver(numBytes, stream, modbus)
File "/usr/local/lib/python2.6/dist-packages/LabJackPython.py", line 324, in _readFromExodriver
readBytes = staticLib.LJUSB_Read(self.handle, ctypes.byref(newA), numBytes)
File "/usr/local/lib/python2.6/dist-packages/LabJackPython.py", line 74, in errcheck
raise LabJackException(ec, "Exodriver returned error number %s" % ec)
LabJackPython.LabJackException: Exodriver returned error number 110
[1] 18819 exit 1 python selfUpgrader.py 3
#2
What version of the Linux kernel are you using, or are you running Mac OS X?
Have you tried running selfUpgrader.py again? If not try that. If that fails unplug your U3, wait 5 seconds, reconnect and try running selfUpgrader.py again. Also, the LJSelfUpgrade section of the U3 User's Guide provides helpful troubleshooting information if programming fails: http://labjack.com/support/u3/users-guide/1.2
Also, another alternative to hacking the code is to download the U3A firmware file, and to specify to use this file with the -f flag (example: python selfUpgrader.py -f path_to_file/U3Afirmware_144_12112007.hex 3).
Let us know if nothing works. Worst case is that the firmware could of been corrupted beforehand, or during the upgrade. I mention beforehand since your U3's firmware version looks suspicious as version 0.100 is not valid. In this case email support@labjack.com and we can talk about an RMA.
#3
Gents, I am running an older U3 with hardware 1.21 and firmware 1.36 on Linux Ubuntu 10.04. I used your cook-book and was delighted about the ease of a flawless installation! Some playing with the U3 worked, but there were odd errors, which might have been caused by the old firmware.
In preparing for upgrading the firmware I noticed some issues, which I believe may result in a real mess.
The python-2.6-firmware-upgrader 's README file appears to be a plain copy of the 2.5 version, not taking into account the changes since 2.5, as e.g. the pre-reqs say:
Pre-reqs:
- The driver for the platform you are on. ( Windows = UD, Mac = liblabjackusb.dylib, Linux = liblabjackusb.so )
- The very latest version of LabJackPython from github (http://github.com/labjack/LabJackPython)
- Python 2.5
- Other Python Modules: simplejson and httplib2
As the README instructions do not distinguish between the three U3 versions, I checked the selfUpgrader.py file and noticed that only the U3C is considered, but not the others:
MAIN_FIRMWARE_URL = 'http://labjack.com/support/firmware'
FIRMWARE_DOWNLOAD_BASE_URL = 'http://labjack.com/sites/default/files'
U3C_LATEST_FIRMWARE_URL = 'http://files.labjack.com/versions/U3Cfirmware.txt'
U6_LATEST_FIRMWARE_URL = 'http://files.labjack.com/versions/U6firmware.txt'
UE9_LATEST_COMM_FIRMWARE_URL = 'http://files.labjack.com/versions/UE9comm.txt'
UE9_LATEST_CONTROL_FIRMWARE_URL = 'http://files.labjack.com/versions/UE9control.txt'
In fact, in a dry run it is downloading only firmware 1.32, which, I am afraid, would 'brick' my U3B?
Please advise if this upgrader can be used at all for my U3B, and what I have to do to make it work. Thanks
#4
Sorry for the late response. I didn't see this comment until now. Looking at the source it does look like it is capable of programming U3A and U3B devices. I am not sure why there is no URL for it, but you will need to download the firmware file first and copy it to the same directory as selfUpgrader.py. Then run a command like this to specify the file you would like to use: "python selfUpgrader.py -f U3Bfirmware_152_03072008.hex 3". selfUpgrader.py flags and options are documented in the README.txt.
If you are still uncertain of the Python self upgrader, consider using LJSelfUpgrade on a Windows computer to upgrade your U3B.