cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
mbornhold
Visitor
Visitor
9,549 Views
Registered: ‎06-12-2014

Petalinux boot hangs on: 'Waiting for PHY auto negotiation to complete..'

Jump to solution

Hello,

 

i have trouble booting petalinux prebuilt image via JTAG on a ZedBoard. The boot seems to hang with the message 'Gem.e000b000 Waiting for PHY auto negotiation to complete..' but without any further error messages. Another developer in my team can boot without any problems running the exact same commands and using the same petalinux and BSP version.

 

The only difference i found in the verbose logs of petalinux-boot was the XMD version. I am using XMD v2014.2 (64-bit) and he is using XMD v2014.1 (64-bit). Maybe there is a bug in the new version 2014.2.

 

Does anyone else encounter this problem with the new Vivado/XMD Version?

Has anyone a solution for this problem or hints for further debugging?

 

My Configuration:

OS: CentOS 6.5 (64bit) running in VirtualBox

Vivado: 2014.2

Petalinux: v2013.10-final

BSP: Avnet-Digilent-ZedBoard-v2013.10-final.bsp

 

I attached the output of petalinux command and serial console.

 

Thanks in advance,

Martin

 

Tags (1)
0 Kudos
Reply
1 Solution

Accepted Solutions
mbornhold
Visitor
Visitor
12,704 Views
Registered: ‎06-12-2014

Hi,

 

i had some time to do further investigations and found a real solution for my problem. As i explained before i use Vivado 2014.2 with PetaLinux 2014.2. I created a custom prebuilt image and booted it with the following commands on a ZedBoard:

petalinux-package --prebuilt --fpga /home/user/vivado/pg_normal/pg_normal.runs/impl_1/pg_design1_wrapper.bit
petalinux-boot --jtag --prebuilt 3 -v

 The boot process hangs with the following serial console output an no error messages from petalinux-boot:

U-Boot 2014.01 (Jun 25 2014 - 08:43:09)

Memory: ECC disabled
DRAM:  512 MiB
MMC:   zynq_sdhci: 0
SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Gem.e000b000
U-BOOT for pg_normal_petalinux

Gem.e000b000 Waiting for PHY auto negotiation to complete..Uncompressing Linux...

Now i found out that the processor was simply in "stopped" mode. I used XMD to send the JTAG "con" command to continue the execution and everything works fine. I did it with the following commands:

# start XMD from linux terminal:
$ xmd

# inside XMD:
XMD% connect arm hw
...
Connected to "arm" target. id = 64
Starting GDB server for "arm" target (id = 64) at TCP port no 1234
XMD% con
Processor started. Type "stop" to stop processor

 Maybe this will help someone who also encounters this problem.

 

Greetings,

Martin

View solution in original post

5 Replies
mbornhold
Visitor
Visitor
9,541 Views
Registered: ‎06-12-2014

Hello again,

 

my guess seems to be correct, after downgrading from Vivado 2014.2 to 2014.1 everything works fine. So there must be a bug in the new Vivado (XMD) version.

 

Hopefully this Post helps someone else and/or Xilinx to fix the problem :)

 

With kind regards,

Martin

0 Kudos
Reply
mbornhold
Visitor
Visitor
12,705 Views
Registered: ‎06-12-2014

Hi,

 

i had some time to do further investigations and found a real solution for my problem. As i explained before i use Vivado 2014.2 with PetaLinux 2014.2. I created a custom prebuilt image and booted it with the following commands on a ZedBoard:

petalinux-package --prebuilt --fpga /home/user/vivado/pg_normal/pg_normal.runs/impl_1/pg_design1_wrapper.bit
petalinux-boot --jtag --prebuilt 3 -v

 The boot process hangs with the following serial console output an no error messages from petalinux-boot:

U-Boot 2014.01 (Jun 25 2014 - 08:43:09)

Memory: ECC disabled
DRAM:  512 MiB
MMC:   zynq_sdhci: 0
SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Gem.e000b000
U-BOOT for pg_normal_petalinux

Gem.e000b000 Waiting for PHY auto negotiation to complete..Uncompressing Linux...

Now i found out that the processor was simply in "stopped" mode. I used XMD to send the JTAG "con" command to continue the execution and everything works fine. I did it with the following commands:

# start XMD from linux terminal:
$ xmd

# inside XMD:
XMD% connect arm hw
...
Connected to "arm" target. id = 64
Starting GDB server for "arm" target (id = 64) at TCP port no 1234
XMD% con
Processor started. Type "stop" to stop processor

 Maybe this will help someone who also encounters this problem.

 

Greetings,

Martin

View solution in original post

linnj
Xilinx Employee
Xilinx Employee
9,458 Views
Registered: ‎09-10-2008
Anytime I see Uncompressing Linux... and the kernel does not boot I would make sure earlyprintk is on the kernel command line in the device tree to get as much output as possible. If the kernel is built to use the PL and the PL is not loaded or something is wrong with the PL image the kernel can become locked up trying to access the device. I would take out all the devices from the device tree that are not required for a minimal boot then try it.
0 Kudos
Reply
mbornhold
Visitor
Visitor
9,453 Views
Registered: ‎06-12-2014

I don't know what the earlyprintk argument does but it's definitely on the kernel command line in the device tree. The PL seems to be ok and i also encounter this problem when i try to boot the Avnet-Digilent-ZedBoard-v2014.2-final.bsp from Xilinx.

 

Greetings, Martin

0 Kudos
Reply
njclimer
Visitor
Visitor
9,442 Views
Registered: ‎06-25-2014

I just ran into the same problem, and this got me past it....why does it start halted?

0 Kudos
Reply