-
Notifications
You must be signed in to change notification settings - Fork 8
Ensure we can read out link status from the CTP6 FE at Chamberlin #4
Comments
Jes is working on getting the JTAG XMD going for step 4, the IP address to ssh to BE is |
I must be missing something obvious here -- the first step says to compile with make but... compile what? Where? It looks like the cactuscore-uhal packages are already installed by Yum, but I can't find anything on Ayinger that looks like TCP or SoftIPBus, so I don't even know where to find the makefile. |
Also, how do I get the Xilinx Petalinux SDK? AFAIK it's not installed on Ayinger. |
You want to run make in the softipbus package, which is on SVN svn co svn+ssh://svn.cern.ch/reps/cactus/trunk/cactuscore/softipbus$HOME/trigger_code/softipbus Check out environment.sh in cms-calo-layer1 for setting up the petalinux Evan On Wed, Oct 2, 2013 at 11:30 PM, nwoods notifications@github.com wrote:
|
Any time I try to scp onto or off of the CTP6 is fails with the message sh: scp: Input/output error I'll bug Jes about it after my afternoon class, but if you have any ideas in the mean time I'd love to hear them. Nate |
Can you ssh into it? Are you scp into /tmp? On Thu, Oct 3, 2013 at 7:30 PM, nwoods notifications@github.com wrote:
|
ssh works fine. I can't scp into /tmp or into ~ |
If you ssh in, can you "touch /tmp/test_creation" On Thu, Oct 3, 2013 at 7:39 PM, nwoods notifications@github.com wrote:
|
Yep, already tried that (it works)... I probably need to ask Jes.
|
So fun story: the CTP6 apparently committed circuit board seppuku and corrupted its own root directory. Jes is reflashing Petalinux and with any luck we'll be back in business in a few minutes. We should probably look into this carefully, though. Jes says that there's almost nothing a person could have done to cause this, so it was probably a board error and we had better make sure it's not going to do that too often. |
I got softipbus and softipbus-forward successfully uploaded onto the CTP6, but neither one will run. I get the following errors (in which I am replacing unreadable characters with 'X'):
Running
|
For it to work on the CTP6, PETALINUX definitely has to be set. The CTP6 has a different architecture than ayinger/your PC so you need to use the special GCC binary from petalinux to "cross-compile" it correctly - otherwise you will expect errors like your second one. The reason for the "error" reported at the end is because since you have cross-compiled to the MB arch you can't run the binaries on your local PC to test them. I've fixed the Makefile so it doesn't cause an error, just an informative message. Run "svn update" in your softipbus directory to get it. It seems that you are still suffering from the same problem (wrong target architecture [1]), even with $PETALINUX set. I think this is because @jtikalsky has changed the PETALINUX distribution here [2] to the ZYNQ chip. Jes, can you have a look? The $CC that I pick up from [1] http://gaoithe.livejournal.com/33519.html |
OK, I'm working on UCT energy sum rates and efficiencies in the hope of having them for the JETMET talk on Tuesday. @jtikalsky, could you let me know when you figure this out? Thanks! |
@nwoods, @ekfriis has the right idea, I'm betting. You cannot use this petalinux installation for your work at this time, as it is being used for a build for the ZC702 board. You will need to set up a separate environment to do your builds in, or risk this problem recurring frequently even if I do switch modes back for you right now. @ekfriis, I believe you did something like this at CERN for yourself when you were developing softipbus initially. Can you give a list of steps you had to do to get that working? I know what's required for a full ground-up build, but a simplified procedure to get to the point of cross-compilation may be more useful here. @nwoods, for PetaLinux licensing, if you are on the Chamberlin network you can set the environment variable XILINXD_LICENSE_FILE='2100@dawn.physics.wisc.edu' which will take care of everything. |
So testing Zen mode is interesting test
|
Hi @jtikalsky, I found an old makefile where I manually pick out the GCC binary from the petalinux folder: Hopefully @nwoods will find it useful. In any case, can we just have a separate PETALINUX directory with the CTP6? I think this would be easiest. |
I got ipbus and ipbus-forward running on the CTP6 (I think -- they both just sit silently until killed), and I was able, after some effort, to get ctp6_fe_uart_ipbus compiled. At the end of the compilation, it gives an error, saying that the CTP cable is not connected:
Since I can ssh into the CTP6, this seems unlikely. Any idea what this could be? |
Are you on Ayinger? Look and see if a red JTAG programmer is plugged into Ayinger and into the
might fix it. If not you need to ask Jes, she knows how to do it. We On Wed, Oct 9, 2013 at 12:25 AM, nwoods notifications@github.com wrote:
|
I'm about 80% sure that I was just able to compile ctp6_fe_uart_ipbus and upload it. The 20% uncertainty comes from the fact that I actually built and uploaded something called I can't finish putting all the pieces together now, though, because the card's TCP connection seems to be down. I told @jtikalsky and she said she'd look at it when she got a chance. Jes, can you email me or comment here when you know what's up? Thanks! |
Yes, take back your 20% - before each binary (.elf) had a different name, I On Wed, Oct 9, 2013 at 6:41 PM, nwoods notifications@github.com wrote:
|
Progress: I'm close to get ctp6commander working. I can't source the custom version On Wed, Oct 9, 2013 at 11:56 AM, Evan K. Friis notifications@github.comwrote:
|
What is special about this version? On 10/10/2013 04:47 PM, nwoods wrote:
|
I have no idea, but it seems that it's the only one that will run On Thu, Oct 10, 2013 at 4:48 PM, jtikalsky notifications@github.com wrote:
|
The default version of python is 2.4, which was not compatible with the However, there is a 2.6 version installed on ayinger. I just pushed ac8ffe559698ba5960f93b165bd0d06911ac3b26, which make BTW Nate, the code in ctp6commander is a not-completely-tested refactoring [1] On Thu, Oct 10, 2013 at 11:51 PM, nwoods notifications@github.com wrote:
|
Since Evan told me how to make xmd talk to the correct FPGA it's not
This may be something obvious that I don't know because I'm still new to On Fri, Oct 11, 2013 at 2:52 AM, Evan K. Friis notifications@github.comwrote:
|
Try typing "rst" to reset it. Then "dow" the program again, then "run" it On Fri, Oct 11, 2013 at 7:02 PM, nwoods notifications@github.com wrote:
|
rst worked, and it looks like it's downloading and running successfully. I upgraded ctp6commander but now when I
|
A few questions on Mathias's behalf: Can you explain the difference between softipbus and softipbus-forward? I've used softipbus-forward, and I've been scp'ing softipbus to the card every time I recompile it, but I don't actually know when I'm supposed to use it. From the names, it sounds like both need to be running for things to work, but that's not possible. Also, if we want to include these in the petalinux flash, how do we do that? |
softipbus and softipbus-forward are separate programs. softipbus runs a TCP server which reads out the local memory - so this is what needs to run to read memory from the backend, if we want to. We have not needed this as a use-case to date. Sidebar: once we get the ZYNQ chip, we will only need this program, since the Mathias will do magic to make the front end appear as back-end memory. softipbus-forward runs a TCP server (on the backend), and then forwards the packets across the UART, to the front end. The UART devices forwarded over are defined in the softipbus makefile [1] - the current defaults should be correct. Note that you also need to run the standalone program (ctp6_fe_uart_ipbus) on the front end [2], which reads the data sent on the UART, parses it, and sends a response back along the UART. The backend then sends this back over TCP.
ask Jes. at some point she added it, but I'm not sure what happened to that. [1] https://svnweb.cern.ch/trac/cactus/browser/trunk/cactuscore/softipbus/Makefile#L35 |
Are you sure that makefile is actually correct? I changed it to not look On Tue, Oct 15, 2013 at 3:45 PM, Evan K. Friis notifications@github.comwrote:
|
Mathias guessed that the problem we were having was due to a bad FPGA configuration and reflashed with the newest available. Unfortunately, around the same time he did that (but before, so we know the flash isn't responsible), JTAG mysteriously stopped working from Ayinger. The light on the JTAG box is green, so the box thinks it's connected, and it worked fine from Mathias's laptop, so the problem isn't on the card, so it must be an issue with Ayinger. We tried to find Jes to see if she could figure anything out, but she wasn't in. Any idea what sort of thing could cause this? |
We got JTAG working on Tapas's laptop (it still needs to be fixed on Ayinger), and tried to read the links. Now when we run
a few times a second. On the other hand, the |
@jtikalsky is the only one that knows the black art of fixing the JTAG, I asked her to document it in #23 If you are getting any partial transaction on the FE, that tells me you are getting something transmitted across the UART successfully. Can you try reducing the LOG_LEVEL to 2 (INFO only) and running again? It may be that it times out because writing the DEBUG output to the XMD console is too slow (the bane of debugging on these devices). I don't get your comment about the Makefile [1], can you clarify? If the system is not in a "clean" state, things can get wedged - i.e. if
If it fails, please post the console output of each of the three elements. [1] #4 (comment) |
I got our cable working, I put the steps that I followed in #23 |
Hi @nwoods, can you make sure any changes you have made are commited and pull-requested, and then document the most-correct steps to date? Pam can try doing it at 904. |
I'm going to attempt to fix the blocking error in the FE code. Is the loop On Wed, Oct 16, 2013 at 8:46 AM, Evan K. Friis notifications@github.comwrote:
|
Which blocking error? And what is read_uart or payload? read_uart is an On Wed, Oct 16, 2013 at 6:21 PM, nwoods notifications@github.com wrote:
|
Ah, that answers my question. I thought that |
Yes - but don't fix this now! The symptom of this is thing not being started correctly/one end crashing, which means you have to restart all the pieces [see this comment https://github.com//issues/4#issuecomment-26398597] before things will work again. You should be able to make it work at least once (i.e. by getting everything going so no bad packets are sent) The fix on having a timeout in the loop is for long term stability. Do not try to add this feature until you figure out why the current code is broken - we know the whole chain worked in August. |
(That being said, adding this feature will be an excellent improvement and a very good opportunity to get your hands dirty, but let's get it working first) |
With the most recent versions of everything, the link test fails with the message
Meanwhile, when
It spams that partial transaction method forever regardless of whether or not |
softipbus-forward should say something with log-level three - please see if On Wed, Oct 16, 2013 at 7:47 PM, nwoods notifications@github.com wrote:
|
Looking at the Makefile for |
That's fine, what you could do (just for completeness) is do copy paste the On Wed, Oct 16, 2013 at 9:08 PM, nwoods notifications@github.com wrote:
|
I'm not 100% sure, but there may be a cleaner fix to the python version issue contained in the file |
what python version issue? |
The 2.4 vs 2.6 issues, that had us bending over backwards to install new versions of python, set mysterious python path variables, etc. |
Ah cool, please post another issue/PR with this. In any case, as long as On Thu, Oct 17, 2013 at 7:43 PM, nwoods notifications@github.com wrote:
|
Apologies, I've been out of the office most of the week. 0.0.0.0 is not an IP you can connect to. You need to use something On 10/14/2013 05:04 PM, nwoods wrote:
|
"Simple"... I suppose it depends on what you consider simple. You'd There are some.. oddities in that process, issues that need to be Unfortunately I'd have to go through it again fully, locally, in order On 10/14/2013 07:42 AM, Evan K. Friis wrote:
|
We've been using 0.0.0.0 for quite a while (always from Ayinger, which On Fri, Oct 18, 2013 at 11:08 AM, jtikalsky notifications@github.comwrote:
|
I can't say you're WRONG, but connecting to 0.0.0.0 is really Not 0.0.0.0 is the special case address for 'listen on all addresses'. It's If you want to forward port 60002 on your system to 60002 on the card, On 10/18/2013 11:12 AM, nwoods wrote:
|
Hmm, maybe this is the root of all our problems :) @nwoods, maybe 127.0.0.1 Jes, we can compile correctly with a non-specific install of petalinux now. Thanks Evan On Fri, Oct 18, 2013 at 6:19 PM, jtikalsky notifications@github.com wrote:
|
@ekfriis |
I think we are reaching a conclusion in the monster successor of this monster thread, see #26 (comment) |
You need to:
make upload
in its directory)[1] https://svnweb.cern.ch/trac/cactus/browser/trunk/cactuscore/softipbus/README.md
[2] https://github.com/uwcms/ctp6commander
The text was updated successfully, but these errors were encountered: