在安装Debian stable(squeeze)之后,我发现eth0没有出现,当我用“ifconfig eth0 up”来启动时,只configuration了IPv6。 安装确实发生在通过隧道和radvd路由器启用IPv6的networking中。 这让我觉得它可能决定禁用IPv4,不知道如何或为什么。
我已经在支持IPv6的networking中进行了许多安装,就像这个,Debian(或者Ubuntu)总是能够使用IPv4,因为所有的驱动和configuration都是正确的。
主板是威盛e-900 mini-ITX。 以太网是一个realtek 8168B设备:
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
我很确定硬件是可以识别的,因为“ifconfig -a”显示eth0,“ifconfig eth0 up”启动并且IPv6可用。 我也确保得到正确的固件,系统日志不报告加载它的问题。 在安装过程中,networking工作正常,安装程序正在愉快地下载软件包。 几乎所有的工作都是在安装时做的。
/ etc / network / interfaces看起来像这样:
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 10.2.2.9 netmask 255.255.255.0 broadcast 10.2.2.255 network 10.2.2.0 gateway 10.2.2.1
我删除了networking(错误)pipe理器。 虽然这并没有解决它。
任何想法可能是错的? 是否有一些我可以忽略的特殊设置可以解决这个问题?
更新:为了说明问题,它确实从networking上的一个radvd路由器获得了一个IP,我可以ping6 2001:500:88:200 :: 10(example.com),我也可以通过它的IPv6地址。 所以很显然,有些东西阻碍了networking的引导。 我想我将不得不考虑是否有任何模块没有被加载。
Update2:使用“ip”命令手动添加IPv4configuration,然后IPv4启动。
我有几乎相同的问题。 唯一的区别是,它与默认的挤压amd 64光盘安装内核2.6,并与最新的挤压和AMD 64内核2.6可用于更新。 如果我转到内核3.x,我无法获得IPV4地址。
它看起来与固件没有任何关系(可以在内核2.6上运行,在内核2.6运行也可以不运行,从而不需要运行内核3.x)。 此外,我试图在realtek上安装驱动程序,但也没有成功。
所以,我会认为这个realtek卡工作方式和linux内核3.xpipe理networking的方法之间存在一个错误。
如果我有足够的时间pipe理我所有的networking,而无需使用DHCP,我将尝试检查本周结束是否可以使用静态IP。
最后还有一点话题出来,但不是不用说我的观点。 几年前,当我们买了主板,我们不得不select我们的声卡和我们的网卡。 现在所有的主板都提供了声卡和网卡,而且我们非常有问题(在Linux世界),这提供了芯片。 所以只是说我更喜欢自己select所有的组件
我认为这个问题与http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=611954有关,所以它是特定于realtek以太网设备的。 我必须将“ifup eth0”添加到初始化脚本(现在是rc.local),以在启动时实际上完全联网。
所以这似乎是一个固件的realtek包中的错误,甚至可能是上游。
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=610302build议尝试更新的内核版本。 这有点帮助,在某种意义上,将加载固件补丁,但问题依然存在。
为了说明,内核2.6.32-5:
r8169 0000:05:00.0: firmware: requesting rtl_nic/rtl8168e-1.fw r8169 0000:05:00.0: eth0: link down r8169 0000:05:00.0: eth0: link down ADDRCONF(NETDEV_UP): eth0: link is not ready r8169 0000:05:00.0: eth0: link up ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
在这种情况下,内核试图加载rtl8168e-1.fw并成功。 我认为它没有成功的关于initramfs,这就是为什么在“ifup”运行时加载它。
内核3.2.0-0.bpo.2:
r8169 0000:05:00.0: eth0: link down r8169 0000:05:00.0: eth0: link down ADDRCONF(NETDEV_UP): eth0: link is not ready r8169 0000:05:00.0: eth0: link up ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
在这种情况下,固件补丁rtl8168e-1.fw在启动过程中成功加载,但是networking仍然没有出现。
要清楚的是,如果运行诸如“ifup ethX”之类的内核版本,它们都有可用的networking连接。
我想我将不得不忍受周围的工作,直到这个问题得到解决。