Kein Ethernet-Link mit Cable modem

bsdooby

Deretsiger Resu(s)
Hallo,

Habe schon in der Newsgroup misc mein Problem geschildert:

Bis Version 3.5 war eitel Sonnenschein. Hatte mein OBSD mit pf
als firewall, ssh server und postfix an einem Cable modem (Cablecom
Schweiz) via Ethernet hängen.

Hinweis: das Interface am Cable modem ist aber irgendwie fix auf
100baseTX full-duplex eingestellt (auto-negotiation ist keine Wahl).
Dies kann man ja aber per media und mediaopt via ifconfig einstellen.
Kein Problem also...

Da 3.5 auch schon über ein Jahr alt ist, dachte ich mal über einen Update
nach. Aber, oh Schreck, der 3.7 Kernel kann keinen Link mehr herstellen
zum Modem (kein LED... gar nix). 3.6 übrigens auch nicht. Ich kann "ifconfigen"
mit Parametern wie ich will, da ist nur totes Leuchten :-(

Hat jemand 'ne Idee?

An der Hardware seitens des PCs (Netzwerkkarte, Kabel etc.) kann's nicht liegen,
da mit 3.5 alles geht. Es hat wohl was mit dem Treiber zu tun (benötige den rlphy,
habe also Realtek 8139 Karten im Einsatz).

Thx
 
Da ist ein 'netzwerk debugging howto' vielleicht solltest Du das mal abarbeiten und dann mit ein paar detaillierten informationen rüberkommen.

[ ] Das interface ist up

[ ] Ich habe einen Hub oder einen Switch, den ich zwischen Modem und Rechner hängen kann

[ ] Das Modem arbeitet nachweislich normal

[ ] Die Firewall ist enabled

[ ] Die Firewall-Logs wurden überprüft

[ ] Die Firewall wurde runtergefahren um mit dhclient eine IP zu holen
 
Besten Dank für Deine Antwort und sorry für den späten "Nachpost". Also...

[ ] Das interface ist up
--> interface wird autom. bei Initialisierung auf up geschaltet. Dies hat aber
nichts mit dem Ethernet Link zu tun sondern mit der Routing Logik

[ ] Ich habe einen Hub oder einen Switch, den ich zwischen Modem und Rechner hängen kann
--> Habe ich getestet (mit Cisco 1900 Switch und Hub) und kriege bei beiden KEINEN
Link (mit Crossover und Straight through Kabel)

[ ] Das Modem arbeitet nachweislich normal
--> Modem arbeitet nachweislich normal mit FreeBSD/Mac OS X und OpenBSD 3.5 (ab 3.6 nada), falls Interface auf 100baseTX full-duplex geschaltet wird (manuell)

[ ] Die Firewall ist enabled
--> Firewall greift auf Layer 3 und nicht auf Layer 2, daher hat dies keinen Einfluss
auf etwaige Ethernet Frames, Links und dergleichen

[ ] Die Firewall-Logs wurden überprüft
--> DITO

[ ] Die Firewall wurde runtergefahren um mit dhclient eine IP zu holen
--> Tja, würd' ich gern, wenn ich einen Link bekäme...NO CARRIER

Sonst poste ich mal meine dmesgs von 3.5 und 3.7 (leider sieht man aber nichts dort). Ich glaube langsam, das Modem hat 'n Schuss...
 
eigentlich waren die [ ] zum Ankreuzen [x] gedacht ;-)

Welche 3.7 von OpenBSD hast Du installiert ? 3.7-stable oder 3.7-current ?

Hast Du in der Hardware-Compatiblity-List nachgesehen, ob Deine Karte noch unterstützt wird ?

Meine Frage wg. Switch/Hub zielte zum einen darauf ab, ob die Kabel OK sind, zum anderen, ob die Möglichkeit besteht einen sniffer mit reinzuhängen... ) Ich weiss ja nicht, ob Du nach der Installation die Maschine rumgetragen hast...)

