Εάν μας εμφανιστεί κάποιο μήνυμα όπως
update-initramfs: Generating /boot/initrd.img-2.6.39-2-686-pae W: Possible missing firmware /lib/firmware/rtl_nic/rtl8105e-1.fw for module r8169
τότε μας λείπει firmware για την κάρτα δικτύου
Δοκιμάζουμε να ψάξουμε σε ποιο πακέτο μπορεί να υπάρχει (π.χ. το αρχείο rtl8105e-1.fw)
apt-cache search rtl8105e-1.fw firmware-realtek - Binary firmware for Realtek wired and wireless network adapters
Εγκαθιστούμε το παραπάνω πακέτο
aptitude install firmware-realtek
Αν δεν γίνει αυτόματα τότε κάνουμε χειροκίνητα την ανανέωση του initramfs
update-initramfs -u
Άλλα βασικά πακέτα μη ελέυθερου firmware είναι firmware-linux-nonfree
aptitude install firmware-linux firmware-linux-nonfree
Στο αρχείο /etc/udev/rules.d/70-persistent-net.rules αντιστοιχείται ένα interface σε μια mac address ξεκινώντας από eth0. Επειδή δεσμεύεται προσοχή εάν αλλάξει η κάρτα δικτύου διότι θα αντιστοιχηθεί το επόμενο διαθέσιμο interface π.χ. eth1
Παράδειγμα αρχείου /etc/etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x10ec:0x8139 (8139too) SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:14:85:2f:78:ae", NAME="eth0" SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:18:f3:58:0f:58", NAME="eth1"
Έγιναν οι παρακάτω αλλαγές για να εξασφαλιστεί ότι θα είναι ενεργό το wakeonlan
apt-get install sudo initscripts # for proxmox
Στο αρχείο /etc/rc.local
for iface in $(/usr/lib/wad/network getInterfaces -t 'eth|en'); do ethtool -s $iface wol g done
Στο αρχείο /etc/init.d/halt
.. NETDOWN=no .. if [ "$NETDOWN" = "no" ]; then netdown="" #VK my change to preserve wakeonlan for iface in $(/usr/lib/wad/network getInterfaces -t 'eth|en'); do sudo ethtool -s $iface wol g done fi
Σε κάποιες μητρικές όπως Gigabyte 970A-DS3P δεν λειτουργεί σωστά ο driver r8169. Αποτέλεσμα όλες οι κάρτες, ενσωματωμένη και εξωτερικές που τον χρησιμοποιούν να έχουν πρόβλημα. Θα απενεργοποιήσουμε σε ProxMox 4.3 τον driver r8169 και στην θέση του θα κάνουμε compile και θα χρησιμοποιήσουμε τον r8168.
Προσθέτουμε στο /etc/apt/sources.list τα εξής
#wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add - deb http://download.proxmox.com/debian jessie pve-no-subscription
Εκτελούμε
wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add - apt-get update apt-get install make dkms pve-headers pve-headers-$(uname -r)
Κατεβάζουμε τον τελευταίο driver από https://r8168dl.appspot.com/
Από εδώ και σε όλες τις εντολές που θα εκτελούμε όπου βλέπουμε 8.041.01 βάζουμε την τελευταία έκδοση
cd /usr/src wget https://r8168dl.appspot.com/files/r8168-8.045.08.tar.bz2 tar xvjf r8168-8.045.08.tar.bz2 cd r8168-8.045.08/ ./autorun.sh
Αν αποτύχει λόγω wireless εκτελούμε με το χέρι
make -C /lib/modules/$(uname -r)/build SUBDIRS=/usr/src/r8168-8.041.01/src INSTALL_MOD_DIR=kernel/drivers/net/ethernet/realtek modules_install
Εκτελούμε
depmod -a echo "blacklist r8169" >> /etc/modprobe.d/blacklist-network.conf update-initramfs -u
Δημιουργούμε το αρχείο /usr/src/r8168-8.045.08/dkms.conf
PACKAGE_NAME=r8168 PACKAGE_VERSION=8.045.08 MAKE[0]="'make'" BUILT_MODULE_NAME[0]=r8168 BUILT_MODULE_LOCATION[0]="src/" DEST_MODULE_LOCATION[0]="/kernel/updates/dkms" AUTOINSTALL="YES"
Εάν έχουμε προηγούμενη έκδοση συνδεδεμένη με το dkms την αφαιρούμε. Π.χ.
dkms remove -m r8168/8.041.01 --all
Προσθέτουμε το module στο dkms tree
dkms add -m r8168 -v 8.045.08 dkms build -m r8168 -v 8.045.08 dkms install -m r8168 -v 8.045.08