This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

NFS Booting issue with Linux kernel 3.12

Hi,

We have beaglebone black based custom board,
We were using linux kernel 3.8 + NFS to boot the board first time or in case of development pc.
Now when we use linux kernel 3.12 we are not able to boot the linux using NFS,
we are seeing following messages during kernel bootup,

[    4.505826] Sending DHCP requests .,. OK
[    7.656293] IP-Config: Got DHCP answer from 192.168.1.3, my address is 192.168.1.123
[    7.664700] IP-Config: Complete:
[    7.668145]      device=eth0, hwaddr=7c:66:9d:1d:6f:09, ipaddr=192.168.1.123, mask=255.255.255.0, gw=192.168.1.1
[    7.678886]      host=192.168.1.123, domain=lutron, nis-domain=(none)
[    7.685674]      bootserver=192.168.1.3, rootserver=192.168.1.3, rootpath=
[    7.692748]      nameserver0=8.8.8.8
[   12.729633] VFS: Mounted root (nfs filesystem) on device 0:12.
[   12.736216] Freeing unused kernel memory: 204K (c04a3000 - c04d6000)
[   27.765833] nfs: server 192.168.1.3 not responding, still trying
[   27.774153] nfs: server 192.168.1.3 OK
[   55.165840] nfs: server 192.168.1.3 not responding, still trying
[   57.365867] nfs: server 192.168.1.3 not responding, still trying
[   87.103644] nfs: server 192.168.1.3 OK
[   87.112565] nfs: server 192.168.1.3 OK
[  150.565836] nfs: server 192.168.1.3 not responding, still trying
[  150.572197] nfs: server 192.168.1.3 not responding, still trying
[  150.578552] nfs: server 192.168.1.3 not responding, still trying
[  150.592494] nfs: server 192.168.1.3 OK
[  150.600376] nfs: server 192.168.1.3 OK
[  150.632852] PM: request_firmware failed
[  157.340828] nfs: server 192.168.1.3 OK
[  175.425832] nfs: server 192.168.1.3 not responding, still trying
[  175.439083] nfs: server 192.168.1.3 OK
[  184.235838] nfs: server 192.168.1.3 not responding, still trying
[  188.645829] nfs: server 192.168.1.3 not responding, still trying
[  198.562634] nfs: server 192.168.1.3 OK
[  216.165838] nfs: server 192.168.1.3 not responding, still trying
[  216.180069] nfs: server 192.168.1.3 OK
[  238.585834] nfs: server 192.168.1.3 not responding, still trying
[  241.892940] nfs: server 192.168.1.3 OK
[  301.925831] nfs: server 192.168.1.3 not responding, still trying
[  301.939608] nfs: server 192.168.1.3 OK

these retries messages keeps coming and system doesnt boot.

How do we debug this issue ?
Can somebody give some hint ?

Thank you,

Regards,
Ankur

  • Hi Ankur,

    1) Try to connect one ethernet (RJ45) cable between your board and host PC with correct assigned IP address (10.100.1.1 for HOST and 10.100.1.2 for target) and try to make sure that you don't have problem with LAN network at your end.

    Have you tried NFS boot with linux kernel 3.8 and any success ?

    2) If it is not the case then,

    I think, it seems to be issue with network driver (linux 3.12).

    Boot the board other than NFS (network boot) like SD/MMC or NAND with Linux kernel 3.12 then try to transfer the huge data over network using TFTP or scp etc.,

    Because while mounting NFS, lot of network IRQs would have running on board.

  • Hi Titus,

    Thank you for reply,
    NFS boot works fine in kernel 3.8.
    Problem is only with kernel 3.12.

    I tried 2nd suggestion,
    I tried Booting from NAND and system does boot from NAND.
    When i trasfer file(size 48K) using TFTP sometimes it transfers and sometimes there is a timeout,

    So i think somehow ethernet speed is slow and that's what is creating problem in mounting the NFS.
    What you do think ?
    Do i need to check ethernet clock configutation in dtb ? Any other suggestions ?

    Thank you,

    Regards,
    Ankur

  • Hi Ankur,

    So i think somehow ethernet speed is slow and that's what is creating problem in mounting the NFS.

    It could be.

    When i trasfer file(size 48K) using TFTP sometimes it transfers and sometimes there is a timeout,

    Try data transfer over network through "scp"

    Could you please share your complete bootup log of both the kernel versions.

  • hi Titus,

    Thank you for reply,
    I will provide kernel 3.8 and kernel 3.12 bootlog,
    Meanwhile we made small progress,
    we used ethernet hub between PC and the board,
    And now We see

    "libphy: 4a101000.mdio:00 - Link is Up - 10/Half"

    And board booting proceeds,

    previously it was,

    "libphy: 4a101000.mdio:00 - Link is Up - 100/Full"


    So our conclusion is,
    Surely there is speed mismatch PC and board,
    and because of that the board is not able to see the exported nfsboot folder continuously.
    I tried changing the phy clock but it didn't help. :(

    Thank you,

    Regards,
    Ankur

  • Hi Titus,

    I have attached boot log of kernel 3.8 and kernel 3.12
    We have added some debug prints in both the kernel so there are some extra messages, please bear with it.

    Regarding scp, there is some issue with repect to public/private key,
    That's why i tried with tftp,
    Currently i have cross compiled iperf tool, will measure bandwidth with and post it.

    Thank you,

    Regards,
    Ankur

    7357.kernel38_bootlog.log

    1016.kernel312_bootlog.log

  • Hi Ankur,

    Are you working with TI released SDK kernel or from "kernel.org" ie 3.12 ?

    Have you compared the ethernet driver between the both kernel versions ?

    Also, please check the kernel driver configurations between working and non-working through menuconfig options.

  • Hi Titus,

    Thank you for reply,
    We are not using TI SDK, we are using timesys_factory from timesys,
    Kernel is also provided by them,(But in actualy they also get kernel from TI)
    Finally we could figure out the issue, by comparing configuration, device-tree and register dump.

    We found that in controlmodule register 0x44e10650, external clock enable bit was not set.
    CPSW phy driver was not setting that bit because "rmii-clock-ext" was not defined in the am33xx.dtsi file.

    we modified following section in the am33xx.dtsi file and it started working,

                            phy_sel: cpsw-phy-sel@44e10650 {
                                    compatible = "ti,am3352-cpsw-phy-sel";
                                    reg= <0x44e10650 0x4>;
                                    reg-names = "gmii-sel";
    				rmii-clock-ext = <1>
                            };
    


    Thank you,

    Regards,
    Ankur

  • Hi Ankur,

    Sounds good.

    Thanks for your update.