cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
nbedbury
Observer
Observer
5,437 Views
Registered: ‎07-31-2012

ZYNQ ZC702 - No ETH link up when using rebuilt kernel/devicetree

Jump to solution

Hi all,

 

I am attempting to boot Linux on ZYNQ from a rebuilt kernel and devicetree (files are directly from Git, xilinx-14.2-build1).  The board is setup to boot from the SD card and I have copied the updated zImage and devicetree.dtb to the card.  The other files on the card (BOOT.bin, ramdisk8M.image.gz, etc) are from the ug873_design_files download.  The boot process appears to go fine until the ethernet link is started. Several DHCP requests are sent before the process times out and the board is left with no ethernet connection.

 

Does anyone know if the Linux kernel from Git xilinx-14.2-build1 has issues with the BOOT.bin from ug873?  Or any other issues that might cause this?  If I return the zImage and devicetree.dtb files to the ug873 download, the board boots just fine.

 

The following is part of the serial output during the boot sequence:

 

TCP cubic registered
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
Registering SWP/SWPB emulation handler
rtc-pcf8563 5-0051: low voltage detected, date/time is not reliable.
rtc-pcf8563 5-0051: retrieved date/time is not valid.
rtc-pcf8563 5-0051: hctosys: invalid date/time
GEM: lp->tx_bd ffdfb000 lp->tx_bd_dma 2ead3000 lp->tx_skb ef3f72c0
GEM: lp->rx_bd ffdfc000 lp->rx_bd_dma 2ead2000 lp->rx_skb ef3f71c0
GEM: MAC 0xb02e82da, 0x00005ceb, da:82:2e:b0:eb:5c
mmc0: new high speed SDHC card at address e624
mmcblk0: mmc0:e624 SU08G 7.40 GiB
 mmcblk0: p1
GEM: phydev ef3dea00, phydev->phy_id 0x1410e40, phydev->addr 0x7
eth0, phy_addr 0x7, phy_id 0x01410e40
eth0, attach [Marvell 88E1116R] phy driver
Sending DHCP requests ..
eth0: link up (1000/FULL)
.... timed out!
IP-Config: Reopening network devices...
GEM: lp->tx_bd ffdfb000 lp->tx_bd_dma 2ead2000 lp->tx_skb ef3f71c0
GEM: lp->rx_bd ffdfc000 lp->rx_bd_dma 2ead3000 lp->rx_skb ef3f72c0
GEM: MAC 0xb02e82da, 0x00005ceb, da:82:2e:b0:eb:5c
GEM: phydev ef3dea00, phydev->phy_id 0x1410e40, phydev->addr 0x7
eth0, phy_addr 0x7, phy_id 0x01410e40
eth0, attach [Marvell 88E1116R] phy driver
Sending DHCP requests .
eth0: link up (1000/FULL)
..... timed out!
IP-Config: Auto-configuration of network failed.
RAMDISK: gzip image found at block 0
VFS: Mounted root (ext2 filesystem) on device 1:0.
devtmpfs: mounted
Freeing init memory: 144K
Starting rcS...
++ Mounting filesystem
++ Setting up mdev


0 Kudos
1 Solution

Accepted Solutions
norman_wong
Scholar
Scholar
6,728 Views
Registered: ‎05-28-2012

Did the bootargs change between versions? Check the "ip" bootarg in the boot messages and in the DTS. Perhaps one is booting with static IP and the other is DHCP.

 

View solution in original post

4 Replies
nbedbury
Observer
Observer
5,436 Views
Registered: ‎07-31-2012

When the board boots correctly, I see the following via the serial connection:

 

mmc0: new high speed SDHC card at address e624
mmcblk0: mmc0:e624 SU08G 7.40 GiB
 mmcblk0: p1
GEM: phydev ef187a00, phydev->phy_id 0x1410e40, phydev->addr 0x7
eth0, phy_addr 0x7, phy_id 0x01410e40
eth0, attach [Marvell 88E1116R] phy driver
IP-Config: Complete:
     device=eth0, addr=192.168.1.10, mask=255.255.255.0, gw=255.255.255.255,
     host=ZC702, domain=, nis-domain=(none),
     bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath=
RAMDISK: gzip image found at block 0
VFS: Mounted root (ext2 filesystem) on device 1:0.
devtmpfs: mounted
Freeing init memory: 144K
Starting rcS...
++ Mounting filesystem
++ Setting up mdev


0 Kudos
norman_wong
Scholar
Scholar
6,729 Views
Registered: ‎05-28-2012

Did the bootargs change between versions? Check the "ip" bootarg in the boot messages and in the DTS. Perhaps one is booting with static IP and the other is DHCP.

 

View solution in original post

nbedbury
Observer
Observer
5,430 Views
Registered: ‎07-31-2012

In my rebuild of the Linux kernel, I had this line in the DTS:

   bootargs = "console=ttyPS0,115200 root=/dev/ram rw initrd=0x800000,8M ip=:::::eth0:dhcp earlyprintk";

I'm not sure what was in the ug873 downloaded version.

 

I monitored the Ethernet traffic using Wireshark and I see DHCP Discover packets in both the successful and unsucessful cases.  It's seems like the kernel is trying to register for an IP but is not successful in my rebuild.  I wouldn't mind a static IP if that will make it work.

0 Kudos
nbedbury
Observer
Observer
5,428 Views
Registered: ‎07-31-2012

My mistake: looking again, the ug873 version is booting a static IP (there are no DHCP requests as I mentioned in the previous post). 

 

Switching my rebuilt kernel devicetree.dtb to do static IP solved the issue.  Thanks Norman!

0 Kudos