[NEU] WebGUI für cpmaccfg

han-solo

Mitglied
Mitglied seit
28 Jul 2005
Beiträge
451
Punkte für Reaktionen
0
Punkte
0
Hallo,

EDIT: 21.05.2009
Ich habe jetzt das package für cpmaccfg fertig.
Ich möchte mich an dieser Stelle auch nochmal bei RushLimbaugh für die Unterstützung bedanken. Er hat die Vorlage für das VLAN (Splitting) und die IP-Zuweisung geliefert.

EDIT: 31.05.2009
Ich habe eine kleine Änderung vorgenommen.
Wenn kein VLAN konfiguriert wird, dann schaltet cpmaccfg auf "normal" Modus. Hatte vorher immer auf "special" geschaltet.

Weiterhin habe ich die makefiles und einen Patch für "menuconfig" erstellt.
Somit kann man das package direkt ins Image einbauen.

EDIT: 02.06.2009
Das package wurde in Freetz eingechecked und ist unter "Web interface" verfügbar.

EDIT: 03.06.2009
Geänderte Dateien beinhalten richtigen Pfad für die Binary und eine Abfrage, ob die Box eine 7170 ist. Wenn nicht, wird Portsetting deaktiviert.

EDIT: 24.06.2009
Fehlermeldung "pre_config not found" gefixed und Abfrage bzgl. WLAN bridge eingebaut.

diff für cpmaccfg.cgi
Code:
--- /mod/tl/freetz-trunk/packages/cpmaccfg-cgi-1.0.0/root/usr/lib/cgi-bin/cpmaccfg.cgi  2009-06-04 00:50:22.000000000 +0200
+++ cpmaccfg.cgi        2009-06-25 13:58:51.000000000 +0200
@@ -123,14 +123,24 @@
 <hr>
 <table>
 <tr>
+EOF
+ETHERMODE="$(echo 'ar7cfg.ethmode' | ar7cfgctl -s)"
+if [ $ETHERMODE = "ethmode_router" ]; then
+cat << EOF
 <td align="center">WLAN group:</td><td align="center"><select name="wlan"><option selected>$(html "$CPMACCFG_WLAN")
 <option value="eth0">eth0</option><option value="eth1">eth1</option><option value="eth2">eth2</option><option value="eth3">eth3</option></select></td>
 <td> Please choose the assignment for wireless LAN</td>
 </tr>
 </table>
 </p>
-
 EOF
+else
+ echo -n "<table><tr><td>No WLAN assignment available! WLAN is bridged in AVM webinterface.<br>"
+ echo -n "Please disable the option 'All computers are in the same network'<br>"
+ echo -n "to use the WLAN feature for VLAN assignment.</td></tr></table>"
+fi
+
+
 sec_end

 SetToNull=''

diff für rc.cpmaccfg
Code:
--- /mod/tl/freetz-trunk/packages/cpmaccfg-cgi-1.0.0/root/etc/init.d/rc.cpmaccfg        2009-06-04 00:50:23.000000000 +0200
+++ rc.cpmaccfg 2009-06-25 14:00:22.000000000 +0200
@@ -29,12 +29,12 @@
        # VLAN Settings
        vlan

-       # WLAN Settings
-       wlan
-
        # IP Adressen setzen
        ethernet

+       # WLAN Settings
+       wlan
+
        exitval=$?
        if [ "$exitval" -eq 0 ]; then
                echo 'done.'
@@ -110,9 +110,15 @@
 }

 wlan () {
+       ETHERMODE="$(echo 'ar7cfg.ethmode' | ar7cfgctl -s)"
+       if [ $ETHERMODE = "ethmode_router" ]; then
        echo -n 'Setting WLAN to '$CPMACCFG_WLAN
        echo ''
        /sbin/brctl addif wlan $CPMACCFG_WLAN
+       else
+               echo -n 'Skipping WLAN bridge-settings. WLAN is bridged in AVM webinterface'
+               echo ''
+       fi
 }

 ipv4bcast () {
@@ -161,7 +167,6 @@

 case "$1" in
        ""|load)
-               pre_config
                modreg cgi 'cpmaccfg' 'Cpmaccfg'
                start
                ;;

Folgende Modelle sind für diese package geeignet:
- FB 7170
- FB 7270 (bedingt)
- Speedports W900V
- Speedport W701V

Andere Modelle wurden bisher nicht getestet.
Ich gehe davon aus, dass die im herbst erscheinenede 7390 ebenfalls in der Lage ist.

