Forum Discussion
Intel Cyclone V SoC: No network interface is recognized
Hello everyone,
I have zepyhr running on the Cyclone V according to the following instructions: https://docs.nordicsemi.com/bundle/ncs-2.5.2/page/zephyr/boards/arm/cyclonev_socdk/doc/index.html
Next I wanted to establish a simple network communication. I use the already written Example of a DHCP client under the directory .../zephyrproject/zephyr/samples/net/dhcpv4_client but the following error message appears:
[00:00:00.207,000] <err> net_if: There is no network interface to work with! *** Booting Zephyr OS build v4.0.0-3095-gd9eed167d06b *** Run dhcpv4 client [00:00:00.380,000] <wrn> net_if: No default interface found! uart:~$ device list devices: - intc@fffed000 (READY) DT node labels: intc - gpio@ff70a000 (READY) DT node labels: gpio2 - gpio@ff709000 (READY) DT node labels: gpio1 - gpio@ff708000 (READY) DT node labels: gpio0 - serial1@ffc03000 (READY) DT node labels: uart1 - serial0@ffc02000 (READY) DT node labels: uart0 - sysmgr@ffd08000 (READY) DT node labels: sysmgr
Normally, the Ethernet device should also be recognized (gmac0/gmac1) ...
I know that this example was not written explicitly for my hardware. I found the folder “Boards” in the project directory, which had a .conf file and an .overlay file, so I created two files cyclonev.conf & cyclonev.overlay. In the following I show my prj.conf and cyclonev.conf & cyclonev.overlay files:
prj.conf:
#No changes have been made CONFIG_NETWORKING=y CONFIG_NET_IPV6=n CONFIG_NET_IPV4=y CONFIG_NET_ARP=y CONFIG_NET_UDP=y CONFIG_NET_DHCPV4=y CONFIG_NET_DHCPV4_OPTION_CALLBACKS=y CONFIG_DNS_RESOLVER=y CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_INIT_STACKS=y CONFIG_NET_MGMT=y CONFIG_NET_MGMT_EVENT=y CONFIG_NET_LOG=y CONFIG_LOG=y
cyclonev.conf:
CONFIG_ETH_CYCLONEV=y CONFIG_NET_L2_ETHERNET=y CONFIG_NET_MGMT=y CONFIG_NET_DHCPV4=y CONFIG_NET_TCP=y CONFIG_NET_LOG=y CONFIG_NET_IPV4=y
cyclonev.overlay:
&gmac1 {
status = "okay";
local-mac-address = [e6 88 2d 82 1f d4];
};
&gmac0 {
status = "disabled";
};I'll show you an excerpt from my zepyhr.dts file:
gmac0: ethernet@ff700000 {
compatible = "snps,ethernet-cyclonev";
reg = < 0xff700000 0x2000 >;
interrupts = < 0x0 0x73 0x4 0xa0 >;
emac-index = < 0x0 >;
status = "disabled";
};
gmac1: ethernet@ff702000 {
compatible = "snps,ethernet-cyclonev";
reg = < 0xff702000 0x2000 >;
interrupts = < 0x0 0x78 0x4 0xa0 >;
emac-index = < 0x1 >;
status = "okay";
local-mac-address = [ E6 88 2D 82 1F D4 ];
};I have tried a lot of other things. For example I tried to enable gmac1 and disable gmac0 or disable both but without success. I had seen the approach with the own .conf and the .overlay file several times (e.g. for a STM32). So I think my approach is correct, but no network interface is recognized (Ethernent). I hope that someone sees my mistake and can help me. I would be very grateful for that. Finally, I'll insert a small screenshot from the documentation showing which Ethernet interface I'm using:
4 Replies
- tehjingy_Altera
Regular Contributor
Hi
It seems like the GMAC Driver in the repo is not compatible with the Zephyr.
From the repo it seems like the net4 example is not supported for the CycloneV.
Regards
Jingyang, Teh
- tehjingy_Altera
Regular Contributor
Hi
Could you share the demsg logs of the system?
Regards
JIngyang, Teh
- Mysteriaa
New Contributor
Hi,
I don't have something like dmesg logs, or I don't know how to access them on the Cyclone V. I'll show you the full output that I see serially from the Cyclone V via UART:
U-Boot SPL 2013.01.01 (Sep 19 2018 - 18:47:18) BOARD : Altera SOCFPGA Cyclone V Board CLOCK: EOSC1 clock 25000 KHz CLOCK: EOSC2 clock 25000 KHz CLOCK: F2S_SDR_REF clock 0 KHz CLOCK: F2S_PER_REF clock 0 KHz CLOCK: MPU clock 925 MHz CLOCK: DDR clock 400 MHz CLOCK: UART clock 100000 KHz CLOCK: MMC clock 50000 KHz CLOCK: QSPI clock 370000 KHz RESET: COLD INFO : Watchdog enabled SDRAM: Initializing MMR registers SDRAM: Calibrating PHY SEQ.C: Preparing to start memory calibration SEQ.C: CALIBRATION PASSED SDRAM: 1024 MiB SDRAM: Initializing SDRAM ECC SDRAM: ECC initialized successfully with 1590 ms SDRAM: ECC Enabled [00:00:00.207,000] <err> net_if: There is no network interface to work with! *** Booting Zephyr OS build v4.0.0-3096-g25a4a49477ef *** Run dhcpv4 client-RKAnother Input: in ...\zephyrproject\zephyr\drivers\ethernet\eth_cyclonev.c there is the following content:
Driver specifically designed for Cyclone V SoC DevKit use only.* based on Intel SOC FPGA HWLIB Repo https://github.com/altera-opensource/intel-socfpga-hwlib
And in the git-repo there is the folling Table:
Therefore i got errors, that the "properties" phy-mode isn't define, so have to do the following:
--> in ...\zephyrproject\zephyr\dts\bindings\ethernet\snps,ethernet-cyclonev.yaml
--> i had to add the property phy-mode myself
--> so what is the message that the devoloper of this code wanna say me? I dont need an overlay-file? or i dont need to mention phy-mode and mdio? But it doesn't work eithter...Maybe zephyr doesen't support Internet/Ethernet Connecetion with this board. The necessary files are there, but not all of them i think. For Example, the following files exist:
--> ...\zephyrproject\zephyr\drivers\ethernet\eth_cyclonev.c
--> ...\zephyrproject\zephyr\drivers\ethernet\eth_cyclonev_priv.h
--> ...\zephyrproject\zephyr\drivers\ethernet\phy_cyclonev.c
--> ...\zephyrproject\zephyr\drivers\ethernet\Kconfig.cyclonev
For me that a very good sign, that it has to be possible, but as you have mentioned, we need MDIO, but if i try to implement your suggest, then i get a lot of warinings and errors and one of them is very interesting:CMake Warning at C:/Users/kir/zephyrproject/zephyr/CMakeLists.txt:1002 (message):
No SOURCES given to Zephyr library: drivers__mdioIf i look in the following directory: C:\Users\kir\zephyrproject\zephyr\drivers\mdio
--> then there are a lot of files for example for esp32, stm32, ... but i cant find something for cyclonev....What i should do? Is this a sign that i do not need to mention mdio in the overlay-file? I am a little bit lost
- tehjingy_Altera
Regular Contributor
Hi
As we do not receive any response from you on the previous question/reply/answer that we have provided. Please login to ‘https://supporttickets.intel.com/s/?language=en_US’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.
Regards
Jingyang, Teh