Автор Гілка: Сервер NAS висне намертво при роботі з 3 інтерфейсами  (Прочитано 10754 раз)

Відсутній kisil

  • Графоман
  • ****
  • дописів: 353
  • Карма: +0/-0
  • Toruble in Windows reboot, toruble in Unix be root
    • About me
Доброго дня громадо.
Проблема така.
Є комп'ютер, який використовується як сервер доступу в інтернет. На ньому стоїть Слакваре64 14.1. Правда комп трішки з глюками. Для того щоб лінукс нормально працював з 2 мережевими інтерфейсами, 1 інтегрант+1 РСІ картка, я добре нашаманився. Бо система не хотіла нормально робити з мережевими картками, що під'єднані по РСІ. Почитавши по форумах дійшов висновку, що потрібно запускати ядро з опцією "noirqdebug". Ось список пристроїв системи
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b5)
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b5)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)
00:1c.6 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 (rev b5)
00:1c.7 PCI bridge: Intel Corporation 82801 PCI Bridge (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation H67 Express Chipset Family LPC Controller (rev 05)
00:1f.2 IDE interface: Intel Corporation 6 Series/C200 Series Chipset Family 4 port SATA IDE Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
00:1f.5 IDE interface: Intel Corporation 6 Series/C200 Series Chipset Family 2 port SATA IDE Controller (rev 05)
05:00.0 IDE interface: VIA Technologies, Inc. VT6415 PATA IDE Host Controller
06:00.0 Ethernet controller: Qualcomm Atheros AR8151 v2.0 Gigabit Ethernet (rev c0)
07:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 01)
08:00.0 Ethernet controller: VIA Technologies, Inc. VT6105/VT6106S [Rhine-III] (rev 8b)
08:01.0 Ethernet controller: VIA Technologies, Inc. VT6105/VT6106S [Rhine-III] (rev 8b)
Проблема була вся в цьому чарівному південному мості PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 01). Але використавши опцію завантаження ядра "noirqdebug" вдалось добитися нормальної роботи інтегрованого інтерфейсу і однієї карточки, що стоїть в РСІ слоті. І все було добре до останього часу.
Но на днях вирішив дати доступ до інтернету декільком ноутбукам і планшетам через вайфай. Налаштував точку, сервер для роздачі айпі і доступу до інтернету. А точку вирішив підключити до вільної мережевої картки, яка стоїть в РСІ слоті і була незадіяна.
Спочатку все було добре, ноутбуки конектились через точку до вайфай мережі і отримували доступ до інтернету. Но щастя було недовгим. Коли було підключено через вайфай 2 ноута то працювало норм, а коли уже 5-6 користувачів, то сервак просто зависав намертво, без будь-яких повідомлень в логи чи в консоль. І так сталося підряд 3 рази.
Для відновлення нормальної роботи сервера, довелося просто відключити мережевий кабель, що йшов до точки доступу. сервака.
Що порадите в даній ситуації, чи можливо запустити всі 3 мережеві картки. Цікаво просто, що сервак вішається без будь-яких повідомлень в логи чи консоль. В логах можна лише такі помилки побачити
Nov 19 12:45:49 rm-proxy kernel: [    0.000000] ACPI: RSDP 00000000000f0420 00024 (v02 ALASKA)
Nov 19 12:45:49 rm-proxy kernel: [    0.000000] ACPI: XSDT 00000000ccd7e068 0004C (v01 ALASKA    A M I 01072009 AMI  00010013)
Nov 19 12:45:49 rm-proxy kernel: [    0.000000] ACPI: FACP 00000000ccd87940 000F4 (v04 ALASKA    A M I 01072009 AMI  00010013)
Nov 19 12:45:49 rm-proxy kernel: [    0.000000] ACPI: DSDT 00000000ccd7e140 097FA (v02 ALASKA    A M I 00000000 INTL 20051117)
Nov 19 12:45:49 rm-proxy kernel: [    0.000000] ACPI: FACS 00000000ccddcf80 00040
Nov 19 12:45:49 rm-proxy kernel: [    0.000000] ACPI: APIC 00000000ccd87a38 00072 (v03 ALASKA    A M I 01072009 AMI  00010013)
Nov 19 12:45:49 rm-proxy kernel: [    0.000000] ACPI: SSDT 00000000ccd87ab0 00102 (v01 AMICPU     PROC 00000001 MSFT 03000001)
Nov 19 12:45:49 rm-proxy kernel: [    0.000000] ACPI: MCFG 00000000ccd87bb8 0003C (v01 ALASKA    A M I 01072009 MSFT 00000097)
Nov 19 12:45:49 rm-proxy kernel: [    0.000000] ACPI: HPET 00000000ccd87bf8 00038 (v01 ALASKA    A M I 01072009 AMI. 00000004)
Nov 19 12:45:49 rm-proxy kernel: [    0.003914] ACPI: All ACPI Tables successfully acquired
Nov 19 12:45:49 rm-proxy kernel: [    0.134389] ACPI: Executed 1 blocks of module-level executable AML code
Nov 19 12:45:49 rm-proxy kernel: [    0.136122] ACPI: SSDT 00000000ccddbc18 0038C (v01    AMI      IST 00000001 MSFT 03000001)
Nov 19 12:45:49 rm-proxy kernel: [    0.136512] ACPI: Dynamic OEM Table Load:
Nov 19 12:45:49 rm-proxy kernel: [    0.136651] ACPI: SSDT           (null) 0038C (v01    AMI      IST 00000001 MSFT 03000001)
Nov 19 12:45:49 rm-proxy kernel: [    0.136835] ACPI: SSDT 00000000ccddce18 00084 (v01    AMI      CST 00000001 MSFT 03000001)
Nov 19 12:45:49 rm-proxy kernel: [    0.137186] ACPI: Dynamic OEM Table Load:
Nov 19 12:45:49 rm-proxy kernel: [    0.137327] ACPI: SSDT           (null) 00084 (v01    AMI      CST 00000001 MSFT 03000001)
Nov 19 12:45:49 rm-proxy kernel: [    0.137907] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20130328/hwxface-568)
Nov 19 12:45:49 rm-proxy kernel: [    0.162645] ACPI: Enabled 2 GPEs in block 00 to 3F
Nov 19 12:45:49 rm-proxy kernel: [    5.267207] ACPI Warning: 0x0000000000000540-0x000000000000054f SystemIO conflicts with Region \_SB_.PCI0.SBRG.GPBX 1 (20130328/utaddress-251)
Nov 19 12:45:49 rm-proxy kernel: [    5.267492] ACPI Warning: 0x0000000000000530-0x000000000000053f SystemIO conflicts with Region \_SB_.PCI0.SBRG.GPBX 1 (20130328/utaddress-251)
Nov 19 12:45:49 rm-proxy kernel: [    5.267764] ACPI Warning: 0x0000000000000500-0x000000000000052f SystemIO conflicts with Region \_SB_.PCI0.SBRG.GPBX 1 (20130328/utaddress-251)
Nov 19 12:45:49 rm-proxy kernel: [    5.267939] ACPI Warning: 0x0000000000000500-0x000000000000052f SystemIO conflicts with Region \_GPE.GPIO 2 (20130328/utaddress-251)
Пошук по цих помилках нічого не дав. Чи будуть якісь ідеї.

Відсутній RomadinR

  • Кореспондент
  • ***
  • дописів: 123
  • Карма: +0/-0
Якщо іще актуально: єдине надійне рішення - це заміна материнської плати.
Проблема у мості PCIe-PCI (який Ви помилково обізвали «південним») від ASMedia. При чому, схоже, проблема «залізна», а не софтова. Цей міст ставиться разом із чіпсетами, які не мають ліній шини PCI, лише PCIe. Він якраз і забезпечує «розгортання» PCIe x1 у 32-бітний PCI. При цьому, як стає зрозуміло із конфліктів IRQ та DMA-областей, ASMedia зекономили і реалізували логіку PCI у скороченому вигляді (на зразок тупого мультиплексора). Тому при відключенні перевірки джерел запитів IRQ (параметр ядра "noirqdebug") Ви просто змусили ядро ігнорувати проблему з IRQ, сама проблема нікуди не поділася.
Проблема рідко проявлятиметься при одному PCI-пристрої, а у переважної більшості користувачів так і буде. Або якщо кілька пристроїв «ліниві» - тобто, працюють у режимі опитування (irqpoll) або рідко генерують IRQ і не (або рідко) використовують DMA. У вашому ж випадку якраз і спостерігаються проблеми із DMA при зростанні навантаження на мережеві картки - недоміст просто не встигає «перемикати» картки і виникає конфлікт по областях DMA. Аналогічні проблеми спостерігаються з цим мостом і з потужними звуковими картами.
ASMedia проблему не визнає - це для них рівносильно визнанню того, що вони зробили дешеве лайно, яке їхні партнери у маркетингових цілях ліплять на дешеві (а іноді навіть і не дуже дешеві) материнки просто заради формальної галочки про підтримку PCI. Техпідтримка каже, що у Linux офіційно ці мости не підтримуються. Як проблема вирішується у Windows я не знаю. Можливо, якраз це той варіант із «лінивими» картками, бо в Інтернеті зустрічав скарги на проблеми з потужними звуковими і цим мостом під Win7.
Якщо замінити материнську плату геть ніяк не можна і перейти на PCIe теж, можна спробувати увімкнути "irqpoll" у ядрі і погратися параметрами драйверів карток, якщо вони більш-менш «розумні», містять хоч якісь буфери і підтримують irqpoll. Проте, про роботу на повних швидкостях з цим мостом ASMedia можна навіть не мріяти :(
Ще один можливий варіант - адаптери PCIe-PCI на зразок таких:
http://www.virtuavia.eu/shop/pci-express-to-pci-adapter-p29855.html
http://ru.aliexpress.com/item/PCI-Express-PCIE-PCI-E-X1-X4-X8-X16-To-PCI-Bus-Riser-Card-Adapter-Converter/32509901708.html
« Змінено: 2016-03-09 00:06:50 від RomadinR »

Відсутній kisil

  • Графоман
  • ****
  • дописів: 353
  • Карма: +0/-0
  • Toruble in Windows reboot, toruble in Unix be root
    • About me
Дякую за відповідь. Ну у мене мережеві картки самі прості, вони тупі, не розумні. Значить прийдеться купувати PCIe картки.
А встановлення фряхи не може якимсь чином виправити ситуацію???