cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Visitor
Visitor
12,263 Views
Registered: ‎07-27-2012

Ethernet Driver problem?

Hi,
I'm trying to load linux kernel in an Avnet LX9 microboard. I'm working with xilinx-14.1-build version and using the Xilinx AXI Ethernet Driver, but when I run linux and type the command: 'ifconfig eth0 up'
I receive: ifconfig: SIOCGIFFLAGS: No such device

 

Is posible that does not exist a valid Ethernet driver for this board?

What I may do?
Thanks

0 Kudos
Reply
10 Replies
Scholar
Scholar
12,258 Views
Registered: ‎05-28-2012

No experience with this platform. Some generic things to try. What does just "ifconfig -a" display? You could try the "ifup" and "ifdown" command scripts. Depends on how your file system is arranged.

 

0 Kudos
Reply
Xilinx Employee
Xilinx Employee
12,256 Views
Registered: ‎11-12-2007

The Ethernet driver isn't board specific, so it should work fine with the AXI Ethernet core on the Spartan-6 LX9 microboard. Do you have the Ethernet core in your DTS file, and did you fully build support for the AXI Ethernet driver into the kernel?

 

--Rob

0 Kudos
Reply
Visitor
Visitor
12,245 Views
Registered: ‎07-27-2012

Hi, I've tried these commands, and their replies are :

 

'ifconfig -a'


lo Link encap:Local Loopback
LOOPBACK MTU:16436 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)

 

'ifup eth0'

ifup: can't open '/etc/network/interfaces': No such file or directory

 

 

And this is the code section of my DTS and .config files:

DTS:

axi4lite_0: axi@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "xlnx,axi-interconnect-1.03.a", "simple-bus";
ranges ;
Ethernet_MAC: ethernet@40e00000 {
compatible = "xlnx,axi-ethernetlite-1.00.a", "xlnx,xps-ethernetlite-1.00.a";
device_type = "network";
interrupt-parent = <&microblaze_0_intc>;
interrupts = < 1 0 >;
local-mac-address = [ 00 0a 35 1e bc 00 ];
phy-handle = <&phy0>;
reg = < 0x40e00000 0x10000 >;
xlnx,duplex = <0x1>;
xlnx,family = "spartan6";
xlnx,include-global-buffers = <0x0>;
xlnx,include-internal-loopback = <0x0>;
xlnx,include-mdio = <0x1>;
xlnx,include-phy-constraints = <0x1>;
xlnx,rx-ping-pong = <0x0>;
xlnx,s-axi-aclk-period-ps = <0x3a98>;
xlnx,s-axi-id-width = <0x1>;
xlnx,s-axi-supports-narrow-burst = <0x0>;
xlnx,tx-ping-pong = <0x0>;
mdio {
#address-cells = <1>;
#size-cells = <0>;
phy0: phy@7 {
compatible = "marvell,88e1111";
device_type = "ethernet-phy";
reg = <7>;
} ;
} ;
} ;

 

 

.config file


#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=y
# CONFIG_DAVICOM_PHY is not set
# CONFIG_QSEMI_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set
CONFIG_NATIONAL_PHY=y
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_FIXED_PHY is not set
# CONFIG_MDIO_BITBANG is not set
# CONFIG_NET_ETHERNET is not set
CONFIG_NETDEV_1000=y
# CONFIG_XILINX_LL_TEMAC is not set
CONFIG_XILINX_AXI_ETHERNET=y
# CONFIG_XILINX_TEMAC is not set
CONFIG_XILINX_LLTEMAC=y
# CONFIG_XILINX_LLTEMAC_MARVELL_88E1111_RGMII is not set
# CONFIG_XILINX_LLTEMAC_MARVELL_88E1111_GMII is not set
# CONFIG_XILINX_LLTEMAC_MARVELL_88E1111_MII is not set
CONFIG_XILINX_LLTEMAC_NATIONAL_DP83865_GMII=y
# CONFIG_STMMAC_ETH is not set
CONFIG_NETDEV_10000=y
CONFIG_WLAN=y
# CONFIG_HOSTAP is not set

 

I have added the Ethernet core in DTS file and Ethernet AXI driver in .config file.

I'm working with ramdisk (root=/dev/ram), it could be the problem?

 

Thanks


0 Kudos
Reply
Scholar
Scholar
12,234 Views
Registered: ‎05-28-2012

Sounds like the driver is in place. But the only the local loopback is being configured. The DTS file, "chosen" section, the "bootargs" should have an "ip" argument like:

ip=:::::eth0:dhcp

Assumes you have a DHCP server on your network. Static ip definition is a more complicated. You might want to add "earlyprintk" as well. Just in case nothing prints out during boot. The ramdisk shouldn't be a problem. Ramdisks appears to be the Xilinx way. Anything in the boot messages that mention the network driver?

0 Kudos
Reply
Visitor
Visitor
12,230 Views
Registered: ‎07-27-2012

Thanks for reply norman.
In other forum, suggested me to use an older kernel version. Now I'm usign xilinx_v2.6.37.
With this version after run linux and type command 'ifconfig -a' I get this response:

 

eth0 Link encap:Ethernet HWaddr 00:0A:35:A1:E8:00
BROADCAST 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:1 Memory:40e00000-40e0ffff

 

lo Link encap:Local Loopback
LOOPBACK MTU:16436 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)

 

I can see eth0 interface, but when I try 'ifconfig eth0 up' command appeared this new error:

net eth0: of_phy_connect() failed

 

As you say, I put this argument on boot: 'console=ttyUL0 root=/dev/ram ip=:::::eth0:dhcp'
and during the boot messages appears this error:

 

Fixed MDIO Bus: probed
of:xilinx_emaclite 40e00000.ethernet: Device Tree Probing
Xilinx Emaclite MDIO: probed
mdio_bus c000bd0c: error probing PHY at address 7
of:xilinx_emaclite 40e00000.ethernet: MAC address is now 00:0a:35:a1:e8:00
of:xilinx_emaclite 40e00000.ethernet: Xilinx EmacLite at 0x40E00000 mapped to 0xC40A0000, irq=1
TCP cubic registered
NET: Registered protocol family 17

 

Any suggestion?

Thanks

 

0 Kudos
Reply
Scholar
Scholar
12,225 Views
Registered: ‎05-28-2012

The simplistic response would be to say thay the PHY ID on your board is not 7. This ID is probably hard wired by pins on the 88e1111.  Unfortunately my ignorance of the board might lead you astray. You could try to figure out how the 88e1111 is ID pins are strapped down and change the DTS file to match. Sorry that's all I got. Maybe "ra" will have a more informed response.

 

0 Kudos
Reply
Observer
Observer
10,164 Views
Registered: ‎08-17-2013

I know there has been long time from last post , but is there some one have been solved this problem?

 

when i want to assign

 

 

net eth0: of_phy_connect() failed                                                
ifconfig: SIOCSIFFLAGS: No such device
 
 

 

0 Kudos
Reply
Adventurer
Adventurer
6,989 Views
Registered: ‎04-23-2014

I'm also interested in a solution. I'm facing the same problem (probably).

0 Kudos
Reply
Visitor
Visitor
2,469 Views
Registered: ‎10-04-2018

Hi,

This problem says you are using the wrong PHY or PHY address. You should check your device tree to make sure your have correct PHY. An example as following,

axi_ethernet_eth_buf: ethernet@40c00000 {
axistream-connected = <&axi_dma_1>;
axistream-control-connected = <&axi_dma_1>;
clock-frequency = <100000000>;
clocks = <&clk_bus_0>;
compatible = "xlnx,axi-ethernet-1.00.a";
device_type = "network";
interrupt-parent = <&microblaze_1_axi_intc>;
interrupts = <4 2>;
reg = <0x40c00000 0x40000>;
xlnx,phy-type = <0x4>;
xlnx,phyaddr = <0x1>;
xlnx,rxcsum = <0x0>;
xlnx,rxmem = <0x8000>;
xlnx,txcsum = <0x0>;
phy-handle = <&phy0>;
mdio {
#address-cells = <1>;
#size-cells = <0>;
phy0: phy@7 {
device_type = "ethernet-phy";
reg = <7>;
};
};
};

 

0 Kudos
Reply
Adventurer
Adventurer
367 Views
Registered: ‎07-03-2019

Hi ,

just verify whether this  CONFIG_XILINX_PHY  macro is enabled or not. 

0 Kudos
Reply