Also wenn Du eine Linux-Live-CD (Knoppix, grml, Ubuntu etc) bootest, funktioniert es ?

Dann würde ich vermuten, dass Du OpenBSD 3.7-current installiert hast...
 
Ach soooo ;-) Tja, hab' da wohl nichts begriffen. Soviel zum Thema Checklisten *g*

Also ich habe mit beiden (3.7-stable und 3.7-current) versucht zu booten (ISO von current unter openbsd.sabotage.org heruntergeladen). Der Kernel erkennt alle Karten (3 Stück) und die Interfaces sind präsent. Einfach "not active"...Gem HCL sind die Chips gelistet (Realtek 8139).

Wenn ich mit 3.5 (immer mit der Installations CD) boote, ist es OK. Das installierte 3.5 System übrigens auch (ich weiss, ich wiederhole mich). Arbeite im Moment mit dieser Umgebung.

Müsste es wirklich mit einem Sniffer versuchen (leider hab' ich so einen nicht gerade rumliegen. Mal mit tcpdump dahinter --> aber eben, nutzt mir ja nicht viel,
wenn weiter unten schon tote Hose herrscht [also auf dem Netzwerk] ;-) ).

Gute Idee mit Linux zu testen (hüstel). Ich nehme dann mal Knoppix. Ubuntu kenne ich nicht und dieses grml auch nicht. Bieten die was?
 
Also grml ist so ähnlich wie Knoppix also Schwerpunkt Troubleshooting und Ubuntu bietet eine Live-CD (Preview auf die installierte Version). Bei meinem Versuch sah es so aus, als könnte man packages (in die Ramdisk) installieren.

Existieren /etc/hostname.rl[0,1,2] ?
Funktioniert ifconfig rl0 up ?

Die Sache mit dem Hub war folgendermassen gedacht eine weitere Maschine wird an den Hub gehängt (z.B. mit Live-CD um die Platte wegen der fehlenden FW nicht zu gefährden) und die liest dann per ethereal oder was immer Dein Lieblingssniffer ist die Packete mit...
 
Die Linux Live-CD (Knoppix 3.9) hat den Port auch nicht aktivieren können.
NetBSD 2.0.2 auch nicht...Ich versuch' mal mit einer Uralt SuSE 7.0 oder ähnlich,
ob sich was tut. Unter Linux werden durch den Treiber für die Realtek Karten die media und mediaopt flags nicht unterstützt.

Das mit dem Sniffer ist wirklich eine gute Idee. Werde mir das mal vornehmen.

die hostname.xn Files sind ja für die Konfig. aktiver Interfaces gedacht. Dies bringt
mir eben nichts, da ich keinen Link herstellen kann (also das Interface bleibt inaktiv).

Up/Down bringt soweit auch nichts...Tja.

Please bear with me ;-)

--> NACHTRAG: mit SuSE 6.0 geht's. Nur dumm, sind wir nicht mehr im Jahr 1998 ;-). Es scheint, als komme das Modem mit allen OSs zurecht, die älter als Jahrgang 2004 sind...
 
Zuletzt bearbeitet:
die hostname.xn Files sind ja für die Konfig. aktiver Interfaces gedacht. Dies bringt
mir eben nichts, da ich keinen Link herstellen kann (also das Interface bleibt inaktiv).
Also bei mir steht in dem hostname.[interfacename] auf dem dhclient rumtuscht nur up ...

ifconfig [interfacename] up bringt etwas, wenn die Karte erkannt wurde...

Hast Du irgendwelche Änderungen an der Hardware bzw. im BIOS vorgenommen, die z.B. einen IRQ-Konflikt auslösen könnten ?

Könntest Du die NICs austauschen gegen vernünftige ?

Warum funktionierte Kram mit 3.5 ? Vergleich doch mal die Kernelkonfig beider Versionen...


PS.: Der Sniffer nützt Dir nur etwas, wenn das Interface erkannt wird und die Maschine senden kann.
 
