[Eisfair] [E1] Netzwerkdatendurchsatz zu gering
Thomas Bork
tom at eisfair.org
Do Okt 13 21:02:16 CEST 2016
Am 13.10.2016 um 15:12 schrieb Sascha Pohl:
> Als Netzwerkkarte nutze ich die Onboard-Karte des Mainboards.
> Es handelt sich um ein Gigabyte GA-EP45-UD3, dort ist ein Realtek 8111C
> verbaut.
> Eisfair lädt dafür den Treiber r8168.
Aus dem Changelog zum eiskernel 2.22.0:
- r8168 8.041.00 -> 8.042.00
- zusätzlicher Patch, damit sich der Treiber wieder wie Version
8.037.00 verhält, bei dem use_dac als Option existierte und
per Default nicht gesetzt war
Wir hatten mit dem Treiber r8168 immer wieder Schwierigkeiten mit
bestimmten Revisionen - so stellte sich das zumindest erst mal dar. Nach
dem o.g. Patch sind die nun zum Glück verschwunden.
Möglicherweise führt dieser Patch nun bei Dir zu einem Problem. Du
kannst ersatzweise mal den r8169 versuchen.
Alternativ kannst Du dem Treiber die Option use_dac=1 mitgeben. Das muss
bei aktueller base in
MODULE_x_ACTION='option' # action to apply to this module
passieren.
Das ist der von mir verwendete Patch:
testeis 2.7.3svn2016-05-21 # diff -Nurp
/usr/src/linux-3.2.79-eisfair-1/drivers/net/ethernet/realtek/r8168/r8168_n.c
/usr/src/r8168-8.042.00/src/r8168_n.c
---
/usr/src/linux-3.2.79-eisfair-1/drivers/net/ethernet/realtek/r8168/r8168_n.c
2016-05-25 23:46:16.995995761 +0200
+++ /usr/src/r8168-8.042.00/src/r8168_n.c 2016-05-26
14:02:34.387996376 +0200
@@ -301,6 +301,7 @@ MODULE_DEVICE_TABLE(pci, rtl8168_pci_tbl
static int rx_copybreak = 0;
static int timer_count = 0x2600;
+static int use_dac;
static struct {
u32 msg_enable;
@@ -356,6 +357,9 @@ MODULE_PARM_DESC(eee_enable, "Enable Ene
module_param(hwoptimize, ulong, 0);
MODULE_PARM_DESC(hwoptimize, "Enable HW optimization function.");
+module_param(use_dac, int, 0);
+MODULE_PARM_DESC(use_dac, "Enable PCI DAC. Unsafe on 32 bit PCI slot.");
+
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0)
module_param_named(debug, debug.msg_enable, int, 0);
MODULE_PARM_DESC(debug, "Debug verbosity level (0=none, ..., 16=all)");
@@ -22425,7 +22429,7 @@ rtl8168_init_board(struct pci_dev *pdev,
}
if ((sizeof(dma_addr_t) > 4) &&
- !pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) {
+ !pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) && use_dac) {
dev->features |= NETIF_F_HIGHDMA;
} else {
rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(32));
--
der tom
[eisfair-team]
Mehr Informationen über die Mailingliste Eisfair