1. 网线接法: 可动态分配的路由器lan接到mt7621的wan口上
2. mt7621a之前贴的是spi flash, wan口能正常使用(无lan口): 能ping通 192.168.1.1(wan口连接的可动态分配ip的路由器主机),能ping 通www.baidu.com
3. 将spi flash(16M)换成nandflash(256M)之后,wan口无法上网: eth1获取不到上层路由的IP,而且网口灯有亮
4. 将板子烧录mtk官方固件是可以正常上网的,可以确定硬件没有问题
路由表也不正常, 接入网线没有变化
# route
Kernel IP routing table
Destination Gateway Genmask Flashs Metric Ref Use Iface
10.0.0.0 * 255.0.0.0 U 0 0 0 br-lan
以下是贴 spi flash的时候,接入网线可以正常上网的路由表
# route
Kernel IP routing table
Destination Gateway Genmask Flashs Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth1
10.0.0.0 * 255.0.0.0 U 0 0 0 br-lan
192.168.1.0 * 255.255.255.255 U 0 0 0 eth1
下面是 /etc/config/network 配置文件:
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fdca:d0b6:ccdd::/48'
config interface 'lan'
option ifname 'eth0'
option force_link '1'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.0.1'
option netmask '255.255.255.0'
option ip6assign '60'
option macaddr 'FF:FF:FF:FF:FF:FF'
config interface 'wan'
option ifname 'eth1'
option proto 'dhcp'
config interface 'wan6'
option ifname '@wan'
option proto 'dhcpv6'
遇到这个问题已经搞得没有头绪,不知道哪位大神可以提供下解决思路?万分感谢!!!
离线
是不是用 spi flash 的时候文件系统又 overlay,
你用了 nand flash 之后没有 overlay,
导致文件系统又差异造成?
离线
谢谢答复,查看了下,都有overlay的
离线
由于上一份log spi带有wifi模块,这里上传了一份同一个kernel软件的(硬件上只替换了flash)
mt7621a_openwrt_log.zip
离线
你好!我又打了一份spi可以上网的log,上面圈的地方貌似是随机生成的,所以有差异。谢谢帮忙!!!
minicom_v2_spi_2_cap.zip
离线
nand 主频 50Mhz, spi flash 主频 500Mhz
其他就是驱动log有点不同
[ 5.176000] FFFFFFFF:FFFFFFFF:FFFFFFFF:FFFFFFFF:FFFFFFFF:FFFFFFFF
[ 5.192000] Raeth v3.1 (Tasklet)
[ 5.200000] set CLK_CFG_0 = 0x40a00020!!!!!!!!!!!!!!!!!!1
[ 5.212000] phy_free_head is 0x7744000!!!
[ 5.220000] phy_free_tail_phy is 0x7745ff0!!!
[ 5.228000] txd_pool=a7768000 phy_txd_pool=07768000
[ 5.240000] ei_local->skb_free start address is 0x87f2a6dc.
[ 5.252000] free_txd: 07768010, ei_local->cpu_ptr: 07768000
[ 5.260000] POOL HEAD_PTR | DMA_PTR | CPU_PTR
[ 5.272000] ----------------+---------+--------
[ 5.280000] 0xa7768000 0x07768000 0x07768000
[ 5.288000]
[ 5.288000] phy_qrx_ring = 0x07740000, qrx_ring = 0xa7740000
[ 5.304000]
[ 5.304000] phy_rx_ring0 = 0x07770000, rx_ring0 = 0xa7770000
[ 5.340000] MT7530 Reset Completed!!
[ 5.352000] change HW-TRAP to 0x17c8f
[ 5.364000] set LAN/WAN LLLLW
[ 5.372000] GMAC1_MAC_ADRH -- : 0x0000000c
[ 5.380000] GMAC1_MAC_ADRL -- : 0x4328804b
[ 5.388000] GDMA2_MAC_ADRH -- : 0x0000000c
[ 5.396000] GDMA2_MAC_ADRL -- : 0x43288086
[ 5.408000] eth1: ===> VirtualIF_open
[ 5.416000] MT7621 GE2 link rate to 1G
[ 5.428000] CDMA_CSG_CFG = 81000000
[ 5.436000] GDMA1_FWD_CFG = 20710000
[ 5.444000] GDMA2_FWD_CFG = 20710000
感觉你的两个系统不是一套源码编译出来的, 差异还挺多的。
离线
恩,烧录到nandflash和spi flash的uboot是不一样的(这个没办法一样),前面跑的 "nand 主频 50Mhz, spi flash 主频 500Mhz"是uboot的
不过kernel是一样的,是我自己编译烧录的
我先试下nandflash的主频能不能改成500Mhz的,试下,谢谢!!
离线
nand 主频 50Mhz, spi flash 主频 500Mhz
其他就是驱动log有点不同
[ 5.176000] FFFFFFFF:FFFFFFFF:FFFFFFFF:FFFFFFFF:FFFFFFFF:FFFFFFFF
[ 5.192000] Raeth v3.1 (Tasklet)
[ 5.200000] set CLK_CFG_0 = 0x40a00020!!!!!!!!!!!!!!!!!!1
[ 5.212000] phy_free_head is 0x7744000!!!
[ 5.220000] phy_free_tail_phy is 0x7745ff0!!!
[ 5.228000] txd_pool=a7768000 phy_txd_pool=07768000
[ 5.240000] ei_local->skb_free start address is 0x87f2a6dc.
[ 5.252000] free_txd: 07768010, ei_local->cpu_ptr: 07768000
[ 5.260000] POOL HEAD_PTR | DMA_PTR | CPU_PTR
[ 5.272000] ----------------+---------+--------
[ 5.280000] 0xa7768000 0x07768000 0x07768000
[ 5.288000]
[ 5.288000] phy_qrx_ring = 0x07740000, qrx_ring = 0xa7740000
[ 5.304000]
[ 5.304000] phy_rx_ring0 = 0x07770000, rx_ring0 = 0xa7770000
[ 5.340000] MT7530 Reset Completed!!
[ 5.352000] change HW-TRAP to 0x17c8f
[ 5.364000] set LAN/WAN LLLLW
[ 5.372000] GMAC1_MAC_ADRH -- : 0x0000000c
[ 5.380000] GMAC1_MAC_ADRL -- : 0x4328804b
[ 5.388000] GDMA2_MAC_ADRH -- : 0x0000000c
[ 5.396000] GDMA2_MAC_ADRL -- : 0x43288086
[ 5.408000] eth1: ===> VirtualIF_open
[ 5.416000] MT7621 GE2 link rate to 1G
[ 5.428000] CDMA_CSG_CFG = 81000000
[ 5.436000] GDMA1_FWD_CFG = 20710000
[ 5.444000] GDMA2_FWD_CFG = 20710000感觉你的两个系统不是一套源码编译出来的, 差异还挺多的。
这些是 驱动模块 ko 报出来的吗?
为什么两个会有不同?
离线
这些 驱动模块 报出来的
板子换成spi(正常上网),每次开机运行,以下那些数值也是基本每次都有变
离线
1. 先排查是否驱动问题, 检查 eth1 是否能正常收发包
2. 如果 eth1 ok, 无非路由 iptable 之类的设定
eth1是个啥啊?
最近编辑记录 真的是很烦 (2019-02-27 10:24:46)
离线
请问怎么检查 eth1 是否能正常收发包? (kernel里面没有tcpdump这个工具)
eth1 就是这个有问题的wan口
离线
之前spi 的也无法正常上网,一样的情况,问题出在 /etc/config/network 里面的 wan口配置多了一行 option macaddr 'FF:FF:FF:FF:FF:FF',
既是:
config interface 'wan'
option ifname 'eth1'
option proto 'dhcp'
option macaddr 'FF:FF:FF:FF:FF:FF'(注释之后就ok啦)
离线
请问怎么检查 eth1 是否能正常收发包? (kernel里面没有tcpdump这个工具)
eth1 就是这个有问题的wan口
将pc接到这个口, 打开wireshark
板子里使用ip or ifconfig fix一个ip地址, 尝试ping 同网段的ip, 看pc是否能收到数据包, 然后再pc发包, 看eth1的 rx计数是否增长, 是否被drop了.
最近编辑记录 真的是很烦 (2019-02-27 10:33:47)
离线
还有要先确认你的mac 地址是不是有问题 最高字节的LSB是控制多播的,不可使用
ifconfig 查看各个interface的mac地址,
离线
还有要先确认你的mac 地址是不是有问题 最高字节的LSB是控制多播的,不可使用
ifconfig 查看各个interface的mac地址,
好的
离线
qrt_room 说:请问怎么检查 eth1 是否能正常收发包? (kernel里面没有tcpdump这个工具)
eth1 就是这个有问题的wan口将pc接到这个口, 打开wireshark
板子里使用ip or ifconfig fix一个ip地址, 尝试ping 同网段的ip, 看pc是否能收到数据包, 然后再pc发包, 看eth1的 rx计数是否增长, 是否被drop了.
你好,有点疑问:
现在板子是wan口,pc也是wan口,两个用网线接起来是不是无法ping通的?
还是说wireshark有将pc改成lan口的功能吗?
离线
没看懂呢, 板子两个RJ45? PC接在哪个上? 另一个口接的什么?
板子的shell里面,
ifconfig
brctl show
route -n
这些命令的输出是什么?
离线
没看懂呢, 板子两个RJ45? PC接在哪个上? 另一个口接的什么?
板子的shell里面,
ifconfig
brctl show
route -n
这些命令的输出是什么?
板子设计只有一个RJ45,作为wan口。然后pc也是个wan口,两个wan口连接起来,是不是无法ping通?
PC(windows系统)设置的ip是192.168.1.157, 所以板子设置为192.168.1.158
以下是ifconfig,brctl show,route -n 的信息(不知还需要操作什么不?)
root@OpenWrt:/# ifconfig
br-lan Link encap:Ethernet HWaddr 00:0C:43:28:80:C2
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fd32:4658:841a::1/60 Scope:Global
inet6 addr: fe80::20c:43ff:fe28:80c2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:1184 (1.1 KiB)
eth0 Link encap:Ethernet HWaddr 00:0C:43:28:80:C2
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:2625 (2.5 KiB)
Interrupt:3
eth1 Link encap:Ethernet HWaddr 00:0C:43:28:80:C0
inet6 addr: fe80::20c:43ff:fe28:80c0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:51 errors:0 dropped:0 overruns:0 frame:0
TX packets:66 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4516 (4.4 KiB) TX bytes:21652 (21.1 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1538 errors:0 dropped:0 overruns:0 frame:0
TX packets:1538 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:105216 (102.7 KiB) TX bytes:105216 (102.7 KiB)
root@OpenWrt:/#
root@OpenWrt:/# brctl show
bridge name bridge id STP enabled interfaces
br-lan 7fff.000c432880c2 no eth0
root@OpenWrt:/#
root@OpenWrt:/# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br-lan
root@OpenWrt:/#
root@OpenWrt:/# ifconfig eth1 192.168.1.158
root@OpenWrt:/#
root@OpenWrt:/# ifconfig
br-lan Link encap:Ethernet HWaddr 00:0C:43:28:80:C2
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fd32:4658:841a::1/60 Scope:Global
inet6 addr: fe80::20c:43ff:fe28:80c2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:1374 (1.3 KiB)
eth0 Link encap:Ethernet HWaddr 00:0C:43:28:80:C2
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:2815 (2.7 KiB)
Interrupt:3
eth1 Link encap:Ethernet HWaddr 00:0C:43:28:80:C0
inet addr:192.168.1.158 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:43ff:fe28:80c0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:86 errors:0 dropped:0 overruns:0 frame:0
TX packets:365 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7573 (7.3 KiB) TX bytes:94210 (92.0 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:6482 errors:0 dropped:0 overruns:0 frame:0
TX packets:6482 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:445632 (435.1 KiB) TX bytes:445632 (435.1 KiB)
root@OpenWrt:/#
root@OpenWrt:/# brctl show
bridge name bridge id STP enabled interfaces
br-lan 7fff.000c432880c2 no eth0
root@OpenWrt:/#
root@OpenWrt:/# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br-lan
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
root@OpenWrt:/#
离线
看上去应该可以通. PC直接ping 板子不通?
板子ping pc倒是有可能因为防火墙之类的通不了
好奇只有一个RJ45, 那eth0是哪来的?
离线
看上去应该可以通. PC直接ping 板子不通?
板子ping pc倒是有可能因为防火墙之类的通不了好奇只有一个RJ45, 那eth0是哪来的?
恩,ping不通,所以也无法用wireshark抓包。pc链接动态分配路由器(不是该板子),是可以ping通路由器
eth0是一直都存在(mtk原生系统ok的也是有这些的),而且不能down掉,down掉会导致芯片关掉"设置所有网口(包括wan和lan)"的功能,然后网线接入网口都检测不到
离线
上传一份mtk原生(非openwrt), 功能正常的log,不知有无参考价值,log和文件系统结构差异都很大
openwrt的时eth0, eth1, mtk_soc是 eth2, eth3
minicom_mtk_nand__cap.zip
最近编辑记录 qrt_room (2019-02-27 16:50:39)
离线
通不通都不影响pc上用wireshark抓包的.
你的网络拓扑图是不是这样?
mt7621a <----> PC
用板子往外发包, PC打开wireshark抓包看是否能抓到
PC先板子发包, 板子是否能收到? 查看eth1的rx进行初步判断
上面步骤如果是好的:
打开wireshark, 从PC ping 板子, 看是否arp 可以通
arp 通了再做下一步判断
一步一个juo印, 做大做强
最近编辑记录 真的是很烦 (2019-02-27 17:19:26)
离线
通不通都不影响pc上用wireshark抓包的.
你的网络拓扑图是不是这样?
mt7621a <----> PC用板子往外发包, PC打开wireshark抓包看是否能抓到
PC先板子发包, 板子是否能收到? 查看eth1的rx进行初步判断
上面步骤如果是好的:
打开wireshark, 从PC ping 板子, 看是否arp 可以通
arp 通了再做下一步判断一步一个juo印, 做大做强
拓扑结构是这样的。
先用spi能正常上网的板子验证了下,按你那种方式是可以相互ping通的。情况跟你说的一样, eth1的rx能收到信息,wireshark抓包也是正常的
然后用nand的板子的相互ping的时候还是相互没有反应,识别不到对方主机,下图
离线
那你能不能判断出不通时 eth1 收发包是否正常? 有个结论才好逐步缩小范围呀
离线
那你能不能判断出不通时 eth1 收发包是否正常? 有个结论才好逐步缩小范围呀
目前不知道怎样验证 eth1 收发包是否正常,有点尴尬...
离线
真的是很烦 说:那你能不能判断出不通时 eth1 收发包是否正常? 有个结论才好逐步缩小范围呀
目前不知道怎样验证 eth1 收发包是否正常,有点尴尬...
...
之前一直说的就是怎么判断eth1收发包是否正常呀
板子改IP后尝试发包, PC的wireshark是否抓到
PC发包, 板子的Eth1是否可以看到RX之类的
离线
qrt_room 说:真的是很烦 说:那你能不能判断出不通时 eth1 收发包是否正常? 有个结论才好逐步缩小范围呀
目前不知道怎样验证 eth1 收发包是否正常,有点尴尬...
...
之前一直说的就是怎么判断eth1收发包是否正常呀板子改IP后尝试发包, PC的wireshark是否抓到
PC发包, 板子的Eth1是否可以看到RX之类的
这个,板子改ip后:
PC发包,就是上面截图那种情况,无法访问目标主机,板子rx也没有收到信息
板子发包,PC的wireshark也无法抓到
所以也不知道eth1收发包正不正常,不专业的想法就是: 感觉板子设置ip的时候有问题
离线
板子rx如果连counter都没有的话, 应该跟ip之类的没关系了
还是驱动方面找找原因
离线
板子rx如果连counter都没有的话, 应该跟ip之类的没关系了
还是驱动方面找找原因
好的,谢谢
离线
试了下将ip配置成静态的,"/etc/init.d/network restart"后发现可以上网
既是将 /etc/config/network 的wan口配置改成静态的,如下
修改前:
config interface 'wan'
option ifname 'eth1'
option proto 'dhcp'
修改后:
config interface 'wan'
option ifname 'eth1'
option proto 'static'
option mtu '1500'
option auto '1'
option netmask '255.255.255.0'
option ipaddr '192.168.1.186'
option gateway '192.168.1.1'
option dns '8.8.8.8'
有没有哪位高手提供下解决思路:|
感觉是 eth1 dhcp 出了问题?
咦, 帖子怎么不见了.
最近编辑记录 trigger (2019-03-02 16:52:52)
离线
qrt_room 说:试了下将ip配置成静态的,"/etc/init.d/network restart"后发现可以上网
既是将 /etc/config/network 的wan口配置改成静态的,如下
修改前:
config interface 'wan'
option ifname 'eth1'
option proto 'dhcp'
修改后:
config interface 'wan'
option ifname 'eth1'
option proto 'static'
option mtu '1500'
option auto '1'
option netmask '255.255.255.0'
option ipaddr '192.168.1.186'
option gateway '192.168.1.1'
option dns '8.8.8.8'
有没有哪位高手提供下解决思路:|感觉是 eth1 dhcp 出了问题?
咦, 帖子怎么不见了.
不好意思,弄错了,发现ip:192.168.1.1是板子br-lan的ip,所以ping通了。就把这个删了
离线
该问题最后还是没有解决,处理方法是换了github上面Openwrt最新的代码(没有这个问题)
https://git.openwrt.org/openwrt/openwrt.git
尴尬
离线
该问题最后还是没有解决,处理方法是换了github上面Openwrt最新的代码(没有这个问题)
https://git.openwrt.org/openwrt/openwrt.git
尴尬
你的NAND flash是那种并口的还是SPI的?
有没有试过将MT7621的GMAC2禁用?
最近编辑记录 hanwckf (2019-09-28 14:03:46)
离线
遇到一样的问题,MT7621 WAN口无法获得ip,无法ping。
解决了,其实是因为代码的设备树设置了WAN口挂在GMAC2上,设备树名字是gmac1。
尔我硬件上把GE2相关引脚做了GPIO,干扰了内部GMAC2工作。
离线