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.
Inter-CPU
BoxMatrix >> Development >> Inter-CPU | @ 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 |
Tarballs | GPL-Browser | FW-Probes | FW-History | FW-News | Supportdata | Hardware | SVN | Trac | Freetz-News | Freetz-Timeline | Freetz-Releases | Freetz-Mirror | OpenWRT | Research |
Inter-CPU Solutions[edit]
AVM solutions for models with multiple Linux instances
Dual AR7[edit]
The 5188 was the first model running 2 Linux instances and the only model running 2 identical instances of FRITZ!OS.
The master AR7 has Flash and RAM and normal partition layout, the slave AR7 only has RAM.
Master AR7[edit]
Slave AR7[edit]
Puma6 / Puma7[edit]
On Puma6 / Puma7 models FRITZ!OS is running on the ATOM CPU, while the cable modem frontend runs on the ARM CPU.
Both run a Linux which uses quite some technologies to interconnect both CPUs, mainly by AVM-Events and avmipcd.
Have a look at the remote_notifier event notify to see what else besides the stuff listed here is interconnected by AVM-Events.
On ATOM + ARM[edit]
- avm_event.ko - remote events and logging using log events
- avm_power.ko - using powermanagment_remote events
- ar7wdt.ko - using remotewatchdog events
- pcmlink.ko - using shared memory and remotepcmlink events
- checkpoint_proc.ko - using checkpoint events
- ptestd - using rpc events
- avmipcd - using Port-10012-tcp
- avmipc_remote_link - using avmipcd
On ARM[edit]
- avm_cpmac.ko - using remote ethernet_connect_status events
- acc0 interface using hardcoded 169.254.1.2/30 - Puma6 only, see E40-avmipc
- ndp0.555 interface using hardcoded 169.254.1.2 - Puma7 only
- pumaglued - using avmipcd and TCP
- hal_tuner_mgr using libhal_mxl_hrcls_srv.so for DVB tuning
- puma_update_notify sending puma_update_status to report update info
On ATOM[edit]
- acc0 interface using hardcoded 169.254.1.1/30 - Puma6 only, see E40-avmipc
- adp0.555 interface using hardcoded 169.254.1.1 - Puma7 only
- rpc command - using avmipcd
- armconsole - using avmipcd
- cableinfo using libdvbif.so for remote DVB tuning
- pumaupdatetrace receiving puma_update_status to record update info
VR9 + Scorpion[edit]
The 3490, 5490, 5491 and 7490 models use a WiSoC named Scorpion for the 2.4GHz band, a WLAN chip with an own CPU.
WiSoCs offload the respective WLAN drivers from the main CPU and save performance for other tasks.
Initially the Scorpion ran a closed source firmware, until AVM decided to run a second Linux there.
On VR9 + Scorpion[edit]
- log_sink instances reading logs and commands from Named-Pipes
- log_server instances writing Temp-Files on the other side each
On Scorpion[edit]
- eth0 interface using hardcoded fe80::b8db:adff:fec0:ffee/64 (badbadcoffee)
- watch_supportdata_trigger creating supportdata files
- wland_hal_remoted
On VR9[edit]
- wasp interface using hardcoded fe80::2de:adff:febe:efca/64 (deadbeef)
- x490_remote_console.sh redirecting debug2 remote log to the console
- wifi_offload_link.sh called by liboffload_X490.so for wland.
- wifi_fetch_fw_dump.sh called by liboffload_X490.so for wland.
Falcon standalone[edit]
The 5530 uses the Falcon fiber SoC with 4 logical cores. 3 cores run the main Linux (prxI), the 4th runs the boot Linux (prxB).
On Falcon prxB[edit]
On Falcon prxI[edit]
Hawkeye + Falcon[edit]
The 5590 uses the Falcon like the 5530 but adds the Hawkeye SoC with a third Linux which runs most of FRITZ!OS.
On Falcon prxB[edit]
On Falcon prxI[edit]
- cpunet.ko driving cpunet0 interface using hardcoded fd62:c5d3:4303:c662::2/64
- ppp0 interface using hardcoded 10.0.43.2 and fe80::2
- avmipcd - using Port-10012-tcp at 10.0.43.2
- upx-prx-support-sendd / upx-prx-support-sendd-prog.sh serving supportdata at fe80::2
- upx-prx-time-recv fetching the time from fe80::1
- upx-prx-tcp-send sending panic, crash and user log to fe80::1
- upx-prx-mgmtd / upx-prx-mgmtd.sh signaling Falcon is alife
- upx-prx-pppdlite serial PPP link to Hawkeye
On Hawkeye[edit]
- ppp0 interface using hardcoded 10.0.43.1 and fe80::1
- avmipcd - using Port-10012-tcp at 10.0.43.1
- upx-hwk-tcp-recvd / upx-hwk-tcp-recvd-prog.sh - receiving panic, crash and user log at fe80::1
- upx-hwk-time-sendd serving date / time at fe80::1
- upx-hwk-serlogd logging the Falcon serial console
- upx-hwk-prx-data fetching Falcon supportdata from fe80::2
- upx-hwk-mgmtd (chipcmd) booting and monitoring Falcon
- upx-hwk-reset-prx resetting the Falcon
- upx-hwk-send-urlader-prx sending the Falcon bootloader
- upx-hwk-boot-prx uploading the fit-image to EVA in namespace upx-hwk-fw-ns and booting the Falcon
- wanmodem interface using hardcoded 192.168.178.2 in namespace upx-hwk-fw-ns
- upx-hwk-pppdlite serial PPP link to Falcon
Dakota + RTL86[edit]
The 7520v2 uses the Dakota for most of FRITZ!OS and a second Linux for the RTL86 modem chipset.