1. 下载官方内核和文件系统后,电脑windows和板子互相ping不通,错误如下
~ # ifconfig eth0 192.168.1.21
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
~ # hi_gmac_v200 10050000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
~ # ping 192.168.1.112
PING 192.168.1.112 (192.168.1.112): 56 data bytes
卡死在这里,解决方案:
这是因为官方库默认网络是rgmii模式,而自己的模组是rmii模式,因此需要修改内核。这里直接修改内核文件
将Kernel的下边路径arch/arm/boot/dts/hisi-hi3519v101-hmp-demb.dts的这部分代码
&higmac {
phy-handle = <ðphy>;
phy-mode = "rgmii";
};
改成
&higmac {
compatible = "hisilicon,higmac-v3", "hisilicon,higmac";
phy-handle = <ðphy>;
phy-mode = "rmii";
};
还需要修改一处 arch/arm/boot/dts//hisi-hi3519v101-demb.dts
同样位置也改成
&higmac {
compatible = "hisilicon,higmac-v3", "hisilicon,higmac";
phy-handle = <ðphy>;
phy-mode = "rmii";
};
这样pc和开发板便能互相ping通了
2.执行./load3519v101 -a -sensor0 imx274 -osmem 256,pc和板子再次ping不通
解决方案:首先肯定是/load3519v101有问题,因此在问题的地方注释掉,重复运行,找出问题位置
在ko文件夹下的pinmux_hi3519v101.sh文件修改如下
第355行代码到第360行代码
vo_bt1120_pinmux;
i2c2_pin_mux;
himm 0x12010044 0x4ff0;
rmmod hi_sil9136 &> /dev/null;
insmod extdrv/hi_sil9136.ko norm=12; #1080P@30fps
himm 0x12010044 0x4;
换成
#vo_bt1120_pinmux;
#i2c2_pin_mux;
#himm 0x12010044 0x4ff0;
#rmmod hi_sil9136 &> /dev/null;
#insmod extdrv/hi_sil9136.ko norm=12; #1080P@30fps
#himm 0x12010044 0x4; #change by shanji
打开load3519v101文件,将第253行代码
sh ./pinmux_hi3519v101.sh -net -vi > /dev/null
改成
sh ./pinmux_hi3519v101.sh -vi > /dev/null #-net giveup by shanji
这样,重新执行load3519a,问题便解决,pc和板子再次互相ping通