.titleBar { margin-bottom: 5px!important; }

Zaptel Treiber läd zur Bootzeit falsche Parameter

Dieses Thema im Forum "Asterisk ISDN mit Bristuff (hfc, zaptel)" wurde erstellt von JN3piogZ, 16 Jan. 2007.

  1. JN3piogZ

    JN3piogZ Neuer User

    Registriert seit:
    22 Dez. 2006
    Beiträge:
    48
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo!

    Ich hatte mal 2 HFC-Karten in meiner Ubuntu-Box. Beim Aufsetzen des Rechner stellte sich aber heraus, dass ich mit einer Fritz-Karte einfacher Fax-Versand und -Empfang regeln kann und auch capidivert einfacher die Rufumleitungen schalten kann. Also flog eine HFC-Karte raus und wurde durch eine Fritz-Karte ersetzt. Die verbleibende HFC-Karte wird im NT-Mode betrieben.

    Nun ist mein eigentliches Problem, dass der Zaptel-Treiber nach einem Reboot immer noch die alten und falschen Einstellungen für die 2 HFC-Karten verwendet. Unter /pro/zaptel/ finde ich nach dem Reboot immer 2 Einträge (1 und 2), so, wie das mit meinen 2 Karten ja auch richtig war. Ich bekomme es aber nicht hin, dass sich das zaptel-Modul nach dem Reboot korrekt konfiguriert. Ich habe versucht in /etc/modules "zaphfc modes=1" einzutragen. Das scheint aber nicht zu reichen.

    Führe ich dann in einer shell als root folgende Befehle von Hand aus, wird die HFC-Karte korrekt eingerichtet:
    Code:
    modprobe -r zaphfc
    modprobe -r vzaphfc
    modprobe -r ztdummy
    modprobe -r zaptel
    modprobe zaphfc modes=1
    ztcfg -v
    modprobe ztdummy
    
    Als ich es Leid war, habe ich versucht, diese Befehle am Ende in /etc/init.d/bootmisc einzutragen, aber auch das reichte nicht. Es kommt noch komischer: Die obigen Befehle funktionieren nur, wenn ich sie von Hand auf einer Konsole ausführe. Packe ich sie in eine Datei und führe diese dann als Script aus (mit root-Rechten), dann schlägt keiner der Befehle fehl, dennoch finde ich wieder 2 Einträge unter /proc/zaptel/ und die HFC-Karte funktioniert nicht unter Asterisk.

    Vielleicht ist das etwas OT, weil es vielleicht ein ubuntu oder Linux-spezifisches Problem ist, dennoch hoffe ich hier auf etwas Hilfe, denn mir gehen echt die Ideen aus.

    Danke im voraus!
    T.
     
  2. OttTheTormentor

    OttTheTormentor Neuer User

    Registriert seit:
    29 Sep. 2006
    Beiträge:
    23
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo T.,

    es sieht doch so aus, als ob beim Boot immer noch die alte Konfiguration geladen wird, wahrscheinlich durch eine Datei (bzw. ein Link) in /etc/rc2.d und/oder /etc/rc5.d. Such mal z.B. mit "grep zaphfc /etc/rc[25].d/*". Vielleicht erhältst duch auch Hinweise mit "dmesg | more" über den Zeitpunkt, wann die alte Konfiguration geladen wird.
     
  3. JN3piogZ

    JN3piogZ Neuer User

    Registriert seit:
    22 Dez. 2006
    Beiträge:
    48
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo erst mal und jetzt schon mal Danke für den Versuch, mir zu helfen.

    Genau. Nur wo soll die stehen, wenn nicht in /etc/modules? Ich meine, wo sonst kann noch angegeben werden, mit welchem "modes=" Eintrag das zaptel Modul geladen werden soll?

    Leider war da nix zu finden. Hätte mich auch gewundert, denn es würde da ja auch nicht hingehören.

    Ja, ich kann in DMSG sehen, dass sie geladen werden. Ich sehe sogar, dass das zaphfc modul geladen und wieder entladen wird. Und dann wieder geladen. Und eigentlich sind die Aussagen in dmesg richtig:
    Code:
    [17179741.760000] zaphfc: Card 0 configured for NT mode
    [17179741.812000] zaphfc: 1 hfc-pci card(s) in this box.
    [17179743.832000] Registered tone zone 29 (Germany)
    Dennoch ist die Karte danach wieder nicht richtig konfiguriert. Das aller seltsamste ist ja noch, dass ich die /etc/init.d/zaptel abändern kann, so, wie ich das modul auch von der Befehlszeile aus lade, nur dass das dann trotzdem nicht funktioniert! Ich weiß, das ist unglaublich, aber hier der Ausschnitt aus der /etc/init.d/zaptel nach meiner Änderung:
    Code:
    case "$1" in
            start|reload)
                    echo -n "$DESC: "
                    #for module in $ZAPTEL_MODS
                    #do
                    #       modprobe $module
                    #done
                    # wait_for_xpp
                    # fix_asterisbank_sync
    
                    modprobe zaphfc modes=1
                    sleep 2
                    modprobe ztdummy
    
    Und wenn ich dann
    /etc/init.d/zaptel unload
    /etc/init.d/zaptel start
    mache, ist dennoch die falsche Konfig drin. Mache ich das von Hand, passt es!
    Ich weiß, das ist schwer zu glauben, aber was soll ich machen? Es ist so. Und ich verstehe es nicht.
     
  4. OttTheTormentor

    OttTheTormentor Neuer User

    Registriert seit:
    29 Sep. 2006
    Beiträge:
    23
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Eventuell gibt es noch eine /etc/modules-2.6.x, wenn die existiert, dann diese Datei geladen (statt der /etc/modules). Besser ist es aber, die Einträge in /etc/modules* rauszunehmen und sie nur im init.d-Script zu machen.

    Was in /etc/init.d steht, wird bei Systemstart nicht von alleine ausgeführt. Abhängig vom Default-Runlevel muss ein Link gesetzt werden. Bei mir ist der Runlevel 2, daher habe ich einen Link /etc/rc2.d/S35asterisk -> ../init.d/asterisk. Und in der Datei /etc/init.d/asterisk steht hier folgendes:
    Code:
    #!/bin/sh
    #
    # Start or stop the asterisk pbx
    
    PATH=/bin:/usr/bin:/sbin:/usr/sbin
    ASTERISK_BIN="/usr/sbin/asterisk"
    ZTCFG_BIN="/sbin/ztcfg"
    
    case "${1}" in
            "start")
                    echo -n "Starting asterisk pbx: "
                    modprobe qozap ports=60
                    ${ZTCFG_BIN}
                    ${ASTERISK_BIN}
                    echo "done."
                    ;;
            "stop")
                    echo -n "Stopping asterisk pbx: "
                    ${ASTERISK_BIN} -rx "stop now"
                    sleep 2
                    ${ZTCFG_BIN} -s
                    sleep 2
                    rmmod qozap
                    rmmod zaptel
                    echo "done."
                    ;;
            "restart" | "force-reload")
                    "${0}" stop
                    "${0}" start
                    ;;
            *)
                    echo "Usage: ${0} {start|stop|restart|force-reload}" >&2
                    exit 1
                    ;;
    esac
    
     
  5. JN3piogZ

    JN3piogZ Neuer User

    Registriert seit:
    22 Dez. 2006
    Beiträge:
    48
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Geloest: Zaptel Treiber läd zur Bootzeit falsche Parameter

    Ich habe festgestellt, dass die Konfig von zaptel so lange OK ist, bis das Modul ztdummy geladen wird. Es kann sein, dass seit der Installation von CAPI für die Fritz Karte eine Zeitquelle vorhanden ist. Ich weiß es nicht. Seit ich jedenfalls das Laden von ztdummy in /etc/init.d/zaptel auskommentiert habe, klappt es.

    Danke für alle Hilfeversuche!

    T.