# nForce570 - zintegrowane sieciowki wariuja

## Yatmai

Dostalem nowe mobo. Chipset nForce570, poprzednio mialem nForce3 wiec pomyslalem ze nie bedzie problemu ze zbootowaniem starego Gen2. Wsio poszlo ladnie poza zintegrowanymi sieciowkami. 

Sys zaladowal sobie forcedeth, iwconfig pokazal mi eth0 i eth1, ifconfig przypisal ip wg. starej konfiguracji.

Problem zaczyna sie gdy chce wyslac jakis pakiet - ping 192.168.1.1 i cisza, a mii-tool wywala mi operation not permitted. A najciekawsze jest to, ze z livecd - Slax i Arch dziala w porzadku (mii-tool'a sprawdzic nie mam jak, ale na neta da sie wejsc)

Kurcze, pomozcie, bo pomysly mi sie koncza i desperacja mnie chwyta  :Sad: 

----------

## Belliash

Jestes pewien ze sterownik, zapewne forcedeth obsluguje tego nForce'a?

Tzn obslugiwac moze obsluguje ale nie poprawnie go rozpoznaje?

Sprobuj moze nowszego kernela?

----------

## Yatmai

Na livecd to chodzi, a tam raczej nie bedzie nowszego jajka, ale sprobuje zassac najnowsze.

Dmesg milczy, zauwazylem jeszcze ze w Slax'ie mii-tool na tych zintegrowanych sieciowkach tez pokasuje operation not supported.

----------

## Belliash

wiesz, ...  w nowym kernelu moze byc nowszy sterownik a ten moze miec PCI_IDS odpowiednio zdefiniowany przez co bedzie poprawnie rozpoznawal sieciowke  :Wink: 

lspci u mnie zwraca cos takiego:

00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3)

jest to nForce4 Ultra.

Sprawdz jak jest u Ciebie, to powiem Ci czy  Cougar obsluzulby Twoja sieciowke.

Jesli tak, to teoretycznie 2.6.22 tez powinien sobie z tym poradzic.

Problem polega na tym, ze tam nie pisze nForce, tylko np MCP61...

Jesli sie nie myle to powinien wypluc MCP67?

Tak przynajmniej udalo mi sie wygooglowac ze od nForce 520 do 680 montuja MCP67... ale jest to informacja niepotwierdzona.

W kazdym badz razie MCP67 jest wspierane przez Cougar!  i przez 2.6.22 tez powinno  :Wink: 

Mozesz pomyslec ze przez 2.6.18 tez jest wspierane, ale byly juz rozne problemy z kernelami...

Np. framebuffer nie wspieral GF7900 firmy Galaxy, jesli mnie paiec nie myli... a innych producentow dzialaly  :Wink: 

Tak samo moze byc tutaj. Z tego co widze w kodzie:

```
        {       /* MCP67 Ethernet Controller */

                PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_24),

                .driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_HIGH_DMA|DEV_HAS_POWER_CNTRL|DEV_HAS_MSI|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT,

        },

        {       /* MCP67 Ethernet Controller */

                PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_25),

                .driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_HIGH_DMA|DEV_HAS_POWER_CNTRL|DEV_HAS_MSI|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT,

        },

        {       /* MCP67 Ethernet Controller */

                PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_26),

                .driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_HIGH_DMA|DEV_HAS_POWER_CNTRL|DEV_HAS_MSI|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT,

        },

        {       /* MCP67 Ethernet Controller */

                PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_27),

                .driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_HIGH_DMA|DEV_HAS_POWER_CNTRL|DEV_HAS_MSI|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT,

        }
```

Czyms na pewnosie roznia...

Mozliwe ze jednego z nich brakuje w starym kernelu i akurat padlo na Twoja plyte?

----------

## RedIpS

nforce570 to MCP55 .... i jest obslugiwane przez kilka ostatnich (nawet wiecej) wersji kernela.

----------

## Yatmai

No wlasnie nForce 570 wyskakuje mi jako MCP55, z tym ze to idzie jako:

```
00:08.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2)

00:09.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2)
```

Moze sie czepia o tego bridge, bo w sumie sa dwie sieciowki, ale moga smigac jako jedna 2Gbit (DualLAN sie to chyba zwie), czyli nie do konca dwie

----------

## Belliash

hmm...

moze ustawienia w BIOSie?

proboales przezucic kabelek w 2 port?

----------

## Yatmai

Przegrzebalem biosa na starcie, probowalem jednej sieciowki, potem drugiej, potem probowalem jedna wylaczyc w biosie.... Lipa

EDIT

Kurna, brak mi slow... Wzialem plytke Arch'a zbootowalem z niej moje Gentoo i w ten sposob sieciowki smigaja :/

Nie mam pomyslu co za roznica....

----------

## argasek

Ja mam. Jeśli masz je skompilowane jako moduł, umieść:

```

options forcedeth msi=0 msix=0

```

w /etc/modules.d/forcedeth

