We use the same firmware image download to different CPU devices.
The old CPU version device can mount NFS in the boot. (CPU version v1.1)
But the new CPU version device can't mount NFS in the boot. (CPU version v1.2)
CPU : IMX6UL version v1.1
IMX6UL version v1.2
Kernel : 3.14.38
Platform : imx6ulevk
Attached files : normal_nfs.log - CPU v1.1 boot log.(The image can mount NFS rootfs.)
no_normal_nfs.log - CPU v1.2 boot log.(The image can't mount NFS rootfs)
CPU v1.1 mount NFS log
----------------------------
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
libphy: 2188000.ethernet:02 - Link is Up - 100/Full
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
device=eth0, hwaddr=00:11:22:03:44:55, ipaddr=192.168.168.109, mask=255.255.255.0, gw=255.255.255.255
host=192.168.168.109, domain=, nis-domain=(none)
bootserver=255.255.255.255, rootserver=192.168.168.96, rootpath=
VFS: Mounted root (nfs filesystem) on device 0:14.
devtmpfs: mounted
Freeing unused kernel memory: 332K (80817000 - 8086a000)
INIT: version 2.88 booting
Please wait: booting...
Starting udev
udevd[147]: starting version 182
random: nonblocking pool is initialized
bootlogd: cannot allocate pseudo tty: No such file or directory
INIT: Entering runlevel: 5
----------------------------
==> Success mount NFS rootfs
CPU v1.2 mount NFS log
----------------------------
Pv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
libphy: 2188000.ethernet:02 - Link is Up - 100/Full
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
device=eth0, hwaddr=78:20:79:00:01:63, ipaddr=192.168.168.109, mask=255.255.255.0, gw=255.255.255.255
host=192.168.168.109, domain=, nis-domain=(none)
bootserver=255.255.255.255, rootserver=192.168.168.96, rootpath=
VFS: Mounted root (nfs filesystem) on device 0:14.
devtmpfs: mounted
Freeing unused kernel memory: 332K (80817000 - 8086a000)
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 OK
fec 2188000.ethernet eth0: rcv is not +last
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 OK
random: nonblocking pool is initialized
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 OK
fec 2188000.ethernet eth0: rcv is not +last
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 not responding, still trying
......
---------------------------------
==> Don't success mount NFS rootfs.
Does anyone encounter the same problem?
Best Wishes,
Eric Chang
The NFS unstable is HW PHY version had changed. It causes the PHY CLK shift. Use the meta-fsl-bsp-release.git - i.MX BSP Yocto Project Release Layer patch can solve the NFS unstable.
I upgrade the kernel version 4.1.15-g6377fae. The FEC driver had upgraded. Attached files fec.h and fec_main had the setting the FTRL register will stop the FEC from trying to use multiple receive buffers patch. But the patch doesn't fix NFS issue.
The NFS_20180111.log
CPU: Freescale i.MX6UL rev1.2 at 396 MHz (v1.2)
Kernel: Linux version 4.1.15-g6377fae-dirty
NFS server: 192.168.168.96
----------------------------------------------
u-boot env
Hit any key to stop autoboot: 1 0
=> pri
baudrate=115200
bootargs=root=/dev/nfs rw nfsroot=192.168.168.96:/home/eric/work/IDTech/pisces/rootfs ip=192.168.168.109 console=ttymxc2,115200 cma=96M
bootcmd=sf probe;sf read ${loadaddr} 0x100000 0x5f0000;sf read ${fdt_addr} 0x6F0000 0x10000;bootz ${loadaddr} - ${fdt_addr}
bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};
bootdelay=1
bootloader_version=KH0 BL 1.0.0
console=ttymxc2
ethact=FEC0
ethaddr=78:20:79:00:01:63
ethprime=FEC
fdt_addr=0x83000000
fdt_high=0xffffffff
initrd_addr=0x83800000
initrd_high=0xffffffff
ipaddr=192.168.168.109
loadaddr=0x80800000
mfgtool_args=setenv bootargs console=${console},${baudrate} cma=96M rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber="" clk_ignore_unused
panel=ST7796S
splashimage=80000000;
splashpos=m,m;
----------------------------------------
u-boot ping NFS server:
Environment size: 931/8188 bytes
=> ping 192.168.168.96
Using FEC0 device
host 192.168.168.96 is alive
------------------------------------------
Can't mount NFS server log:
usbhid: USB HID core driver
NET: Registered protocol family 26
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)
fec 2188000.ethernet eth0: Freescale FEC PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=2188000.ethernet:02, irq=-1)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
fec 2188000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
device=eth0, hwaddr=78:20:79:00:01:63, ipaddr=192.168.168.109, mask=255.255.255.0, gw=255.255.255.255
host=192.168.168.109, domain=, nis-domain=(none)
bootserver=255.255.255.255, rootserver=192.168.168.96, rootpath=
VFS: Mounted root (nfs filesystem) on device 0:16.
devtmpfs: mounted
Freeing unused kernel memory: 372K (808a1000 - 808fe000)
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 not responding, still trying
random: nonblocking pool is initialized
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 OK
nfs: server 192.168.168.96 not responding, still trying
nfs: server 192.168.168.96 not responding, still trying
fec 2188000.ethernet eth0: rcv is not +last
fec 2188000.ethernet eth0: rcv is not +last
fec 2188000.ethernet eth0: rcv is not +last
fec 2188000.ethernet eth0: rcv is not +last
fec 2188000.ethernet eth0: rcv is not +last
fec 2188000.ethernet eth0: rcv is not +last
--------------------------------------------------------------------
Anyone can give me some advice?
Best Wishes,
Eric
Hi Joan:
In u-boot can ping successfully.
I changing the serverip to new nfs server ip. It still don't mount the NFS rootfs in the boot.
Best Wishes,
Eric