Hallo,
ich möchte gerne Kernelmodule für meine Fritz!Box 7141 erstellen, damit ich meinen USB<->Seriell-Adapter verwenden kann. Das Thema ist bereits diskutiert worden, ich komme aber irgendwie nicht weiter. Ich denke, dass ich pl2303.ko und usbserial.ko benötige. Da ich die Module erstmal einfach vom USB-Stick nachladen möchte, habe ich mich entschieden es mal so zu versuchen, wie hier vorgeschlagen: http://www.ip-phone-forum.de/showthread.php?t=101712&page=2 (letzer Beitrag auf der Seite vom 12.03.2007, 20:35).
Also habe ich folgendes gemacht:
Toolchain erstellt nach folgender Anleitung: http://wiki.ip-phone-forum.de/software:ds-mod:howtos#cross-compiler_toolchain_erstellen.
Also freetz heruntergeladen, entpackt und dann:
Wobei ich inzwischen folgende Einstellungen bei make menuconfig probiert habe:
Hardware type: 7141
Advanced options->Compiler options-> Build toolchain und alle 3 Möglichkeiten unter uClibc-Config
(Da habe ich dran herumgestellt wegen dem Hinweis im Howto und weil ich ja für die originale Firmware compilen will).
Welche ist hier die richtige Einstellung? Es gibt mod_26, 4MB_26, 8MB_26.
Naja, das läuft alles durch und ich konnte ein Hello World auf meine Box bringen - Hurra!
Dann hab ich die Schritte im folgenden Howto durchgeführt:
http://wiki.ip-phone-forum.de/software:ds-mod:howtos#kernel_konfigurieren_und_kompilieren
Also:
Um an meine Module zu kommen, stelle ich in make kernel-menuconfig den Support dafür ein (Device Drivers->USB-Support->USB Serial Converter support).
Dann kommt es zu Fehlern. Der erste ist:
Google kannte das Problem und gab mir folgenden Hinweis:
http://trac.freetz.org/ticket/187. Damit ließ sich das beheben.
Beim nächsten Versuch läuft es ein Stück weiter und bricht mit:
ab.
So da stehe ich nun und bitte euch mal drüber zu schauen, ob ich da nicht grundsätzlich was falsch mache. Wie man sicher merkt, kenne ich mich mit makefiles, menuconfig und kernel-konfigureren noch nicht besonders gut aus. Ich bedanke mich schon mal fürs lesen.
Gruß,
Jens
ich möchte gerne Kernelmodule für meine Fritz!Box 7141 erstellen, damit ich meinen USB<->Seriell-Adapter verwenden kann. Das Thema ist bereits diskutiert worden, ich komme aber irgendwie nicht weiter. Ich denke, dass ich pl2303.ko und usbserial.ko benötige. Da ich die Module erstmal einfach vom USB-Stick nachladen möchte, habe ich mich entschieden es mal so zu versuchen, wie hier vorgeschlagen: http://www.ip-phone-forum.de/showthread.php?t=101712&page=2 (letzer Beitrag auf der Seite vom 12.03.2007, 20:35).
Also habe ich folgendes gemacht:
Toolchain erstellt nach folgender Anleitung: http://wiki.ip-phone-forum.de/software:ds-mod:howtos#cross-compiler_toolchain_erstellen.
Also freetz heruntergeladen, entpackt und dann:
Code:
make menuconfig
make toolchain
make libs
Hardware type: 7141
Advanced options->Compiler options-> Build toolchain und alle 3 Möglichkeiten unter uClibc-Config
(Da habe ich dran herumgestellt wegen dem Hinweis im Howto und weil ich ja für die originale Firmware compilen will).
Welche ist hier die richtige Einstellung? Es gibt mod_26, 4MB_26, 8MB_26.
Naja, das läuft alles durch und ich konnte ein Hello World auf meine Box bringen - Hurra!
Dann hab ich die Schritte im folgenden Howto durchgeführt:
http://wiki.ip-phone-forum.de/software:ds-mod:howtos#kernel_konfigurieren_und_kompilieren
Also:
Code:
make kernel-dirclean
make kernel-menuconfig
make kernel-precompiled
Dann kommt es zu Fehlern. Der erste ist:
Code:
In file included from drivers/mtd/maps/ohio-flash.c:18:
include/linux/squashfs_fs.h:37:2: #error unsupported
drivers/mtd/maps/ohio-flash.c: In function `ohio_find_hidden_filesystem':
drivers/mtd/maps/ohio-flash.c:133: warning: unsigned int format, different type arg (arg 2)
drivers/mtd/maps/ohio-flash.c:133: warning: unsigned int format, different type arg (arg 3)
drivers/net/avm_cpmac/cpphy_if.c: In function `cpphy_if_control_req':
drivers/net/avm_cpmac/cpphy_if.c:509: warning: implicit declaration of function `switch_dump'
make[4]: *** [drivers/mtd/maps/ohio-flash.o] Fehler 1
make[3]: *** [drivers/mtd/maps] Fehler 2
make[2]: *** [drivers/mtd] Fehler 2
make[2]: *** Warte auf noch nicht beendete Prozesse...
CC drivers/net/avm_cpmac/cpphy_mdio.o
CC drivers/net/avm_cpmac/cpphy_main.o
CC drivers/net/avm_cpmac/cpphy_misc.o
CC drivers/net/avm_cpmac/cpphy_adm6996.o
CC drivers/net/avm_cpmac/cpmac_eth.o
CC drivers/net/avm_cpmac/cpmac_sched.o
LD drivers/net/wireless/built-in.o
CC drivers/net/Space.o
CC drivers/net/loopback.o
CC drivers/net/avm_cpmac/cpphy_entry.o
CC drivers/net/tun.o
touch drivers/net/avm_cpmac/dummy.o
LD drivers/net/avm_cpmac/avm_cpmac.o
LD drivers/net/avm_cpmac/built-in.o
LD drivers/net/built-in.o
make[1]: *** [drivers] Fehler 2
make[1]: Verlasse Verzeichnis '/home/jens/Desktop/freetz-1.0/source/ref-8mb_26-04.49/kernel/kernel_8mb_26_build/kernel/linux-2.6.13.1'
make: *** [source/ref-8mb_26-04.49/kernel/kernel_8mb_26_build/kernel/linux-2.6.13.1/vmlinux.eva_pad] Fehler 2
http://trac.freetz.org/ticket/187. Damit ließ sich das beheben.
Beim nächsten Versuch läuft es ein Stück weiter und bricht mit:
Code:
KSYM .tmp_kallsyms1.S
AS .tmp_kallsyms1.o
LD .tmp_vmlinux2
KSYM .tmp_kallsyms2.S
AS .tmp_kallsyms2.o
LD .tmp_vmlinux3
KSYM .tmp_kallsyms3.S
AS .tmp_kallsyms3.o
LD vmlinux
SYSMAP System.map
SYSMAP .tmp_System.map
mipsel-unknown-linux-gnu-objcopy -S -O binary /home/jens/Desktop/freetz-1.0/source/ref-8mb_26-04.49/kernel/kernel_8mb_26_build/kernel/linux-2.6.13.1/vmlinux vmlinux.bin
if [ -x ../../../../../../tools/lzma ]; then \
../../../../../../tools/lzma e -lc1 -lp2 -pb2 \
vmlinux.bin vmlinux.lzma; \
else \
lzma e -lc1 -lp2 -pb2 vmlinux.bin vmlinux.lzma; \
fi
lzma: invalid option -- l
make[1]: *** [vmlinux.lzma] Fehler 1
make[1]: Verlasse Verzeichnis '/home/jens/Desktop/freetz-1.0/source/ref-8mb_26-04.49/kernel/kernel_8mb_26_build/kernel/linux-2.6.13.1'
make: *** [source/ref-8mb_26-04.49/kernel/kernel_8mb_26_build/kernel/linux-2.6.13.1/vmlinux.eva_pad] Fehler 2
So da stehe ich nun und bitte euch mal drüber zu schauen, ob ich da nicht grundsätzlich was falsch mache. Wie man sicher merkt, kenne ich mich mit makefiles, menuconfig und kernel-konfigureren noch nicht besonders gut aus. Ich bedanke mich schon mal fürs lesen.
Gruß,
Jens