Add setup script for USB cable which works on modern distributions
This completely rewritten version of setup_pcusb works on modern distributions with newer udev versions which have a different rules-format and are not detected by the xilinx-version of the script. It only has the name in common with the xilinx-version.
This commit is contained in:
parent
7c932f66e1
commit
36f8b271f2
9
README
9
README
@ -66,6 +66,15 @@ the initial firmware has not been loaded (loading it changes the
|
|||||||
product-ID from another value to 8). To load the firmware follow
|
product-ID from another value to 8). To load the firmware follow
|
||||||
these steps:
|
these steps:
|
||||||
|
|
||||||
|
1. Run ./setup_pcusb in this directory, this should set up everything
|
||||||
|
correctly:
|
||||||
|
- When $XILINX is set correctly:
|
||||||
|
$ ./setup_pcusb
|
||||||
|
- When $XILINX is not set, and ISE is installed in /opt/Xilinx/13.1:
|
||||||
|
$ ./setup_pcusb /opt/Xilinx/13.1/ISE_DS/ISE
|
||||||
|
|
||||||
|
Old instructions, use only when the above script did not work:
|
||||||
|
|
||||||
1. If you have no /etc/udev/rules.d/xusbdfwu.rules file, copy it from
|
1. If you have no /etc/udev/rules.d/xusbdfwu.rules file, copy it from
|
||||||
/path/to/ISE/bin/lin/xusbdfwu.rules to /etc/udev/rules.d/xusbdfwu.rules
|
/path/to/ISE/bin/lin/xusbdfwu.rules to /etc/udev/rules.d/xusbdfwu.rules
|
||||||
|
|
||||||
|
45
setup_pcusb
Executable file
45
setup_pcusb
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ "${XILINX}" = "" ]; then
|
||||||
|
if [ "${1}" = "" ]; then
|
||||||
|
echo "Syntax: ${0} /path/to/ISE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
root="${1}"
|
||||||
|
else
|
||||||
|
root="${XILINX}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "`id -u`" != "0" ]; then
|
||||||
|
echo "You are not root, trying sudo..."
|
||||||
|
ASROOT="sudo"
|
||||||
|
else
|
||||||
|
ASROOT=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -n "Looking for USB cable files: "
|
||||||
|
|
||||||
|
dir=""
|
||||||
|
|
||||||
|
for check in "${root}/bin/lin64" "${root}/bin/lin"; do
|
||||||
|
if [ -e "${check}/xusbdfwu.rules" ]; then
|
||||||
|
dir="${check}"
|
||||||
|
break;
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "${dir}" != "" ]; then
|
||||||
|
echo "${dir}"
|
||||||
|
else
|
||||||
|
echo "NOT FOUND!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Copying formware to /usr/share:"
|
||||||
|
for fw in "${dir}/"xusb*.hex; do
|
||||||
|
$ASROOT cp -v "${fw}" "/usr/share/"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Installing udev rules:"
|
||||||
|
$ASROOT bash -c "sed -e 's/TEMPNODE/tempnode/' -e 's/SYSFS/ATTRS/g' -e 's/BUS/SUBSYSTEMS/' \"${dir}/xusbdfwu.rules\" >/etc/udev/rules.d/xusbdfwu.rules"
|
||||||
|
echo "done"
|
Reference in New Issue
Block a user