Das Problem ist eben, dass der Kernel die Karten sauber erkennt. Nur der Link geht nicht auf "up". Einen Kartenaustauch muss ich aber trotzdem langsam ins Auge fassen...

Ich habe einfach gemerkt, dass an den Treibern der Realtek-Karten von 3.6, 3.7 im Vergleich zu 3.5 viel "rumgebastelt" wurde. Schön wäre es, wenn man die alten Treiber von 3.5 in den 3.7 Kernel "reindrücken" könnte...Habe das mal halbherzig versucht, hat aber nur eine Kernelpanic unter 3.7 verursacht. Kenne mich halt in der Treiberprogrammierung nicht wirlich aus.
 
was kriegt Du, wenn Du ifconfig rl0 up eingibst ?

mit Kernelconfig ist nicht die source der Treiber gemeint, sondern /usr/src/sys/arch/i386/conf/... gab's bei Deinem 3.5er vielleicht optionen, die beim 3.7 nicht mehr da sind ?

Sonst versucht die openbsd mailing-listen...
 
Hab' mal einen Anhaltspunkt: mit einem Laptop und 3.7 (VIA RhineII-2) klappt es nach der Forcierung auf 100baseFX full-duplex...Link am Modem ist up!

Ist sehr verdächtig, dass die Realtek 8139 und 3Com 3c905 Karten (insgesamt 3 Stück) solchen Schrott machen. Whatever...Mal neue Hardware einbauen.

Vorschlag für gute Netzwerkkarten (evtl. Intel od. Rhine Chips)?
 
bsdooby schrieb:
Hab' mal einen Anhaltspunkt: mit einem Laptop und 3.7 (VIA RhineII-2) klappt es nach der Forcierung auf 100baseFX full-duplex...Link am Modem ist up!

Ist sehr verdächtig, dass die Realtek 8139 und 3Com 3c905 Karten (insgesamt 3 Stück) solchen Schrott machen. Whatever...Mal neue Hardware einbauen.

Vorschlag für gute Netzwerkkarten (evtl. Intel od. Rhine Chips)?
3c905B oder 8139C oder D funktionieren. Intel-NICs sind immer eine gute Wahl.
 
OK. Bevor Du neue Karten kaufst:

Wie sieht der Output zu ifconfig -m rl0 (rl0 ersetzen durch Dein externes Interface) aus ?
 
Output "ifconfig -m rl1" -->

rl1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:30:4f:14:d4:ad
media: Ethernet autoselect
status: no carrier
supported media:
media 10baseT
media 10baseT mediaopt full-duplex
media 100baseTX
media 100baseTX mediaopt full-duplex
media autoselect

Output "ifconfig rl1 media 100baseTX mediaopt full-duplex" und
und "ifconfig rl1 up" -->

rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:30:4f:14:d4:ad
media: Ethernet 100baseTX full-duplex
status: no carrier
inet6 fe80::230:4fff:fe14:d4ad%rl1 prefixlen 64 scopeid 0x3
 
Problem gelöst!

Nach genau 0.5 Jahren konnte ich das Problem endlich lösen:

Ich habe mir eine neue Netzwerkkarte gekauft (Netgear irgendwas, sis driver),
OpenBSD 3.8 installiert und ...NOGO.

Habe dann festgestellt, dass zw. Cable modem und Ethernetkarte nur
dann ein Link zustande kommt, wenn ein media Wechsel stattfindet.

Konkret heisst das:
WAN interface enablen mit media 10base (in hostname.sisX)
nachträglich ein weiteres Skript via rc.local ausführen, welches die
Netzwerkkarte auf media 100baseTX setzt, auf up setzt und den
dhclient ausführt.

Der Link ist dann endlich da inkl. gültiger IP vom Provider (als
Konsequenz *g*).

Dies ist ein sehr komisches Verhalten und schliesst auf einen Bug entweder in
der Firmware oder der Hardware des Cable modems.

That's all.

PEACE
 
Zurück
Oben