Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2011-09-06 14:38:28

  tuchlin - Nowy użytkownik

tuchlin
Nowy użytkownik
Zarejestrowany: 2011-09-06

Kilka kart sieciowych i konflikt IRQ

Konfiguruję router oparty o debiana. Oprócz zintegrowanej karty sieciowej (widzianej jako eth3) zainstalowałem 3 karty na PCI (czyli tyle ile pomieściła płyta główna). Wszystkie pracują w oparciu o moduł 8139too. Zależy mi na jak największej ilości podsieci dlatego chcę aby wszystkie działały. Niestety eth0 i eth3 za każdym razem dostają to samo przerwanie, przez co eth0 przestaje działać po kilku(nastu) godzinach pracy. Na ten moment odłączyłem od niej przewód.
Próbowałem już wpisywać różne parametry startowe nt. ACPI przy uruchamianiu jądra i zmieniać ustawienia PCI w biosie. Tak czy inaczej, zawsze obie karty pracują na tym samym przerwaniu.

Próbowałem też konfigurować moduł 8139too przez modconf, ale nie wiem jakie działające parametry mogę tam wpisać dla 4 kart jednocześnie.
[b]
Czy istnieje skuteczny sposób na zmianę przerwania dla wybranego interfejsu?[/b]

Pracuję na jądrze 2.6.32-5-686

Kilka zrzutów:

Kod:

 dmesg |grep eth
[    7.258377] eth0: RealTek RTL8139 at 0xe000, 00:a1:b0:00:86:9e, IRQ 17
[    7.288949] eth1: RealTek RTL8139 at 0xe400, 00:1f:1f:4d:2f:dd, IRQ 18
[    7.291183] eth2: RealTek RTL8139 at 0xe800, 00:30:4f:46:b8:57, IRQ 19
[    7.310087] eth3: RealTek RTL8139 at 0xec00, 00:20:ed:44:fd:2d, IRQ 17
[   16.548295] eth3: link up, 10Mbps, half-duplex, lpa 0x0000
[   16.554642] eth1: link up, 100Mbps, full-duplex, lpa 0x45E1
[   16.567593] eth2: link up, 100Mbps, full-duplex, lpa 0x45E1
[   17.735278] eth0: link down
[   17.740886] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   26.676030] eth1: no IPv6 routers present
[   26.808036] eth2: no IPv6 routers present
[   26.924038] eth3: no IPv6 routers present

Kod:

 lspci
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 650/M650 Host (rev 01)
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] Virtual PCI-to-PCI bridge (AGP)
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS962 [MuTIOL Media IO] (rev 04)
00:02.1 SMBus: Silicon Integrated Systems [SiS] SiS961/2 SMBus Controller
00:02.5 IDE interface: Silicon Integrated Systems [SiS] Device 5518
00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:0b.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:10.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 65x/M650/740 PCI/AGP VGA Display Adapter

Offline

 

#2  2011-09-06 20:31:51

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Kilka kart sieciowych i konflikt IRQ

Powyłączaj w BIOS-ie wszystkie niepotrzebne urządzenia, np: port szeregowy, równoległy, MIDI, Gameport, nieużywane kontrolery, usb, itp.

Offline

 

#3  2011-09-06 23:41:18

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Kilka kart sieciowych i konflikt IRQ

1. ilosc kart nie ma zwiazku z iloscia podsieci ...
2. pokaz wynik [tt]cat /proc/interrupts[/tt]


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#4  2011-09-07 08:33:15

  tuchlin - Nowy użytkownik

tuchlin
Nowy użytkownik
Zarejestrowany: 2011-09-06

Re: Kilka kart sieciowych i konflikt IRQ

Wiem, że ilość kart nie ma bezpośredniego związku i docelowo i tak na każdym interfejsie planuję ustawić po dwie podsieci, ale zależy mi na fizycznym rozdzieleniu głównych gałęzi.

