-
Notifications
You must be signed in to change notification settings - Fork 42
Build fxload for USB3 support
Aaron W Morris edited this page Sep 2, 2024
·
16 revisions
fxload under Debian 10 and 11 does not support USB3 (fx3) targets. A newer version of fxload needs to be compiled from source.
This primarily affects QHY USB3 cameras.
-
Install supporting packages
sudo apt-get install automake libtool libudev-dev build-essential git
-
Clone libusb
git clone https://github.com/libusb/libusb
-
Build libusb main
cd libusb ./autogen.sh ./configure --prefix=/usr/local make sudo make install
-
Build examples
cd examples make
-
Install fxload
sudo install -o root -g root -m 755 ./.libs/fxload /usr/local/sbin
The device is normally a Cypress WestBridge
device
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1618:0485 Cypress WestBridge <---- THIS IS THE FIRMWARE LOADER
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
You will need to pick the correct firmware file for your camera model and the USB device ID.
sudo LD_LIBRARY_PATH=/usr/local/lib /usr/local/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY5III485.img -d 1618:0485
This should show the following:
microcontroller type: fx3
/lib/firmware/qhy/QHY5III485.img: type Cypress IMG format
open firmware image /lib/firmware/qhy/QHY5III485.img for RAM upload
normal FW binary executable image with checksum
FX3 bootloader version: 0x000000A9
writing image...
transfer execution to Program Entry at 0x40014984
- Setup new custom rules
sudo tee /etc/udev/rules.d/99-qhyccd_custom.rules <<EOF
ACTION!="add", GOTO="qhy_end_new"
SUBSYSTEM!="usb", GOTO="qhy_end_new"
ATTRS{idVendor}=="1618", ATTRS{idProduct}=="0485", ENV{LD_LIBRARY_PATH}="/usr/local/lib", RUN+="/usr/local/sbin/fxload -t fx3 -I /lib/firmware/qhy/QHY5III485.img -d 1618:0485"
ATTRS{idVendor}=="1618", MODE="0666"
LABEL="qhy_end_new"
EOF
- Dynamically reload udev rules
sudo udevadm control --reload-rules
sudo udevadm trigger