安裝於 Elastix/PIAF

    版本為 07:19, 6 Oct 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    安裝 G400P 卡在 Elastix 系統上。

    系統環境介紹:

    1. Elastix 1.6-12
    2. G400P (SIM card x2)
    3. 一般舊 PC: Intel(R) Celeron(TM) CPU 1000MHz/256MB

     

    卡的安裝

    • 插入 PCI Slot
    • 接上原廠附的短天線
    • 接上 12V 電源,手冊上說明有兩種供電方式,內接電源及外接電源,若是安裝在一般 PC 主機,使用內接電源,也就是接上硬碟的電源接頭即可。
      注意:預設 Jumper 是設在內接電源模式(1),若要使用外接電源,必須調整為 2,如下圖示。

    g400p_hw_powerconnector.png

    Tips:

    使用指令 lspci -vvvv,可以檢查主機是否有偵測到這張卡,當偵測到時,會顯示以下的訊息:

    00:09.0 Class ff00: Unknown device 1b74:0100 (rev 01)
            Subsystem: Unknown device 1b74:0104
            Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
            Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
            Interrupt: pin A routed to IRQ 255
            Region 0: Memory at f5000000 (32-bit, non-prefetchable) [disabled] [size=64K]
    
    

    下載/安裝需要的套件及檔案

    // 檢查需要的所有其他套件

    # rpm -q bison bison-devel ncurses ncurses-devel zlib zlib-devel openssl openssl-devel gnutls-devel gcc gcc-c++
    
    bison-2.3-2.1
    package bison-devel is not installed
    ncurses-5.5-24.20060715
    ncurses-devel-5.5-24.20060715
    zlib-1.2.3-3
    zlib-devel-1.2.3-3
    openssl-0.9.8e-12.el5
    openssl-devel-0.9.8e-12.el5
    package gnutls-devel is not installed
    gcc-4.1.2-44.el5
    gcc-c++-4.1.2-44.el5
    

    出現 is not installed 的項目,都要作安裝。

    // 使用 yum 線上安裝套件

    # yum install bison-devel gnutls-devel
    

    //

    卡的驅動及設定

    由於 G400P 的驅動程式需要透過官方提供的檔案 opvx-bristuff-0.4.0-RC3h.tar.gz 來安裝,而此安裝過程會重新編譯/安裝另一套的 asterisk, asterisk-addons, zaptel, libpri,因此對於 Elastix 系統來說,要驅動此卡,必須強制覆蓋原有的這些套件,雖然這樣的方式不是很好,但除非 Elastix 可以將此卡列入官方的硬體支援列表。 

    // 下載 opvx-bristuff-0.4.0-RC3h.tar.gz

    # wget http://downloads.openvox.cn/pub/drivers/bristuff/g400p/opvx-bristuff-0.4.0-RC3h.tar.gz
    # cd opvx-bristuff-0.4.0-RC3h 
    

    // 開始編譯及安裝

    # amportal stop
    # service dahdi stop
    # ./install.sh 
    

    約數十分鐘後,會出現幾次的詢問 "Press <Enter> to continue, or <CTRL> + <C> to abort."
    按下 Enter ,繼續後續的流程。

    其中會詢問是否安裝 iLBC codec,請自行決定即可。

    // 設定自動啟動

    # cd zaptel-1.4.12.1
    # make config
    # vi /etc/sysconfig/zaptel
    
    加上這兩行,並註解所有用不到的模組
    MODULES="$MODULES opvxg4xx"     # G400P GSM Card 
    MODULES="$MODULES ztdummy"      # Zaptel Timing Only Interface
    

    // 關閉 dahdi 的啟動服務

    # chkconfig dahdi off
    

    // 以上都完成無誤,機器作重新開機。

    偵測卡的狀態及驅動設定

    // 卡的設定
    編輯 /etc/zaptel.conf

    loadzone=tw
    defaultzone=tw
    alaw=1,3,5,7
    span=1,1,3,ccs,ami
    span=2,2,3,ccs,ami
    span=3,3,3,ccs,ami
    span=4,4,3,ccs,ami
    bchan=1,3,5,7
    dchan=2,4,6,8
    

    編輯 /etc/asterisk/zapata.conf

    [channels]
    txgain=0.0
    rxgain=0.0
    signalling=gsm
    context=from-pstn
    echocancel=no
    relaxdtmf=yes
    ; slot A
    channel => 1
    ; slot B
    channel => 3
    ; slot C
    channel => 5
    ; slot D
    channel => 7
    

    變更權限為

    # chown asterisk:asterisk /etc/asterisk/zapata.conf

    // 檢查卡的硬體狀態

    # dmesg
    
    ....
    Zapata Telephony Interface Registered on major 196
    Zaptel Version: 1.4.12.1
    Zaptel Echo Canceller: MG2
    PCI: Enabling device 0000:00:09.0 (0000 -> 0002)
    ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
    ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
    Found an OpenVox G400P: Version 0.8e79
    opvxg4xx: slot 0 is Installed
    opvxg4xx: slot 1 is Installed
    opvxg4xx: slot 2 is Empty
    opvxg4xx: slot 3 is Empty
    opvxg4xx: Powering up all spans...
    
    # ztcfg -vvvvvv
    
    Zaptel Version: 1.4.12.1
    Echo Canceller: MG2
    Configuration
    ======================
    
    SPAN 1: CCS/ AMI Build-out: 399-533 feet (DSX-1)
    SPAN 2: CCS/ AMI Build-out: 399-533 feet (DSX-1)
    SPAN 3: CCS/ AMI Build-out: 399-533 feet (DSX-1)
    SPAN 4: CCS/ AMI Build-out: 399-533 feet (DSX-1)
    
    Channel map:
    
    Channel 01: Clear channel (A-law) (Slaves: 01)
    Channel 02: D-channel (Default) (Slaves: 02)
    Channel 03: Clear channel (A-law) (Slaves: 03)
    Channel 04: D-channel (Default) (Slaves: 04)
    Channel 05: Clear channel (A-law) (Slaves: 05)
    Channel 06: D-channel (Default) (Slaves: 06)
    Channel 07: Clear channel (A-law) (Slaves: 07)
    Channel 08: D-channel (Default) (Slaves: 08)
    
    8 channels to configure.
    
    # cat /proc/interrupts
    
               CPU0
      0:   92720937          XT-PIC  timer
      1:          2          XT-PIC  i8042
      2:          0          XT-PIC  cascade
      4:       5520          XT-PIC  serial
      7:          0          XT-PIC  parport0
      8:   94901916          XT-PIC  rtc
      9:          1          XT-PIC  acpi
     10:   92692060          XT-PIC  opvxg4xx
     11:     148485          XT-PIC  uhci_hcd:usb1, uhci_hcd:usb2, CMI8738, eth0
     12:          4          XT-PIC  i8042
     14:     107020          XT-PIC  ide0
    

    Notes:

    * 檢查 IRQ 時,若 opvxg4xx 不是單獨的一項(以上的範例)時,表示 PCI卡有 IRQ衝突,請更換其他的 PCI Slot。

    // 檢查 SIM 卡的網路註冊

    # asterisk -rvvvvvvvvvvv
    
    CLI> gsm debug channel 1
    CLI> gsm show status 1 
        -- GSM Span 1 registered to network!

    Tips:

    * 可用的 Channel NO. 為 1,3,5,7,可以用指令 gsm debug channel x 來驗證,若 channel 無效時,會提示:
    No GSM running on channel 2

    * SIM card 順序 - Channel NO - Span NO. 的對應
    SIM x1 - Channel 1 - Span 1
    SIM x2 - Channel 3 - Span 2
    SIM x3 - Channel 5 - Span 3
    SIM x4 - Channel 7 - Span 4

    * 若 SIM card 尚未開通、收不到訊號及非 GSM 系統(不支援 3G 的系統),status 會一直出現:

    //

    // 一些除錯指令

    # modprobe opvxg4xx debug=8
    # amportal restart
    # dmesg

    Powered by MindTouch Core