If you like BoxMatrix then please contribute Supportdata, Supportdata2, Firmware and/or Hardware (get in touch).
My metamonk@yahoo.com is not reachable by me since years. Please use hippie2000@webnmail.de instead.
Property:mpe fw be.img
BoxMatrix >> Configuration >> mpe_fw_be.img | @ BoxMatrix - IRC-Chat - Translate: de es fr it nl pl |
News | Selectors | Models | Accessories | Components | Environment | Config | Commands | System | Webif | Software | Develop | Lexicon | Community | Project | Media |
Static-Config | Bin-Files | Audio-Files | Crypto-Files | Vartar-Items | PCD-Rules | TFFS-Config | Temp-Files | Data-Dirs | Inet-Providers | VoIP-Providers | Firmware | Research |
Binary-File
Binary: | mpe_fw_be.img - type Blob | Wiki | Freetz | IPPF | whmf | AVM | Web |
Location: | Configuration >> Binary-Files - Origin: AVM | ||||||
Path: | Release: /lib/firmware Lab+Rel: /lib/firmware | ||||||
Properties: | Size: 99.4k - 131k - Firmware: 6.51 - 8.00 | ||||||
Function: | MPE firmware running on one logical Interaptiv core of a Falcon |
Goto: Dependencies - Model-Matrix - SMW-Browser
Details
mpe_fw_be.img is the proprietary MPE firmware running on one logical Interaptiv core of a Falcon.
It is loaded and handled by ltq_mpe_hal_drv.ko, and is explained there.
Since this firmware blob is included in the ltq_mpe_hal_drv.ko source here a (snipped) full quote of its strings (fw 7.29):
root@fritz:~# strings /lib/firmware/mpe_fw_be.img PRX300 worker <snip> ****************************************************** ** CPU NUM %d ** VMB Msg ID %d ** CPU Launch %x ** start_addr %x ** SP %x ** GP %x ** Priv Info %x ** a0 %x ** Total TC Supported %d ** ** TC %d ** start_addr %x ** SP %x ** GP %x ** Priv Info %x ** a0 %x ** state %d ** TcSemId %x 0123456789abcdef TC%d: :: MPE Clk enabled :: Parser flag info Flag %u offset=%u: %s Five tupple IPv4: srcip: %u.%u.%u.%u, dstip: %u.%u.%u.%u, sport: %u, dport: %u, ext: 0x%x Five tupple IPv6: srcip (hex) %x:%x:%x:%x:%x:%x:%x:%x dstip (hex) %x:%x:%x:%x:%x:%x:%x:%x sport: %u, dport: %u, ext: 0x%x Original PMAC @0x%x: %02x byte 0:res0=%d ver_done=%d ip_offset=%d byte 1:tcp_h_offset=%d tcp_type=%d(%s) byte 2:res2=%d class=%d byte 3:oam=%d ins=%d ext=%d pkt_type=%d byte 4:res=%d onestep=%d ptp=%d sub_inf_msb=0x%x byte 5:sub_inf_lsb=0x%x byte 6:record_id_msb=%d byte 7:record_id_lsb=%d igp_egp=%d Edited TX PMAC header @0x%x: byte 0:tcp_chksum=%d res=%d ip_offset=%d byte 1:tcp_h_offset=%d tcp_type=%d (%s) byte 2:igp_msb=%d res=%d byte 3:oam=%d lrn_md=%d class_en=%d ins=%d ext=%d pkt_type=%d byte 4:fcs_ins_dis=%d one_step=%d ptp=%d sub_inf_msb=0x%x RX DMA desc: DW0=0x%08x DW1=0x%08x DW2=0x%08x DW3=0x%08x DW0:redir=%d tunnel_id=0x%x flow_id=0x%02x, eth_type=%d dest_sub_if_id=0x%x DW1:class=%d color=%d DEC=%d ENC=%d NAT=%d EP=%d IP=%d MPE1=%d MPE2=%d session_id=0x%03x tcp_err=%d DW2:data_ptr=0x%x DW3:byte_offset=%d C=%d, SOP=%d EOP=%d DIC=%d pdu_type=%d data_len=%d, own=%d policy=%d pool=%d TX DMA desc: DW0=0x%08x DW1=0x%08x DW2=0x%08x DW3=0x%08x ... ... ... (%u bytes) %02x: ... ... ... %08x: %08x IPV6 packet with next hdr:0x%x src IP: %02x%s Dst IP: ... ... new_inner_dscp = %d tunnel_type = %d(%s) tunnel_id = %d pppoe_offset = %d tunnel_ip_offset = %d in_eth_iphdr_offset = %d tunnel_udp_offset = %d key_en = %d mc_index = %d mc_way = %d(%s) dst_pmac_port(%d) = new_src_ip = %u.%u.%u.%u new_dst_ip = %u.%u.%u.%u new_src_ip = (hex) %x:%x:%x:%x:%x:%x:%x:%x new_dst_ip = (hex) %x:%x:%x:%x:%x:%x:%x:%x new_src_port = 0x%04x new_dst_port = 0x%04x Template buffer = { %02x IPv4 csum in templ_buf: 0x%x, correct csum=0x%x, hdr_len=%d RX interface MIB(%u) = TX interface MIB(%u) = Session MIB index = %u Session hit enable = %u Action Table: Valid = %d Template buffer len = %d pkt_len_delta = %d pkt_loop/qmap, class = %d(%02x) %d(%d) mtu = %d routing, redir flag = %d, %d new_src_ip_en = %d new_dst_ip_en = %d new_inner_dscp_en = %d pppoe_offset_en = %d tunnel_ip_offset_en = %d tunnel_udp_offset_en = %d esp_ip_offset_en = %d esp_udp_offset_en = %d esp_ip_offset = %d esp_udp_offset = %d fw_csum_en, fcs_bd = %d, %d in_eth_iphdr_offset_en = %d sess_mib_ix_en = %d tunnel_rm_en = %d outer_dscp_mode = %d pad a byte sumi=%0x sump=%0x old_csum=%0x %u:%u flag %d logic_mpe_tc_id %d TcQid %d CpuNum %d TcNum %d yield %x VmbFwIpi %d FwVmbIpi %d tcType %x state %x MpeCmdReqReg %x MpeCmdReqRegIrq %d MpeCmdRespReg %x MpeCmdRespRegIrq %d McpyPort %d McpyTxDescBase %x McpyRxDescBase %x McpyTxCh %d McpyRxCh %d McpyCmdReg %x McpyRespReg %x McpyIrq %d CbmDeQPort %d CbmDeQPortReg %x CbmDeQPortRegIrq %d CbmEnQPort %d CbmEnQPortReg %x CbmEnQPortRegIrq %d MpeDispatchQid %d MpeDispatchCmdReg %x MpeDispatchCmdRegIrq %d MpeDispatchRespReg %x MpeDispatchRespRegIrq %d MpeDebugQid %d MpeDebugCmdReg %x MpeDebugCmdRegIrq %d MpeDebugRespReg %x MpeDebugRespRegIrq %d itc_view %x disp_q_semid %x free_list_semid %x cbm_alloc_semid %x dispatch_q_cnt_semid %x MpeSearchQid %d MpeMeterQid %d private_ddr_addr %d Single/outer IPv4 header with proto 0x%x and IP hdr size %d L2TP inner IP hdr type (%u) L2TP hdr ofs %d inner IP hdr ofs %d set 2UDP ofs %d GRE set 1UDP ofs %d Dslite set 1UDP ofs %d IP4 %s src/dst port: 0x%04x/0x%04x inner IPv6: 6rd ahead by %u bytes proto:0x%08x key:0x%08x next_ip_hdr_offset %d delta_corr %u Not supported GRE hdr:0x%x Not supported extension hdr:0x%x Single/outer IPv6 header with proto 0x%x and IP hdr size %d 6rd set 1UDP ofs %d IP6 %s src/dst port: 0x%04x/0x%04x inner IPv4: Dslite ahead by %u bytes fragmented IPV6 packet ! depend on ingress PMAC length always alloc new buffer null dslite capwap l2tp eogre ipogre tran_esp tran_esp_natt tunl_esp tunl_esp_natt max (not a tunl) FLAGS_NO FLAGS_END FLAGS_CAPWAP FLAGS_GRE FLAGS_LEN FLAGS_GREK FLAGS_NN1 FLAGS_NN2 FLAGS_ITAG FLAGS_1VLAN FLAGS_2VLAN FLAGS_3VLAN FLAGS_4VLAN FLAGS_SNAP FLAGS_PPPOES FLAGS_1IPV4 FLAGS_1IPV6 FLAGS_2IPV4 FLAGS_2IPV6 FLAGS_ROUTEXP FLAGS_TCP FLAGS_1UDP FLAGS_IGMP FLAGS_IPV4OPT FLAGS_IPV6EXT FLAGS_TCPACK FLAGS_IPFRAG FLAGS_EAPOL FLAGS_2IPV6EXT FLAGS_2UDP FLAGS_L2TPNEXP FLAGS_LROEXP FLAGS_L2TP FLAGS_GRE_VLAN1 FLAGS_GRE_VLAN2 FLAGS_GRE_PPPOE FLAGS_PARSER_MAX TCP_OVER_IPV4 UDP_OVER_IPV4 TCP_OVER_IPV6 UDP_OVER_IPV6 TCP_OVER_IPV6_IPV4 UDP_OVER_IPV6_IPV4 TCP_OVER_IPV4_IPV6 UDP_OVER_IPV4_IPV6 CBM DEQ: Yield wakeup %04x Port %d INT STS %08x CBM Interrupts====
intr[%d]: CBM_IRNCR: %x %x intr[%d]: CBM_IRNEN: %x %x intr[%d]: IGP_IRNCR: %x %x intr[%d]: IGP_IRNEN: %x %x intr[%d]: EGP_IRNCR: %x %x intr[%d]: EGP_IRNEN: %x %x LS Int LS_INT_EN %x %x LS_INT_STS %x %x ENQ Int intr[%d]: ENQ_INT_EN %x %x intr[%d]: ENQ_INT_STS %x %x DEQ Int intr[%d]: DEQ_INT_EN %x %x intr[%d]: DEQ_INT_STS %x %x illegal pid: %d Can not get mpe_cbm_buffer_alloc ! Cannot Free buf to port: %d Going to send IPI from MPE FW %d %x Going to start TC %d VPE %d Priv Info %d VPE %d start_addr %x SP %x ASID %d Recvd vmb_cpu_stop Recvd vmb_tc_start Recvd vmb_tc_pause Recvd vmb_tc_resume Recvd vmb_tc_stop Inside stop_tc vmb_msg->tc_num %d hw_res.TcNum %d TM: Get node idx (%u) from WK on TC%u CBM enqueue node(%u), with lookup index=%x desc%u(0x%x)Edited raw packet in hex (DDR)
waitSt: node/stat(%u/%u), waitEnd: node/stat(%u/%u) i.e (F/W/R) Invalid Index to delete No READY node, update node status %u, and yield TM Cannot find dst_qid for Tc num %d send msg to Dest Q %d Dest Tc %d EVA ERROR: can't find right segment !!! EVA: PA VA SS AM C
CFG[%d] 0x%08x 0x%08x 0x%08x %u %u >>>>> >>>>> ERROR: FW loading is failed ! TC(%u) hw_res(0x%x) TM(%d): vir_ad=0x%x, phy_ad=0x%x, fw_dbg_flag=0x%x free node(%u) copied to waiting list, desc(0x%x) Got IPI Interrupt WK is still active, cannot delete TM Tlb Idx %x +==== RX DMA Descriptor (0x%08x) ====+Original raw packet in Hex
[error code] IP=%u (VUNI/PON) MPE FW Acceleration is disabled by MPE HAL Copy template parser starts @ 0x%08x [ERR_PARSER_INFO] No IPv4/6 found in parser header Not UDP/TCP header! Parser flag @0x%x: DW0(0x%08x), DW1(0x%08x) IPv4 multicast Notes: FW workaround parser flag may be set ! IPv6 multicast [ERR_PKT_INFO] Compare table is not setup by MPE HAL ip_ver:%u, in_ip_o:%u, ou_ip_o:%u, inner_iphdr_len:%u, inner_pkt_len:%u tun_type:%s, tunnel length (if any):%u, rc(%d) FW Compare Table(%d), Search Cmd 0:%x, 1:%x Search Result: 0x%08x 0x%08x ... NAT=%u: Session not found in FW compare table MPE SE ERROR: HW CRC 0x%x not matched FW calculated CRC 0x%x session_id(0x%x), complimentary mode action found@0x%x NAT=%u: session_id(0x%x), inexistent action ptr(%x) SE found session with invalid action, %d DS QOS(1) set the loop bit in DMA desc Sub interface id mcast index HW and in MPE HAL mismatch Mismatch tunl_type between pkt(%s) and action(%s) Mismatch GRE key(%x vs %x) Mismatch tunl_type: DS case delta_after_tunnel_remove(%d) PktMTU(%u), act->mtu(%u), in_ethhdr_delta(_en=%u: %d) inp_tunl_type(%u), delta (%d), new_pkt_loc(0x%0x), pkt_edited_len(%u) L3: srcip: %u.%u.%u.%u, dstip: %u.%u.%u.%u csum 0x%x L4(%d): s(%x) d(%x) csum(%x) L3: dst IP:tcp:udp csum = 0x%x:0x%x:0x%x L3: src IP:tcp:udp csum = 0x%x:0x%x:0x%x L4: dst port: 0x%x, csum: 0x%x L4: src port: 0x%x, csum: 0x%x L4(%d) s(0x%x) d(0x%x) csum(0x%x) (mcpy_hw)templ_buf@0x%x IPv4 hdr tunnel len = %d (tb), cksum=%04x IPv4 hdr tunnel len = %d (edited), cksum=%04x use inner DSCP:%x use action DSCP IPv6 hdr tunnel length = %d (tb) IPv6 hdr tunnel length = %d (edited) use inner DSCP:%x IP tunnel offset(%d), len(%d), tcp_type(%d) outer UDP len = %d (tb), cksum=%04x outer UDP len = %d (ed), cksum=%04x Merged template buffer (flush_len = %d) IP payload len(%d), PPPOE:len(%d), code(%x), sid(%x) port%u :%u copies (mode/port/len/vap) et%u (%u/%u/%u/0x%04x) add %u bytes @VAP%u rx: itf(%u) add %u bytes @VAP%u tx: Pmac added due to checksum offload Pmac depend on gc.pmac_len_out Update MIB counter rx_itf_num=%d, tx_itf_num=%d Add 1 packet @rx each %u bytes: na_itf(%u) itf(%u) Add %u packet @tx each %u bytes: sess_mib[%d]@0x%x: add %u bytes accelerated sess_mib[%d]@0x%x: not accelerated hit_mib_base@0x%x, hit_mib[%d]@0x%x: %u preparing(%u) copies First edited packet @0x%x with EP(%u), pmac_len(%u) Buffer alloc in ALLOC_BUF_MODE failed Buffer alloc cnt (%d) in ALLOC_BUF_MODE before DDR to DDR: v-p(0x%x), dst(0x%x), len(%u) EP(%u), VAP(%u): before DDR to C$ Buffer alloc in INCR_CNT_MODE failed Buffer alloc cnt(%d) in INCR_CNT_MODE before DDR to DDR: v-p(0x%x), d(0x%x) len(%u) EP(%u), VAP(%u) %x: dst_buf@0x%x EP(%u) incr_cnt(%d) ... WK: Sending node idx %u back to TM Not accelerated: dropped or returned to CPU priv.wk.nona_pkt_cnt[%u] %s(dic=%u): desc_idx(%u)@0x%0x offset(%u) len(%u) rc[%d]: %s Full MPE mode session found (MPE SE init) NGI: %x ip4tbl(%u): base(0x%x), iter(%u), num_elements(%u) ip6tbl(%u): base(0x%x), iter(%u), num_elements(%u) (%u): %s start worker flow stack_ptr(0x%x) TC(%u) priv.wk.itf_mib_base[%u]:base(0x%x) priv.wk.e97_dec_mib_base[%u]:base(0x%x) 1: ++ worker thread recvd a pkt idx(%u) dispatch_q_cnt : %x - k =%d Got the special msg in Q(%u) TC(%u) TC(%u) Resume Got the wrong msg in Q(%u) TC(%u) Going to Yield worker_flow TC(%u) No initialisation yet One time worker initialisation done Return to CPU Drop the packet Default Initialisation complete MPE acceleration is disabled by HAL EIP97 HW is disabled by HAL Pkt decryption is not succesfull, drop it! Session not found in FW table or action not configured (if NAT=1) Session is found but action is not valid Pkt is not supported by MPE acceleration Pkt is decrypted by Eip97 ipsec_input is not enabled by HAL ipsec_input ACD or SA is null (expired) Pkt will return to MPE via QOS port Pkt can not be accelerated Pkt MTU exceeds HAL setting Pkt tunnel is mismatch with HAL setting Pkt GRE key is mismatch with HAL setting ipsec_output is not enabled by HAL ipsec_output ACD or SA is null (expired), drop it! Pkt encryption is not succesfull, drop it! There is no free CBM buffer PRX300 worker
Model-Matrix
Daily updated index of the presence, path and size of this binary for each model. Last update: 2024-11-17 06:06 GMT.
Showing all models using this binary. Click any column header (click-wait-click) to sort the list by the respective data.
The (main/scrpn/boot/arm/prx/atom/rtl)
label in the Model
column shows which CPU is meant for Multi-Linux models.
Note that this list is merged from Firmware-Probes of all known AVM firmware for a model, including Recovery.exe and Labor-Files.
Model | Firmw | Path | Size |
---|---|---|---|
FRITZ!Box 5530 Fiber (main) | 7.21 - 8.00 | /lib/firmware | 99.4k - 131k |
FRITZ!Box 5590 Fiber (prx) | 7.29 - 8.00 | /lib/firmware | 99.4k |
FRITZ!Box 6890 LTE (main) | 6.84 - 7.03 | /lib/firmware | 131k |
FRITZ!Box 6890 LTE v1 (main) | 6.84 - 7.03 | /lib/firmware | 131k |
FRITZ!Box 6890 LTE v2 (main) | 6.84 - 7.03 | /lib/firmware | 131k |
FRITZ!Box 7560 (main) | 6.51 - 7.03 | /lib/firmware | 131k |
FRITZ!Box 7580 (main) | 6.53 - 7.03 | /lib/firmware | 131k |
FRITZ!Box 7583 (main) | 7.01 | /lib/firmware | 131k |
FRITZ!Box 7590 (main) | 6.83 - 7.08 | /lib/firmware | 131k |
9 models use this binary |