CPMACCFG funktioniert bei aktuellem Freetz-Trunk nicht mehr!

Accuvue

Neuer User
Mitglied seit
10 Jul 2008
Beiträge
187
Punkte für Reaktionen
0
Punkte
16
Hatte diesen Beitrag bereits in einem falschen Thread eingestellt. Die Admins mögen ihn dort bitte löschen:

Habe Probleme mit CPMACCFG! Es muß am aktuellen Release liegen, deshalb meine Bitte an die freetz-Entwickler "mal nachzuschauen"

In meiner bisherigen Freetz-Trunk-Version:
Code:
Code:
Boxtyp: 7170  AVM Firmwareversion: 04.76  Sprache: de
Kernelversion: 2.6.13.1-ohio () (gcc version 3.4.6) 
FREETZ-Version: freetz-devel-4245
Erstellungsdatum: 26.01.2010 22:49:15
Ursprünglicher Dateiname:
7170_04.76freetz-devel-4245.de_20100126-224915.image

FREETZ-Konfiguration:Patches: Pakete: Module: Libraries: 
AUTOMOUNT
> EXT3
DSL_EXPERT
FREETZMOUNT
RCFTPD
SIGNED
 APACHE
> STATIC
AVM-FIREWALL
BASH
CALLMONITOR
> actions
> monitor
> phonebook
> webif
CHECKMAILD
CPMACCFG
DTMFBOX
> SVN
> SVN_FORCE_LATEST_REV
> USE_DIFF_PATCH
> WITH_CAPI
> WITH_ESPEAK
> WITH_G711_CODEC
> WITH_HELP
> WITH_ICE
> WITH_MADPLAY
> WITH_VOIP
> WITH_WEBPHONE
E2FSPROGS
> BLKID
ESPEAK
HASERL
MADPLAY
MATRIXTUNNEL
MC
> FORCE_GLIB12
> INTERNAL_EDITOR
> ONLINE_HELP
> SUBSHELL
> WITH_NCURSES
MODCGI
STREAMRIPPER
VSFTPD
 ext3
jbd
mbcache
 ld_uClibc
libblkid
libcapi20
libcom_err
libcrypt
libdl
libext2fs
libfreetz
libgcc_s
libglib_1
libglib_2
libid3tag
libintl
libm
libmad
libmatrixssl
libncurses
libnsl
libpcre
libpthread
librt
libuClibc
libuClibc__
libuuid
libz
 
Entfernt: CGI-Pakete: 
ASSISTANT
AURA_USB
AVM_VPN
FTPD
MEDIASRV
MINID
SMBD
SUPPORT
TR069
TR069_FWUPDATE
UPNP
CPMACCFG
habe ich per Weboberfläche von CPMACCFG Port 4 auf:
Code:
save, eth0, 10baseT-HD
eingestellt, was auch zuverlässig funktionierte.

Im trunk-Updade von heute klappt das nicht mehr. Port 4 bleibt auf "negotiated 100baseTx-FD, link ok" eingestellt, egal was man für eine Schnittstellengeschwindigkeit auswählt. Eine Verbindung kommt so natürlich nicht mehr zustande.

Schon die Übernahme der Settings geht schief:
Code:
Saving settings...done.
Saving cpmaccfg.cfg...done.
sh: 7170: unknown operand
Setting switch_mode to 'normal' (1).

nothing to stop...
Skipping WLAN bridge-settings. WLAN is bridged in AVM webinterface
done.

Writing /var/flash/freetz...done.
36864 bytes written.

Mit der alten Version funktioniert es dann wieder...
 
Poste mal bitte den Output von
Code:
sh -x /etc/init.d/rc.cpmaccfg restart
 
Die Fehlermeldung hilft doch schon mal weiter. Kannst du mal bitte "sh -x /etc/init.d/rc.cpmaccfg restart" ausführen?

Gruß
Oliver

Mist. Zu langsam. :)
 
Kannst du mal bitte "sh -x /etc/init.d/rc.cpmaccfg restart" ausführen?

