SSH connection over ethernet cable is not working.

Forums Reference, Evaluation, and Development Boards OSD3358-SM-RED SSH connection over ethernet cable is not working.

Viewing 9 reply threads
  • Author
    Posts
    • #7840
      Alejandro BertolucciolmoDalco
      Participant

        Dear Octavo System team,

        I have development the custom board for the OSD3358 following the reference documents and application notes. The board is practically the same that the OSD3358-SM-RED board. We use the AR8035 PHY Ethernet. I am not able to start the ssh communication although the system gets correctly the static IP but I can open the ssh communication over USB.

        The software that I am using is the following:
        -Uboot: v2019.04-rc3
        -Kernel: am33x-v4.14, am33x-v4.18 and am33x-v4.9.
        -System: debian 9/Ubuntu 18.04

        I have modified the interfaces file (etc/network/) as follow:

        I have also tested the dhcp and loaded the osd3358-bsm-refdesign.dtb file (I have checked that it is loaded in the uBoot log) but I have not been able to open the ssh communication over Ethernet cable. The results that I have get with the different configurations that I explain above (different kernel and file system, osd3358-sm-red and beaglebone black dtb files, static and dinamyc IP) but the Ethernet did not work. The normal boot show this error in the log:

        • IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

        And the most time, the system does not get the static ip (check the ifconfig response in the attached file), but others time (with some of the configurations that I above explained ) the following thing happens:

        • Sometimes the system takes a lot of time for booting (more than 5min) and the Ethernet does not work.
        • With the correct IP I can not open the ssh connection or a ping command.

        Although I have different situation (the most common is which the system does not get the static IP and the logs show the eth0:link is not ready trace) in no case I am not able to open the ssh connection over the Ethernet cable.

        I have read that the AR8035 of the beaglebone black is different to the osd3358-sm-red board, and the dtb should be different, but you can see the result is the same independentelly of the used dtb file. I have tested different file system and different kernel but the ssh does not work. I think that it is not an HW issue because when I try to run the system in a beaglebone black, the result is the same. So that I guess that the problem is not hardware, but I dont know what is happening because it seems that the PHY driver is correct and it has a correct MAC.I have attached the uBoot and kernel logs during the boot when I am using the two different dtb files (osd3358-bsm-refdesign.dtb and m335x-boneblack.dtb) in order to provide the most possible information. I have also tried to start the ethernet link with the ifup command, but the results is the same: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready.

        Have Somebody reproduced this issue?  Please lets me know if there are something that I can do to debug and find out the root cause.

        Thanks a lot for your help and time,
        Best regards.

      • #7866
        Neeraj Kumar Reddy DantuNeeraj Dantu
        Moderator

          olmoDalco,

          The first thing to verify is whether the Ethernet interface is working. From the boot logs with the osd3358-bsm-refdesign.dtb, the AR8035 PHY is being detected by the kernel. Are you able to connect to the internet via eth0 interface?

          Note that you will not be able to use am335x-boneblack.dtb device tree even if the ethernet PHY is detected during kernel boot. This is because the Ethernet interface pins and Ethernet mode are not the same on the Beaglebone Black(MII) and OSD3358-SM-RED(RGMII).

          If your design is identical to OSD3358-SM-RED, a verified working Linux image is available at: https://octavosystems.com/files/osd3358-sm-red-linux-image/. Connection to internet and ssh have been verified on this image on the OSD3358-SM-RED. Using this image, you should be able to verify whether hardware/design is the cause of the issue.

          Additionally, if your design has deviations from OSD3358-SM-RED, you will have to make changes in device tree(https://github.com/octavosystems/OSD335x-Device-Tree).

          Additional resources:

          Pinmux app note for OSD335x: https://octavosystems.com/app_notes/osd335x_pinmux/

          Device Tree tutorial for OSD335x: https://octavosystems.com/app_notes/osd335x-design-tutorial/osd335x-lesson-2-minimal-linux-boot/linux-device-tree/

          Hope that helps,

          Best,

          Neeraj

        • #7877
          Alejandro BertolucciolmoDalco
          Participant

            Hi Neeraj Dantu,

            Thank you very much for your help and support.

            Yes, our dessign follow the OSD3358-SM RED board. I have installed the image that you said me but the ethernet is not working. I have configured a static IP, but the system does not get the IP. Attached you can find the log during the boot.

            Could you please say me any way to debug this issue? Can I enable some logs in the kernel (building a new image)?

            Thanks,

            Best regards.

            • This reply was modified 5 years, 7 months ago by Alejandro BertolucciolmoDalco.
          • #7881
            Alejandro BertolucciolmoDalco
            Participant

              Sorry for write other message but I am not able lo load the complete log file, this error is happening “comlpeteLog: Sorry, this file type is not permitted for security reasons.” What can I do to send the file?

              Thanks.

              Regards.

              • This reply was modified 5 years, 7 months ago by Alejandro BertolucciolmoDalco.
            • #7897
              Alejandro BertolucciolmoDalco
              Participant

                Hello Neeraj Dantu,

                I am doing some tests with the image that you sent me in order to find out the root cause of the issue. The following information I have get:

                There is an error related with the PHU during the uBoot
                Net: eth0: MII MODE
                Could not get PHY for cpsw: addr 0
                cpsw, usb_ether

                The PHY ethernet is detected and it has a MAC ID.

                [ 1.590754] libphy: 4a101000.mdio: probed
                [ 1.594961] davinci_mdio 4a101000.mdio: phy[4]: device 4a101000.mdio:04, driver Atheros 8035 ethernet
                [ 1.605312] cpsw 4a100000.ethernet: Detected MACID = 98:5d:ad:2b:3d:68
                [ 1.612196] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
                [ 1.618675] cpsw 4a100000.ethernet: ALE Table size 1024
                [ 1.624020] cpsw 4a100000.ethernet: cpts: overflow check period 1250 (jiffies)

                The eth0 link is not ready error still happening.

                [ OK ] Started Flush Journal to Persistent Storage.
                Starting Create Volatile Files and Directories…
                [ OK ] Started Create Volatile Files and Directories.
                Starting Update UTMP about System Boot/Shutdown…
                Starting Network Time Synchronization…
                [ OK ] Started Update UTMP about System Boot/Shutdown.
                [ OK ] Started Network Time Synchronization.
                [ OK ] Reached target System Time Synchronized.
                [ 14.554797] net eth0: initializing cpsw version 1.12 (0)
                [ 14.652485] Atheros 8035 ethernet 4a101000.mdio:04: attached PHY driver [Atheros 8035 ethernet] (mii_bus:phy_addr=4a101000.mdio:04, irq=POLL)
                [ 14.714184] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

                The system does not get the static IP altought I have set it in interfaces.d

                root@beaglebone:~# ifconfig
                eth0: flags=-28669<UP,BROADCAST,MULTICAST,DYNAMIC> mtu 1500
                ether 98:5d:ad:2b:3d:68 txqueuelen 1000 (Ethernet)
                RX packets 0 bytes 0 (0.0 B)
                RX errors 0 dropped 0 overruns 0 frame 0
                TX packets 0 bytes 0 (0.0 B)
                TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
                device interrupt 189

                I am trying to turn down and turn on the eth0 interface but I have the following errors:

                root@beaglebone:/etc/network# ifdown eth0
                grep: /etc/resolv.conf: No such file or directory

                root@beaglebone:/etc/network# ifup eth0
                grep: /etc/resolv.conf: No such file or directory

                [ 760.421581] net eth0: initializing cpsw version 1.12 (0)
                [ 760.421732] net eth0: initialized cpsw ale version 1.4
                [ 760.421745] net eth0: ALE Table size 1024
                [ 760.494409] Atheros 8035 ethernet 4a101000.mdio:04: attached PHY driver [Atheros 8035 ethernet] (mii_bus:phy_addr=4a101000.mdio:04, irq=-1)
                [ 760.519726] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

                Other thing that happened was that in the first boot with this image, the system took about 3 min to start and this error was showed: “A start job is running for raise network interfaces (2 minutes of 5 mins 1 sec”

                Do you know why it only happen the first time?

                Thanks.

              • #7898
                Alejandro BertolucciolmoDalco
                Participant

                  UPDATE:

                  After a several reboots, it seems that the system was able to start correctly and get a IP. The dmesg in the boot show the following:

                  [ OK ] Started Raise network interfaces.
                  [ OK ] Reached target Network.
                  Starting dnsmasq – A lightweight DHCP and caching DNS server…
                  Starting Permit User Sessions…
                  Starting OpenBSD Secure Shell server…
                  [ OK ] Reached target Network is Online.
                  Starting LSB: Advanced IEEE 802.11 management daemon…
                  [ OK ] Started Daily apt download activities.
                  [ OK ] Started Daily apt upgrade and clean activities.
                  [ OK ] Reached target Timers.
                  [ OK ] Started Permit User Sessions.
                  [ OK ] Started LSB: Advanced IEEE 802.11 management daemon.
                  Starting Light Display Manager…
                  [ OK ] Started Serial Getty on ttyS0.
                  [ OK ] Started Getty on tty1.
                  [ OK ] Reached target Login Prompts.
                  [ OK ] Started OpenBSD Secure Shell server.
                  [ OK ] Started dnsmasq – A lightweight DHCP and caching DNS server.
                  [ OK ] Reached target Host and Network Name Lookups.
                  Starting The Apache HTTP Server…
                  [ OK ] Started Serial Getty on ttyGS0.
                  [ OK ] Started Light Display Manager.
                  [ OK ] Started Generic Board Startup.
                  Starting BB WL18xx Bluetooth Service…
                  [ OK ] Started BB WL18xx Bluetooth Service.
                  [ OK ] Started The Apache HTTP Server.
                  [ OK ] Reached target Multi-User System.
                  [ OK ] Reached target Graphical Interface.
                  Starting Update UTMP about System Runlevel Changes…
                  [ OK ] Started Update UTMP about System Runlevel Changes.

                  And the ifconfig response is:

                  root@beaglebone:~# ifconfig
                  eth0: flags=-28669<UP,BROADCAST,MULTICAST,DYNAMIC> mtu 1500
                  inet 192.168.6.33 netmask 255.255.255.0 broadcast 192.168.6.255
                  ether 98:5d:ad:2b:3d:68 txqueuelen 1000 (Ethernet)
                  RX packets 0 bytes 0 (0.0 B)
                  RX errors 0 dropped 0 overruns 0 frame 0
                  TX packets 0 bytes 0 (0.0 B)
                  TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
                  device interrupt 189

                  Altought the error of the link is not ready still happening:

                  root@beaglebone:~# dmesg | grep -i -e eth -e phy -e ip
                  [ 0.000000] Booting Linux on physical CPU 0x0
                  [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
                  [ 0.002275] Calibrating delay loop… 995.32 BogoMIPS (lpj=1990656)
                  [ 0.177207] SMP: Total of 1 processors activated (995.32 BogoMIPS).
                  [ 1.710300] NetLabel: protocols = UNLABELED CIPSOv4
                  [ 2.369529] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
                  [ 2.417298] libphy: Fixed MDIO Bus: probed
                  [ 2.473760] davinci_mdio 4a101000.mdio: detected phy mask ffffffef
                  [ 2.474593] davinci_mdio: dt: updated phy_id[4] from phy_mask[ffffffef]
                  [ 2.488180] libphy: 4a101000.mdio: probed
                  [ 2.488211] davinci_mdio 4a101000.mdio: phy[4]: device 4a101000.mdio:04, driver Atheros 8035 ethernet
                  [ 2.489260] cpsw 4a100000.ethernet: Detected MACID = 98:5d:ad:2b:3d:68
                  [ 2.489411] cpsw 4a100000.ethernet: cpts: overflow check period 1250 (jiffies)
                  [ 2.498984] 47401300.usb-phy supply vcc not found, using dummy regulator
                  [ 2.505821] 47401b00.usb-phy supply vcc not found, using dummy regulator
                  [ 2.531612] cpuidle: enable-method property ‘ti,am3352’ found operations
                  [ 2.627910] mip6: Mobile IPv6
                  [ 2.640836] PM: Cannot get wkup_m3_ipc handle
                  [ 2.962875] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x192
                  [ 18.110864] ip_tables: (C) 2000-2006 Netfilter Core Team
                  [ 18.924888] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
                  [ 26.730760] net eth0: initializing cpsw version 1.12 (0)
                  [ 26.730787] net eth0: initialized cpsw ale version 1.4
                  [ 26.730798] net eth0: ALE Table size 1024
                  [ 26.810288] Atheros 8035 ethernet 4a101000.mdio:04: attached PHY driver [Atheros 8035 ethernet] (mii_bus:phy_addr=4a101000.mdio:04, irq=-1)
                  [ 26.848348] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
                  [ 27.511932] using random self ethernet address
                  [ 27.511955] using random host ethernet address
                  [ 27.616774] using random self ethernet address
                  [ 27.616797] using random host ethernet address
                  [ 54.890427] Modules linked in: omap_sham(+) crypto_engine(+) pruss_soc_bus(+) omap_rng rng_core tieqep c_can_platform c_can can_dev snd_soc_davinci_mcasp snd_soc_omap snd_soc_edma snd_soc_core snd_pcm_dmaengine snd_pcm snd_timex
                  root@beaglebone:~#

                  With the static IP the ssh and ping are not working. I have attached the logs during the uBoot, where you can see the load dtb and the overlays. Our board follow the osd3358 sm red board but we have removed the HDMI. Do you think that it can be causing troubles?

                  Thanks,
                  Best regards.

                • #7902
                  Neeraj Kumar Reddy DantuNeeraj Dantu
                  Moderator

                    Hi olmoDalco,

                    Thanks for the additional info. The ethernet kernel logs look fine. First suspicion is that the method used to assign static IP is not functioning and as a result, the port is unable to communicate. Before assigning a static IP, can you first verify that the ethernet port is capable of communication?

                    For this, you should reverse the changes you made to assign eth0 a static IP address and use an ethernet cable to connect to a local network(must have a DHCP server). An unmodified RED board image(link provided in my previous reply) will send DHCP requests and obtain an IP address if the board is connected to a local network with a DHCP server.

                    If the board correctly obtains an IP address, then the method you are using to set a static IP address might not be working.

                    Please try the following commands to bring eth0 interface up and down:

                    – sudo ifconfig eth0 down

                    – sudo ifconfig eth0 up

                    Wireshark(https://www.wireshark.org/) can be a good tool to debug these issues as well. You can use this tool to monitor and validate ethernet communications

                    Also make sure that your local network is not blocking ethernet traffic.

                    Removing the HDMI should not cause an issue with Ethernet. So, please try to connect the board to a local network that has a DHCP and try to verify that the PHY is capable of communication.

                    Let us know if that helps.

                    Neeraj

                  • #7903
                    Alejandro BertolucciolmoDalco
                    Participant

                      Dear Neeraj Dantu,

                      I have done the test that you commented above, the interfaces file has been configured with <code class=”cpp plain”>iface eth0 inet dhcp and the results are as follow:

                      • With the DHCP configured:
                        • The system take too much time to boot the kernel, and I have seen this debug log: “A start job is running for raise network interfaces (2 minutes of 5 mins 1 sec”.
                        • The system is not able to get the IP, the ifconfig response is:

                      eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
                      ether 98:5d:ad:2b:3d:68  txqueuelen 1000  (Ethernet)
                      RX packets 0  bytes 0 (0.0 B)
                      RX errors 0  dropped 0  overruns 0  frame 0
                      TX packets 0  bytes 0 (0.0 B)
                      TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
                      device interrupt 189

                      lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
                      inet 127.0.0.1  netmask 255.0.0.0
                      inet6 ::1  prefixlen 128  scopeid 0x10<host>
                      loop  txqueuelen 1  (Local Loopback)
                      RX packets 1760  bytes 124640 (121.7 KiB)
                      RX errors 0  dropped 0  overruns 0  frame 0
                      TX packets 1760  bytes 124640 (121.7 KiB)
                      TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

                      usb1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
                      inet 192.168.6.2  netmask 255.255.255.252  broadcast 192.168.6.3
                      inet6 fe80::9a5d:adff:fe2b:3d6d  prefixlen 64  scopeid 0x20<link>
                      ether 98:5d:ad:2b:3d:6d  txqueuelen 1000  (Ethernet)
                      RX packets 40  bytes 5776 (5.6 KiB)
                      RX errors 0  dropped 0  overruns 0  frame 0
                      TX packets 61  bytes 10250 (10.0 KiB)
                      TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
                      root@beaglebone:~#

                      In order to start manually the eth interfaces, I have executed the ifdown/ifup commands and the results was the same, the system does not get the IP.

                      root@beaglebone:~# ifdown eth0
                      Killed old client process
                      Internet Systems Consortium DHCP Client 4.3.5
                      Copyright 2004-2016 Internet Systems Consortium.
                      All rights reserved.
                      For info, please visit https://www.isc.org/software/dhcp/

                      Listening on LPF/eth0/98:5d:ad:2b:3d:68
                      Sending on   LPF/eth0/98:5d:ad:2b:3d:68
                      Sending on   Socket/fallback
                      grep: /etc/resolv.conf: No such file or directory

                      ——————————————————

                      root@beaglebone:~# ifup eth0
                      Internet Systems Consortium DHCP Client 4.3.5
                      Copyright 2004-2016 Internet Systems Consortium.
                      All rights reserved.
                      For info, please visit https://www.isc.org/software/dhcp/

                      Listening on LPF/eth0/98:5d:ad:2b:3d:68
                      Sending on   LPF/eth0/98:5d:ad:2b:3d:68
                      Sending on   Socket/fallback
                      DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
                      DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5
                      DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
                      DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 13
                      DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 18
                      DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8
                      DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8
                      root@beaglebone:~#

                      The dmesg logs shows the following: [   53.377955] omap-aes 53500000.aes: will run requests pump with realtime priority
                      [  428.464150] net eth0: initializing cpsw version 1.12 (0)
                      [  428.464177] net eth0: initialized cpsw ale version 1.4
                      [  428.464189] net eth0: ALE Table size 1024
                      [  428.542375] Atheros 8035 ethernet 4a101000.mdio:04: attached PHY driver [Atheros 8035 ethernet] (mii_bus:phy_addr=4a101000.mdio:04, irq=-1)
                      [  428.562132] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

                      I have tested it in two different computers and the results was the same, so that I think that it is not related with the PC network configuration.Attached you can find the  logs file.

                      Thanks a lot,

                      Best regards.

                      Thanks,

                      Best regards.

                    • #7906
                      Neeraj Kumar Reddy DantuNeeraj Dantu
                      Moderator

                        olmoDalco,

                        Not connecting to an existing network with a verified Linux image indicates an issue with either the design or layout.

                        Since you mentioned that the Etehrnet interface design is the same as the OSD3358-SM-RED, we are assuming:

                        1. The same interface pins of OSD335x-SM were used in your design

                        2. The same configurations are set on the PHY

                        One thing to look at is the Ethernet connector. If you are not using the same ethernet connector as OSD3358-SM-RED, please verify the magnetics configuration is the same as on the OSD3358-SM-RED.

                        If you still cannot resolve the issue, we will have to take a closer look at your design. Please contact our sales and business development (martin.burgos(at)octavosystems.com) for further offline discussions.

                      • #7916
                        Alejandro BertolucciolmoDalco
                        Participant

                          Hi Neeraj Dantu,

                          Thanks a lot for the contact with Martin, I have written him. I will share with you all information when we have in this post.

                          About your questions:

                          1. Yes, we are using the same pin interface than the OSD3358-SM-RED board in our design.
                          2. What do you mean with the same configuration for the PHY? You mean about the HW or interfaces configuration (etc/network/interface file). We are using the AR8035-AL1A ethernet PHY. And the HW configuration is the following:
                            • PHY_ADDR0: SYS_VDD1_3P3V
                            • PHY_ADDR1: GND
                            • PHY_ADDR2: SYS_VDD1_3P3V
                            • MODE[0]:GND
                            • MODE[1]: SYS_VDD1_3P3V
                            • MODE[2]: SYS_VDD1_3P3V
                            • MODE[3]: SYS_VDD1_3P3V
                            • IO_VOLT_SEL: SYS_VDD1_3P3V
                          3. About the connector, I think that we are using the same part number that the SM-RED board. Our RJ45 connector is RJMG2310228A0ER.

                          Thanks,

                          Regards.

                          • This reply was modified 5 years, 7 months ago by Alejandro BertolucciolmoDalco.
                      Viewing 9 reply threads
                      • You must be logged in to reply to this topic.