After installing Debian stable (squeeze) I found that eth0 is not coming up, when I bring it up with "ifconfig eth0 up" only IPv6 is configured. Installation did happen in a network with IPv6 enabled through a tunnel and a radvd router. Which makes me think it may have decided to disable IPv4, don't know how or why.
I have done many installations in an IPv6 enabled network like this one and Debian (or Ubuntu) would always be able to use IPv4, given all drivers and configurations are correct.
The motherboard is a VIA e-900 mini-ITX. Ethernet is a realtek 8168B device:
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
I am pretty sure the hardware is recognised, since "ifconfig -a" shows eth0, "ifconfig eth0 up" brings it up and IPv6 is available. I also made sure to get the right firmware, syslog does not report problems loading it. During installation network was working fine and the installer was happily downloading packages. I pretty much did everything I always do when installing, when IPv4 is working afterwards.
/etc/network/interfaces looks like this:
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
I removed network-(mis)manager. Though that didn't fix it.
Any idea what may be wrong? Is there some special setting I overlooked which may fix this?
Update: To make clear, it does actually get an IP from a radvd router on the network and I can ping6 2001:500:88:200::10 (example.com), I can also ssh into the machine through its IPv6 address. So it's clear something is preventing networking to come up at boot. I think I will have to look into if any modules are not being loaded.
Update2: Manually adding the IPv4 configuration using the "ip" commands works and then IPv4 is up too.