On 18/7/2023 8:21 pm, Karol Gliwa wrote: > Hi Guys, > > > > I have following problem with networking on Zynq running RTEMS 5.3 + libbsd + > BSP zynq_zedboard of according version. > > I had to patch the libbsd to support some network PHY for the boards I use. > > > > Whenever I connect the device to 1Gbit interface, and the link is negotiated > to > 1Gbit everything seems working just fine. I can PING the board and > successfully > connect to TCP/IP socket (custom test echo server basing on the examples int > the > rtems-libbsd repository + sockets). > > > > When I connect the board to 100Mbit interface (another usb dongle) it seems to > establish the link fine, but I cannot ping the board nor connect to the > socket. > I replicated this behavior with at least three different 1Gbit interfaces > (works > each time) and two 100Mbit dongles (not working). I confirmed that behavior > using PYNQ Z1 board and also with our other custom device. > > > > Additionally, I had an opportunity to test our custom board with another > 'hello > world' echo server that came from my colleges that use Xilin'x Vitis + LwIP > (bare metal application) and that one has been working in every link speed > configuration. > > > > It seems to me that the problem my reside in the RTEMS software part or > drivers > (or my compilation or configuration) and not in the HW since I could confirm > it's working with LwIP for all configs... Unfortunately, I have little > experience with networking in general and was not able to solve that issue on > my > own. > > > > I attach the RTEMS shell output of `ifconfig -a` executed on PYNQ Z1 when > connected to 1Gbit eth device (PING working): > > > > ''' > > SHLL [/] # ifconfig cgem0 192.168.10.207 netmask 255.255.255.0 > > SHLL [/] # ifconfig -a > > cgem0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 > > options=80008<VLAN_MTU,LINKSTATE> > > ether 0e:b0:ba:5e:ba:11 > > inet6 fe80::cb0:baff:fe5e:ba11%cgem0 prefixlen 64 scopeid 0x1 > > inet 192.168.10.207 netmask 0xffffff00 broadcast 192.168.10.255 > > nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> > > media: Ethernet autoselect (1000baseT <full-duplex,master>) > > status: active > > lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 > > options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> > > inet 127.0.0.1 netmask 0xffffff00 > > inet6 ::1 prefixlen 128 > > inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 > > nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> > > groups: lo > > ''' > > > > > > Then hot switch to 100Mbit usb eth card (PING not working): > > ''' > > SHLL [/] # info: cgem0: link state changed to DOWN > > cgem0: cgem_mediachange: could not set ref clk0 to 25000000. > > info: cgem0: link state changed to UP > > SHLL [/] # ifconfig cgem0 172.19.1.207 netmask 255.255.255.0 > > SHLL [/] # ifconfig -a > > cgem0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 > > options=80008<VLAN_MTU,LINKSTATE> > > ether 0e:b0:ba:5e:ba:11 > > inet6 fe80::cb0:baff:fe5e:ba11%cgem0 prefixlen 64 scopeid 0x1 > > inet 172.19.1.207 netmask 0xffffff00 broadcast 172.19.1.255 > > nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> > > media: Ethernet autoselect (100baseTX <full-duplex>) > > status: active > > lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 > > options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> > > inet 127.0.0.1 netmask 0xffffff00 > > inet6 ::1 prefixlen 128 > > inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 > > nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> > > groups: lo > > ''' > > > > > > > > Do You have any idea of what may be causing the issue here? Thanks for all > help > in advance.
Are the clocks to the PHY being correctly set and the driver knows the frequency. Chris _______________________________________________ users mailing list users@rtems.org http://lists.rtems.org/mailman/listinfo/users