{"id":2087,"date":"2008-05-10T19:44:41","date_gmt":"2008-05-10T10:44:41","guid":{"rendered":"http:\/\/yasu2.prosou.nu\/blog\/index.php\/2008\/05\/10\/xilinx_ise_101_on_opensuse_103\/"},"modified":"2008-05-10T19:44:41","modified_gmt":"2008-05-10T10:44:41","slug":"xilinx_ise_101_on_opensuse_103","status":"publish","type":"post","link":"https:\/\/yasu2.prosou.nu\/blog\/index.php\/2008\/05\/10\/2087\/","title":{"rendered":"Xilinx ISE 10.1 on OpenSuSE 10.3 x86_64"},"content":{"rendered":"<p>Xilinx ISE 10.1 works pretty well on my OpenSuSE 10.3\/x86_64 on Intel&#8217;s Core2Quad processor. However, I couldn&#8217;t compile the included Platform Cable USB driver, so I couldn&#8217;t program my FPGA cards. There&#8217;s a possible solution (with a non-proprietary driver) on <a href=\"https:\/\/wiki.kip.uni-heidelberg.de\/KIPwiki\/index.php\/EDV:Xilinx-USB-Treiber\">a wiki page in University of Heiderberg<\/a>, but it was a little bit old and written in German.<br \/>\nHere&#8217;s my solution with the non-proprietary driver (the <a href=\"http:\/\/www.rmdir.de\/~michael\/xilinx\/\">master site of the driver<\/a> is written in English! I didn&#8217;t know&#8230;) I took yesterday:<br \/>\n[ Step 1: Things to be installed by YaST ]<br \/>\n&#8211; libusb-devel (a library to handle USB devices)<br \/>\n&#8211; fxload (something to load firmware on some USB devices, including the Xilinx cable)<br \/>\n[ Step 2: get driver stuff ]<br \/>\n&#8211; Checkout the driver by: wget &#8216;http:\/\/git.zerfleddert.de\/cgi-bin\/gitweb.cgi\/usb-driver?a=snapshot;h=HEAD&#8217;<br \/>\n&#8211; Official documentation at <a href=\"http:\/\/www.rmdir.de\/~michael\/xilinx\/\">http:\/\/www.rmdir.de\/~michael\/xilinx\/<\/a>.<br \/>\n[ Step 3: setup udev ]<br \/>\n&#8211; Confirm that Platform Cable USB&#8217;s firmware exists at: YOUR_ISE_HOME\/bin\/lin64\/xusbdfwu.hex (it must be, if you have a valid ISE installation)<br \/>\n&#8211; Edit \/etc\/udev\/rules.d\/xusbdfwu.rules. You may want to write \/usr\/share\/xusbdfwu.hex to ISE_HOME\/bin\/lin64\/xusbdfwu.hex.<br \/>\nSYSFS{idVendor}==&#8221;03fd&#8221;, SYSFS{idProduct}==&#8221;0008&#8243;, NAME=&#8221;windrvr6&#8243;<br \/>\nBUS==&#8221;usb&#8221;, ACTION==&#8221;add&#8221;, SYSFS{idVendor}==&#8221;03fd&#8221;,SYSFS{idProduct}==&#8221;0007&#8243;, RUN+=&#8221;\/sbin\/fxload -v -t fx2 -I \/usr\/share\/xusbdfwu.hex -D $TEMPNODE&#8221;<br \/>\nBUS==&#8221;usb&#8221;, ACTION==&#8221;add&#8221;, SYSFS{idVendor}==&#8221;03fd&#8221;,SYSFS{idProduct}==&#8221;0009&#8243;, RUN+=&#8221;\/sbin\/fxload -v -t fx2 -I \/usr\/share\/xusbdfwu.hex -D $TEMPNODE&#8221;<br \/>\nBUS==&#8221;usb&#8221;, ACTION==&#8221;add&#8221;, SYSFS{idVendor}==&#8221;03fd&#8221;,SYSFS{idProduct}==&#8221;000b&#8221;, RUN+=&#8221;\/sbin\/fxload -v -t fx2 -I \/usr\/share\/xusbdfwu.hex -D $TEMPNODE&#8221;<br \/>\nBUS==&#8221;usb&#8221;, ACTION==&#8221;add&#8221;, SYSFS{idVendor}==&#8221;03fd&#8221;,SYSFS{idProduct}==&#8221;000d&#8221;, RUN+=&#8221;\/sbin\/fxload -v -t fx2 -I \/usr\/share\/xusbdfwu.hex -D $TEMPNODE&#8221;<br \/>\nBUS==&#8221;usb&#8221;, ACTION==&#8221;add&#8221;, SYSFS{idVendor}==&#8221;03fd&#8221;,SYSFS{idProduct}==&#8221;000f&#8221;, RUN+=&#8221;\/sbin\/fxload -v -t fx2 -I \/usr\/share\/xusbdfwu.hex -D $TEMPNODE&#8221;<br \/>\nACTION==&#8221;add&#8221;, BUS==&#8221;usb&#8221;, SYSFS{idVendor}==&#8221;03fd&#8221;, MODE=&#8221;666&#8243;<br \/>\n&#8211; Restart udev, or reboot the Linux box to load the firmware. Once the firmware is loaded successfully, the status LED of the cable will light.<br \/>\n[ Step 3: build the driver ]<br \/>\n&#8211; Extract the driver you got from gitweb in step 2.<br \/>\n&#8211; just do: cd usb-driver; make lib, and you&#8217;ll get libusb-driver.so. This library emulates the driver (I don&#8217;t know how, but this is really great&#8230;). If you&#8217;re running 32bit Linux, you may have to run &#8220;make lib32&#8221; instead, but I&#8217;m not sure.<br \/>\n&#8211; Copy libusb-driver.so to anywhere you like.<br \/>\n[ Step 4: hack iMPACT to use the driver ]<br \/>\n&#8211; cd to YOUR_ISE_HOME\/bin\/lin64<br \/>\n&#8211; mv _impact _impact.bin<br \/>\n&#8211; vi _impact<br \/>\n#!\/bin\/sh<br \/>\nLD_PRELOAD=\/YOUR_PATH\/TO\/LIBUSB_DRIVER_DOT_SO\/libusb-driver.so $0.bin $*<br \/>\n&#8211; chmod a+x _impact<br \/>\nAnd try to launch &#8220;impact&#8221;. Then you&#8217;ll get connected!<br \/>\n[ Appendix: problems currently I have ]<br \/>\n&#8211; iMPACT fails to detect the cable when iMPACT is launched from ISE.<br \/>\n&#8211; Once iMPACT have failed to connect, I have to reboot my Linux box \ud83d\ude41<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Xilinx ISE 10.1 works pretty well on my OpenSuSE 10.3\/x86_64 on Intel&#8217;s Core2Quad processor. However, I  &hellip; <a href=\"https:\/\/yasu2.prosou.nu\/blog\/index.php\/2008\/05\/10\/2087\/\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;Xilinx ISE 10.1 on OpenSuSE 10.3 x86_64&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[4],"tags":[25,35,36],"class_list":["post-2087","post","type-post","status-publish","format-standard","hentry","category-4","tag-amd64","tag-fpga","tag-linux"],"_links":{"self":[{"href":"https:\/\/yasu2.prosou.nu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/2087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yasu2.prosou.nu\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yasu2.prosou.nu\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yasu2.prosou.nu\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yasu2.prosou.nu\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=2087"}],"version-history":[{"count":0,"href":"https:\/\/yasu2.prosou.nu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/2087\/revisions"}],"wp:attachment":[{"href":"https:\/\/yasu2.prosou.nu\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=2087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yasu2.prosou.nu\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=2087"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yasu2.prosou.nu\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=2087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}