Vorraussetzungen:
- Replace Kernel beim Image bauen in "menuconfig" ausgewählt.


Folgende Funktionen sind mit diesem package für jeden einzelen Port einstellbar:
- Ein / Aus / Save (Energiesparfunktion)
- Port Negotioation (Geschwindigkeit): auto / 10Mbit-HD / 10MBit-FD / 100MBit-HD / 100MBit-FD
- Flußkontrolle
- VLAN Konfiguration (Zusammenschalten der einzelnen Ports (eth0 / eth1 / eth2 / eth3)
- IP-Adresse für VLAN Splitting
- WLAN Zuordnung zu gewünschtem VLAN (Bridge)

Unten seht ihr einen Screenshot der WebGUI.



==== VORGEHENSWEISE FÜR STATISCHES PACKAGE IM IMAGE [menuconfig Auswahl] ====

Datei cpmaccfg-make.tar runterladen und ins ROOT Verzeichnis von "freetz-trunk" entpacken.

Anschließend den Patch ausführen:
Code:
cd /freetz-trunk
tar -xvf cpmaccfg_make.tar
patch -p0 < cpmaccfg.patch

-> patching file make/cpmaccfg/Config.in <-

Jetzt "make menuconfig" ausführen, das cpmaccfg package und das zugehörige CGI auswählen und speichern.

Anschließend das Image mittels "make" erstellen.


==== VORGEHENSWEISE FÜR DYNAMISCHES PACKAGE ÜBER USB-DATENTRÄGER ====

Um das package erstmal als dynamisches Packet einzubinden, geht man folgendermaßen vor:
1. Freetz muss auf der FB sein. Am Besten mit der AVM-Firewall im Image (wegen BIND auf /usr/share/images/nat.gif)
2. USB-Datenträger (z.B. USB-Stick) anschließen
3. Das anhängende cpmaccfg_usb.tar runterladen und auf den USB-Datenträger kopieren.
4. Ins Verzeichnis des USB-Sticks wechseln und das cpmaccfg_usb.tar entpacken

Code:
cd /var/media/ftp/uStor01/
tar -xvf cpmaccfg_usb.tar

4. Ins Verzeichnis cpmaccfg wechseln und cpmaccfg.sh ausführen. Ggf. Variable USB anpassen. Default: uStor01

Code:
cd cpmaccfg
./cpmaccfg.sh


5. Wenn das package dauerhaft als dynamische Paket eingebunden werden soll, dann folgenden Code in die rc.custom einfügen. Ggf. Variable USB anpassen. Default: uStor01

Code:
USB='/var/media/ftp/uStor01'

# cpmaccfg von USB-Stick einbinden
ln -s $USB/cpmaccfg/cpmaccfg /var/mod/sbin
ln -s $USB/cpmaccfg/cpmaccfg.cgi /var/mod/usr/lib/cgi-bin
ln -s $USB/cpmaccfg/rc.cpmaccfg /mod/etc/init.d
ln -s $USB/cpmaccfg/default.cpmaccfg /var/mod/etc
/usr/bin/modconf load cpmaccfg
mount -o bind /var/media/ftp/uStor01/cpmaccfg/avm-hinten.jpg /usr/share/images/nat.gif
/var/mod/etc/init.d/rc.cpmaccfg load


So long....

Gruß
HS
 

Anhänge

  • cpmaccfg.jpg
    cpmaccfg.jpg
    107.7 KB · Aufrufe: 624
  • cpmaccfg_patch030609.tar
    28.5 KB · Aufrufe: 102
  • cpmaccfg_usb.tar
    104.5 KB · Aufrufe: 86
  • cpmaccfg_patch240609.tar
    14 KB · Aufrufe: 90
Zuletzt bearbeitet:
Ui...das ist ja mal was dolles...
Hast du bezüglicher der 7270 infos, ob da nun auch wieder was mit cpmaccfg zu wollen ist?
Ansonsten könnte das ein wenig Verwirrung stiften und unnötig Fragen aufwerfen wenn die Horden von 7270 Usern nun über dein porjekt herfallen.

Grüße
 
Hallo Darky,

leider habe ich noch keine Infos darüber ob das mit der 7270 wieder läuft.
Ich glaube man sollte das Paket erstmal nur für die Boxen freigeben, bei denen das funktioniert. Kann man für "menuconfig" doch sicherlich konfigurieren, oder?

Ich habe auch noch keine Autoerkennung bzgl. der Anzahl der Ports drinne. Kann das auch leider nicht testen, weil ich nur ne 7170 und ne 7050 habe. Aber auf der 7050 funzt cpmaccfg leider auch nicht.

Gruß
HS
 
War das nicht so, dass der restart nur gemacht wird, wenn der daemon läuft, was per "rc.cpmaccfg status" angefragt wird?
Also die Frage: Gibt " /var/mod/sbin/cpmaccfg gpme" auch brav "running" zurück??

Jörg
 
Hallo Max,

Aha, da kommen wir der Sache schon auf die Schliche.
Es gibt eigentlich kein Daemon, weil die Ports einmal gesetzt werden und fertig.

Also muss man irgendwie vorgaukeln, das ein Daemon laufen würde. Aber wie?

EDIT: Hab es hinbekommen.....

Code:
status)
                echo 'running'
                ;;
        *)

Das war schon alles. Super Danke!

Gruß
HS
 
Vergiss nicht einzubauen, dass der cpmac-Status manchmal zurückgesetzt wird. Ich glaub WLan an/aus war schuld
 
Nur für 7170 gedacht

Meines Wissens wird das erst mal nur für die 7170 uneingeschränkt funktionieren und dann auch nur wenn der Kernel ausgewechselt wurde.

Meines Wissens soll bei der 7270 VLANs und Device Splittings gut funktionieren, nicht jedoch die Speed und Duplex Settings.

Ich mach mit, was die Pseudo-VLAN Konfiguration sowie Umschaltung Port1=WAN betrifft. Ich schicke Dir meine Änderungen. Die Speed Einstellungen sind mir eigentlich schnuppe. Die Anzahl der Ports bekommst man über cpmaccfg heraus.

Die Idee mit dem Bild finde ich nicht gut, lieber ein paar Bytes in den Skripten verbraten und eine Tabelle basteln (siehe Screenshot).

Wie cuma berichtet wird die große Herausforderung sein, dass nach Veränderung der Switch Einstellungen durch die FritzBox die gewollten Einstellungen wieder herzustellen. Vielleicht kommt man ohne Daemon gar nicht aus. Ebenso muessen die Auswirkungen ggf. auf eine virtuelle IP mitbedacht werden.

Rush
 

Anhänge

  • ohnebild.JPG
    ohnebild.JPG
    24.7 KB · Aufrufe: 227
Zuletzt bearbeitet:
Ok, ich stelle hier in Kürze ein dynamisches Paket (Zusammenarbeit mit RushLimbaugh) zur Verfügung.

Wenn dann einige Leute getestet haben, kann es ja ins Subversion eingecheckt werden.

Gruß
HS
 
Sorry for pushing, aber das package steht jetzt für euch zum Testen bereit.
Siehe erster POST.

Gruß
HS
 
Also sehr hübsch erstmal ;-)

Aber meiner 7270 gibt's erwartungsgemäß Probleme, da das rc.cpmaccfg den load und start ausführt, werden in der Standardkonfig alle Ports auf "save" gesetzt, und schon sind alle meine Port's down. Leider blieben Sie das auch, bis ich die Fritte neu gestartet habe.
Für mich sieht das so aus, als würde man mit cpmaccfg gpm den Status der Ports auslesen könne, aber das setzten mit cpmaccfg spm geht dann in die Hose. Evtl. könnte man aber wenigstens die VLAN-Konfig benutzen, dann sollte aber eine Erkennung der 7270 (anhand der HW-Rev.?) mit in die Startscripte und alle physischen Portänderungen deaktiviert werden (natürlich auch in der GUI).
Dann bekomme ich beim starten der cpmaccfg.sh folgende Fehler:
Code:
mount: mounting /var/media/ftp/uStor01/cpmaccfg/avm-hinten.jpg on /usr/share/images/nat.gif failed: No such file or directory
/var/mod/etc/init.d/rc.cpmaccfg: line 198: pre_config: not found
Dadurch ist das hübsche Bild der 7170 leider nicht zu sehen. Im übrigen mal gleich ein Feature-Request: Ich möchte natürlich die 7270 sehen ;-)
Sollte unter den "Advanced VLAN/IP Settings" etwas zu sehen sein? Bei mir leider nicht.

So, dass wars erstmal. Danke für die Arbeit, ist wirklich nicht übel. Wenn jetzt cpmaccfg noch seinen Dienst auf der 7270 komplett tun würde, wäre ich echt glücklich.

EDIT: Ich seh gerade, dass das cpmaccfg-binary mit im Paket liegt. Dies ist doch für die 7170 (Kernel 2.6.13.x) kompiliert worden, vlt. kommen daher meine Probleme. Ich melde mich nochmal.
 
