Forums › Reference, Evaluation, and Development Boards › OSD3358-SM-RED › SSH connection over ethernet cable is not working.
Tagged: AR8035, Custom Board, ethernet
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:
1 2 3 4 5 6 7 8 | auto lo iface lo inet loopback #auto eth0 iface eth0 inet static address 192.168.6.33 netmask 255.255.255.0 network 192.168.6.0 gateway 192.168.6.1 |
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:
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:
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.
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
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.
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.
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.
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.
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
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:
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.
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.
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:
Thanks,
Regards.
Octavo Systems LLC all rights reserved
OCTAVO is registered in the U.S. Patent and Trademark Office. OSD, C-SiP, and the Octavo Logo are trademarks of Octavo Systems LLC.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields