[Openhorst-Firmware] Projekt Horstbox mit Asterisk 1.6 od. 1.4 (kein analog)

@horatio42:

wo der segfault herkommt kann ich Dir sagen,

  1. die Funktion __devinit hss_init_one im TDM-Modul fordert Speicher an initialisiert den aber nicht korrekt. Abhilfe:
    Code:
    static int __devinit hss_init_one(struct platform_device *pdev)
    {
        int err;
        
        printk(DRV_NAME ": __devinit hss_init_one\n");
        
        if ((port = kmalloc(sizeof(hss_port), GFP_KERNEL)) == NULL) return -ENOMEM;
        memset(&port->port_status, 0, sizeof(hss_port_status));
    	
        platform_set_drvdata(pdev, port);
        port->id = pdev->id;
        port->dev = &pdev->dev;
        port->plat = pdev->dev.platform_data;
        port->port_config = &port_config;
        
        if((err = hss_npeInit()) != 0) goto err_free;
        
        hss_create_channels();
        
        if((err = hss_qmgrInit()) != 0) goto err_free;
        
        if((err = hss_config_buffer(port)) != 0) goto err_free;
        
        qmgr_set_irq(queue_ids[port->id].chan, QUEUE_IRQ_SRC_NOT_EMPTY, hss_chan_irq, port);
        qmgr_enable_irq(queue_ids[port->id].chan);
        hss_config_set_lut(port);
        hss_config_load(port);
        
        printk(KERN_INFO "%s: HSS-%i configured\n", DRV_NAME, port->id);
        
        return 0;
        
    err_free:
        kfree(port);
        return err;
    }

  • die Kommunikation zwischen TDM und NPE ist fehlerhaft:
    Code:
    Jan  1 01:01:27 (none) user.warn kernel: PCI: enabling device 0000:00:0c.0 (0140 -> 0143)
    Jan  1 01:01:27 (none) user.warn kernel: IRQ 24/zaphfc: IRQF_DISABLED is not guaranteed on shared IRQs
    Jan  1 01:01:27 (none) user.warn kernel: Registered 0000:00:0c.0 as Master NT 
    Jan  1 01:01:27 (none) user.warn kernel: PCI: enabling device 0000:00:0d.0 (0140 -> 0143)
    Jan  1 01:01:27 (none) user.warn kernel: IRQ 24/zaphfc: IRQF_DISABLED is not guaranteed on shared IRQs
    Jan  1 01:01:28 (none) user.warn kernel: Registered 0000:00:0d.0 as Slave TE 
    Jan  1 01:02:08 (none) user.info kernel: dahdi: Registered tone zone 29 (Germany)
    Jan  1 01:02:08 (none) user.warn kernel: ixp4xx_tdm: ixp4xx_hss_register
    Jan  1 01:02:08 (none) user.warn kernel: ixp4xx_tdm: scan for free channel succesful (0)
    Jan  1 01:02:08 (none) user.warn kernel: ixp4xx_tdm: hss_config_start_chan
    Jan  1 01:02:08 (none) user.debug kernel: NPE-A: Trying to send message CHAN_RX_BUF_ADDR_WRITE [47000000:03F81200]
    Jan  1 01:02:08 (none) user.debug kernel: NPE-A: Timeout sending message
    Jan  1 01:02:08 (none) user.warn kernel: ixp4xx_tdm: chan_rx_buf_addr_write error
Um das zu Beseitigen, ist es wohl das Beste eine Horstbox mit der Original-Firmware incl. debug code zu starten und dann die korrekte Kommunikation zu haben.

Gruß Michael
 
Zuletzt bearbeitet:
Habe heute den letzten SVN-Stand r239 auf meiner virtuellen Maschine durchlaufen lassen. Lediglich die beiden Verzeichnisse image/rootfs/lib und image/rootfs/lib/modules musste ich von Hand anlegen. Der Rest läuft problemlos durch! :)

