【已解决】rpcbind: server 10.0.1.9 not responding, timed out
【问题】
网卡驱动加载后,无法mount rootfs:
———————————————————————————————–
[ 2.940000] ieee80211: 802.11 data/management/control stack, git-1.1.13
[ 2.950000] ieee80211: Copyright (C) 2004-2005 Intel Corporation <[email protected]>
[ 3.490000] net eth0: link down
[ 3.490000] net eth0: normal mode
[ 3.500000] net eth0: multicast mode
[ 3.500000] net eth0: multicast mode
[ 4.510000] IP-Config: Complete:
[ 4.510000] device=eth0, addr=10.0.1.11, mask=255.255.255.0, gw=255.255.255.255,
[ 4.520000] host=enc28j60, domain=, nis-domain=(none),
[ 4.520000] bootserver=10.0.1.9, rootserver=10.0.1.9, rootpath=
[ 4.530000] Looking up port of RPC 100003/2 on 10.0.1.9
[ 39.540000] rpcbind: server 10.0.1.9 not responding, timed out
[ 39.540000] Root-NFS: Unable to get nfsd port number from server, using default
[ 39.550000] Looking up port of RPC 100005/1 on 10.0.1.9
[ 74.560000] rpcbind: server 10.0.1.9 not responding, timed out
[ 74.560000] Root-NFS: Unable to get mountd port number from server, using default
[ 109.570000] mount: server 10.0.1.9 not responding, timed out
[ 109.570000] Root-NFS: Server returned error -5 while mounting /home/nfs/rootfs
[ 109.580000] VFS: Unable to mount root fs via NFS, trying floppy.
[ 109.590000] VFS: Cannot open root device "nfs" or unknown-block(2,0)
[ 109.600000] Please append a correct "root=" boot option; here are the available partitions:
[ 109.600000] 1f00 512 mtdblock0 (driver?)
[ 109.610000] 1f01 8192 mtdblock1 (driver?)
[ 109.610000] 1f02 65536 mtdblock2 (driver?)
[ 109.620000] 1f03 187392 mtdblock3 (driver?)
[ 109.620000] Kernel panic – not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
———————————————————————————————–
而对于正常的,加载驱动,并且mount rootfs的输出是:
———————————————————————————————–
[ 2.720000] ieee80211: 802.11 data/management/control stack, git-1.1.13
[ 2.730000] ieee80211: Copyright (C) 2004-2005 Intel Corporation <[email protected]>
[ 3.270000] net eth0: link down
[ 3.270000] net eth0: normal mode
[ 3.280000] net eth0: multicast mode
[ 3.280000] net eth0: multicast mode
[ 3.320000] net eth0: link up – Half duplex
[ 4.300000] IP-Config: Complete:
[ 4.300000] device=eth0, addr=10.0.1.11, mask=255.255.255.0, gw=255.255.255.255,
[ 4.310000] host=enc28j60, domain=, nis-domain=(none),
[ 4.310000] bootserver=10.0.1.9, rootserver=10.0.1.9, rootpath=
[ 4.320000] Looking up port of RPC 100003/2 on 10.0.1.9
[ 4.360000] Looking up port of RPC 100005/1 on 10.0.1.9
[ 4.460000] VFS: Mounted root (nfs filesystem).
[ 4.470000] Freeing init memory: 100K
———————————————————————————————–
可以看出,是少了:
net eth0: link up – Half duplex
这一步,
最后的最后,终于搞清楚了,
原来是网卡驱动:
driversnetenc28j60.c中的probe函数:
static int __devinit enc28j60_probe(struct spi_device *spi)
中间,用到了GPIO2的初始化,去配置GPIO2,
而此处我的代码由于进行功耗管理,而在初始化的时候,将原先打开GPIO的clock关闭了,
导致此处虽然还是可以去配置gpio,但是实际没起效果,导致后面的网卡不能link up。
【解决办法】
确保网卡驱动初始化的时候涉及的clock时钟,都要开启,包括此处用到的GPIO的时钟,也要先打开。
转载请注明:在路上 » 【已解决】rpcbind: server 10.0.1.9 not responding, timed out