device eth0 entered promiscuous mode (on startup)

quorzar

New Member
May 19, 2014
2
0
1
Hi at all,
First i have to say that proxmox is one of the best things I ever worked with! I wanted to subscibe and want to test the
update procedure with the non-sub packages, but then came to this problem.

If I install proxmox with the kernel pve-kernel-2.6.32-29-pve (new iso),
or I update my existing node(see package versions) to the pve-kernel-2.6.32-29-pve kernel,
I got an error on starting up the node/host system. Ethernet is not working after this.

This is a part of the /var/log/dmesg file after booting.
.
.
.
device eth0 entered promiscuous mode
nommu_map_single: overflow 318724000+16383 of device mask ffffffff
r8169 0000:02:00.0: eth0: Failed to map RX DMA!
nommu_map_single: overflow 318724000+16383 of device mask ffffffff
r8169 0000:02:00.0: eth0: Failed to map RX DMA!
NET: Registered protocol family 10
RPC: Registered named UNIX socket transport module.
RPC: Registered UDP transport module.
RPC: Registered TCP transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module
.
.
.

My Mainboard is a http://www.asrock.com/mb/AMD/AM1H-ITX/ with an AMD 5350 processor.
Specs of the mainboard says: Realtek RTL8111GR is the ethernet controller.
With the "old" kernel (2.6.32-27-pve) everything works great. Also if I install or update to the
new one and then selecting the "old" one while start up.
This are my installation isos that i am using.

proxmox-ve_3.2-1933730b-2.iso : Works great directly, but not with an update and using the new kernel.

proxmox-ve_3.2-5a885216-5.iso : Displays the error at startup, still at the first boot.

It is not extremly important to get this working but, I think it is an interesting problem.
If you need more information, I will bring it.

Thanks for PROXMOX!

Here the package versions of the working config.
proxmox-ve-2.6.32: 3.2-121 (running kernel: 2.6.32-27-pve)
pve-manager: 3.2-1 (running version: 3.2-1/1933730b)
pve-kernel-2.6.32-27-pve: 2.6.32-121
lvm2: 2.02.98-pve4 clvm: 2.02.98-pve4
corosync-pve: 1.4.5-1
openais-pve: 1.1.4-3
libqb0: 0.11.1-2
redhat-cluster-pve: 3.2.0-2
resource-agents-pve: 3.9.2-4
fence-agents-pve: 4.0.5-1
pve-cluster: 3.0-12
qemu-server: 3.1-15
pve-firmware: 1.1-2
libpve-common-perl: 3.0-14
libpve-access-control: 3.0-11
libpve-storage-perl: 3.0-19
pve-libspice-server1: 0.12.4-3
vncterm: 1.1-6
vzctl: 4.0-1pve4
vzprocps: 2.0.11-2
vzquota: 3.1-2
pve-qemu-kvm: 1.7-4
ksm-control-daemon: 1.1-1
glusterfs-client: 3.4.2-1
 
Last edited:
Specs of the mainboard says: Realtek RTL8111GR is the ethernet controller.

May be that the kernel don't have support for your NIC Realtek, always Red Hat have very old drivers versions. Try compile it:

1- Download the latest driver version of the website of Realtek (LINUX driver for kernel 3.x and 2.6.x and 2.4.x 8.038 version):
http://www.realtek.com.tw/Downloads...5&Level=5&Conn=4&DownTypeID=3&GetDown=false#2

2- Download the kernel header of your actual kernel (you must have a repository of PVE enabled):
shell> aptitude update && aptitude install pve-headers-`uname -r`

3- Download the necessary packages for compile it:
shell> aptitude install -y build-essential autoconf automake autotools-dev dh-make debhelper devscripts fakeroot file lintian patch patchutils pbuilder quilt dkms
shell> aptitude clean

4- Run this commands:
shell> tar xjvf r8168-8.038.00.tar.bz2
shell> cd r8168-8.038.00
shell> make
shell> make install
shell> echo "blacklist r8169" > /etc/modprobe.d/realtek-blacklist.conf
shell> echo "r8168" >> /etc/initramfs-tools/modules
shell> update-initramfs -v -t -u
shell> reboot

5- Enjoy of the network communication

Note: This driver version only will work with the kernel that was compiled, ie, if you install a new kernel, you will should compile this driver again
 
Ok. I will give it a try, but probably is it possible that this get fixed in the near future? Altough it is not high end hardware :)
Because this is not impracticable to do this each time.

Thanks for your help.
 
Last edited:
Hello,

I know the thread is almost one year old, but I have the same mainboard and the same problem. Due to the missing internet connection on the server, I can not install the dependencies for compiling and installing the driver. I tried to copy all the packages manually with a usb drive, but there are too many. Does anybody knows a way to cross compile the driver?

Best regards
Philipp
 
May be that the kernel don't have support for your NIC Realtek, always Red Hat have very old drivers versions. Try compile it:

shell> tar xjvf r8168-8.038.00.tar.bz2
shell> cd r8168-8.038.00
shell> make
shell> make install
shell> echo "blacklist r8169" > /etc/modprobe.d/realtek-blacklist.conf
shell> echo "r8168" >> /etc/initramfs-tools/modules
shell> update-initramfs -v -t -u
shell> reboot

Unfortunately this does not seem to work on the current pve-kernel:
Code:
root@srv:~/r8168-8.039.00# make all
make -C src/ clean
make[1]: Entering directory `/root/r8168-8.039.00/src'
make -C /lib/modules/2.6.32-37-pve/build SUBDIRS=/root/r8168-8.039.00/src clean
expr: syntax error
make[2]: Entering directory `/usr/src/linux-headers-2.6.32-37-pve'
  CLEAN   /root/r8168-8.039.00/src/.tmp_versions
  CLEAN   /root/r8168-8.039.00/src/Module.symvers /root/r8168-8.039.00/src/modules.order