Code:
make[1]: Entering directory `/root/horst-r239/dahdi-linux-2.4.0'
for hdr in kernel.h user.h fasthdlc.h wctdm_user.h dahdi_config.h; do \
                install -D -m 644 include/dahdi/$hdr /root/horst-r239/toolchain/                                                                             usr/include/dahdi/$hdr; \
        done
make[1]: Leaving directory `/root/horst-r239/dahdi-linux-2.4.0'
export CC=/root/horst-r239/toolchain/usr/bin/armeb-linux-gcc; \

cp -av dahdi-linux-2.4.0/drivers/dahdi/dahdi.ko /root/horst-r239/image/rootfs/li                                                                             b/modules/
„dahdi-linux-2.4.0/drivers/dahdi/dahdi.ko“ -> „/root/horst-r239/image/rootfs/lib                                                                             /modules/“
cp: reguläre Datei „/root/horst-r239/image/rootfs/lib/modules/“ kann nicht angel                                                                             egt werden: Datei oder Verzeichnis nicht gefunden
make: *** [dahdi_install] Fehler 1
compiler:~/horst-r239#[B] mkdir image/rootfs/lib[/B]
compiler:~/horst-r239# [B]mkdir image/rootfs/lib/modules[/B]
 
Zwischenstand Telefon-Module

Da ich das ixp4xx_tdm Modul nicht zum Laufen gebracht habe mußte ich mir was anderes einfallen lassen.

Also habe ich erstmal den HSS-Teil im IXP400 Software Programmers Guide gelesen und den DLink/Maxina sowie den IntelAccessLibrary Code durchgekämmt und einen neuen Treiber (hbx_tdm.ko) aufgesetzt. Im jetzigen Stand lädt das Modul korrekt, der NPE sowie alle Voice-Channels werden korrekt eingerichtet und der TDM Service lässt sich auch starten.

Da ich bis jetzt einen eigenen Build mit Kernel 2.6.16.9 und Asterisk 1.2.18 benutze, muss ich jetzt erstmal einen aktuellen Asterisk-Build einrichten. Ein aktueller Asterisk muss wohl auch noch gepatcht werden wenn bri-dchan (also die Übertragung von D-Kanal Daten in einem Channel) benutzt wird.

Nun könnte man ja einfach die analog-Module benutzen um das Modul hbx_tdm zu Testen, da ist ja kein Asterisk-Patch notwendig. Aber momentan funktioniert der SPI-Treiber leider noch nicht. Also wird es wohl noch ein bischen dauern. :(

Sollte sich noch jemand berufen fühlen mitzuarbeiten, den aktuellen Code habe ich angefügt.

Gruß Michael

Berichtigung:
Der SPI-Treiber scheint doch zu funktionieren, konnte gerade die analog-Module korrekt laden. Anscheinend hängen die analog-Chips mit einem Takt-Signal am HSS-Bus, sobald der HSS-0 nicht genau wie im DLink-Original konfiguriert ist, geht auch SPI nicht!
 

Anhänge

  • modules.tgz
    44.7 KB · Aufrufe: 13
Zuletzt bearbeitet:
Hallo,
anscheinend hat die aktuelle uClibc 0.9.31.xx ein Problem mit dem fastagi und netzerkconnect.
Evtl. auch andere Module.
Falls also jemand aktuell ein komisches verhalten feststellt sollte er seine Toolchain mit dem 0.9.30.xx bauen

peter
 
Hallihallo!

Ich habe seit kurzem jetzt noch einen weiteren Bastel-Horst, bis jetzt noch im Original-Zustand (und vollständig inkl. Herta). Wenn noch Debug-Infos aus der 5.0er Firmware benötigt werden, kann ich das hier machen. ISDN Amt und Endgeräte stehen mir zur Verfügung, genauso wie Adapter für die Serielle Konsole. Was brauche ich, um eine Debug-Firmware zu bauen bzw. hat schon jemand eine erstellt?

_.-=: MFG :=-._
 
usb platte

Servus,

mal eine ganz doofe frage.

Ich versuche seit einiger zeit eine usb platte zum laufen zu bekommen, aber leider ohne erfolg.

die platte wird erkannt, dmesg gibt folgendes aus:

<6>usb 1-1: new high speed USB device using ehci_hcd and address 3
<6>usb 1-1: New USB device found, idVendor=067b, idProduct=2507
<6>usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
<6>usb 1-1: Product: ATAPI-6 Bridge Controller
<6>usb 1-1: Manufacturer: Prolific Technology Inc.
<6>usb 1-1: SerialNumber: 12CA03EB

es wird allerdings kein device angelegt.

bind für jeden tipp dankbar.

Grüße ace
 
@amitevski
Welche Module hast du denn geladen ?
Scsi z.B. musst du noch nachladen und ein paar andere dann sollte es gehen.

peter
 
Hallo,

wie ist eigentlich der Stand der Dinge bezgl. ISDN und openhorst? Lohnt es sich, die letzte Version aus dem SVN mal auszuchecken und zu testen?

Gruss,
Pette
 
@pette
ISDN funktioniert zur Zeit nicht. Die HFC-, TDM-Treiber sind zwar angepasst und es gibt auch einen Patch für DAHDI, aber es fehlt noch ein Patch für Asterisk damit BRI_DCHAN funktioniert.

Ob das TDM-Modul korrekt arbeitet kann ich nicht sicher behaupten, und ohne den Asterisk Patch auch nicht prüfen. Deshalb arbeite ich zur Zeit erst ein mal an der analog Front. Leider gibt es da noch einige Probleme.

Gruß Michael
 
Hallo zusammen,

wie steht es eigentlich um die analogen Ports? Wird sich da in näherer Zukunft noch etwas
ändern oder bleiben die auf Dauer tot?

vG Michael
 
@potc vielen Danke. Es haben tatsächlich einige module gefehlt :) Aber hier im Forum war noch ein alter post.

