This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

I want use two EMAC ports.

Hi.

We are using DM816x EVM made ​​from Spectrum Digital.

EMAC port 2(eth0, eth1) on the board, you want to try, do not know how.

I got kernel message.

This message is 2 EMAC port is linked on EVM.

Now...

I can use eth0 but can't use eth1.

I assigned ip to eth1 for using, but can not be connected.

Please answer for use eth1.

Thank you.

  • Thank you for your answer.

    I visit upper site.

    I do menuconfig in my linux kernel source but I can't find "TI CPSW Switch as Dual EMAC".

    My EZSDK version is 5.03.01.15.

    So I entered /usr/local/ezsdk/board-support/linux-2.6.37-psp04.00.01.13.patch2.

    And  typing 'make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm ti8168_evm_defconfig'

    Next  typing 'make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm menuconfig'.

    Follow upper manual, I entered Device Drivers... entered Network device support... entered Ethernet (1000 Mbit)...

    But I can't find "TI CPSW Switch as Dual EMAC"!!!

    Where can I find this message?

    Please answer.

    Thank you.

  • Please, try:

    cd <EZSDK_HOME>/board-support/linux-<XX>/

    cp arch/arm/configs/ti8168_evm_defconfig .config

    make ARCH=arm xconfig

    <<Reconfig the kernel and save>>

    cp .config arch/arm/configs/ti8168_evm_defconfig

    cd ../..

    make linux_clean

    make linux




    BR

    Vladimir

  • PS: I updated my post, so please, read it from the forum, not from your e-mail.

  • Hi.

    Thank you for your answer.

    I tried to following your message.

    I entered message 'make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm xconfig'.

    I got two errors.

    `scripts/kconfig/qconf.o' rquired by the target  `scripts/kconfig/.tmp_qtcheck' there is no rule to make

    'rquired by the target' and 'there is no rule to make' are may differ slightly.(I use translate)

    Please answer.

    Thank you.

     

  • Hello,

    I think you shouldn't pass CROSS_COMPILE, EZSDK Makefile-s "know" what to use for the cross compilation. Try to use menuconfig instead of xconfig if it not working on your side; xconfig is all about the better user interface.

    The main idea of my post with instructions was to copy back the configuration to default configuration file, so to be sure that the Makefile-s, as they are, will apply the right configuration changes. This is not the only way to do it.

    If you don't have one, it is a good idea to have a local version control (i.e. initialize a local git) so you can track your source and bring back the previous configuration.

    BR

    Vladimir

  • Hi.

    Thank you for your answer.

    I already compile menuconfig and linux.

    I can see menuconfig.

    So, I think, I don't need xconfig.

    If my words were wrong, tell me in detail, please.

    Thank you.

  • Hello,

    Is dual EMAC working now on your side with kernel configured that way?

    BR

    Vladimir

  • Not yet.

    So, I want know that in detail.

    Thank you.

  • In my case.

    eth 0 is good at work now.

    But eth 1 isn't  work now.

    If I turn off eth0 and turn on eth1.

    eth1 isn't work, too.

    Our eth1 is can ifconfig.

    But it can't ping test.

    Please tell me in detail.

    Thank you.

  • Hello,

    I'll try to reproduce your issue and I'll let you know.

    BR

    Vladimir

  • Hello,

    On the DM816x board the dual EMAC is enabled by default. You don't need any reconfigurations to your kernel, you can use the pre-built one. I tried it myself and it works fine.

    BR

    Vladimir

  • PS: Your issue could be because you are using them in the same subnet. If that is the case, this is normal behaviour; this is by design. Try to ping the first interface within one subnet (e.g.,  10.X.X.X) and the other from different subnet (e.g., 192.168.X.X).

    If you want to use both interfaces in one subnet (this generally wouldn't be the case), search the Internet for a general guide how to setup a Linux system for multiple interfaces on the same subnet, multiple default routes or something similar.

    BR

    Vladimir

  • Hi Vladimir,

    On the DM816x board (RDK) . I set one EMAC for nfs system and Internet for another.

    The eth0 works well but the eth1 can't work.

    I check the ifconfig as:

    =========================================================

    root@dvr:~# ifconfig -a
    eth0      Link encap:Ethernet  HWaddr 44:AA:27:00:01:88  
              inet addr:192.168.1.200  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:206024 errors:0 dropped:0 overruns:6055 frame:6605
              TX packets:117458 errors:0 dropped:6 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:291631421 (278.1 MiB)  TX bytes:10547476 (10.0 MiB)
              Interrupt:40 Base address:0x8000

    eth1      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
              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:44

    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  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)

    root@dvr:~#

    ========================================================

    as your mentioned that dual EMAC is enabled by default.

    What do I need to adjust for eth1?

    BR

    neoc

  • Hello,

    Dual EMAC [DM816x] is enabled by default in the kernel. The IP of eth1 doesn't seem to be set. Please try something like:

    # ifconfig 192.168.1.10 eth1 up

    Thank you.

    BR

    Vladimir

  • However it is better for you to stick to IP in different subnet (e.g. 10.X.X.X) for the second interface, because otherwise you should set multiple default routes.

    BR

    Vladimir

  • Hi Vladimir

    #ifconfig eth1 up

    gotcha!

    Thank you.

    Neoc