make[2]: Leaving directory `/usr/src/linux-headers-2.6.32-37-pve'
make[1]: Leaving directory `/root/r8168-8.039.00/src'
make -C src/ modules
make[1]: Entering directory `/root/r8168-8.039.00/src'
make -C /lib/modules/2.6.32-37-pve/build SUBDIRS=/root/r8168-8.039.00/src modules
expr: syntax error
make[2]: Entering directory `/usr/src/linux-headers-2.6.32-37-pve'
  CC [M]  /root/r8168-8.039.00/src/r8168_n.o
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_TIME = "de_DE.UTF-8",
    LC_MONETARY = "de_DE.UTF-8",
    LC_COLLATE = "C",
    LC_ADDRESS = "de_DE.UTF-8",
    LC_TELEPHONE = "de_DE.UTF-8",
    LC_NAME = "de_DE.UTF-8",
    LC_MEASUREMENT = "de_DE.UTF-8",
    LC_IDENTIFICATION = "de_DE.UTF-8",
    LC_NUMERIC = "C",
    LC_PAPER = "de_DE.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
  CC [M]  /root/r8168-8.039.00/src/r8168_asf.o
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_TIME = "de_DE.UTF-8",
    LC_MONETARY = "de_DE.UTF-8",
    LC_COLLATE = "C",
    LC_ADDRESS = "de_DE.UTF-8",
    LC_TELEPHONE = "de_DE.UTF-8",
    LC_NAME = "de_DE.UTF-8",
    LC_MEASUREMENT = "de_DE.UTF-8",
    LC_IDENTIFICATION = "de_DE.UTF-8",
    LC_NUMERIC = "C",
    LC_PAPER = "de_DE.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
  CC [M]  /root/r8168-8.039.00/src/rtl_eeprom.o
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_TIME = "de_DE.UTF-8",
    LC_MONETARY = "de_DE.UTF-8",
    LC_COLLATE = "C",
    LC_ADDRESS = "de_DE.UTF-8",
    LC_TELEPHONE = "de_DE.UTF-8",
    LC_NAME = "de_DE.UTF-8",
    LC_MEASUREMENT = "de_DE.UTF-8",
    LC_IDENTIFICATION = "de_DE.UTF-8",
    LC_NUMERIC = "C",
    LC_PAPER = "de_DE.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
  CC [M]  /root/r8168-8.039.00/src/rtltool.o
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_TIME = "de_DE.UTF-8",
    LC_MONETARY = "de_DE.UTF-8",
    LC_COLLATE = "C",
    LC_ADDRESS = "de_DE.UTF-8",
    LC_TELEPHONE = "de_DE.UTF-8",
    LC_NAME = "de_DE.UTF-8",
    LC_MEASUREMENT = "de_DE.UTF-8",
    LC_IDENTIFICATION = "de_DE.UTF-8",
    LC_NUMERIC = "C",
    LC_PAPER = "de_DE.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
  LD [M]  /root/r8168-8.039.00/src/r8168.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /root/r8168-8.039.00/src/r8168.mod.o
  LD [M]  /root/r8168-8.039.00/src/r8168.ko
make[2]: Leaving directory `/usr/src/linux-headers-2.6.32-37-pve'
make[1]: Leaving directory `/root/r8168-8.039.00/src'
make -C src/ install
make[1]: Entering directory `/root/r8168-8.039.00/src'
make -C /lib/modules/2.6.32-37-pve/build SUBDIRS=/root/r8168-8.039.00/src INSTALL_MOD_DIR=kernel/drivers/net modules_install
expr: syntax error
make[2]: Entering directory `/usr/src/linux-headers-2.6.32-37-pve'
  INSTALL /root/r8168-8.039.00/src/r8168.ko
  DEPMOD  2.6.32-37-pve
make[2]: Leaving directory `/usr/src/linux-headers-2.6.32-37-pve'
make[1]: Leaving directory `/root/r8168-8.039.00/src'
so i get "expr: syntax error" and the driver does not compile :(. Also tryied an older driver version (r8168-8.035.00.tar.bz2) - no luck. So the problem seems to be the kermel version. Maybe some knows a workaround?
The NIC seems to start if I add iommu=soft in grub, but then there are other problems.

UPD: It works by using the autorun.sh script. Just run ./autorun.sh instead of "make && make install" and reboot.
 
Last edited:
I'm having the same problem, but with a similar mobo. ASRock H87M-ITX. It has the Atheros QCA8171 ethernet card, so I'm trying to install the alx compat-driver found at https://www.kernel.org/pub/linux/ke...013/03/04/compat-drivers-2013-03-04-u.tar.bz2

I'm following the instructions found at http://blog.norture.com/2013/05/how-to-fix-ubuntu-13-04-alx-ethernet-driver/#ixzz2ZoEn3QaY

But when I use make to compile the driver, I get an error:
make: *** /lib/modules/2.6.32-37-pve/build: No such file or directory. Stop.
make: *** [modules] Error 2

If I create the build directory, it gives me a different error:
make: *** No rule to make target 'modules'. Stop.

What do I need to finish compiling the driver?
 
Tom I've spent countless hours on this problem, and have run into nothing but more problems. I can't have any more down time. Do you know of a USB LAN adapter that will be auto-detected during Proxmox install?
 
I can fully understand your frustration about Realtek Cards. There is only one way to go. purchase a Intel Network Card for your Computer. If not possible. Go for a motherboard which has Intel NIC onboard.
My three point recommendation for any Linux based Computer.
1. never use Realtek NIC's
2. never use Realtek NIC's
3. never use Realtek NIC's

:)

I dont have any experience with USB LAN adapters.
Regards
Tom
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!