The Toshiba neutrino ethernet bridge + AR8033 issue

1 Issue:

The Toshiba neutrino ethernet driver cann't ping PC:

Add dts node "qcom,ntn_avb" in our dts, ping success on 100M.


But it ping fail on 1000MHz.

1.1 Test step:
  1.  push the Neutrino firmware(DWC_ETH_QOS_fw.bin) to /tmp:

  2. overlay the /lib/firmware/ by tmp

    cd /tmp

    mkdir upper work

    mount -t overlay overlay -olowerdir=/lib,upperdir=/tmp/upper,workdir=/tmp/work /lib

    cp /tmp/DWC_ETH_QOS_fw.bin  /lib/firmware/

  3. insmod the driver:

    modprobe DWC_ETH_QOS.ko fw_filename=DWC_ETH_QOS_fw.bin

  4.  config device and PC ip on same subnet

    ifconfig eth0 192.168.225.3 up

1.2 Test status:
  1. Use Usb-Ethernet adapter(100M) connect PC, DUT connect  the adapter, DUT can ping PC success each other .
  2. DUT connect PC, ping fail.
  3. Use 100M SWITCH connect our DUT and PC, DUT can ping PC success each other .
  4. Use 1000M SWITCH connect our DUT and PC, ping fail.
  5. change network cable ,the same result.
  6. use toshiba release driver, the same test result.

2 investigate  method

2.1 adjust between 100M and 1000M

from the 100M dmesg log:
DWC_ETH_QOS 0000:01:00.0 eth0: Link is Up - 100Mbps/Full - flow control rx/tx
But from 1000M dmesg log:
DWC_ETH_QOS 0000:01:00.0 eth0: Link is Up - 1Gbps/Full - flow control of


This log from kernel/drivers/net/phy/phy.c phy_print_status() ,and be called by DWC_ETH_QOS_adjust_link.
In DWC_ETH_QOS_adjust_link():

case SPEED_1000:

                hw_if->set_gmii_speed(pdata);

                hw_if->ntn_set_tx_clk_125MHz(pdata);

                break;

            case SPEED_100:

                hw_if->set_mii_speed_100(pdata);

                hw_if→ntn_set_tx_clk_25MHz(pdata);


Eth0 related attribute node:

root@swi-mdm9x40:~# cd /sys/class/net/eth0
root@swi-mdm9x40:/sys/devices/80000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/eth0# ls
addr_assign_type  device            mtu               statistics
addr_len          dormant           name_assign_type  subsystem
address           duplex            netdev_group      tx_queue_len
broadcast         flags             operstate         type
carrier           ifalias           phys_port_id      uevent
carrier_changes   ifindex           power
dev_id            iflink            queues
dev_port          link_mode         speed

Read speed node ,the speed value is correct.


From dmesg log and speed , we know adjust function is normal.

2.2  tcpdump

100M tcpdump :

root@swi-mdm9x40:/tmp# tcpdump -i eth0 -v
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
00:58:48.551237 IP (tos 0x0, ttl 128, id 31617, offset 0, flags [none], proto UDP (17), length 96)
192.168.225.2.netbios-ns > 192.168.225.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
00:58:49.301272 IP (tos 0x0, ttl 128, id 31618, offset 0, flags [none], proto UDP (17), length 96)
192.168.225.2.netbios-ns > 192.168.225.255.ne

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值