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: 
Visitor wjlbelieve
Visitor
10,039 Views
Registered: ‎12-05-2013

zynq linux has started up,ifconfig ,there is no eth0

kernel version I used is 3.10,and I use zynq_zc702.dts in xilinx-linx to generat the devicetree

a part of startup information:


Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 3.10.0-xilinx-15024-gefc2750-dirty (root@ubuntu) (gcc version 4.6.1 (Sourcery CodeBench Lite 2011.09-50) ) #7 SMP PREEMPT Wed Dec 4 23:50:42 PST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Xilinx Zynq Platform, model: Xilinx Zynq
bootconsole [earlycon0] enabled
cma: CMA: reserved 16 MiB at 2e800000
Memory policy: ECC disabled, Data cache writealloc
PERCPU: Embedded 8 pages/cpu @c0df8000 s8256 r8192 d16320 u32768
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
Kernel command line: console=ttyPS0,115200 root=/dev/ram rw ip=192.168.0.10:192.168.0.101:192.168.0.1:255.255.255.0::eth0:off earlyprintk
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1024MB = 1024MB total
Memory: 1012548k/1012548k available, 36028k reserved, 270336K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc0554228   (5425 kB)
      .init : 0xc0555000 - 0xc0580040   ( 173 kB)
      .data : 0xc0582000 - 0xc05bf7c8   ( 246 kB)
       .bss : 0xc05bf7c8 - 0xc05ec834   ( 181 kB)
