FHEM Forum

FHEM - Hardware => FRITZ!Box => Thema gestartet von: HolyMoly am 18 November 2013, 12:47:38

Titel: FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: HolyMoly am 18 November 2013, 12:47:38
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?

Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 18 November 2013, 15:29:29
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 .
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: HolyMoly am 18 November 2013, 15:39:04
Dumme frage, wie macht man das am besten?
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 18 November 2013, 15:45:32
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 .
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: HolyMoly am 19 November 2013, 10:45:29
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?
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 19 November 2013, 15:35:52
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 ?
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: HolyMoly am 20 November 2013, 09:47:15
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?
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: HolyMoly am 20 November 2013, 10:38:28
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
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 20 November 2013, 19:25:13
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 ?



Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: HolyMoly am 20 November 2013, 21:15:44
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.
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 20 November 2013, 21:20:16
Bitte konnte dir ja leider nicht helfen .
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 06 Januar 2014, 17:12:59
Hallo,

jetzt könnt ich dir helfen wenn du noch lust hast es auf deine Fritzbox zu probieren !!!
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: HolyMoly am 09 Januar 2014, 09:23:37
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 :(
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 09 Januar 2014, 10:14:12
Ne hab versucht es selbst zu kompilieren Probier mal ob die cdc-acm funktioniert sonst müssen wir noch was schauen .
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 15 Januar 2014, 09:11:46
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 ?
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: HolyMoly am 15 Januar 2014, 16:05:07
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.
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 15 Januar 2014, 16:21:39
Sind die infos jetzt mit der neuen os gleich ?? Kernel usw.
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 15 Januar 2014, 16:34:12
Oder besser gesagt kannst du nochmal die neue config posten und bitte eine ko file runterladen und mit modinfo die infos anzeigen lassen ??
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 16 Januar 2014, 18:36:08
Probier mal die .
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 19 Januar 2014, 18:06:35
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 ????
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: HolyMoly am 23 Januar 2014, 14:00:31
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....
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Sebastian123 am 31 Januar 2014, 14:56:07
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?
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Sebastian123 am 01 Februar 2014, 01:58:55
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.
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 01 Februar 2014, 08:29:59
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 ??
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Sebastian123 am 01 Februar 2014, 11:21:51
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
Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 01 Februar 2014, 12:59:16
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 .


Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Mani007 am 01 Februar 2014, 13:14:05
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 .

Titel: Antw:FHEM auf 7330 SL: insmod: can't insert 'cdc-acm.ko': invalid module format
Beitrag von: Sebastian123 am 01 Februar 2014, 16:31:41
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?