UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer fd9750
Observer
8,223 Views
Registered: ‎06-13-2014

Xilinx Microzed board not always accessible over Ethernet

Jump to solution

Hi All,

 

I am using a microZed board with Linux kernel 3.8.

 

Generally it works quite well but sometimes I can't access the board over the ethernet link although the serial link is always 100% OK.

 

When it happens nothing works: the SDK can't get to it, it does not respond to ping commands in both directions. Its as if it has completely locked up.

 

That is odd because when I observe the board's boot up sequence through the serial link I can't see the slightest bit of difference between a boot sequence after which everything works and one where it does not. I definitely get the "xemacps e000b000.ps7-ethernet: link up (1000/FULL)" message in each and every case.

 

It can't be a router problem because there is not one. The link between the Windows machine and the booard is a plain vanilla cable running directly from the PC to the board. On the PC side there is a dedicated network adapter used solely for the PC <=> board connection.

 

When it happens the solution is to make the MicroZed board reboot. Usually rebooting once is enough but it can take several times. Then things get going again (without rebooting the windows machine), everything works well and keeps on doing so.

 

Has anyone ever observed this sort of behaviour or better still found a reason/solution for it ?

 

Any help much appreciated.

0 Kudos
1 Solution

Accepted Solutions
Scholar rfs613
Scholar
12,752 Views
Registered: ‎05-28-2013

Re: Xilinx Microzed board not always accessible over Ethernet

Jump to solution
"make distclean" still exist in 3.14, maybe you were in the wrong directory when trying to run it?

As for the compile error... it looks like you are missing kernel/hrtimer.c file, and that makes me wonder if you are missing other files. Perhaps double-check how you obtained the source code?

Also note that for Zynq, you need to specify the load address when building. (http://www.wiki.xilinx.com/Build+Kernel#Zynq)
make arch=ARM UIMAGE_LOADADDR=0x8000 uImage
0 Kudos
7 Replies
Scholar rfs613
Scholar
8,210 Views
Registered: ‎05-28-2013

Re: Xilinx Microzed board not always accessible over Ethernet

Jump to solution
0 Kudos
Highlighted
Observer fd9750
Observer
8,200 Views
Registered: ‎06-13-2014

Re: Xilinx Microzed board not always accessible over Ethernet

Jump to solution

Ok, looking at the info at the various links it seems likely a newer kernel would solve the problem.

 

So: I started by trying to compile kernel version 3.14.

 

For starters the first command I was able to use in 3.8 "make distclean" did not work because it did not recognise distclean.

 

Moving the whole setup to to a directory "xilinx-xlnx" cured that one.

 

Then I managed to successfully use "make ARCH=arm xilinx_zynq_defconfig".

 

When I want to execute "make ARCH=arm" I get an error I can't explain:

It happily starts to build a ton of  things and all of a sudden it reports:

 

*** No rule to make target 'kernel/hrtimer.o', needed by kernel/builtin.o. Stop.

I haven't found a reason for it yet so I am searching for it. Any suggestions though would be most welcome.

 

 

 

 

 

0 Kudos
Scholar rfs613
Scholar
12,753 Views
Registered: ‎05-28-2013

Re: Xilinx Microzed board not always accessible over Ethernet

Jump to solution
"make distclean" still exist in 3.14, maybe you were in the wrong directory when trying to run it?

As for the compile error... it looks like you are missing kernel/hrtimer.c file, and that makes me wonder if you are missing other files. Perhaps double-check how you obtained the source code?

Also note that for Zynq, you need to specify the load address when building. (http://www.wiki.xilinx.com/Build+Kernel#Zynq)
make arch=ARM UIMAGE_LOADADDR=0x8000 uImage
0 Kudos
Observer fd9750
Observer
8,192 Views
Registered: ‎06-13-2014

Re: Xilinx Microzed board not always accessible over Ethernet

Jump to solution
Hi, Mystery solved. I was indeed missing some files. I unpacked the same zip file on the Virtual Centos machine and my windows machine. On windows I got all the files, on the virtual Linux machine a few were missing. Maybe I inadvertently stopped the unpacking procedure to soon.
0 Kudos
Xilinx Employee
Xilinx Employee
8,182 Views
Registered: ‎03-13-2012

Re: Xilinx Microzed board not always accessible over Ethernet

Jump to solution

Don't use windows for such things. It can't handle symlinks properly - and other things probably too.

0 Kudos
Observer fd9750
Observer
8,172 Views
Registered: ‎06-13-2014

Re: Xilinx Microzed board not always accessible over Ethernet

Jump to solution

Hi,

 

I finally cracked and it turns out the reason for the problems was that the archive manager on the virtual Linux Centos machine did not unpack everything.

 

 

What put me on the wrong foot was that I also unpacked the kernel source on my windows machine using 7-zip (not to build it but just to see what was in the package). 7-zip neatly unpacked everything so I thought the same was true on my virtual Linux machine.

 

Why the archive manger missed a few beats is a mystery, maybe I inadvertently stopped it too early.

 

Once I unpacked everything again and let it run to the end all was well and I effortlessly built the kernel on the virtual Linux machine.

0 Kudos
Observer fd9750
Observer
8,170 Views
Registered: ‎06-13-2014

Re: Xilinx Microzed board not always accessible over Ethernet

Jump to solution

Hi,

 

Thanks for the info. I finally managed to build the kernel, compiled the appropriate device tree and got the MicroZed board to boot from the new SD card content.

 

I have tested it quite thoroughly and it seems that the update ethernet driver in version 3.14 of the linux-xlnx kernel cured the problem.

 

At least each time the board boots I can ping to it from the Windows machine, something I could not be sure of when I booted version 3.8.

 

I will post a separate message on what I had to do to get things to work.

0 Kudos