• Content Count

  • Joined

  • Last visited

About grf

  • Rank

Recent Profile Visitors

1032 profile views
  1. Just to follow up on this. I did manage to remove the default demo app (after many attempts). Since then, I do find that my cmod A7 is now more accessible (probably 30-40% of the time - still not perfect - but better than the < 5% I saw previously) So I am able to write bitstreams to the device pretty consitently. Another observation (now I have removed the demo app) is that the first time I try to use the device (after it has been disconnected from USB power for a while) it is detected almost 100% of the time. Just cycling the power (once it has been up for a while) does not do it. I now am wondering whether this is because the device has had a chance to cool? Maybe my success after removing the demo app, is not because the default demo is using the uart, because my replacement app (which does nothing except illuminate a led when button is pressed) is using less power, and thus not thermally loading the device. Hmmm. Anyway I am far more productive now. So am reasonably pleased with this strategy.
  2. I have just started hitting this in the past week (Ubuntu 18.10) with my Cmod A7 35T. It was hit and miss before then, now I can only connect perhaps 2% of the time. I have two other boards (Basys3 and Nexus Video) and I am using the same usb cables that work 100% of the time with them. But have tried multiple cables. Here are my observations (for what they are worth) and even a guess at what the problem is. Using a combination of 'sudo lsusb' and looking at the logging from 'hw_server' I can see that the A7 appears as a JTAG Digilent devices, then drop out before being seen as a FTDI driver on the same physical device. It seems to me that the A7 is booting, my machine briefly recognises it as a JTAG device, then (*sadly) the A7 starts it's demo app, which appears to tear down the JTAG port so it can communicate with the host via the UART. At this point the hw_server thinks it has lost the JTAG/USB and so no longer sees the device, so drops it. I see the UART drop then reappear in cycles from this point out. If I have the Vivado UI up (usuallly I avoid). I will see multiple dialogs stacked, as it see's, then loses connection with the device. I think that when I am lucky (the 2% of the time!) I am hitting the hw_server just as the device is being seen for the first time, or in one of these 'cycles'. I really think that it it was not for the demo app trying to use the UART my connection would be stable. So I would love to know how to disable/delete the demo app. I think after that, I would be in good shape. Maybe these observations might help someone with more experience to determine a plan of action.
  3. OK I finally did resolve this. In the end I just gave up and reinstalled ubuntu 15.10 Before doing anything (no WebISE install) I pulled the *.deb verision of adept 2 packages Previously I had always used the .zip files from the adept2 website, hacked the scripts (when necessary) installed libusb and then run the scripts. This time I tried the *.deb packages. wget wget sudo dpkg -i *.deb I was able to move bit files to my Anvyl and Basys2 boards using this! So, I guess my advice is to use the deb packages. Thanks for all the responses. You can close this as an issue. Gary
  4. I read somewhere online that one needs to use djtgcfg init Here is what I get djtgcfg init -d Anvyl ERROR: failed to enable JTAG, erc = 3077
  5. More debugging I pulled the ftd2xxx drivers from the web again and installed ftd2xx drivers, utilities and runtime again (is there a clean way to uninstall?) After a reboot and following some of the debug suggestions in the ftd2xx driver README sudo lsmod | grep ftdi_sio sudo sudo rmmod ftdi_sio sudo rmmod usbserial sudo udevadm control --reload-rules sudo udevadm trigger I finally saw $ djtgcfg enum Found 1 device(s) Device: Anvyl Product Name: Digilent Anvyl User Name: Anvyl Serial Number: 210258477713 I really though I was there. When I tried to prog with djtgcfg prog -i 0 -d Anvyl -f hexpad.bit djtgcfg just hung When I traced with strace -f -v prog -i 0 -d Anvyl -f hexpad.bit >log 2>&1 I see that the file is full of nanosleep({0, 1000}, NULL) = 0 [pid 4672] nanosleep({0, 1000}, NULL) = 0 [pid 4672] nanosleep({0, 1000}, NULL) = 0 [pid 4672] nanosleep({0, 1000}, <unfinished ...> [pid 4666] <... poll resumed> ) = 1 ([{fd=18, revents=POLLOUT}]) [pid 4666] ioctl(18, USBDEVFS_REAPURBNDELAY, 0x7fcf9a29de40) = 0 [pid 4672] <... nanosleep resumed> NULL) = 0 [pid 4666] ioctl(18, USBDEVFS_DISCARDURB <unfinished ...> [pid 4672] nanosleep({0, 1000}, <unfinished ...> [pid 4666] <... ioctl resumed> , 0x7fcf88000b58) = -1 EINVAL (Invalid argument) [pid 4666] ioctl(18, USBDEVFS_DISCARDURB, 0x7fcf88000b20) = -1 EINVAL (Invalid argument) [pid 4666] ioctl(18, USBDEVFS_DISCARDURB <unfinished ...> [pid 4672] <... nanosleep resumed> NULL) = 0 [pid 4666] <... ioctl resumed> , 0x7fcf88000ae8) = -1 EINVAL (Invalid argument) [pid 4672] nanosleep({0, 1000}, <unfinished ...> [pid 4666] poll([{fd=13, events=POLLIN}, {fd=18, events=POLLOUT}], 2, 100) = 1 ([{fd=18, revents=POLLOUT}]) [pid 4666] ioctl(18, USBDEVFS_REAPURBNDELAY <unfinished ...> [pid 4672] <... nanosleep resumed> NULL) = 0 [pid 4666] <... ioctl resumed> , 0x7fcf9a29de40) = 0 looping repeatedly. I was suprised to see around 8 processes in this trace. Gary
  6. Yes I have the latest versions. I had to changed the install scripta to accept the latest linux kernel (4.xx) as the install script was only expecting <4.0. I can confirm that when the FTDI/Anvyl board is plugged in, udev rules correctly route to the /usr/sbin/dftdrvdtch I proved this by replacing /usr/sbin/dftdrvdtch with my own executable which logs the args to a file. dftdrvdtch does seem to detach usb device (I can see the logged messages in dmesg) As I mentioned I can run on a ubuntu VM running in parallels from my mac. I just ran 'strace -v -f on djtgcfg enum' on my mac and will compare it with that from ubuntu running on bare metal. I am happy to help debug. It is weird. Gary
  7. I don't really have a segment in mind. it is very frustrating that the adept tools (such as djtgcfg) do not seem to work consistently on modern linux distributions. People spend good money on digilent boards (>500 for my Anvyl board) and it is essentially useless, because I can't get my bitfile across to the device. The only thing we can do is try to ask on this forum, but the response from tech folk at digilent is very very slow. If the source code for these utils were opened up, maybe ww could help debugging them. Gary
  8. grf

    Moving to Linux

    Hey Jamey Hicks Thanks for your project. I have been hacking on it to try to solve my issue with djtgcfg issues on an Anvyl board. fpgajtag recognized my Anvyl board straight after a build. I have some 'patches' to allow it to recognize basys2 and nexys3 boards if you would like them. I presume that that the fpgajtag tool is not intended to be 'Series 7 Only', but that testing has been limited to Series 7, is that a fair assessment? Gary
  9. Have you considered making the source for some of the adept tools available? This way the community of 'enthusiastic coders' could help try to fix some of the issues with djtgcfg/dadutil with later versions of ubuntu. I have tried (for example) debugging the particular issue with djtgcfg not detecting my Anvyl board using strace, but access to teh code would really help. Anyway. Just a thought. Gary
  10. I have a weird error with latest djtgcfg on ubuntu (linux 4.2 ubuntu Wily) I have three devel boards (Basys2, Nexys3 and Anvyl). djtgcfg enum recognizes the Basys2 and Nexys3 boards, but not the Anvyl I note that lsusb reports the Anvyl board as ... Bus 001 Device 013: ID 0403:6010 Future Technology Devices International, Ltd FT2232C Dual USB-UART/FIFO IC Curiously/previously I was able to use all three devices when I run Webpack ISE and djtgfg on ubuntu under 'parallels VM' on my Mac Book Pro. I am happy to hack/help diagnose. And yes I did change to recognize kernel 4.2 Any help would be appreciated. I have an Anvyl project I want to complete. Thanks in advance.
  11. grf

    Can cmod s6 be used to drive VGA

    Thanks Alex. That worked. I tend not to use ISE/IDE (command line guy) but finally worked out the coregen magic options Gary
  12. Sorry if this is a dumb question. I am fairly new to FPGA's, I have had a Basys2 for a while and just got a Cmod s6 to tinker with I note that the clock on the cmod s6 is only 8MHz. I would ideally like to drive VGA so need 25Mhz. From the schematic I don't think I can easily introduce my own external clock (crystal), but was intrigued by this statement in the docs. "The 8MHz clock, called “FPGA-GCLK”, can be used with the FPGA’s clock manager to create a wide range of frequencies, even beyond 200MHz" How would one go about generating (say 25MHz)? And should I be expect to be able to drive VGA with a generated clock. Thanks in advance. Gary