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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
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:
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
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
Powyłączaj w BIOS-ie wszystkie niepotrzebne urządzenia, np: port szeregowy, równoległy, MIDI, Gameport, nieużywane kontrolery, usb, itp.
Offline
1. ilosc kart nie ma zwiazku z iloscia podsieci ...
2. pokaz wynik [tt]cat /proc/interrupts[/tt]
Offline
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:
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
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
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
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 |