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.

Karol G.



_______________________________________________
users mailing list
users@rtems.org
http://lists.rtems.org/mailman/listinfo/users

Reply via email to