FPGARelated.com
Forums

Xilinx Platform cable USB and impact on linux without windrvr

Started by Michael Gernoth February 24, 2007
Hello,
after being bitten by windrvr once again (it did not compile after a
kernel upgrade), I decided to see if I could get the Xilinx USB cable
and impact working without a kernel module.
To achieve this, I have written a wrapper library for impact which
maps calls to windrvr to the userspace libusb-library which should be
available on all modern linux distributions.

With this wrapper I am able to program a XC3S1500 in 2 seconds, which
is the same time it takes when using windrvr.
The library has been developed and solely tested against impact from
ISE Webpack 9.1i SP1 and will very likely not work with older versions
(pre 9.1i).

The library source can be downloaded at:
http://cvs.zerfleddert.de/cgi-bin/viewcvs.cgi/usb-driver.tar.gz?view=tar
or browsed at:
http://cvs.zerfleddert.de/cgi-bin/viewcvs.cgi/usb-driver/

I have also put a precompiled version (built on Debian Etch) at:
http://www.rmdir.de/~michael/xilinx/

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,
  Michael
On 2007-02-25, Michael Gernoth <mike@gernoth.net> wrote:
> 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.
This sounds excellent, especially if it, as you say, can convince xilinx to use libusb directly :) I'll have to try this tomorrow at work. /Andreas
On Feb 25, 2:22 am, Michael Gernoth <m...@gernoth.net> wrote:
> Hello, > after being bitten by windrvr once again (it did not compile after a > kernel upgrade), I decided to see if I could get the Xilinx USB cable > and impact working without a kernel module. > To achieve this, I have written a wrapper library for impact which > maps calls to windrvr to the userspace libusb-library which should be > available on all modern linux distributions. >
This is great! Especially as libusb got ported to Windows as well. http://libusb-win32.sourceforge.net/ Hope this convinces Xilinx to go a smoother way.
On 2007-02-25, Andreas Ehliar <ehliar@lysator.liu.se> wrote:
> I'll have to try this tomorrow at work.
Just following up to say that I have successfully tested this on a Suse 10.0 based distribution on i386 to program a Virtex-4 using the platform USB cable. Great work! /Andreas
Hi Michael,

On 25 Feb., 02:22, Michael Gernoth <m...@gernoth.net> wrote:
> To achieve this, I have written a wrapper library for impact which > maps calls to windrvr to the userspace libusb-library which should be > available on all modern linux distributions.
You just made true one of my dreams. Finally! :-)) I'll give it a try ASAP. Greetings, Torsten
On Feb 24, 6:22 pm, Michael Gernoth <m...@gernoth.net> wrote:
> Hello, > Please report back if this library is useful and works for you. > Maybe this helpsXILINXto 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.
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). But it correctly scans the JTAG chain and reports back the number/type of devices. I wasn't able to get it to work on an x86_64 system, but in a i386 chroot I had no problems. Have you passed on your utility to anyone at Xilinx? Cheers, g.
Grant Likely wrote:
> On Feb 24, 6:22 pm, Michael Gernoth <m...@gernoth.net> wrote: >> Hello, >> Please report back if this library is useful and works for you. >> Maybe this helpsXILINXto 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. >
Hey Grant, seems we hang out at the same spots ;)
> Brilliant! Seems to work for me.
> I wasn't able to get it to work on an x86_64 system, but in a i386 > chroot I had no problems.
Yes this tool is _great_ It works fine for me with ISE9.1 x86_64. I decided to install the .hex in /usr/share/usb instead of /usr/share but Impact seemed to look for it in /usr/share so I just needed to add a hook to redirect the "open" to the right place. Again, Nice work ;) Sylvain
Hi,

On Tue, 13 Mar 2007 14:34:14 +0100, Sylvain Munaut wrote:
> Grant Likely wrote: >> I wasn't able to get it to work on an x86_64 system, but in a i386 >> chroot I had no problems. > It works fine for me with ISE9.1 x86_64.
Nice to hear that it now works on x86_64. I had no chance to test it on such a machine with a connected cable, so I just got the driver to the point to not detect a cable when I got access to such a machine.
> Again, Nice work ;)
Thanks :-) Regards, Michael
On 25 f=E9v, 02:22, Michael Gernoth <m...@gernoth.net> wrote:
> Hello, > after being bitten by windrvr once again (it did not compile after a > kernel upgrade), I decided to see if I could get the Xilinx USB cable > and impact working without a kernel module. > [...] > Please report back if this library is useful and works for you. > [...]
Just to add another positive feedback : * It works like a charm for me ! * I find it very usefull ! My configuration : * OS : Ubuntu Dapper 6.06 * cable : Xilinx parallel IV * Xilinx Tool : ISE Webpack 9.1 SP02 * programmed chip : Virtex4 LX25 (of an ML401 board) For me, it works in "compatibility mode" only, as with "windrvr" driver. Many thanks for your work ! Luzerne GANHIR
Luzerne <luzerne.ganhir@gmail.com> wrote:
> On 25 f&#4294967295;v, 02:22, Michael Gernoth <m...@gernoth.net> wrote:
...
> > [...] > > Please report back if this library is useful and works for you. > > [...]
Just to add another positive feedback : * It works like a charm for me ! * I find it very usefull ! My configuration : * OS : Suse 10.2 * cable : Home brewed parallel cable III derivat * Xilinx Tool : ISE Webpack 9.1 SP02 * programmed chip : XC95XL72 Thanks -- Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------