Hi,

Habs gerade mal auf meiner 7270 ausprobiert. Leider erreich ich die box nicht mehr nachdem ich das Package eingespielt hab.
Code:
/var/media/ftp/uStor01/cpmaccfg # ./cpmaccfg.sh
/var/mod/etc/init.d/rc.cpmaccfg: line 198: pre_config: not found
Portsetting...
Setting port 1 to power mode 'save'.
Setting port 2 to power mode 'save'.
Setting port 3 to power mode 'save'.
Setting port 4 to power mode 'save'.
Setting media type for port 1 to 'auto' (disable flow-control).

Gruß

Peter
 
Auf der 7270 gibt es immer noch Probleme mit cpmaccfg, weil AVM was am Kerneltreiber geändert hat. derheimi hatte leider noch keine Zeit sich das an zu sehen.

MfG Oliver
 
Ja Oliver, das Problem kennen wir ja schon seid erscheinen der 7270.

Im übrigen hab ich mal weitergetestet: Also "cpmaccfg spm" funktioniert noch einwandfrei, hab mit "on, off und save" mal rumgespielt -> klappt alles.

Das Problem ist "cpmaccfg spme". Sobald irgendwas an den Port's geändert wird ist Schluss. Also sollten nur die spme-Befehle für die 7270 deaktiviert werden. VLAN-Einstellungen hab ich mangels notwendigkeit und unwissenheit nicht getestet.
 
Hallo markuschen,

ich habe zwar keine 7270 aber die settings mit "cpmaccfg spme" habe ich mit einem Arbeitskollegen an seiner 7270 getestet. Hat problemlos funktioniert und soweit ich weiß hat Darkyputz diese auch an seiner 7270 aktiv. Aber Probleme hatte er glaube ich anfangs auch.

Aber wenn du diese settings erstmal deaktivieren willst, dann disable per # folgende Zeilen in der rc.cpmaccfg

Code:
# Port Settings
#/mod/sbin/$DAEMON spme 1 $CPMACCFG_SPEED1 $CPMACCFG_FLOW1
#/mod/sbin/$DAEMON spme 2 $CPMACCFG_SPEED2 $CPMACCFG_FLOW2
#/mod/sbin/$DAEMON spme 3 $CPMACCFG_SPEED3 $CPMACCFG_FLOW3
#/mod/sbin/$DAEMON spme 4 $CPMACCFG_SPEED4 $CPMACCFG_FLOW4


Das Bild der 7270 kann man natürlich mit einbauen und vor der Anzeige eine Abfrage nach dem Modell durchführen.
Die "Advanced VLAN/IP Settings" kann man erst verwenden, wenn eine Porttrennung (VLAN) eingestellt wurde. Dort kann man dann für das zweite VLAN eine IP eintragen um ein routing einzurichten (Siehe Picture erster POST)


Gruß
HS
 
Zuletzt bearbeitet:
Mit deaktiviertem spme lässt es sich zumindest starten - vlan muss ich noch testen.

Gruß

Pete
 
Ich habe die Anleitung von Post 1 befolgt, aber meine 7170 startet sofort neu. Auch ohne Gui spinnt cpmaccfg bei mir. Ein split_ata schlägt immer fehl, ich komme dann nicht mehr auf die Box, auch wenn ich dem slplit_ata den ifconfig Befehl mitgebe, damit die Interfaces wieder eine Ip bekommen, also etwa so:
Code:
cpmaccfg ssm split_ata; ifconfig eth0 192.168.0.3 netmask 255.255.255.0 broadcast 192.168.0.255 up; ifconfig eth1 192.168.1.3 netmask 255.255.255.0 broadcast 192.168.1.255 up; ifconfig eth2 192.168.2.3 netmask 255.255.255.0 broadcast 192.168.2.255 up
 
Dito bei meiner 7270 auch. Habe vorsichtshalber mal das Port-Setting deaktiviert wie bei han-solo's Post beschrieben.

Danach bumm Neustart... :confused:
 
Was mir noch aufgefallen ist: Ich habe in den Dropdownfeldern 2 mal eth0 zur Auswahl?
 
Hallo,

wenn die Box rebootet, dann habt ihr evtl. kein Replace-Kernel in menuconfig ausgewählt, oder?

Das im Dropdown zweimal "eth0" steht ist normal.

Gruß
HS
 
Ich für meinen Teil hab replace Kernel drin! :rolleyes:
 
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.