cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Anonymous
Not applicable
6,075 Views

ZC702 network failure on large data transfer

Jump to solution

Using Wind River's VxWorks xlnx_zynq7k BSP. VxWorks image passed through BOOTGEN with resulting BOOT.BIN on SD card for booting directly to main VxWorks image. Once booted, network connection can be made to fail by initiating large data transfer. Same true if lots of small data transfers occur in rapid succession. Upon failure, calls to write() return success, even though no data is being transferred. Ping fails in both directions. Possible driver failure or mbuf pool exahausted? No indication of this from any query I can perform.

 

Wind River can't reproduce this. I can provide BOOT.BIN if you want it, which contains the entire boot image.

 

Anybody seen this network lockup after large data transfer? Note the default network stack pool is 16-20MB, and only 8KB are needed to lock it up.

 

Could using an incompatible FSBL cause this sort of problem?

0 Kudos
1 Solution

Accepted Solutions
Adventurer
Adventurer
9,541 Views
Registered: ‎09-21-2012

You do not need U-Boot to load a vxWorks image. You can use the First Stage Bootloader provided in SDK.

Steps:

1. Create the default FSBL for the ZC706

2. Use the image creation utility in SDK. Specify the FSBL from step 1 and add your vxWorks image (rename it to vxWorks.elf first)

3. Use the boot.bin file created

View solution in original post

3 Replies
Adventurer
Adventurer
9,542 Views
Registered: ‎09-21-2012

You do not need U-Boot to load a vxWorks image. You can use the First Stage Bootloader provided in SDK.

Steps:

1. Create the default FSBL for the ZC706

2. Use the image creation utility in SDK. Specify the FSBL from step 1 and add your vxWorks image (rename it to vxWorks.elf first)

3. Use the boot.bin file created

View solution in original post

Highlighted
Anonymous
Not applicable
5,979 Views

We discovered the problem. It is a simple duplex mismatch between host and target. The target (ZC702) expects to autonegotiate the connection speed/duplex setting, but the host (PC) was set to 100Mbps/full (fixed). This results in a duplex mismatch because the target will fall into 100Mbps/half in this case (industry specification prescribed behavior).

 

Setting the host to autonegotiate instead of 100Mbps/full solved the problem.

 

Moreover, a bug in the driver (Xilinx-authored, I presume, but I don't know that with certainly) was uncovered in the process of our investigation and is currently under review by Wind River engineers. In the circumstance described, collisions occur and the driver is unable to recover from this, which is apparently why the connection becomes completely unusable after this.

 

The "solution" posted by the moderator is irrelevant and has nothing to do with the problem I described. It should be removed.

0 Kudos
Highlighted
Anonymous
Not applicable
5,977 Views

@jangire wrote:

You do not need U-Boot to load a vxWorks image. You can use the First Stage Bootloader provided in SDK.

Steps:

1. Create the default FSBL for the ZC706

2. Use the image creation utility in SDK. Specify the FSBL from step 1 and add your vxWorks image (rename it to vxWorks.elf first)

3. Use the boot.bin file created


This is completely unrelated to the question I posted. So how did it manage to get a "Kudos" vote? Looks like another moderator voted for you. Sounds like buddies doing each other favors, voting up each other. At least try reading the post and the reply before voting up the reply. Sheesh. How very unprofessional.

0 Kudos