Michael Bäuerle wrote:
> Wolfgang Gehl wrote:
> > Am 18.04.22 um 11:14 schrieb Michael Bäuerle:
> > >
> > > | [tr0: Adapter transmitted Soft Error Report Mac Frame]
> > > [...]
> >
> > Vermutlich handelt es sich um die Treiberfunktion
> > STREAMER_NETWORK_MONITOR, die bei der Fehlersuche bei Netzwerkproblemen
> > helfen soll.
Offenbar doch nicht. Ich habe mal einen Blick in den Sourcecode geworfen
und dort steht, dass bei aktiver Option STREAMER_NETWORK_MONITOR eine
Datei "/proc/net/streamer_tr" (mit Fehler-Reports) bereitgestellt wird.
Diese Datei existiert auf meinem Rechner nicht, d.h. die Option sollte
abgeschaltet sein.
Eher die Option "message_level". Die Meldungen dürften von diesem Teil
hier stammen:
|
| /* If serious error */
| if (streamer_priv->streamer_message_level) {
| if (lan_status_diff & LSC_SIG_LOSS)
| printk(KERN_WARNING "%s: No receive signal detected \n", dev->name);
| if (lan_status_diff & LSC_HARD_ERR)
| printk(KERN_INFO "%s: Beaconing \n", dev->name);
| if (lan_status_diff & LSC_SOFT_ERR)
| printk(KERN_WARNING "%s: Adapter transmitted Soft Error Report Mac Frame \n", dev->name);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| if (lan_status_diff & LSC_TRAN_BCN)
| printk(KERN_INFO "%s: We are tranmitting the beacon, aaah\n", dev->name);
| if (lan_status_diff & LSC_SS)
| printk(KERN_INFO "%s: Single Station on the ring \n", dev->name);
^^^^^^^^^^^^^^^^^^^^^^^^^^
| if (lan_status_diff & LSC_RING_REC)
| printk(KERN_INFO "%s: Ring recovery ongoing\n", dev->name);
| if (lan_status_diff & LSC_FDX_MODE)
| printk(KERN_INFO "%s: Operating in FDX mode\n", dev->name);
| }
Alleine auf dem Ring zu sein als "serious error", genau wie Betrieb im
Full-Duplex Modus. Naja, wenn sie meinen ...
> > Die Funktion lässt sich laut dieser Quelle:
> >
https://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Token-Ring.html#DRIVERSSPECIFICS
> > nur beim kompilieren ein- oder ausschalten.
>
> Danke, das hatte ich übersehen.
> Ich verstehe es aber so, dass er dann nur die Error-Frames der anderen
> Karten anzeigt (nicht die, die er selbst versendet).
>
> Aber ich könnte die alte Maschine mit der Olympic-Karte reparieren
> (wollte ich sowieso machen) und diese dann in den Monitor-Modus
> schalten, um dem LanStreamer zuzuhören.
Diese Machine ist immer noch nicht repariert, aber ich habe es
mittlerweile mit einer anderen Maschine versucht (Kernel 2.2.26, also
neuer als der alte Router). Leider unterstützt der Olypic-Treiber dieses
Kernels den Parameter "network_monitor" noch nicht. Man müsste die
Option hineincompilieren, wie beim LanStreamer-Treiber.
Ich habe dann bei dieser Machine "message_level" auf 1 gesetzt.
Danach sagte sie:
|
| tr0: Opened in 16 Mbps mode
| tr0: Functional Adress Mask Set
Nun den Router mit der LanStreamer-Karte rebootet:
|
| tr0: Ring recovery ongoing
| tr0: Single station on the ring
Jetzt ist die Olympic-Karte der AM (Active Monitor) geworden.
Dann gewartet bis der Router wieder am Start war:
|
| tr0: Ring recovery ongoing
| tr0: Adapter transmitted Soft Error Report Mac Frame
und am Ende kam dann exakt die gleiche Meldung wie bei der LanStreamer-
Karte (solange die Karte noch alleine war hat sie den Soft Error Report
Mac Frame wohl zurückgehalten):
|
| tr0: Single station on the ring
| tr0: Adapter transmitted Soft Error Report Mac Frame
Dann ein paar Pakete zwischen den beiden Karten übertragen und
nochmal mit dmesg auf den Router geschaut, der ja nun seit dem
letzten Reboot nie alleine auf dem Ring war:
|
| LanStreamer.c v0.1.0 12/10/99 - Mike Sullivan
| tr0: IBM PCI tokenring card. I/O at 6800, MMIO at c581d000, using irq 10
| tr0: Ringspeed autosense mode on
| tr0: Opened in 16 Mbps mode
Nichts weiter. Kein Soft Error Report Mac Frame.
Es sieht also danach aus, als wäre an der Maschine mit LanStreamer-Karte
"message_level" nicht 0 (obwohl das gemäß Doku so sein sollte, wenn man
nichts angibt, was bei mir der Fall ist). Den Kernel habe aber nicht ich
gebaut, er könnte in dieser Beziehung gepatcht sein.
Außerdem scheint der Soft Error Report Mac Frame tatsächlich nur die
Nachricht zu transportieren, dass die Karte sich alleine auf dem Ring
befunden hat.