> Please report back if this library is useful and works for you. > Maybe this helps XILINX to decide that they do not need to use windrvr > for easy USB access, as most parts of my library are only there to > provide a compatible replacement for windrvr functions and are not > needed when directly accessing libusb from within an application > program. > > Regards, > MichaelHello I have been trying to program a Xilinx spartan FPGA board using the parallel port (jtag) and the ISE webpack 9.1i and I cannot get it to work with windrvr. I'm very new to linux but I undestand that you propose an alternative to windrvr that seems to work well. I've spent many hours trying to get the windrvr and your driver to work without success. Besides i cannot get the windrvr to wort, I don't know how to install your driver. I downloaded the files compiled them, did export LD_PRELOAD=/path/to/libusb-driver.so as stated in the README but it doesn't work. I still get an error saying the windrvr module is not loaded when I try to program the board. I would really appreciate some help. I'm new to Linux and I use Kubuntu 6.10. Thanks a lot
Xilinx Platform cable USB and impact on linux without windrvr
Started by ●February 24, 2007
Reply by ●March 23, 20072007-03-23
Reply by ●March 23, 20072007-03-23
On 23 mar, 07:25, carlos.as...@gmail.com wrote:> I'm very new to linux but I undestand that you propose an alternative > to windrvr that seems to work well. > [...] > I've spent many hours trying to get the windrvr and your driver to > work without success. > [...] > I would really appreciate some help. I'm new to Linux and I use > Kubuntu 6.10.Here is my "step by step newbie" installation howto for Ubuntu Dapper 6=2E06 :) Open a terminal (Application menu : Accessory > Terminal), where you can enter the given commands (line starting with the $ prompt symbol). We suppose we are in your prefered directory. For you it is probably something like "/home/carlos". For this tutorial il will be replaced by a generic "/path" : $ pwd /path First, you donwload the program's archive in your prefered "/path/ Download" directory. $ mkdir Download $ wget "http://cvs.zerfleddert.de/cgi-bin/viewcvs.cgi/usb- driver.tar.gz?view=3Dtar" -O Download/usb-driver.tar.gz Now you go in your prefered work directory (for me it is called "Travail" :) and you decompress the archive. $ cd /path/Travail $ tar zxvf /path/Download/usb-driver.tar.gz $ cd usb-driver First thing to do is to check if README or INSTALL files exist, and _READ_ them. $ ls -l $ more README Now you know what to do. First you check the required module are loaded. $ lsmod | grep parport parport_pc 38340 1 parport 39560 3 ppdev,lp,parport_pc If you get something like that, it's ok. You can compile. $ make You may get this kind of error : gcc -fPIC -Wall usb-driver.c -o libusb-driver.so -ldl -lusb -lpthread - shared usb-driver.c:36:17: erreur: usb.h : Aucun fichier ou r=E9pertoire de ce type It's because you have not installed one of the required libusb and libusb-dev library. You can install libusb-dev this way : $ sudo apt-get install libusb-dev Now you can retry the compilation. $ make gcc -fPIC -Wall usb-driver.c -o libusb-driver.so -ldl -lusb -lpthread - shared gcc -fPIC -DDEBUG -Wall usb-driver.c -o libusb-driver-DEBUG.so -ldl - lusb -lpthread -shared This time, if everything goes right, you can try impact :) As explained in the README, set the preload environnement variable (this will be set only for the current terminal) : $ export LD_PRELOAD=3D/path/Travail/usb-driver/libusb-driver.so Now, you can run impact. But you may get an error : Can't open /dev/parport0: Permission denied LPT port is already in use. rc =3D 0h Cable connection failed. Reusing 79063641 key. Reusing FD063641 key. It means you have not the required right on the /dev/parport0 device. You can check this this way : $ ls -l /dev/parport0 crw-rw 1 root lp 99, 0 2007-03-16 07:48 /dev/parport0 A fast work arround solution is to change the owner of this device : $ whoami luzerne $ sudo chown luzerne /dev/parport0 Before retrying to program a device with impact, it may be necessary to disbale the eventual impact cable locking. This can be done this way : $ impact -batch> setMode -bscan > cleancablelock > quitNow, you can retry to program a device with impact. This was my "step by step" personnal log. http://www.chezmoicamarche.org / YMMV / HTH Luzerne GANHIR
Reply by ●March 23, 20072007-03-23
On 22 Mar 2007 23:25:59 -0700, carlos.asmat@gmail.com wrote:> Besides i cannot get the windrvr to wort, I don't know how to install > your driver. I downloaded the files compiled them, did export > LD_PRELOAD=/path/to/libusb-driver.so as stated in the README but it > doesn't work.I suppose you replaced /path/to/ with the real path to the library and started ISE or Impact from the shell where you did the LD_PRELOAD? To make sure that this is the case, you can put the export line in the settings.sh file generated by the ISE installer.> I still get an error saying the windrvr module is not loaded when I > try to program the board.If you get that message, then the basic preloading of the library did not work, as it should tell impact that the windrvr module is loaded. What happens if you run "lsmod" after running the export LD_PRELOAD? You should get the following output: Module Size Used by windrvr6 1 0 parport_pc 1 0 Regards, Michael
Reply by ●March 23, 20072007-03-23
On Thu, 22 Mar 2007 21:01:37 +0000 (UTC), Uwe Bonnes wrote:> My configuration : > * OS : Suse 10.2 > * cable : Home brewed parallel cable III derivat > * Xilinx Tool : ISE Webpack 9.1 SP02 > * programmed chip : XC95XL72Thanks Luzerne and Uwe for testing with a parallel cable. I am happy to hear that it works for other people, too and that even the parallel cable 4 works (in compatibility mode). Regards, Michael
Reply by ●March 23, 20072007-03-23
Grant Likely wrote:> Brilliant! Seems to work for me. I can't test it fully right now > because impact complains with "ERROR:iMPACT:583 - '2': The idcode read > from the device does not match the idcode in the bsdl File." when I > try to download to my ml403 board (which happens when I use the kernel > driver too).In that case, try lowering the speed in the cable setup menu. The ID code problem often happens when the cable speed is too high. Initializing the JTAG chain works most of the time, but after that transfers fail. Lowering the speed fixes that for me in most cases. -- My email address is only valid until the end of the month. Try figuring out what the address is going to be after that...
Reply by ●March 25, 20072007-03-25
On Mar 23, 4:16 am, "Luzerne" <luzerne.gan...@gmail.com> wrote:> On 23 mar, 07:25, carlos.as...@gmail.com wrote: > > > I'm very new to linux but I undestand that you propose an alternative > > to windrvr that seems to work well. > > [...] > > I've spent many hours trying to get the windrvr and your driver to > > work without success. > > [...] > > I would really appreciate some help. I'm new to Linux and I use > > Kubuntu 6.10. > > Here is my "step by step newbie" installation howto for Ubuntu Dapper > 6.06 :) > > Open a terminal (Application menu : Accessory > Terminal), where you > can enter the given commands (line starting with the $ prompt symbol). > > We suppose we are in your prefered directory. For you it is probably > something like "/home/carlos". For this tutorial il will be replaced > by a generic "/path" : > > $ pwd > /path > > First, you donwload the program's archive in your prefered "/path/ > Download" directory. > > $ mkdir Download > $ wget "http://cvs.zerfleddert.de/cgi-bin/viewcvs.cgi/usb- > driver.tar.gz?view=3Dtar" -O Download/usb-driver.tar.gz > > Now you go in your prefered work directory (for me it is called > "Travail" :) and you decompress the archive. > > $ cd /path/Travail > $ tar zxvf /path/Download/usb-driver.tar.gz > $ cd usb-driver > > First thing to do is to check if README or INSTALL files exist, and > _READ_ them. > > $ ls -l > $ more README > > Now you know what to do. First you check the required module are > loaded. > > $ lsmod | grep parport > parport_pc 38340 1 > parport 39560 3 ppdev,lp,parport_pc > > If you get something like that, it's ok. You can compile. > > $ make > > You may get this kind of error : > > gcc -fPIC -Wall usb-driver.c -o libusb-driver.so -ldl -lusb -lpthread - > shared > usb-driver.c:36:17: erreur: usb.h : Aucun fichier ou r=E9pertoire de ce > type > > It's because you have not installed one of the required libusb and > libusb-dev library. > You can install libusb-dev this way : > > $ sudo apt-get install libusb-dev > > Now you can retry the compilation. > > $ make > gcc -fPIC -Wall usb-driver.c -o libusb-driver.so -ldl -lusb -lpthread - > shared > gcc -fPIC -DDEBUG -Wall usb-driver.c -o libusb-driver-DEBUG.so -ldl - > lusb -lpthread -shared > > This time, if everything goes right, you can try impact :) As > explained in the README, set the preload environnement variable (this > will be set only for the current terminal) : > > $ export LD_PRELOAD=3D/path/Travail/usb-driver/libusb-driver.so > > Now, you can run impact. But you may get an error : > > Can't open /dev/parport0: Permission denied > LPT port is already in use. rc =3D 0h > Cable connection failed. > Reusing 79063641 key. > Reusing FD063641 key. > > It means you have not the required right on the /dev/parport0 device. > You can check this this way : > > $ ls -l /dev/parport0 > crw-rw 1 root lp 99, 0 2007-03-16 07:48 /dev/parport0 > > A fast work arround solution is to change the owner of this device : > > $ whoami > luzerne > $ sudo chown luzerne /dev/parport0 > > Before retrying to program a device with impact, it may be necessary > to disbale the eventual impact cable locking. This can be done this > way : > > $ impact -batch > > > setMode -bscan > > cleancablelock > > quit > > Now, you can retry to program a device with impact. This was my "step > by step" personnal log. > > http://www.chezmoicamarche.org/ YMMV / HTH > > Luzerne GANHIRThank you very much Luzerne for taking the time of explaining it step by step really clearly and slowly. I really really appreciate it. What I was doing wrong was doing "export LD_PRELOAD=3D/path/Travail/usb- driver/libusb-driver.so" in another terminal session since I thought this was a kind of global setting. Again thanks a lot for everything you have done. Carlos
Reply by ●March 26, 20072007-03-26
On 25 mar, 22:17, carlos.as...@gmail.com wrote:> > Thank you very much Luzerne for taking the time of explaining it step > by step really clearly and slowly. I really really appreciate it. > > What I was doing wrong was doing "export LD_PRELOAD=/path/Travail/usb- > driver/libusb-driver.so" in another terminal session since I thought > this was a kind of global setting. > > Again thanks a lot for everything you have done. > > CarlosYou're welcome. My post was in fact more a contribution given back to Michael GERNOTH's work than to you :) but I'm happy to know it helps someone, and to discover this someone is so grateful :) But I think your greets are misplaced, as Michael GERNOTH deserves all of them. Luzerne GANHIR
Reply by ●March 28, 20072007-03-28
I found some feedback on the microblaze-uclinux mailing list : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/archive/2007/03/msg00101.html This is a mail from Paul-Armand Verhaegen, and it explains the 16 steps he followed to use this usb lib with ISE 8.2 SP3 on Ubuntu, to download the Virtex2 of a XUPV2P board. Luzerne GANHIR
Reply by ●July 25, 20162016-07-25
Getting following error at make step: adityapappu@adityapappu-NV55C:/opt/Xilinx/usb-driver$ make cc -Wall -fPIC -DUSB_DRIVER_VERSION="\"2016-07-23 20:34:57\"" usb-driver.c xpcu.c parport.c config.c jtagmon.c -o libusb-driver.so -ldl -lusb -lpthread -shared parport.c: In function ‘parport_transfer’: parport.c:21:23: warning: variable ‘last_pp_write’ set but not used [-Wunused-but-set-variable] static unsigned char last_pp_write = 0; ^ /usr/bin/ld: cannot open output file libusb-driver.so: Permission denied collect2: error: ld returned 1 exit status Makefile:28: recipe for target 'libusb-driver.so' failed make: *** [libusb-driver.so] Error 1 adityapappu@adityapappu-NV55C:/opt/Xilinx/usb-driver$
Reply by ●July 26, 20162016-07-26
On 07/25/2016 08:03 PM, adityaishwar1994@gmail.com wrote:> Getting following error at make step: > > adityapappu@adityapappu-NV55C:/opt/Xilinx/usb-driver$ make cc -Wall > -fPIC -DUSB_DRIVER_VERSION="\"2016-07-23 20:34:57\"" usb-driver.c > xpcu.c parport.c config.c jtagmon.c -o libusb-driver.so -ldl -lusb > -lpthread -shared parport.c: In function ‘parport_transfer’: > parport.c:21:23: warning: variable ‘last_pp_write’ set but not used > [-Wunused-but-set-variable] static unsigned char last_pp_write = 0; > ^ /usr/bin/ld: cannot open output file libusb-driver.so: Permission > denied collect2: error: ld returned 1 exit status Makefile:28: recipe > for target 'libusb-driver.so' failed make: *** [libusb-driver.so] > Error 1 adityapappu@adityapappu-NV55C:/opt/Xilinx/usb-driver$ >The first one is a warning and may be harmless, the second one says it can not open libusb-driver.so: Permission denied. check the permissions. Perhaps you had run the build before as root. and now it can not overwrite the file, but that is just a guess...