Preemptible hierarchical RCU implementation.
        Dump stacks of tasks blocking RCU-preempt GP.
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
NR_IRQS:16 nr_irqs:16 16
ps7-slcr mapped to f0002000
Zynq clock init
sched_clock: 16 bits at 54kHz, resolution 18432ns, wraps every 1207ms
ps7-ttc #0 at f0004000, irq=43
Console: colour dummy device 80x30
Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0xc03d9418 - 0xc03d9470
L310 cache controller enabled
l2x0: 8 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x72360000, Cache size: 524288 B
CPU1: Booted secondary processor
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (2664.03 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
xgpiops e000a000.ps7-gpio: gpio at 0xe000a000 mapped to 0xf000c000
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
EDAC MC: Ver: 3.0.0
Switching to clocksource ttc_clocksource
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 4400K (dfbb3000 - dffff000)
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
bounce pool size: 64 pages
jffs2: version 2.2. (NAND) (SUMMARY)  漏 2001-2006 Red Hat, Inc.
msgmni has been set to 1490
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
dma-pl330 f8003000.ps7-dma: Loaded driver for PL330 DMAC-267056
dma-pl330 f8003000.ps7-dma:     DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
e0001垃薻奖晛[ttyPS0] enabled, bootconsole disabled
console [ttyPS0] enabled, bootconsole disabled
xdevcfg f8007000.ps7-dev-cfg: ioremap 0xf8007000 to f0062000
brd: module loaded
loop: module loaded
xqspips e000d000.ps7-qspi: master is unqueued, this is deprecated
m25p80 spi0.0: found n25q128a13, expected n25q128
m25p80 spi0.0: n25q128a13 (16384 Kbytes)
5 ofpart partitions found on MTD device spi0.0
Creating 5 MTD partitions on "spi0.0":
0x000000000000-0x000000100000 : "qspi-fsbl-uboot"
0x000000100000-0x000000600000 : "qspi-linux"
0x000000600000-0x000000620000 : "qspi-device-tree"
0x000000620000-0x000000c00000 : "qspi-rootfs"
0x000000c00000-0x000001000000 : "qspi-bitstream"
xqspips e000d000.ps7-qspi: at 0xE000D000 mapped to 0xF0064000, irq=51
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k
e1000e: Copyright(c) 1999 - 2013 Intel Corporation.
libphy: XEMACPS mii bus: probed
mdio_bus e000b000: cannot get PHY at address 7
xemacps e000b000.ps7-ethernet: pdev->id -1, baseaddr 0xe000b000, irq 54
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ULPI transceiver vendor/product ID 0x0424/0x0007
Found SMSC USB3320 ULPI transceiver.
ULPI integrity check: passed.
xusbps-ehci xusbps-ehci.0: Xilinx PS USB EHCI Host Controller
xusbps-ehci xusbps-ehci.0: new USB bus registered, assigned bus number 1
xusbps-ehci xusbps-ehci.0: irq 53, io mem 0x00000000
xusbps-ehci xusbps-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
usbcore: registered new interface driver usb-storage
mousedev: PS/2 mouse device common for all mice
i2c /dev entries driver
xi2cps e0004000.ps7-i2c: 400 kHz mmio e0004000 irq 57
pca954x 0-0074: probe failed
xadcps f8007100.ps7-xadc: enabled:      yes     reference:      external
xwdtps f8005000.ps7-wdt: Xilinx Watchdog Timer at f006e000 with timeout 10s
zynq-edac f8006000.ps7-ddrc: ecc not enabled
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc0: SDHCI controller on e0100000.ps7-sdio [e0100000.ps7-sdio] using ADMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
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
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
xemacps e000b000.ps7-ethernet: eth0: no PHY found
mmc0: new high speed SDHC card at address 1234
mmcblk0: mmc0:1234 SA04G 3.63 GiB (ro)
 mmcblk0: p1
xemacps e000b000.ps7-ethernet: XEMACPS mii bus mii_probe fail.
IP-Config: Failed to open eth0
IP-Config: Device `eth0' not found
Freeing unused kernel memory: 172K (c0555000 - c0580000)
Starting logging: OK
Starting mdev...
mdev: bad line 25
mdev: bad line 26
mdev: bad line 27
mdev: bad line 28
mdev: bad line 29
mdev: bad line 32
mdev: bad line 33
mdev: bad line 34
mdev: bad line 35
Initializing random number generator... done.
Starting network...
ip: RTNETLINK answers: File exists
Starting dropbear sshd: generating rsa key... generating dsa key... OK

 

after linux started up

 

# ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0A:35:00:01:22  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:54 Base address:0xb000

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

 

does this indicate it exist net driver?

how should I solve this problem?Beacause  I just started learning embedded,I have a large amount of things to study

hope you can answer in detail,thank you for your help sincerely!

I'm sorry ,my English is so poor that I am not sure if I have  expressed  the question very well

 

 

0 Kudos
9 Replies
Visitor wjlbelieve
Visitor
10,036 Views
Registered: ‎12-05-2013

Re: zynq linux has started up,ifconfig ,there is no eth0

Supplementary information
zynq> ifconfig eth0 up
xemacps e000b000.ps7-ethernet: eth0: no PHY found
xemacps e000b000.ps7-ethernet: XEMACPS mii bus mii_probe fail.
ifconfig: SIOCSIFFLAGS: No such device or address
0 Kudos
Xilinx Employee
Xilinx Employee
10,027 Views
Registered: ‎03-13-2012

Re: zynq linux has started up,ifconfig ,there is no eth0

What board is this? Two possible causes that come to my mind:

1. The phy address in your DT is wrong? You could just brute force try different ones

2. The phy is not reset properly. Do you have the ethernet phy reset connected? I think the FSBL should then include code to toggle that signal during boot up.

0 Kudos
Visitor wjlbelieve
Visitor
10,014 Views
Registered: ‎12-05-2013

Re: zynq linux has started up,ifconfig ,there is no eth0

Hi,sorenb,Thank you so much for your reply!

 

I'm sorry I'm a rookie in this field

if my phy address is wrong,how can I get the right one? and where can I make sure if my phy address is right?


how can I make sure if I have the ethernet phy reset connected? where to reset the erherner phy?

 

my board is zynq 7000 EES262,which maybe I think you should not have heard of

I was in accordance with the steps to generate the kernel of the xilinx official website

 

0 Kudos
Xilinx Employee
Xilinx Employee
10,010 Views
Registered: ‎03-13-2012

Re: zynq linux has started up,ifconfig ,there is no eth0

Regarding the phy address you could take a look at this thread http://forums.xilinx.com/t5/Embedded-Linux/boot-problem-with-xilinx-master-next-on-Zedboard/m-p/387137/highlight/false#M7343 . But if you have custom board with a different phy, you'll have to check the appropriate datasheet. Worst case, you'd have to brute force through the possible addresses.

 

The phy-reset is a line you would connect when you configure the PS in Vivado. When you configure the peripherals and on which pins they are, you can also select resets for the phys.

0 Kudos
Visitor wjlbelieve
Visitor
10,005 Views
Registered: ‎12-05-2013

Re: zynq linux has started up,ifconfig ,there is no eth0

Thanks for your reply.
I think I have met the same problems with that original poster
but...
can you tell me where to modify source code like this in "xilinx-xlnx"
ps7_ethernet_0: ps7-ethernet@e000b000 {
#address-cells = <1>;
#size-cells = <0>;
clock-names = "ref_clk", "aper_clk";
clocks = <&clkc 13>, <&clkc 30>;
compatible = "xlnx,ps7-ethernet-1.00.a";
interrupt-parent = <&ps7_scugic_0>;
interrupts = <0 22 4>;
local-mac-address = [00 0a 35 00 00 00];
phy-handle = <&phy0>;
phy-mode = "rgmii-id";
reg = <0xe000b000 0x1000>;
xlnx,enet-reset = <0xffffffff>;
xlnx,eth-mode = <0x1>;
xlnx,has-mdio = <0x1>;
xlnx,ptp-enet-clock = <111111115>;
mdio {
#address-cells = <1>;
#size-cells = <0>;
phy0: phy@0 {
compatible = "marvell,88e1510";
device_type = "ethernet-phy";
reg = <0x0>;
marvell,reg-init = <0x3 0x10 0xff00 0x1e 0x3 0x11 0xfff0 0xa>;
} ;
} ;
} ;

Forgive me for asking such a simple problem
0 Kudos
Xilinx Employee
Xilinx Employee
10,000 Views
Registered: ‎03-13-2012

Re: zynq linux has started up,ifconfig ,there is no eth0


@wjlbelieve wrote:
Thanks for your reply.
I think I have met the same problems with that original poster
but...
can you tell me where to modify source code like this in "xilinx-xlnx"
ps7_ethernet_0: ps7-ethernet@e000b000 {
#address-cells = <1>;
#size-cells = <0>;
clock-names = "ref_clk", "aper_clk";
clocks = <&clkc 13>, <&clkc 30>;
compatible = "xlnx,ps7-ethernet-1.00.a";
interrupt-parent = <&ps7_scugic_0>;
interrupts = <0 22 4>;
local-mac-address = [00 0a 35 00 00 00];
phy-handle = <&phy0>;
phy-mode = "rgmii-id";
reg = <0xe000b000 0x1000>;
xlnx,enet-reset = <0xffffffff>;
xlnx,eth-mode = <0x1>;
xlnx,has-mdio = <0x1>;
xlnx,ptp-enet-clock = <111111115>;
mdio {
#address-cells = <1>;
#size-cells = <0>;
phy0: phy@0 {
compatible = "marvell,88e1510";
device_type = "ethernet-phy";
reg = <0x0>;               <==== this is the phy address
marvell,reg-init = <0x3 0x10 0xff00 0x1e 0x3 0x11 0xfff0 0xa>;
} ;
} ;
} ;

Forgive me for asking such a simple problem

 

0 Kudos
Visitor wjlbelieve
Visitor
9,993 Views
Registered: ‎12-05-2013

Re: zynq linux has started up,ifconfig ,there is no eth0

mdio {
#address-cells = <1>;
#size-cells = <0>
phy0: phy@0 {     <====when without change,the number is 7 in my source code,is there a  connection between this 0 and the following 0x0?
compatible = "marvell,88e1510";
device_type = "ethernet-phy";
reg = <0x0>;               <==== this is the phy address
marvell,reg-init = <0x3 0x10 0xff00 0x1e 0x3 0x11 0xfff0 0xa>;
} ;
} ;

 

I tryed what that original poster refered to,

It doesn't work to me  it also has the same problem

how could I know what  phy address is  in my board ?

 

0 Kudos
Xilinx Employee
Xilinx Employee
9,988 Views
Registered: ‎03-13-2012

Re: zynq linux has started up,ifconfig ,there is no eth0

The node name is irrelevant, AFAIK. The reg property is essential.

 

Regarding your board, you have to look up the data sheets for your board's ICs. You may even have a completely different phy on the board that might require to use a different phy driver, which would mean you'd have to check whether that driver is enabled in your kernel and change the compatible string.

0 Kudos
Newbie 00001111
Newbie
6,616 Views
Registered: ‎03-17-2015

Re: zynq linux has started up,ifconfig ,there is no eth0

Hi! I hope you can view my message.

Now I have the same question with you and I donnot how to config my kernel to make sure my ethernet to have a IP automaticly and make ethernet work.Can you give me a help!

0 Kudos