2mb Kernel oder was macht eigentlich avm.o?

danisahne

Aktives Mitglied
Mitglied seit
30 Jul 2005
Beiträge
1,493
Punkte für Reaktionen
0
Punkte
0
Auf manchen Boxen ist das Kernelmodul avm.o, auf anderen nicht. Das Modul wird mit CONFIG_AVM_SAMMEL im Kernel konfiguriert. Bei der Fritzbox SL (2mb Kernel) ist das Modul statisch gelinkt, sonst eigentlich immer dynamisch per insmod in der rc.S. Da das Modul nicht als Quellcode beiliegt, kann ich es nicht statisch linken.

Was geht uns also ab, wenn das Modul nicht da ist?

Kann ich es einfach aus einer anderer Firmware nehmen?

Verstößt AVM hier gegen die GPL? Ist glaub ich nicht so klar, hier wird sehr kontrovers diskutiert.

Fakt ist, dass sich so der 2mb Kernel nicht reproduzieren läßt, was ich nicht gutheißen kann.

Bleibt also nur das kopieren des Moduls aus einer anderen Firmware, oder sehe ich das richtig?

EDIT: Hier mal der Auszug aus der seriellen console:
Code:
ADAM2 Revision TI:0.18.01 AVM: Version:67
(C) Copyright 1996-2003 Texas Instruments Inc. All Rights Reserved.
(C) Copyright 2003 Telogy Networks, Inc.
(C) Copyright 2003-2004 AVM

AVM_Ar7 >
Press any key to abort OS load, or wait 5 seconds for OS to boot...
Launching kernel decompressor.
Starting LZMA Uncompression Algorithm.
Copyright (C) 2003 Texas Instruments Incorporated; Copyright (C) 1999-2003 Igor Pavlov.
Compressed file is not 7zip format. Trying LZMA stand-alone...
Kernel decompressor was successful ... launching kernel.

LINUX started...
Config serial console: ttyS0,38400
This SOC has MDIX cababilities on chip: HWRevision="F"
AutoMDIX="<unknown>"
MDIX disabled.
init started:  BusyBox v1.00-pre3 (2005.08.18-13:20+0000) multi-call binary
init started:  BusyBox v1.00-pre3 (2005.08.18-13:20+0000) multi-call binary
Starting pid 11, console /dev/tts/0: '/etc/init.d/rc.S'
/etc/init.d/rc.S: 51: cannot create /dev/watchdog: Permission denied

*************************************
**** adam2 environment ****
HWRevision      F
ProductID       Fritz_Box_2MB
SerialNumber    0000000000000000
annex   B
autoload        yes
bootloaderVersion       0.18.01
bootserport     tty0
bluetooth       00:04:0E:FF:FF:07
cpufrequency    150000000
firstfreeaddress        0x947310a8
firmware_version        avm
firmware_info   10.03.94
flashsize       0x00200000
maca    xx:xx:xx:xx:xx:xx
macb    xx:xx:xx:xx:xx:xx
macwlan xx:xx:xx:xx:xx:xx
macdsl  xx:xx:xx:xx:xx:xx
memsize 0x00800000
modetty0        38400,n,8,1,hw
modetty1        38400,n,8,1,hw
mtd0    0x900B0000,0x901F0000
mtd1    0x90010000,0x900B0000
mtd2    0x90000000,0x90010000
mtd3    0x901F0000,0x901F8000
mtd4    0x901F8000,0x90200000
my_ipaddress    169.254.43.2
prompt  AVM_Ar7
reserved        00:04:0E:FF:FF:00
req_fullrate_freq       125000000
sysfrequency    125000000
urlader-version 67
usb_board_mac   xx:xx:xx:xx:xx:xx
usb_rndis_mac   xx:xx:xx:xx:xx:xx
usb_device_id   0x3701
usb_revision_id 0x0100
usb_device_name USB DSL Device
usb_manufacturer_name   AVM
*************************************