Dodam jeszcze, że bios pozwala mi na zmianę IRQ jedynie dla urządzeń nie-zintegrowanych. Zintegrowana karta z uporem maniaka "podąża" za tą na pierwszym slocie PCI.

Co do wolnych przerwań, jest zapas:

Kod:

cat /proc/interrupts
            CPU0
   0:         49   IO-APIC-edge      timer
   1:          8   IO-APIC-edge      i8042
   6:          2   IO-APIC-edge      floppy
   8:          0   IO-APIC-edge      rtc0
   9:          0   IO-APIC-fasteoi   acpi
  10:          0   IO-APIC-edge      MPU401 UART
  14:     124799   IO-APIC-edge      pata_sis
  15:         91   IO-APIC-edge      pata_sis
  17:     230304   IO-APIC-fasteoi   eth3, eth0
  18:      60848   IO-APIC-fasteoi   eth1
  19:      53686   IO-APIC-fasteoi   eth2
 NMI:          0   Non-maskable interrupts
 LOC:    5401762   Local timer interrupts
 SPU:          0   Spurious interrupts
 PMI:          0   Performance monitoring interrupts
 PND:          0   Performance pending work
 RES:          0   Rescheduling interrupts
 CAL:          0   Function call interrupts
 TLB:          0   TLB shootdowns
 TRM:          0   Thermal event interrupts
 THR:          0   Threshold APIC interrupts
 MCE:          0   Machine check exceptions
 MCP:        195   Machine check polls
 ERR:          0
 MIS:          0

Ostatnio edytowany przez tuchlin (2011-09-07 08:39:07)

Offline

 

#5  2011-09-07 20:38:54

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Kilka kart sieciowych i konflikt IRQ

Wyłącz UART i stację dyskietek, potem ustaw opcję "Reset Configuration Data" na Enable, sprawdź wcześniej czy jakie masz ustawienia opcji "PNP OS Installed" - tu najczęściej działa wybranie "Yes".

PS. BIOS i architektura PC już swoje lata ma... trochę wyrozumiałości ;-)

Offline

 

#6  2011-09-07 20:58:00

  tuchlin - Nowy użytkownik

tuchlin
Nowy użytkownik
Zarejestrowany: 2011-09-06

Re: Kilka kart sieciowych i konflikt IRQ

Pogrzebałem w BIOSie i zauważyłem, że Debian w zasadzie honoruje ustawienia, które narzucę. To BIOS przepisuje przerwanie z karty na PCI1 jeszcze przed załadowaniem systemu. Debian najwyżej zmienia to przerwanie dla całej "hybrydy"

Proszę o komentarze:
1. Płyta główna to Gigabyte z 2002 roku. Pomyślałem, że byćmoże posiadając 3 sloty PCI dysponuje max 3 przerwaniami dla kart sieciowych.

2. Niektórzy piszą, że takie samo przerwanie nie przeszkadza im w równoczesnej pracy więc może faktycznie da się z tym żyć?

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.011 seconds, 13 queries executed ]

Informacje debugowania

Time (s) Query
0.00013 SET CHARSET latin2
0.00006 SET NAMES latin2
0.00103 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.133.108.224' WHERE u.id=1
0.00067 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.133.108.224', 1733007791)
0.00040 SELECT * FROM punbb_online WHERE logged<1733007491
0.00067 DELETE FROM punbb_online WHERE ident='54.36.148.56'
0.00064 DELETE FROM punbb_online WHERE ident='54.36.148.86'
0.00069 DELETE FROM punbb_online WHERE ident='54.36.149.11'
0.00064 DELETE FROM punbb_online WHERE ident='91.108.192.250'
0.00080 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=19644 AND t.moved_to IS NULL
0.00006 SELECT search_for, replace_with FROM punbb_censoring
0.00201 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=19644 ORDER BY p.id LIMIT 0,25
0.00080 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=19644
Total query time: 0.0086 s