Generalnie nie wiedzieć czemu, sieciówki te (bug BIOSów?) nie lubią się z Message Signalled Interrupts. Zanim to odnalazłem, odbyłem niezłą gimnastykę.

----------

## Belliash

 *argasek wrote:*   

> Ja mam. Jeśli masz je skompilowane jako moduł, umieść:
> 
> ```
> 
> options forcedeth msi=0 msix=0
> ...

 

to moze poprostu w BIOSie wylaczyc MSI?

----------

## argasek

@Morpheouss: primo, nie wiem czy się da. U mnie nie patrzyłem tak dokładnie. Secundo -- równie dobrze można wyłączyć w configu jądra. Tertio -- najlepiej -- wyłączyć dla tego jednego modułu, czyli rozwiązanie które podałem powyżej  :Wink: 

----------

## Belliash

 *argasek wrote:*   

> @Morpheouss: primo, nie wiem czy się da. U mnie nie patrzyłem tak dokładnie. Secundo -- równie dobrze można wyłączyć w configu jądra. Tertio -- najlepiej -- wyłączyć dla tego jednego modułu, czyli rozwiązanie które podałem powyżej 

 

da sie, jest taka opcja w konfigu (tam gdzie sie wlacza obsluge PCI  :Wink: )

a czy to cos da? nie wiem, bo jatego nigdy nie wlaczalem i nigdy zadnych problemow nie mialem i nigdy mi to potrzebne nie bylo...

ale jezeli faktycznie przez to jest tyle zamieszania... to ja bym to jednak calkowicie wylaczyl, nie tylko dla tego modulu  :Wink: 

----------

## Yatmai

Kurcze ale to nie to.... Cały czas miałem wyłączone MSI. Próbowałem też go włączyć, ale nie pomogło. Co głupsze nawet 3Com na PCI odmawia współpracy :/

----------

## Yatmai

Pomyślałem żeby podejść do tego inaczej, Slax, Arch, nawet na Gentoo installcd sieciówki działają, to wpadłem na pomysł żeby przenieść na żywca confa z tamtych kerneli. Problem w tym, że to wszystko ma obsługę fs'ów jako moduły i leci po initrd, więc samo sie nie zabootuje, a jak każe wkompilować fs'y i sterownik sata na stałe to już sieciówki nie działają...

Czy to możliwe, że problem jest w tym, żeby sys się odpalał przez initrd ?

----------

## Belliash

nie...

chyba ze cos jeszcze tam robi oprocz ladowania modulow, jak np ACPI DSDT...

----------

## Yatmai

No generalnie w tych livecd initrd przygotowuje cały sprzęt łącznie z montowaniem partycji, ładowaniem modułów, etc...

Robi się nieciekawie bo róbowałem własnego initrd wygenerować genkernelem, ale po tym co wypluwał na ekranie myśle że specjalnie sie nim nie przejął. Czyli by nie chodziło o samego initrd tylko o to co konkretnie te z livecd robią. Macie ktoś jakiś cynk co sie tam wyrabia przy starcie ?  :Smile: 

----------

## Belliash

ja niestety nie wiem... ale bez initrd tez powinno dzialac...

moze to jednak siedzi w konfigu kernela?

----------

## Yatmai

Wziąłem config z livecd Arch'a i tak skompilowałem jajko. Oczywiście te livecd mają wszystko jako moduły więc nie wstało i poprawka - wkompilowałem reiserfs i sata-nv na stałe, wywaliłem resztę zbędnych fs, chipsetów i kontrolerów twardzieli żeby nie tracić czasu na kompilacje, teraz wstało ale neta nie ma :/

No nie sądze żeby brak obsługi xfs czy jaiegoś chipsetu Uli miała coś do gadania  :Sad: 

----------

## Belliash

a moze problem nie lezy w kernelu tylko gdzies glebiej w systemie?

----------

## Yatmai

Postawiłem sobie Debiana 4.0 i co ciekawe działa   :Shocked:  Spróbuje podpiąć Debianowskie jajko pod Gentoo  :Wink: 

----------

## Belliash

 *Yatmai wrote:*   

> Postawiłem sobie Debiana 4.0 i co ciekawe działa   Spróbuje podpiąć Debianowskie jajko pod Gentoo 

 

i znajac zycie dzialac przestanie  :Laughing: 

----------

## Yatmai

No kurde problem jest w /proc. Initrd z Debiana montuje wszystko zanim zacznie startować właściwy system, a w Gentoo udev zaczyna pracę od montowania /proc (mimo, że usunąłem z fstab) i sie całość wykrzacza :/

Fedore 7 postawiłem i też śmiga.... Tylko z całym szacunkiem dla twórców - nie chciałbym być skazany na  ten system  :Wink:  Jak Debiana postawiłem to po dwóch godzinach zatęskniłem za Gentoo i flagami USE  :Wink: 

----------

## Yatmai

Przekompilowałem jajko na bazie confa z livecd Gentoo i tu najciekawsze.... Jak se pobierze ip i maskę z dhcp to skubany działa. Krzaczy się tylko gdy wpisywane jest to statycznie. Nie kumam dziada  :Very Happy: 

----------