HWRevision='F'
ANNEX='B'
OEM='avm'
Language='de'
Country='049'
TZ='CET-1CEST,M3.5.0,M10.5.0'
CONFIG_AB_COUNT='0'
CONFIG_ANNEX='B'
CONFIG_ASSIST='n'
CONFIG_ATA='n'
CONFIG_ATA_FULL='n'
CONFIG_AUDIO='n'
CONFIG_BLUETOOTH='n'
CONFIG_BLUETOOTH_CTP='n'
CONFIG_BUTTON='n'
CONFIG_CAPI='n'
CONFIG_CAPI_MIPS='n'
CONFIG_CAPI_UBIK='n'
CONFIG_CAPI_XILINX='n'
CONFIG_CDROM='n'
CONFIG_CDROM_FALLBACK='y'
CONFIG_DECT='n'
CONFIG_DSL='y'
CONFIG_ENVIRONMENT_PATH='/proc/sys/dev/adam2'
CONFIG_ETH_COUNT='1'
CONFIG_FIRMWARE_URL='http://www.avm.de/fritzbox-firmware-update.php?hardware=F&oem=avm&language=de&country='
CONFIG_FON='n'
CONFIG_HOMEI2C='n'
CONFIG_HOSTNAME='fritz.box'
CONFIG_I2C='n'
CONFIG_INSTALL_TYPE='ar7_2MB_1eth_oem_AOL_32711'
CONFIG_NAND='n'
CONFIG_NFS='n'
CONFIG_OEM_DEFAULT='avm'
CONFIG_PRODUKT='Fritz_Box_2MB'
CONFIG_PRODUKT_NAME='FRITZ!Box SL'
CONFIG_RAMSIZE='8'
CONFIG_ROMSIZE='2'
CONFIG_SERVICEPORTAL_URL='http://www.avm.de/fritzbox-service-portal.php?hardware=F&oem=avm&language=de&country='
CONFIG_STOREUSRCFG='y'
CONFIG_SUBVERSION=''
CONFIG_UBIK2='n'
CONFIG_USB='y'
CONFIG_USB_HOST_AVM='n'
CONFIG_USB_HOST_TI='n'
CONFIG_USB_PRINT_SERV='n'
CONFIG_USB_STORAGE='n'
CONFIG_USB_WLAN_AUTH='n'
CONFIG_VERSION='03.94'
CONFIG_VERSION_MAJOR='10'
CONFIG_VLYNQ0='0'
CONFIG_VLYNQ1='0'
CONFIG_VPN='n'
CONFIG_WLAN='n'
CONFIG_WLAN_WDS='n'
CONFIG_XILINX='n'
*************************************

