Ubik2.ko

From Fritz!Box
Jump to: navigation, search

AVM Wiki >> Shell-Befehle >> ubik2.ko @ whmf   -   IRC-Chat   -   hu nl it English
Community Modelle Zubehör Environment Konfiguration Shell-Befehle Software Freetz Lexikon Tipps+Tricks Bilder

Startup-Scripts AVM-Befehle BusyBox-Befehle Linux-Befehle Shared Libraries Kernel-Module Listings Todo

Contents

Modul

Geschichte

Dieses Modul geht auf den UBIK2-Chip zurück, der in frühen FRITZ!Box Modellen mit Fon2-Stack verbaut wurde. Obwohl der Chip längst dürch ein FPGA vom Typ XILINX Spartan ersetzt wurde blieb das Kernel-Modul und der Name erhalten.

ubik2.ko übernimmt 2 Aufgabenkomplexe, die als Upper Layer und Lower Layer bezeichnet werden.

Funktionen

Der Upper Layer ist ein 14-Kanal Stream-Multiplexer mit Codec-Funktionen die im DSP des AR7 ausgeführt werden, daher benötigt ubik2.ko auch tiatm.ko und dessen DSL-Firmware (z.b. microvoip-dsl.bin). Diese Funktionen wurden bei späteren Modellen im Modul pcmlink.ko implementiert, das einen separaten DSP nutzt.

chan_controlchan            Steuerung und Debugging
chan_Messages    
chan_D_Kanal_TE             D-Kanal ISDN-Festnetz
chan_D_Kanal_NT             D-Kanal interner S0-Bus
chan_Manhattan0_Data        DELIC (5188 ISDN)
chan_Manhattan1_Data        SLIC #2
chan_Manhattan2_Data        SLIC #3
chan_Transparent     
chan_AnalogAB               SLIC #1
chan_AnalogPOTS             POTS  
chan_B1_Kanal_TE            B-Kanal #1 ISDN-Festnetz
chan_B2_Kanal_TE            B-Kanal #2 ISDN-Festnetz
chan_B1_Kanal_NT            B-Kanal #1 interner S0-Bus
chan_B2_Kanal_NT            B-Kanal #2 interner S0-Bus

Der Lower Layer ist ein 32-Kanal Stream-Multiplexer für die zahlreichen Devices, die zur Kommunikation mit den Hardware-Subsystemen in der Erstauflage im Fon2-Stack mit UBIK2-Chip, teilweise aber auch in Nachfolgelösungen mit FPGA verwendet werden.

chan_ubik2_boot_phase_0     ubik_boot_0
chan_ubik2_boot_phase_1     ubik_boot_1
chan_ubik2_boot_phase_2     ubik_boot_2
chan_ubik2_boot_phase_last  ubik_boot_last
chan_ubik2_unused_4
chan_ubik2_unused_5
chan_ubik2_unused_6
chan_ubik2_dsp_loopback     ubik_dsp_loopback
chan_ubik2_through_data     ubik_through_data
chan_ubik2_remote_loopback  ubik_remote_loopback
chan_fpga_voip              Piglet
chan_ubik2_unused_11
...
chan_ubik2_unused_29
no_chan
chan_last

Aufgerufen von

Kommunikation

Aufruf

$ modinfo ubik2

filename:       /lib/modules/2.6.13.1-ohio/kernel/drivers/char/ubik2/ubik2.ko
license:        
(C) Copyright 2004 - 2006 AVM

description:    UBIK2 'Low-Level-Channel-Driver for UBIK2 support'
depends:        tiatm
vermagic:       2.6.13.1-ohio gcc-3.4

parm:           printonly:          no ubik2-ll-transfer (support only debugchan) (i)
parm:           takeover_printk:    switch printk to local DebugPrintf (i)

Beispiele

Aus rc.S (7170 fw 4.80)

ubik2_params=
 
if [ "`pidof avmlogd`" ] ; then
  modprobe ubik2 takeover_printk=0 $ubik2_params
else
  modprobe ubik2 takeover_printk=0 $ubik2_params
fi

Ziemlich unsinniger Kontrukt, hat aber sicher seine Gründe auf anderen Modellen...

Symbole

7170 fw 4.80: (Neuer Upper Layer)

$ grep " ubik2" /lib/modules/`uname -r`/modules.symbols | sed 's/symbol://' | awk '{ print " " $2 }' | sort

codec_dsp_decoder
codec_dsp_decoder_exit
codec_dsp_decoder_init
codec_dsp_encoder
codec_dsp_encoder_exit
codec_dsp_encoder_init
codec_dsp_supported_decoder
codec_dsp_supported_encoder

ubik2_DebugPrintf
ubik2_get_call_context
ubik2_rx_tasklet_control
ubik2_set_call_context
ubik2_ul_dspfwversion_pcmrouter
ubik2_ul_getchanfromhandle
ubik2_ul_powerdown
ubik2_ul_readregister
ubik2_ul_register
ubik2_ul_register_cmdline
ubik2_ul_register_dynhwchannel_control
ubik2_ul_register_pcmrouter
ubik2_ul_release
ubik2_ul_release_dynhwchannel_control
ubik2_ul_release_pcmrouter
ubik2_ul_rx_buffer_conf
ubik2_ul_rxfree_slotdata_pcmrouter
ubik2_ul_rxget_slotdata_pcmrouter
ubik2_ul_setslotparam_pcmrouter
ubik2_ul_txalloc_slotdata_pcmrouter
ubik2_ul_txput_slotdata_pcmrouter
ubik2_ul_tx_trigger
ubik2_ul_writeregister

7050 fw 4.33: und 7140 fw 4.33: (Alter Upper Layer)

ubik2_DebugPrintf
ubik2_get_call_context
ubik2_rx_tasklet_control
ubik2_set_call_context
ubik2_ul_dspfwversion_pcmrouter
ubik2_ul_getchanfromhandle
ubik2_ul_powerdown
ubik2_ul_register
ubik2_ul_register_pcmrouter
ubik2_ul_release
ubik2_ul_release_pcmrouter
ubik2_ul_rx_buffer_conf
ubik2_ul_rxfree_slotdata_pcmrouter
ubik2_ul_rxget_slotdata_pcmrouter
ubik2_ul_setslotparam_pcmrouter
ubik2_ul_tx_trigger
ubik2_ul_txalloc_slotdata_pcmrouter
ubik2_ul_txput_slotdata_pcmrouter

7050 fw 4.33:

$ grep '\[ubik2\]' /proc/kallsyms | grep ' [tT] ' | awk '{ print " " $3 }' | sort -f

atoi
cleanup_module
DebugPrintf_Puts
get_free_ul_manager
get_free_ul_manager_v3
get_ul_manager_from_ll_chan
get_ul_manager_from_ll_chan_v3
get_ul_manager_from_ll_Handle
get_ul_manager_from_ll_Handle_v3
init_module
itoa
MODULE_PARM_
print_shared_memory
rx_thread_function_v3
TestAndSet
ubik2_check_send
ubik2_cleanup
ubik2_close
ubik2_commit
ubik2_debug_cleanup
ubik2_debug_close
ubik2_debug_init
ubik2_debug_open
ubik2debug_parse_percent
ubik2_debug_poll
ubik2_DebugPrintf
ubik2_debug_read
ubik2debug_set_hex
ubik2debug_set_hexfield
ubik2debug_set_int
ubik2debug_set_string
ubik2debug_set_uint
ubik2_DebugvPrintf
ubik2_deinit_interface
ubik2_dequeue_FreeToMIPS
ubik2_do_close
ubik2_do_open
ubik2_Dummy
ubik2_fasync
ubik2_final_put
ubik2_get
ubik2_get_call_context
ubik2_increment_MaxSendNumber
ubik2_init
ubik2_init_debug
ubik2_init_interface
ubik2_kernelprintk
ubik2_ll_allocatebuffer
ubik2_ll_control_tasklet
ubik2_ll_exit
ubik2_ll_exit_v3
ubik2_ll_init
ubik2_ll_init_v3
ubik2_ll_lock
ubik2_ll_rxhandler
ubik2_ll_rxhandler_v3
ubik2_ll_rxtrigger
ubik2_ll_rxtrigger_v3
ubik2_ll_sendbuffer
ubik2_ll_statistic
ubik2_ll_txhandler
ubik2_ll_txhandler_v3
ubik2_ll_txtrigger
ubik2_ll_unlock
ubik2_open
ubik2_poll
ubik2_put
ubik2_read
ubik2_rx_tasklet_control
ubik2_rx_tasklet_control_v3
ubik2_rx_thread_function
ubik2_set_call_context
ubik2_Status_notify
ubik2_trigger
ubik2_tx_thread
ubik2_ul_control_buffer_alloc
ubik2_ul_control_rx
ubik2_ul_control_tx
ubik2_ul_control_v3
ubik2_ul_dspfwversion_pcmrouter
ubik2_ul_getchanfromhandle
ubik2_ul_getchanfromhandle_v3
ubik2_ul_getwindowsize
ubik2_ul_idle_timeout
ubik2_ul_idle_timeout_v3
ubik2_ul_powerdown
ubik2_ul_register
ubik2_ul_register_pcmrouter
ubik2_ul_register_v3
ubik2_ul_release
ubik2_ul_release_pcmrouter
ubik2_ul_release_v3
ubik2_ul_rx_buffer_conf
ubik2_ul_rx_buffer_conf_v3
ubik2_ul_rxfree_slotdata_pcmrouter
ubik2_ul_rxget_slotdata_pcmrouter
ubik2_ul_setslotparam_pcmrouter
ubik2_ul_txalloc_slotdata_pcmrouter
ubik2_ul_txput_slotdata_pcmrouter
ubik2_ul_tx_trigger
ubik2_ul_tx_trigger_v3
ubik2_wait_for_FreeToMIPS
ubik2_wake_up
ubik2_write
ul_ubik2_wstimediff

Abhängigkeiten

Siehe auch

FBox-Fon2: (27)

FBox-Fon3: (8)

FBox-Fon4: (18)

Telefonie: (78)

ISDN: (43)