Bei mir lief übrigens der make nicht komplett durch weil er ein Verzeichnis nicht finden konnte.

in die Datei scripts/dahdi.mk
mkdir -p $(ROOTFS)/lib/modules
eingefügt und es klappt.

Hat jemand schon mal versucht alsa und mpd für horst zu bauen? Oder vielleicht eine gute Anleitung wie man das am besten macht.
Also in der Theorie stell ich mir das so vor die Pakete zu bauen, und dann irgendwie von der gemounteten Festplatte zu starten, da ja in das host image nur 13 MB passen.
 
Hallo,
bau halt das meiste doch einfach direkt in den Kernel.
Da dieser nun höher komprimiert wird sollte es weniger ein Platzproblem geben.

peter
 
Hallo,
bau halt das meiste doch einfach direkt in den Kernel.
Da dieser nun höher komprimiert wird sollte es weniger ein Platzproblem geben.

peter
 
Hallo,

hab wohl irgendwie meinen horst abgeschossen. Auf Herta komm ich nocht drauf.
Hab ich irgendwie ne chance per bootp ein neues image aufzuspielen, oder per nfs zu laden. Hab nämlich noch kein JTAG..

Grüße Aco
 
@amitevski,

also etwas mehr Mühe hättest Du dir ruhig geben können. Die Antwort ist schon einige Male hier beantwortet worden!

Also: Hast du den Redboot Bootloader vorher mit der NPE-Version ausgetauscht, kannst du dich mit telnet einloggen und dateien mittels tftp zur Box übertragen.

Hast Du den Original-Redboot musst Du dir eine serielle Schnittstelle basteln. Dies ist hier im Forum beschrieben, den Link habe ich gerade nicht vorliegen aber es gibt ja die Suchfunktion.

Gruß Michael
 
Hallo,

nachdem Asterisk hacken anscheinend zum neuen Hobby geworden ist, ist es möglich, fail2ban auch auf einer Horst pro einzusetzen?
 
@michael.de

Vielen Dank. Hab mir allerdings nen rs232 adapter von conrad angeschafft, jetzt ist der horst wieder online :)
 
Hallo,
nach langer Zeit mal wieder ein Update.

Highlights.
Aktuelles Buildroot
Wechsel von Dropbear auf ssh
Wechsel auf Asterisk 1.8
Integration openvpn

peter
 
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.