Using /lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/drivers/net/avalanche_usb/avalanche_usb.o
insmod: unresolved symbol avalanche_led_action
insmod: unresolved symbol avalanche_led_register
insmod: unresolved symbol avalanche_led_unregister
attempting to load DSL Firmware '/lib/modules/ar0700xx.bin'
**** ANNEX: 'B'
*************************************
setting DSL Firmware to Annex B
Using /lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/drivers/atm/tiatm.o
insmod: unresolved symbol avm_event_source_trigger
insmod: unresolved symbol avm_event_source_register
insmod: unresolved symbol hardware_error_log
insmod: unresolved symbol avalanche_led_action
insmod: unresolved symbol avalanche_led_register
insmod: unresolved symbol avalanche_led_unregister
insmod: unresolved symbol avm_event_source_release
Using /lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/drivers/dsld/kdsldmod.o
insmod: unresolved symbol avalanche_led_action
insmod: unresolved symbol avalanche_led_register
insmod: unresolved symbol avalanche_led_unregister
2002-09-08 14:00:09 cltmgr: csock: using poll
Sep  8 14:00:09 cltmgr[251]: csock: using poll
Sep  8 14:00:09 websrv[262]: csock: using poll
Sep  8 14:00:10 cltmgr[253]: set nonblocking mode for 0.0.0.0 failed - Bad file descriptor (9)
Sep  8 14:00:10 cltmgr[253]: fd not free: -3
Sep  8 14:00:10 cltmgr[253]: fd not free: -3
Sep  8 14:00:10 cltmgr[253]: FactoryDefault=/etc/default/avm/stat.cfg (stat)
Sep  8 14:00:11 cltmgr[253]: /etc/default/avm/stat.cfg: is empty
Sep  8 14:00:11 cltmgr[253]: load_config(stat): file empty - factory default loaded
Sep  8 14:00:11 cltmgr[253]: Statistic load_config failed
Sep  8 14:00:11 igdd[264]: csock: using poll
2002-09-08 14:00:12 multid: csock: using poll
Sep  8 14:00:12 multid[271]: csock: using poll
Sep  8 14:00:12 multid[273]: if_setup: lan:0: SIOCSIFADDR failed - No such device (19)
Sep  8 14:00:12 multid[273]: if_setup: eth0: SIOCSIFADDR failed - No such device (19)
Sep  8 14:00:12 multid[273]: br_add_if: get index for eth0 failed - No such device (19)
Sep  8 14:00:12 multid[273]: if_setup: usbrndis: SIOCSIFADDR failed - No such device (19)
Sep  8 14:00:12 multid[273]: br_add_if: get index for usbrndis failed - No such device (19)
Sep  8 14:00:12 multid[273]: if_setup: eth1: SIOCSIFADDR failed - No such device (19)
Sep  8 14:00:12 multid[273]: br_add_if: get index for eth1 failed - No such device (19)
Sep  8 14:00:12 multid[273]: if_setup: tiwlan0: SIOCSIFADDR failed - No such device (19)
Sep  8 14:00:12 multid[273]: br_add_if: get index for tiwlan0 failed - No such device (19)
Sep  8 14:00:12 multid[273]: if_setup: wdsup0: SIOCSIFADDR failed - No such device (19)
2002-09-08 14:00:12 dsld: csock: using poll
Sep  8 14:00:12 dsld[278]: csock: using poll
Sep  8 14:00:12 multid[273]: br_add_if: get index for wdsup0 failed - No such device (19)
Sep  8 14:00:12 multid[273]: if_setup: wdsdw0: SIOCSIFADDR failed - No such device (19)
Sep  8 14:00:12 multid[273]: br_add_if: get index for wdsdw0 failed - No such device (19)
Sep  8 14:00:12 multid[273]: if_setup: wdsdw1: SIOCSIFADDR failed - No such device (19)
Sep  8 14:00:12 multid[273]: br_add_if: get index for wdsdw1 failed - No such device (19)
Sep  8 14:00:12 multid[273]: if_setup: wdsdw2: SIOCSIFADDR failed - No such device (19)
Sep  8 14:00:12 multid[273]: br_add_if: get index for wdsdw2 failed - No such device (19)
Sep  8 14:00:12 multid[273]: if_setup: wdsdw3: SIOCSIFADDR failed - No such device (19)
Sep  8 14:00:12 multid[273]: br_add_if: get index for wdsdw3 failed - No such device (19)
run_clock demon started

/etc/init.d/rc.S: 154: cannot create /dev/watchdog: Permission denied
Sep  8 14:00:13 dsld[309]: Can't open /dev/kdsl
Please press Enter to activate this console. Sep  8 14:00:14 dsld[309]: warning: nothing to do, BUG ?
Sep  8 14:00:15 dsld[309]: warning: nothing to do, BUG ?
Sep  8 14:00:16 dsld[309]: ioctl(KDSLD_UNSETUP): failed - Bad file descriptor (9)
Sep  8 14:00:16 dsld[309]: ioctl(KDSLD_TS_DESTROY): failed - Bad file descriptor (9)
Wie der Name avm.o vermuten läßt ist es ein recht zentrales Modul. Einige "unresolved symbols" und ein nicht vorhandener watchdog sind die Folge. /dev/kdsl ist auch nicht da, der selbstkompilierte 2mb Kernel also unbrauchbar. In der rc.S sind die Zeilen schon da, die avm.o auch laden würden, wenn es im Dateisystem wäre. Ich frag mal AVM, ob sie das Modul einfach auf ihrem FTP Server als Download anbieten könnten.

Mfg
danisahne
 
Zuletzt bearbeitet:
haste Du Dir das Modul selber mal angeschaut fallst Du eins hast ? ggf lässt siche per Hexeditor erahnen was das Modul macht
 
Sieht für mich so aus, als ob die LED und ein paar andere Funktionen durch die avm.o gesteuert werden (nach den Namen abzuleiten). Ohne Source ist das schwer.

Wenn die Funktionen nicht zu wichtig sind, könnte man eventuell ein Modul nachbilden (mit leeren Funktionen). Nur wie man an die Parameter kommt, ist mir schleierhaft. Aber das wäre so die letzte Alternative die man gehen könnte..
 
Wie gesagt, /dev/kdsl hängt auch dran und was ist schon ein DSL Router ohne DSL...
 
bodega schrieb:
Sieht für mich so aus, als ob die LED und ein paar andere Funktionen durch die avm.o gesteuert werden (nach den Namen abzuleiten). Ohne Source ist das schwer.

Wenn die Funktionen nicht zu wichtig sind, könnte man eventuell ein Modul nachbilden (mit leeren Funktionen). Nur wie man an die Parameter kommt, ist mir schleierhaft. Aber das wäre so die letzte Alternative die man gehen könnte..

naja mit Trace und gdb ist schon eine Menge möglich :D

@Sahne
Gibt es vllr einen OpenS Treiber für den DSL Chipsatz?
 
BOFHELL schrieb:
naja mit Trace und gdb ist schon eine Menge möglich
Ok, aber bei kompilierten Dateien ohne Debuginformation? Wenn ja, wie?
Höchstens doch auf Maschinencode-Ebene?
Eventuell kriegt man die Parameter durch die Aufrufe im Code (welcher frei ist).

danisahne schrieb:
Wie gesagt, /dev/kdsl hängt auch dran und was ist schon ein DSL Router ohne DSL
Wie gesagt, letzte Alternative ;). Hast du denn schon eine avm.o aus einer anderen Firmware probiert?
 
ich hab noch eine anmerkung, die zwar ein wenig off-topic ist, aber trotzdem hierher passt, wie ich finde:

in einigen firmwares findet man auch openssl(-ähnliche) binaries, die von avm erstellt wurden. es gibt auch ein oder zwei binaries von avm, die darauf verlinken. welche das genau sind, weiss ich nicht mehr, aber olistudent kann sich vielleicht erinnern.
das problem mit den openssl libs von avm ist halt, dass man aufgrund fehlender sourcen diese nicht nachbauen und auch die davon abhängingen (avm-)programme nicht neu erstellen kann.

um eigene programme mit openssl nutzung (wie zb openvpn) zu erstellen, muss man also auch die libs neu machen. (davon mal abgesehen, dass "closed" ssl libs mir nicht gerade geheuer sind!)
damit werden dann aber auch die avm-binaries unbrauchbar. ist aber bisher kaum jemandem aufgefallen und niemand vermisst funktionen - oder?

hier ist also noch ein punkt, wo ich eine verletzung der gpl vermute: der source der avm-ssl libs ist nicht enthalten. ich habe dazu auch mal an avm gemailt aber die haben mir einfach mit einer kopie der readme.txt geantwortet, in der irgendwas von gpl und openssl geschrieben steht, was ich aber nicht wirklich als antwort interpretieren kann *bahnhof*
 
Kann jemand bestätigen, dass es sich bei den avm-ssl libs um OpenSSL handelt?
 
Zuletzt bearbeitet:
danisahne schrieb:
Kannst jemand bestätigen, dass es sich bei den avm-ssl libs um OpenSSL handelt?

license.txt schrieb:
© 1998-2001 des OpenSSL Project. Alle Rechte vorbehalten.
Dieses Produkt enthält Software entwickelt vom OpenSSL Project für die Nutzung im OpenSSL Toolkit (http://www.openssl.org/).
Dieses Produkt enthält kryptografische Software von Eric Young ([email protected]).
Dieses Produkt enthält Software von Tim Hudson ([email protected]).
Bitte unbedingt die Details der zugrunde liegenden Lizenzbestimmungen unter http://www.openssl.org/ beachten.
ftp://ftp.avm.de/fritz.box/license.txt
 
Leider ist es so, wie ich es in Erinnerung habe: OpenSSL wird unter einer BSD ähnlichen Lizenz veröffentlicht, d.h. meines Wissens ist AVM nicht verpflichtet, den Quellcode freizugeben. Man kann also AVM nur um Tipps zur Version und Konfiguration bitten.

Mfg
danisahne
 
Kostenlos!

Statistik des Forums

Themen
248,916
Beiträge
2,304,987
Mitglieder
378,630
Neuestes Mitglied
dag74