PeterPawn
IPPF-Urgestein
- Mitglied seit
- 10 Mai 2006
- Beiträge
- 15,275
- Punkte für Reaktionen
- 1,751
- Punkte
- 113
Von mir vorweg noch eine Bemerkung: Wenn Du nachträglich an einem Beitrag änderst und andere haben diesen Thread schon als "neu" gelesen, kriegen die von solchen Änderungen null-komma-nichts mit ... es ist also mehr Zufall (oder wie hier der Antwort von jemand anderem geschuldet), wenn man so einen Thread dann wieder auf den Schirm kriegt - "nicht schieben" ist sicherlich auch richtig (und wichtig), aber kein (noch so eifriger) IPPF-Leser rennt noch einmal durch einen Thread, den er - nach Ansicht der Forensoftware - schon gelesen hat, solange da nichts Neues kommt. Also sollte man - gerade bei so wichtigen und laaange nach dem Schreiben des ersten Beitrags erfolgten Änderungen wie bei Deinem Anhängen der Log-Files - dann einfach noch einen Einzeiler mit einem Hinweis als neuen Beitrag anhängen; den kann man ja dann einen oder zwei Tage später wieder entsorgen und das versteht sicherlich auch jeder Moderator als Notwendigkeit, wenn zwischen Beitrag und Bearbeiten so viel Zeit lag.
Ansonsten fehlt schon einiges an Kontext zu den Protokollen ... hier:
gibt es in Zeile 1163 Kernel-Panic (vermutlich auf der seriellen Schnittstelle mitgeschnitten, würde ich zumindest anhand der Steuerzeichen vermuten) - wohl beim Laden eines WLAN-Treibers - und danach startet die Box offenbar noch einmal neu. Wo ist denn die Beschreibung dazu, was da jeweils gestartet wurde (man kann es "kriminalistisch" anhand des 06.09.2017 als Datum für den Toolchain-Build der 06.85 jedoch ermitteln) und wann bzw. wie es abstürzte?
Dem Stack-Trace beim (ersten) Absturz nach sieht das zunächst mal so aus, als wäre da ein PCI-Device nicht vorhanden bzw. nicht bereit (auch wenn das da tatsächlich alles wild durcheinander geht im Log) ... allerdings sollte das schon vorher (Zeile 561) "geweckt" worden sein.
Ich habe inzwischen auch den Überblick verloren ... gibt es überhaupt eine Kombination, bei der das WLAN noch funktioniert bei dieser Box? Wenn ja, mach' mal in dieser Version auf der Console ein "lspci" im größtmöglichen Umfang (keine Ahnung, was da als "lspci" an Bord wäre bzw. ob es in der AVM-Firmware überhaupt eines gibt - kann man sich ja mit einer statischen BusyBox oder als statisches Zusatztool einfach in die Box kopieren - ansonsten muß man eben das "sysfs" einzeln ausspionieren), einfach damit man mal sieht, welche Devices vorhanden sind und wie hier wohl die WLAN-Adapter angebunden sind.
Ich habe bisher noch nirgendwo gelesen, daß bei der 6490 auch zwei Hardware-Revisionen (eine mit steckbarem WLAN und eine mit fest verlötetem) existieren würde, wie bei einigen anderen Modellen und auch nach der "wlan_product.cfg" in den ect-Defaults gibt es eigentlich nur eine WLAN-Version - damit dürfte dieses "Wecken" der WLAN-Adapter am PCI-Bus (durch Reset über die entsprechenden GPIO-Pins, kann man sich in der E39-irgendwas ansehen) auch tatsächlich für jede 6490 (siehe Kommentar am "else"-Zweig) dasselbe sein.
Bei meiner 6490 (ist allerdings eine Retail) sieht es so aus:
, die beiden WLAN-Adapter hängen also am Bus 2 und 3.
Der zweite Versuch sieht auch nicht viel anders aus (Panic steht dann in Zeile 2363), nur daß diesmal wohl sogar noch das Panic-Log ins TFFS geschrieben wurde. Der dritte Versuch(?) startet dann wohl in Zeil 2506 und ist in Zeile 3685 dann wieder mit "panic" beendet. Was verstehe ich hier jetzt nicht? Warum muß man sich praktisch denselben Ablauf denn (mind.) dreimal ansehen ... ändert sich beim vierten Versuch (ab Zeile 3693) dann irgendetwas?
Na ja, nicht wirklich ... aber hier kommt jetzt ab Zeile 5047 die Anzeige des Inhalts des Inhalts der "panic.log" (als Dumper für "kmsg"-Inhalte) und zwar, nachdem in Zeile 4969 ein Lock für das TFFS-Device eingerichtet wurde. Hier bei der 6490 ist der ATOM-Core der Client für den TFFS-Server auf dem ARM-Core (dort findet man auch die Message "Remote storage server for TFFS 3.x" dann irgendwo) und die beiden kommunizieren dann über den "avm_event"-Treiber miteinander.
Die folgenden Zeilen mit einer printk-Nummer (die in den spitzen Klammern) dürften dann zur Ausgabe des Panic-Logs auf der Console gehören (siehe AVM-Treiber) und die eingestreuten und nachfolgenden Probleme beim TFFS3_Open sind mit einiger Sicherheit nicht auf ein defektes, sondern auf ein "gelocktes" (und das meint nicht "curled" ) TFFS zurückzuführen. Wenn ich nichts übersehen habe in "tffs_core.c", gibt es nach "panic" auch kein "unlock" oder ähnliches ... macht ja auch nur wenig Sinn, weil i.d.R. ja das System neu startet. Jedenfalls endet - solange das Lock aktiv ist - jeder weitere Versuch von TFFS3_Open() mit "-EBUSY" ... das dürften dann die ganzen zusätzlichen Fehlerzeilen sein.
Bis dann der Watchdog nach 64 Sekunden das System über die RCU (Reset Control Unit) neu startet, wiederholt sich halt der ständige Zugriffsversuch auf irgendeinen TFFS-Node ... ob das wirklich die ar7.cfg wäre (für den "ddnsd"), kann man nur vermuten.
Nur ändert sich das beim nächsten Start (Zeile 19406) jetzt auch nicht wirklich, wodurch bei mir wieder die Frage auftaucht, warum das so viele identische Versuche nacheinander in dieser Protokoll-Datei sind, denn in Zeile 20838 kommt dann (vermutlich) der letzte, der auch nicht anders verläuft.
Beim vierten Versuch schaffen es die Systeme entweder, sich wirklich am Sync-Point "LAN_up" zu treffen oder das war dann doch einer ohne Synchronisation über die "kernel_args" ... man sieht so einem Startversuch ja nicht wirklich an, wieviel Zeit zwischen der letzten Zeile des vorhergehenden Logs und der ersten des aktuellen vergangen ist ... wobei ich bei bestückter serieller Schnittstelle jetzt erwartet hätte, daß man irgendwelche Änderungen an Variablen gleich über diese Console auch im Bootloader vornimmt - dann sollten sie ja irgendwo im Protokoll zwischen den Startversuchen stehen.
Da ist dann wohl wirklich irgendein WLAN-Adapter nicht mehr vorhanden ... wobei ich das schon einigermaßen komisch finde als Resultat eines versuchten Updates. Ich würde hier wieder eher auf irgendwelche EEPROMs tippen, die ihrerseits irgendwie mit falschen Werten gefüttert wurden und nun die Devices irgendwie totlegen ... obwohl die - nach dem Inhalt von "E39-pcie_fixup" - ja zumindest mit ihren Konfigurationsregistern irgendwo auf dem PCI-Bus zu sehen sein müssen, wenn die "grep"-Statements erfolgreich sind. Außerdem wäre das ja ein ausgesprochen dämliches Zusammenfallen des Hardware-Fehlers beim WLAN mit einem Firmware-Update ... da erscheint mir irgendwelches wildes Schreiben in Konfigurationsregister irgendwie logischer - zumal die WLAN-Adapter halt wieder die Komponenten (neben dem DECT-Chip, der halt wohl auch noch irgendein eigenes EPROM für irgendwelche Keys) mit einem eigenen Datenspeicher wären.
Ich würde jetzt auch mal den "umac.ko" umbenennen ("blacklisted" ist der schon in "/etc/modprobe.d" - damit wird er nur noch mit direktem "insmod"-Aufruf geladen und nicht mehr als Abhängigkeit) ... an die Initialisierung über den "wland" kommt man vermutlich nicht ohne weiteres heran und der ruft dann wieder die "/etc/rc.d/rc.wlan" (nicht mit der in "init.d" zu verwechseln) auf, in der die Treiber geladen werden - allerdings kann es auch gut sein, daß ein fehlender Kernel-Driver den "wland" erst recht zum Reboot veranlaßt, zumal viele andere WLAN-Treiber halt auf dem "umac.ko" aufsetzen.
Wobei ich immer noch nicht so richtig verstehe, warum die Abschaltung des WLAN über die "featovl.cfg" hier nicht funktionieren soll ab Version 06.61 ... allerdings ist das natürlich auch genau der Zeitpunkt, ab dem da nicht mehr irgendwelche Zuweisungen in der "featovl.cfg" stehen dürfen, sondern die Zeilen mit einem "grep" auf ein bestimmtes Format geprüft werden. Da könnte so eine Zeile dann aus den unterschiedlichsten Gründen durchfallen und ich würde Dich bitten, mal einen Hexdump der von Dir verwendeten "featovl.cfg" hier zu zeigen - ich werde den Verdacht nicht los, daß die Abschaltung bei den Retail-Versionen bei Dir am Ende nur an irgendeiner Kleinigkeit wie einem zusätzlichen Leerzeichen oder irgendeiner anderen Banalität scheitert. Die Datei sollte exakt so aussehen, wie der folgende Dump:
Wenn das nicht so ist, dann ändere sie mal entsprechend und dann sollte sich eigentlich auch mit einer Version jenseits der 06.61 das WLAN über diese Datei deaktivieren lassen.
Ansonsten fehlt schon einiges an Kontext zu den Protokollen ... hier:
Code:
[ 27.635180][1]Kernel panic - not syncing: ol_ath_pci_configure failed
Dem Stack-Trace beim (ersten) Absturz nach sieht das zunächst mal so aus, als wäre da ein PCI-Device nicht vorhanden bzw. nicht bereit (auch wenn das da tatsächlich alles wild durcheinander geht im Log) ... allerdings sollte das schon vorher (Zeile 561) "geweckt" worden sein.
Ich habe inzwischen auch den Überblick verloren ... gibt es überhaupt eine Kombination, bei der das WLAN noch funktioniert bei dieser Box? Wenn ja, mach' mal in dieser Version auf der Console ein "lspci" im größtmöglichen Umfang (keine Ahnung, was da als "lspci" an Bord wäre bzw. ob es in der AVM-Firmware überhaupt eines gibt - kann man sich ja mit einer statischen BusyBox oder als statisches Zusatztool einfach in die Box kopieren - ansonsten muß man eben das "sysfs" einzeln ausspionieren), einfach damit man mal sieht, welche Devices vorhanden sind und wie hier wohl die WLAN-Adapter angebunden sind.
Ich habe bisher noch nirgendwo gelesen, daß bei der 6490 auch zwei Hardware-Revisionen (eine mit steckbarem WLAN und eine mit fest verlötetem) existieren würde, wie bei einigen anderen Modellen und auch nach der "wlan_product.cfg" in den ect-Defaults gibt es eigentlich nur eine WLAN-Version - damit dürfte dieses "Wecken" der WLAN-Adapter am PCI-Bus (durch Reset über die entsprechenden GPIO-Pins, kann man sich in der E39-irgendwas ansehen) auch tatsächlich für jede 6490 (siehe Kommentar am "else"-Zweig) dasselbe sein.
Bei meiner 6490 (ist allerdings eine Retail) sieht es so aus:
Code:
# /var/media/ftp/pentest/bin/busybox lspci -k
00:00.0 Class 0600: 8086:0931 iosf-sb
[...]
01:1f.0 Class 0280: 8086:0946 mailbox driver
02:00.0 Class 0200: 168c:abcd ath_pci
03:00.0 Class 0280: 168c:003c ath_pci
Der zweite Versuch sieht auch nicht viel anders aus (Panic steht dann in Zeile 2363), nur daß diesmal wohl sogar noch das Panic-Log ins TFFS geschrieben wurde. Der dritte Versuch(?) startet dann wohl in Zeil 2506 und ist in Zeile 3685 dann wieder mit "panic" beendet. Was verstehe ich hier jetzt nicht? Warum muß man sich praktisch denselben Ablauf denn (mind.) dreimal ansehen ... ändert sich beim vierten Versuch (ab Zeile 3693) dann irgendetwas?
Na ja, nicht wirklich ... aber hier kommt jetzt ab Zeile 5047 die Anzeige des Inhalts des Inhalts der "panic.log" (als Dumper für "kmsg"-Inhalte) und zwar, nachdem in Zeile 4969 ein Lock für das TFFS-Device eingerichtet wurde. Hier bei der 6490 ist der ATOM-Core der Client für den TFFS-Server auf dem ARM-Core (dort findet man auch die Message "Remote storage server for TFFS 3.x" dann irgendwo) und die beiden kommunizieren dann über den "avm_event"-Treiber miteinander.
Die folgenden Zeilen mit einer printk-Nummer (die in den spitzen Klammern) dürften dann zur Ausgabe des Panic-Logs auf der Console gehören (siehe AVM-Treiber) und die eingestreuten und nachfolgenden Probleme beim TFFS3_Open sind mit einiger Sicherheit nicht auf ein defektes, sondern auf ein "gelocktes" (und das meint nicht "curled" ) TFFS zurückzuführen. Wenn ich nichts übersehen habe in "tffs_core.c", gibt es nach "panic" auch kein "unlock" oder ähnliches ... macht ja auch nur wenig Sinn, weil i.d.R. ja das System neu startet. Jedenfalls endet - solange das Lock aktiv ist - jeder weitere Versuch von TFFS3_Open() mit "-EBUSY" ... das dürften dann die ganzen zusätzlichen Fehlerzeilen sein.
Bis dann der Watchdog nach 64 Sekunden das System über die RCU (Reset Control Unit) neu startet, wiederholt sich halt der ständige Zugriffsversuch auf irgendeinen TFFS-Node ... ob das wirklich die ar7.cfg wäre (für den "ddnsd"), kann man nur vermuten.
Nur ändert sich das beim nächsten Start (Zeile 19406) jetzt auch nicht wirklich, wodurch bei mir wieder die Frage auftaucht, warum das so viele identische Versuche nacheinander in dieser Protokoll-Datei sind, denn in Zeile 20838 kommt dann (vermutlich) der letzte, der auch nicht anders verläuft.
Beim vierten Versuch schaffen es die Systeme entweder, sich wirklich am Sync-Point "LAN_up" zu treffen oder das war dann doch einer ohne Synchronisation über die "kernel_args" ... man sieht so einem Startversuch ja nicht wirklich an, wieviel Zeit zwischen der letzten Zeile des vorhergehenden Logs und der ersten des aktuellen vergangen ist ... wobei ich bei bestückter serieller Schnittstelle jetzt erwartet hätte, daß man irgendwelche Änderungen an Variablen gleich über diese Console auch im Bootloader vornimmt - dann sollten sie ja irgendwo im Protokoll zwischen den Startversuchen stehen.
Da ist dann wohl wirklich irgendein WLAN-Adapter nicht mehr vorhanden ... wobei ich das schon einigermaßen komisch finde als Resultat eines versuchten Updates. Ich würde hier wieder eher auf irgendwelche EEPROMs tippen, die ihrerseits irgendwie mit falschen Werten gefüttert wurden und nun die Devices irgendwie totlegen ... obwohl die - nach dem Inhalt von "E39-pcie_fixup" - ja zumindest mit ihren Konfigurationsregistern irgendwo auf dem PCI-Bus zu sehen sein müssen, wenn die "grep"-Statements erfolgreich sind. Außerdem wäre das ja ein ausgesprochen dämliches Zusammenfallen des Hardware-Fehlers beim WLAN mit einem Firmware-Update ... da erscheint mir irgendwelches wildes Schreiben in Konfigurationsregister irgendwie logischer - zumal die WLAN-Adapter halt wieder die Komponenten (neben dem DECT-Chip, der halt wohl auch noch irgendein eigenes EPROM für irgendwelche Keys) mit einem eigenen Datenspeicher wären.
Ich würde jetzt auch mal den "umac.ko" umbenennen ("blacklisted" ist der schon in "/etc/modprobe.d" - damit wird er nur noch mit direktem "insmod"-Aufruf geladen und nicht mehr als Abhängigkeit) ... an die Initialisierung über den "wland" kommt man vermutlich nicht ohne weiteres heran und der ruft dann wieder die "/etc/rc.d/rc.wlan" (nicht mit der in "init.d" zu verwechseln) auf, in der die Treiber geladen werden - allerdings kann es auch gut sein, daß ein fehlender Kernel-Driver den "wland" erst recht zum Reboot veranlaßt, zumal viele andere WLAN-Treiber halt auf dem "umac.ko" aufsetzen.
Wobei ich immer noch nicht so richtig verstehe, warum die Abschaltung des WLAN über die "featovl.cfg" hier nicht funktionieren soll ab Version 06.61 ... allerdings ist das natürlich auch genau der Zeitpunkt, ab dem da nicht mehr irgendwelche Zuweisungen in der "featovl.cfg" stehen dürfen, sondern die Zeilen mit einem "grep" auf ein bestimmtes Format geprüft werden. Da könnte so eine Zeile dann aus den unterschiedlichsten Gründen durchfallen und ich würde Dich bitten, mal einen Hexdump der von Dir verwendeten "featovl.cfg" hier zu zeigen - ich werde den Verdacht nicht los, daß die Abschaltung bei den Retail-Versionen bei Dir am Ende nur an irgendeiner Kleinigkeit wie einem zusätzlichen Leerzeichen oder irgendeiner anderen Banalität scheitert. Die Datei sollte exakt so aussehen, wie der folgende Dump:
Code:
~ # echo "CONFIG_WLAN=n" | hexdump -C
00000000 43 4f 4e 46 49 47 5f 57 4c 41 4e 3d 6e 0a |CONFIG_WLAN=n.|
0000000e
Zuletzt bearbeitet: