2014-08-14 Xilinx USB Cable driver на 14.04
Как поставить драйвер к коробочке Xilinx под linux на примере Kubuntu 14.04 64bit
Симптомы
При установке Xilix ISE 14.7 распаковка драйверов завершается ошибкой:
--Checking version.
--File /lib/modules/3.13.0-34-generic/kernel/drivers/misc/windrvr6.ko does not exist.
--File LINUX.3.13.0-34-generic.x86_64/windrvr6.ko does not exist.
--Setting source version to 1301.
--File LINUX.3.13.0-34-generic.x86_64/windrvr6.ko is newer than the destination file.
USE_KBUILD = no
checking for cpu architecture... x86_64
checking for WinDriver root directory... /opt/Xilinx/14.7/ISE_DS/common/bin/lin64/install_script/install_drivers/linux_drivers/windriver64
checking for linux kernel source... found at /lib/modules/3.13.0-34-generic/build
not found
make -f makefile.wd clean
make[1]: Entering directory `/opt/Xilinx/14.7/ISE_DS/common/bin/lin64/install_script/install_drivers/linux_drivers/windriver64/windrvr'
make[1]: Leaving directory `/opt/Xilinx/14.7/ISE_DS/common/bin/lin64/install_script/install_drivers/linux_drivers/windriver64/windrvr'
make -f makefile.wd
make[1]: Entering directory `/opt/Xilinx/14.7/ISE_DS/common/bin/lin64/install_script/install_drivers/linux_drivers/windriver64/windrvr'
make[1]: Leaving directory `/opt/Xilinx/14.7/ISE_DS/common/bin/lin64/install_script/install_drivers/linux_drivers/windriver64/windrvr'
make -f makefile.wd
make[1]: Entering directory `/opt/Xilinx/14.7/ISE_DS/common/bin/lin64/install_script/install_drivers/linux_drivers/windriver64/windrvr'
make[1]: Leaving directory `/opt/Xilinx/14.7/ISE_DS/common/bin/lin64/install_script/install_drivers/linux_drivers/windriver64/windrvr'
--make windrvr install rc= 2
--install_windrvr6 rc = 2
--Module windrvr6 is not running.
--Module xpc4drvr is not running.
--Note: By default, the file permission of /dev/windrvr6 is enabled for the root user only
and must be changed to allow access to other users.
--real rc=2
--Driver installation failed.
--Digilent Return code = 0
--Xilinx Return code = 1
--Return code = 1
Лечение
Ставим ia32libs (возможно, это необязательный пункт, см. ниже):
cd /etc/apt/sources.list.d
echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
apt-get update
apt-get install ia32-libs
Удаляем на всякий случай ссылку на old-releases репозиторий:
Качаем Git и библиотеки:
Качаем заголовочные файлы для libusb (в репозитории есть пакеты для 0.1 и 1.0, ставил все, не знаю какой именно помог)
Качаем сорцы драйвера:
Согласно мануалам требуется собрать 32-битную библиотеку libusb-driver.so, выполнив команду
Но у меня эта библиотека не захотела собираться в 32-битную версию, вероятно из-за 64-битного libusb:
Зато 64 разрядная версия собирается:
Поэтому есть подозрение, что установку ia32libs
и libc6-dev-i386
можно пропустить.
Далее воспользуемся результатом компиляции:
На что получаем
Looking for USB cable files: /opt/Xilinx/14.7/ISE_DS/ISE//bin/lin64
Copying firmware to /usr/share:
«/opt/Xilinx/14.7/ISE_DS/ISE//bin/lin64/xusbdfwu.hex» -> «/usr/share/xusbdfwu.hex»
«/opt/Xilinx/14.7/ISE_DS/ISE//bin/lin64/xusb_emb.hex» -> «/usr/share/xusb_emb.hex»
«/opt/Xilinx/14.7/ISE_DS/ISE//bin/lin64/xusb_xlp.hex» -> «/usr/share/xusb_xlp.hex»
«/opt/Xilinx/14.7/ISE_DS/ISE//bin/lin64/xusb_xp2.hex» -> «/usr/share/xusb_xp2.hex»
«/opt/Xilinx/14.7/ISE_DS/ISE//bin/lin64/xusb_xpr.hex» -> «/usr/share/xusb_xpr.hex»
«/opt/Xilinx/14.7/ISE_DS/ISE//bin/lin64/xusb_xse.hex» -> «/usr/share/xusb_xse.hex»
«/opt/Xilinx/14.7/ISE_DS/ISE//bin/lin64/xusb_xup.hex» -> «/usr/share/xusb_xup.hex»
Installing udev rules:
done
Делаем символьную ссылку:
sudo ln -s libusb-0.1.so.4 libusb.so
Вставляем USB-хвост коробочки в PC, загорается заветная лампочка:
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.