Hallo,
versuche verzweifelt FHEM auf meiner 7330 SL wieder zum laufen zu bekommen. Leider habe ich das cdc-acm.ko von damals gelöscht.
Die freundlicherweise von einem User zur Verfügung gestellte cdc-acm.ko funktioniert nicht mehr. Möglicherweise lagen da auch einige FW updates dazwischen.
Beim laden kommt:
insmod: can't insert 'cdc-acm.ko': invalid module format
Mein versuch das Modul nach folgender Anleitung selbst zu kompilieren http://www.zebradem.com/wiki/index.php?title=FHEM (http://www.zebradem.com/wiki/index.php?title=FHEM) hat leider auch nichts geändert. Ich bin mir ziemlich sicher dabei für kernel 2.6.32.60 kompiliert zu haben.
Auf des Box läuft die aktuelle Labor FW 05.59-26626
# uname -r liefert
2.6.32.60
Hat jemand Ideen woran es liegen könnte?
Hast du auch wirklich vorher überprüft ob die Datei richtig kompiliert ist für die Fritzbox ?? freetz spuckt mir dabei ELF32 Big Endian aus .
Dumme frage, wie macht man das am besten?
Ich weiß nicht auf welchen Betriebssystem du es kompiliert hast z.b. auf Ubuntu readelf -h /Pfad/zu/der/datei/cdc-acm.ko .
Achtung readelf ist nicht auf der Fritzbox vorhanden .
Ja ich habe es unter ubuntu liefert readelf:
readelf -h cdc-acm.ko viki@ROS
ELF Header:
Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, big endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: REL (Relocatable file)
Machine: MIPS R3000
Version: 0x1
Entry point address: 0x0
Start of program headers: 0 (bytes into file)
Start of section headers: 21304 (bytes into file)
Flags: 0x70001001, noreorder, o32, mips32r2
Size of this header: 52 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 40 (bytes)
Number of section headers: 110
Section header string table index: 107
Ist das in Ordnung?
Habe jetzt leider keine 7330 SL zur Hand sollte aber so richtig sein .
In welchem Verzeichnis hast du die cdc-acm liegen ??
Was passiert wenn du des freetz image komplett installierst ?? Bloß mal zum probieren findest du dann mit find -name cdc-acm.ko irgendwo ?
Die cdc-acm.ko liegt in /var/media/ftp/MassStorageDevice/fhem
sollte die in einem gesonderten directory liegen?
Das freetz image zu installieren bin ich noch ein wenig ängstlich,
wer weiß ob ich da alle Sachen richtig eingestellt habe :(
ausserdem bin ich ganz glücklich mit meinem schönen avm userinterface :)
Was muss denn erfüllt sein, damit so ein Kernelmodul geladen werden kann?
Gleiche Kernelversion?
Richtiger MachineType?
sonst noch etwas?
Hier nochmal ein paar infos cat /proc/cpuinfo
system type : AR9
processor : 0
cpu model : MIPS 34Kc V4.12
BogoMIPS : 261.32
wait instruction : yes
microsecond timers : yes
tlb_entries : 16
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
ASEs implemented : mips16 dsp mt
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available
uname -a
Linux IsarBox 2.6.32.60 #4 Tue Oct 8 15:50:38 CEST 2013 mips GNU/Linux
uClibc 0.9.32
file cdc-acm.ko
cdc-acm.ko: ELF 32-bit MSB relocatable, MIPS, MIPS32 rel2 version 1 (SYSV), BuildID[sha1]=0xf79ae821c60880655924b4d8d519db6c95782317, with unknown capability 0x41000000 = 0xf676e75, with unknown capability 0x10000 = 0x70403, not stripped
Kannst du mal schauen wenn du make kernel-menuconfig beim kompilieren machst da steht als überschrift welche Kernelversion zum kompilieren hergenommen wird wenn ich das so mache wie bei Zebradem beschrieben dann passen die Kernelversionen nicht zusammen.
Weil die letzte Kernelversion die Freetz hergerichtet hat für die 7330 ist nicht für die Laborversion . Deine ist die wie du beschrieben hast 2.6.32.60 . Bei mir beim kompilieren 2.6.32.41 . Deswegen watscheins auch die Fehlermeldung invalid module format .
Somit wird es schwierig das richtige Modul zu kompilieren .
Ich sehe da bloß 3 Auswege .
1. Avm anfragen ob sie das Modul kompilieren .
2. Oder du hast glück und freetz richtet für die Laborversion den akutellen kernel ein zum kompilieren .
3. Auf alte Firmware mit richtiger Kernelversion Downgraden .
Hast du mal im root Verzeichniss mit find -name cdc-acm.ko nach einer bestehenden gesucht ?
Vielen Dank für deine Hilfe Mani007,
Beim kompilieren steht bei mir auch Kernel 2.6.32.41, das wird es dann wohl erklären.
find -name cdc-acm.ko findet nur meine kaputte Version.
Ich denke ich warte einfach auf das offizielle 6.0 Release und hoffe dass Freetz bald den kernel aktualisiert.
Bitte konnte dir ja leider nicht helfen .
Hallo,
jetzt könnt ich dir helfen wenn du noch lust hast es auf deine Fritzbox zu probieren !!!
Hallo Mani,
Ja gerne! Gibt es jetzt einen Freetz kernel für 2.6.32.60?
Hab gesehen jetzt gibt wieder eine neue labor 7330-sl-27093, meinst du die hat wieder einen neuen kernel auf den man warten müsste?
Kann allerdings alles bissal dauern bis ich es umsetzen kann, die Fritzbox steht ein bisserl ausserhalb und der UMTS link geht grad mal wieder nicht :(
Ne hab versucht es selbst zu kompilieren Probier mal ob die cdc-acm funktioniert sonst müssen wir noch was schauen .
Hallo HolyMoly,
also das Modul was ich dir gegeben habe wird nicht funsen sorry.
Nur zur info : stimmten muss die Kernelversion, Machine,Flags,Data und mips32r2 und das was ich auch darüber gefallen bin die in deinem Fall Mips34kc und diese info zeigt dir
der Befehl modinfo vermagic file zeigt das nicht an . die uclibc ist für die ko file egal . Mal schauen wann die source von avm für die 7330 sl rauskommen oder sagen wir so hoffentlich überhaupt .
Ne kleine Frage is des ein Original firmware von AVM oder is des gebrandet . Und welche os hast du drauf ?
Ja, hat leider nicht gefunzt.
OS ist nun 6.01 beta, Fw hat glaub ein 1&1 Branding, zumindest fragt er mich immer blöd nach einem Startcode.
Sind die infos jetzt mit der neuen os gleich ?? Kernel usw.
Oder besser gesagt kannst du nochmal die neue config posten und bitte eine ko file runterladen und mit modinfo die infos anzeigen lassen ??
Probier mal die .
Sorry das war die Falsch also das sollte jetzt die korrekte cdc-acm für die 2.6.32.60 sein außer die labor von avm hat wieder einen neuen Kernel . Außer du hast keine Lust mehr ????
Hallo Mani,
doch hab schon noch Lust, nur leider von hier aus keinen zugriff auf die Fritzbox denn die steht im Ferienhaus und das UMTS funzt nicht so wie es sollte.
Ich melde mich sobald ich wieder dort bin und es probiert habe....
Hallo, ich steige mal mit ein, da ich das selbe vorhabe.
Habe nun die die "cdc-acm.ko" von dir herunter geladen, direkt auf einen USB Stick gepackt, wo auch FHEM drauf ist, liegt im gleichen verzeichnis wie die startfhem. In dieser habe ich den Zeile
insmod ./cdc-acm.ko
eingetragen, aber die Fehlermeldung zeigt dann:
insmod: can't insert './cdc-acm.ko': unknown symbol in module, or unknown parameter
Hierbei handelt es sich um eine FB 7330 SL mit der IOS 6.1 Firmware 116.06.01. Das ist keine Beta mehr.
Das FHEM wird zwar gestartet, aber den CUL kann ich wohl nicht benutzen, oder?
Zitat von: Mani007 am 19 Januar 2014, 18:06:35
die korrekte cdc-acm für die 2.6.32.60 sein außer die labor von avm hat wieder einen neuen Kernel . Außer du hast keine Lust mehr ????
Habe die IOS 6.1 drauf und der Kernel ist der gleiche geblieben.
Hallo sebastian,
Bitte immer erst versuchen das Modul mit modprobe zu laden.
Wenn kein modprobe auf der fritzbox ist dann notfalls insmod .
Versuche das modul nochmal zu laden und poste mir bitte mit dmesg | tail was die fritzbox über die cdc-acm schimpft . Ist der usbcore geladen ??
1) Aufruf mit modprobe ergibt: modprobe: module cdc-acm.ko not found in modules.dep
2) Aufruf mit insmod ergibt: insmod: can't insert './cdc-acm.ko': invalid module format
Nach eingabe von "dmesg | tail" kam folgendes (Habe ich das richtig gemacht?):
[ 4.460000] (C) Copyright 2012 by AVM
[ 4.460000] ' taints kernel.
[ 4.470000] Disabling lock debugging due to kernel taint
[ 4.500000] AVM_WATCHDOG: System Init UEberwachung 240 Sekunden
[ 5.090000] [module-alloc-by-name] give 0x1000 bytes at 0x81092000 to module 'rtc_avm' (0x6ca000 bytes left)
[ 5.110000] rtc-avm rtc-avm.0: rtc core: registered avm as rtc0
[ 5.120000] [avm-rtc]: avm_rtc_probe: register: ret=0x830bec00
[ 5.120000] [avm-rtc]: avm_rtc_probe: success
[ 5.360000]
[ 5.360000] [avm_debug]redirect kernel-messages (/dev/debug)
mit dem Befehl "lsmod | grep usb" habe ich folgende Ausgabe:
usb_storage 36704 1
scsi_mod 119808 2 usb_storage,sd_mod
usbserial 25808 1 ftdi_sio
ifxusb_host 80160 0
usbcore 118864 5 usb_storage,ftdi_sio,usbserial,ifxusb_host
Hallo Sebastian,
jetzt bin ich etwas irretiert du bekommst mit dem gleichen befehl 2 verschieden Fehlermeldung mit insmod einmal "invalid modul format"
und "unknown symbol in module, or unknown parameter" das finde ich äußerst komisch hast du schon jedes mal die gleiche ko file genommen .
"dmesg | tail" ist richtig so, bloß besser wäre es gewesen von mir aus zusagen das wenn du tail weglässt alles von der dmesg zeigt und bei tail die letzten 10 Zeilen . In der Ausgabe solltest du nach der Fehlermeldung suchen wo er das Modul nicht laden kann .
Du kannst auch mit dmesg | grep cdc-acm mal versuchen ob du den richtigen output kriegst .
Modprobe sagt das die Abnhängigkeit nicht in modules.dep eingetragen ist .
vi ./lib/modules/2.6.28.10/modules.dep "Abhängigkeit eintragen"
Dann solltest du die cdc-acm so eintragen natürlich mit den richtigen Pfad .
kernel/drivers/usb/class/cdc-acm.ko: kernel/drivers/usb/core/usbcore.ko
Damit weiß er das er vom USBcore abhängig ist in der Hoffnung das er die Symbolic richtig anwendet .
So jetzt is soweit grins,
jetzt hats solange gedauert bis freetz jetzt den kernel build hat für die 7330 SL 06.01 .
Wenn die nicht funst dann wirds schwierig das hinzubekommen . Ist auch von der Dateigröße als meine Gebuildete cdc-acm .
Ja, dass war es, bzw. ist nun das richtige.
kann nun die FHEM starten, ohne fehler ;D
Eine Abschlussfrage:
Nachdem ich die Startfhem angepasst habe mit dem Befehl "insmod ./cdc-acm.ko", ändere ich es wieder zurück in "modprobe cdc-acm.ko"? also ist es nur einmalig notwendig, oder bei jedem Neustart der FB?