Code:
/var/mod/root # sh -x /etc/init.d/rc.cpmaccfg restart
+ DAEMON=cpmaccfg
+ . /etc/init.d/modlibrc
+ export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/mod/sbin:/mod/bin:/mod/usr/sbin:/mod/usr/bin
+ export LD_LIBRARY_PATH=/mod/lib:/mod/usr/lib
+ [ -n cpmaccfg ]
+ [ ! -r /mod/etc/conf/cpmaccfg.cfg ]
+ modlib_loadconfig
+ local CONF_FILE=/mod/etc/conf/cpmaccfg.cfg
+ [ -r /mod/etc/conf/cpmaccfg.cfg ]
+ . /mod/etc/conf/cpmaccfg.cfg
+ export CPMACCFG_ENABLED=yes
+ export CPMACCFG_ETH1_IP=192.168.0.1
+ export CPMACCFG_ETH1_SUBNET=255.255.255.0
+ export CPMACCFG_ETH2_IP=0.0.0.0
+ export CPMACCFG_ETH2_SUBNET=255.255.255.0
+ export CPMACCFG_ETH3_IP=0.0.0.0
+ export CPMACCFG_ETH3_SUBNET=255.255.255.0
+ export CPMACCFG_ETH4_IP=0.0.0.0
+ export CPMACCFG_ETH4_SUBNET=255.255.255.0
+ export CPMACCFG_FLOW1=disable
+ export CPMACCFG_FLOW2=disable
+ export CPMACCFG_FLOW3=disable
+ export CPMACCFG_FLOW4=disable
+ export CPMACCFG_MODE1=save
+ export CPMACCFG_MODE2=save
+ export CPMACCFG_MODE3=save
+ export CPMACCFG_MODE4=save
+ export CPMACCFG_SPEED1=10baseT-HD
+ export CPMACCFG_SPEED2=auto
+ export CPMACCFG_SPEED3=auto
+ export CPMACCFG_SPEED4=10baseT-HD
+ export CPMACCFG_VLAN1=eth0
+ export CPMACCFG_VLAN2=eth0
+ export CPMACCFG_VLAN3=eth0
+ export CPMACCFG_VLAN4=eth0
+ export CPMACCFG_WLAN=eth0
+ stop
+ echo -n nothing to stop...
nothing to stop...+ echo

+ sleep 1
+ start
+ set
+ grep Fritz_Box
+ sed -e s/.*_//g
+ sed -e s/'//g
+ BOXTYPE=7170
+ [ 7170 = 7170 ]
+ echo -n Setting Ports...
Setting Ports...+ echo

+ /sbin/cpmaccfg spm 1 save
Setting port 1 to power mode 'save'.
+ /sbin/cpmaccfg spm 2 save
Setting port 2 to power mode 'save'.
+ /sbin/cpmaccfg spm 3 save
Setting port 3 to power mode 'save'.
+ /sbin/cpmaccfg spm 4 save
Setting port 4 to power mode 'save'.
+ /sbin/cpmaccfg spme 1 10baseT-HD disable
Setting media type for port 1 to '10baseT-HD' (disable flow-control).
+ /sbin/cpmaccfg spme 2 auto disable
Setting media type for port 2 to 'auto' (disable flow-control).
+ /sbin/cpmaccfg spme 3 auto disable
Setting media type for port 3 to 'auto' (disable flow-control).
+ /sbin/cpmaccfg spme 4 10baseT-HD disable
Setting media type for port 4 to '10baseT-HD' (disable flow-control).
+ vlan
+ d_eth0=32
+ d_eth1=32
+ d_eth2=32
+ d_eth3=32
+ [ eth0 = eth0 ]
+ expr 32 + 1
+ d_eth0=33
+ [ eth0 = eth1 ]
+ [ eth0 = eth2 ]
+ [ eth0 = eth3 ]
+ [ eth0 = eth0 ]
+ expr 33 + 2
+ d_eth0=35
+ [ eth0 = eth1 ]
+ [ eth0 = eth2 ]
+ [ eth0 = eth3 ]
+ [ eth0 = eth0 ]
+ expr 35 + 4
+ d_eth0=39
+ [ eth0 = eth1 ]
+ [ eth0 = eth2 ]
+ [ eth0 = eth3 ]
+ [ eth0 = eth0 ]
+ expr 39 + 8
+ d_eth0=47
+ [ eth0 = eth1 ]
+ [ eth0 = eth2 ]
+ [ eth0 = eth3 ]
+ printf %X 47
+ h_eth0=0x2F
+ printf %X 32
+ h_eth1=0x20
+ printf %X 32
+ h_eth2=0x20
+ printf %X 32
+ h_eth3=0x20
+ [ 0x2F != 0x20 ]
+ SpecialMode=eth0 0x2F
+ [ 0x20 != 0x20 ]
+ [ 0x20 != 0x20 ]
+ [ 0x20 != 0x20 ]
+ [ 0x2F != 0x2F ]
+ /sbin/cpmaccfg ssm normal
Setting switch_mode to 'normal' (1).
+ ethernet
+ [ 192.168.0.1 !=  ]
+ [ 0x20 != 0x20 ]
+ [ 0.0.0.0 !=  ]
+ [ 0x20 != 0x20 ]
+ [ 0.0.0.0 !=  ]
+ [ 0x20 != 0x20 ]
+ wlan
+ echo ar7cfg.ethmode
+ ar7cfgctl -s
+ ETHERMODE=ethmode_bridge
+ [ ethmode_bridge = ethmode_router ]
+ echo -n Skipping WLAN bridge-settings. WLAN is bridged in AVM webinterface
Skipping WLAN bridge-settings. WLAN is bridged in AVM webinterface+ echo

+ exitval=0
+ [ 0 -eq 0 ]
+ echo done.
done.
+ exit 0
/var/mod/root #

Nebenbei bemerkt: Nach dem Restart funktioniert die Einstellung '10baseT-HD'. Aber es sollte doch auch mit dem Web-IF möglich sein. Da kommt aber nach "Ubernehmen" immer noch die Fehlermeldung aus meinem ersten Posting
 
Wie oft änderst du an deinem Webinterface etwas?
 
[Edit frank_m24: Sinnfreies Vollzitat vom Beitrag direkt darüber gelöscht, siehe Forumregeln.]

Wozu braucht man es wenn es nicht funktioniert?
 
Darum ging es nicht. Es war ne simple Frage, wie oft du an deinen Einstellungen etwas änderst. Ich persönlich eigentlich nie.

Aber nun gut. Was ruft also das Webinterface bei änderungen auf? reload?

Ich denk mal, dieser Teil wird das PRoblem verursachen.
Code:
start() {
        BOXTYPE=$(set|grep "Fritz_Box"|sed -e "s/.*_//g"|sed -e "s/'//g")
        if [ $BOXTYPE = "7170" ];then

Was kommt bei dr raus, wenn du
Code:
set|grep "Fritz_Box"|sed -e "s/.*_//g"|sed -e "s/'//g"
auf der Kommandozeile (telnet/ssh) ausführst?
 
Zuletzt bearbeitet:
[Edit frank_m24: Mehrere Beiträge zusammengefasst. Man kann seine Beiträge auch editieren.]
Darum ging es nicht. Es war ne simple Frage, wie oft du an deinen Einstellungen etwas änderst. Ich persönlich eigentlich nie.?
Um ehrlich zu sein, mache ich es auch nicht sooo oft. Aber ich möchte mich drauf verlassen können, das es funktioniert WENN ich es mal brauche. Ansonsten könnte man sich die Bytes für das WEB-IF im Flash einfach sparen. Ich fands eigentlich bisher ganz nett...

Aber nun gut. Was ruft also das Webinterface bei änderungen auf? reload?

Wie kann ich das rausfinden?

[Beitrag 2:]
Was kommt bei dr raus, wenn du
Code:
set|grep "Fritz_Box"|sed -e "s/.*_//g"|sed -e "s/'//g"
auf der Kommandozeile (telnet/ssh) ausführst?

An der Kommandozeile erstmal gar nichts
 
Mal bitte das hier:
Code:
set|grep CONFIG_PRODUKT
 
Code:
/var/mod/root # set|grep CONFIG_PRODUKT
CONFIG_PRODUKT='Fritz_Box_7170'
CONFIG_PRODUKT_NAME='FRITZ!Box Fon WLAN 7170'
/var/mod/root #
 
Die Kombination aus beidem kann fast nicht sein.
Code:
/var/mod/root # set|grep "Fritz_Box"|sed -e "s/.*_//g"|sed -e "s/'//g"
/var/mod/root # set|grep CONFIG_PRODUKT
CONFIG_PRODUKT='Fritz_Box_7170'
CONFIG_PRODUKT_NAME='FRITZ!Box Fon WLAN 7170'
Unabhängig davon sieht die Zeile oben ja fürchterlich aus. Es sollte besser heißen:
Code:
# statt
BOXTYPE=$(set|grep "Fritz_Box"|sed -e "s/.*_//g"|sed -e "s/'//g")
# besser
BOXTYPE=${CONFIG_PRODUKT#Fritz_Box_}
 
Da kommt aber nach "Ubernehmen" immer noch die Fehlermeldung aus meinem ersten Posting

Die Meldung kommt auch noch beim Manuellen Aufruf.

Ist es eine neue Version der Firmware, die das Web-Interface ohne Environment aufruft? Dann muß das gespeicherte Environment wieder eingelesen werden.
 
Ist es die Version, bei der steht
Diese Version ist ausschließlich für Profis gedacht, die sich u.U. selbst zu helfen wissen! Sie ist ständigen Änderungen unterworfen und funktioniert möglicherweise nicht oder nur eingeschränkt.

Schau mal in der Timeline, da gab es letztens einige Änderungen in der Richtung.
 
@RalfFriedl

Das mag ja so sein. Aber vielleicht könntet Ihr doch versuchen einem sich bemühenden Anfänger ein klein wenig auf die Sprünge zu helfen
 
Wie wärs denn hiermit?
Code:
--- make/cpmaccfg-cgi/files/root/etc/init.d/rc.cpmaccfg	(revision 4256)
+++ make/cpmaccfg-cgi/files/root/etc/init.d/rc.cpmaccfg	(working copy)
@@ -5,8 +5,11 @@
 . /etc/init.d/modlibrc
 
 start() {
+	[ -r /var/env.cache ] && . /var/env.cache
+	BOXTYPE=${CONFIG_PRODUKT#Fritz_Box_}
 	
-	BOXTYPE=$(set|grep "Fritz_Box"|sed -e "s/.*_//g"|sed -e "s/'//g")
+	[ -z $BOXTYPE ] && echo "Warning: boxtype not recognized"
+ 
 	if [ $BOXTYPE = "7170" ];then
 	
 	echo -n 'Setting Ports...'
MfG Oliver
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.