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:cchardev.ko
BoxMatrix >> Shell-Commands >> cchardev.ko | @ 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 |
Startup-Scr | Hotplug-Scr | BusyBox-Cmds | Bash-Cmds | AVM-Cmds | Chipset-Cmds | Linux-Cmds | Shared-Libs | Kernel-Mods | Research |
Kernel-Module
Note that Kernel 2.4 and builtin *.o
modules have been renamed to *.ko
for an easier comparison.
Command: | cchardev.ko - type Mod | Wiki | Freetz | IPPF | whmf | AVM | Web |
Location: | Shell-Commands >> Kernel-Modules - Origin: AVM | ||||||
Path: | Release: ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice Lab+Rel: ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | ||||||
Properties: | Size: 7.3k - 53.1k - Firmware: 7.19 - 8.00 | ||||||
Function: | Easy creation of char devices (GPL) |
Goto: GPL-Browser - Dependencies - Model-Matrix - Symbols - SMW-Browser
Details
cchardev.ko is an AVM module for easy creation of char devices. It is used by some routing related modules from AVM.
These modules depend on cchardev.ko, see the Dependencies, and request the char devices from it they need on load.
cchardev.ko collects the list of wanted devices and provides them at a procfs interface at /proc/cchardevice
.
This interface provides a variable amount of files to interact with it, which are listed in cprocfs. By default there are 3.
7520 fw 7.57:
root@fritz1:/var/mod/root# cat /proc/cchardevice/cprocfs cchardevice/ control (control) devices cprocfs root@fritz1:/var/mod/root# ls -l /proc/cchardevice/ -rw-r--r-- 1 root root 0 Dec 18 21:32 control -r--r--r-- 1 root root 0 Dec 18 21:32 cprocfs -r--r--r-- 1 root root 0 Dec 18 21:32 devices
devices provides the list of wanted devices, their major, and the module requesting it.
root@fritz1:/var/mod/root# cat /proc/cchardevice/devices kskbtracepoint 240 (kskbtrace) kdsld 239 (kdsldmod) kavmcounterd 238 (kdsldmod) kvpnd 237 (kdsldmod) kdsldptrace 233 0-33 (kdsldmod) knqos 232 (kdsldmod) avmtrackd 231 (kdsldmod) avmtrackdquery 230 (kdsldmod) userman_url 229 (kdsldmod) bridgeflt 228 (kdsldmod) krextd 227 (kdsldmod) krextd_wlan 226 (kdsldmod)
control is the control interface of the module and it's writable:
root@fritz1:/var/mod/root# cat /proc/cchardevice/control possible commands: addtest deltest
Writing addtest
to control adds a test device to devices, deltest
removes it.
root@fritz1:/var/mod/root# echo addtest > /proc/cchardevice/control root@fritz1:/var/mod/root# tail -n 1 /proc/cchardevice/devices cchardevice_test 222 0-2 (cchardev)
The collected wanted devices are not created by this module but in userspace by ewnw_devfiles.sh.
For this script two extra procfs files are created after all dependingd modulea are loaded.
mknod-parameters
lists the name, type, major and minor of each device file to createremove
lists the name of each device file to remove
Once ewnw_devfiles.sh added and removed all devices it sends cleanup
to control to remove the .extra procfs files.
GPL-Browser
Daily updated index of all cchardev.ko code findings on the GPL-Browser. Last update: 2024-11-15 05:07 GMT.
The Files
header attempts to list the files which belong to this module. Useful if a directory contains multiple modules.
The Browse
column points to the Path
of the Makefile
referring this code on the gpl.boxmatrix.info service.
The SoC
column lists the Chip-Codenames, the Model
column lists the nicks of the Box-Models.
The Diff
column links the comparison of the AVM Kernel to the pristine original from Kernel.org.
The Download
column links the full tarball the respective directory content is extracted from.
The presence of the source does not mean it fits the respective model and architecture. See the Model-Matrix where it's used.
Note that this list matches module names with hyphen (-
) and underscore (_
) exchangeable, same as modprobe does.
Files: cchardev.c, cchardevice.c | ||||||||
---|---|---|---|---|---|---|---|---|
Browse | Path | Makefile | SoC | Arch | Model | Firmw | Diff | Download |
alder-5690pro-762 | packages/network_kmods | Kbuild | Alder | ARM | 5690pro | 7.62 | 5.4.213 | Download |
miami-7690-761 | packages/network_kmods | Kbuild | Miami | ARM | 7690 | 7.61 | 5.4.213 | Download |
2 directories containing cchardev.ko source code |
Dependencies
Daily updated index of all dependencies of this module. Last update: 2024-11-15 07:54 GMT.
A *
in the Mod
column marks info from Supportdata-Probes, which will always stay incomplete.
Relation | Typ | Object | Mod | Firmware | Info | Origin |
---|---|---|---|---|---|---|
Depends on | mod | cprocfsmod.ko | 56 | 7.19 - 8.00 | Easy procfs API (GPL) | AVM |
Required by | mod | kdsldmod.ko | 32 | 7.39 - 8.00 | kdsld: kernel level dsld (Proprietary) | AVM |
Required by | mod | krextdmod.ko | 13 | 7.19 - 7.63 | krextd: kernel level range extender (Proprietary) | AVM |
Required by | mod | kskbtrace.ko | 32 | 7.39 - 8.00 | Kernel socket buffer capture / trace (Proprietary) | AVM |
Required by | mod | net_upstream_drv.ko | 27 | 7.61 - 8.00 | AVM net_upstream proxy network interface driver (GPL) | AVM |
Required by | mod | userman_mod.ko | 31 | 7.51 - 8.00 | userman: user internet accounting and blocking (Proprietary) | AVM |
6 dependencies for this module |
Model-Matrix
Daily updated index of the presence, path and size of this module for each model. Last update: 2024-11-15 05:54 GMT.
Showing all models using this module. 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 | Firmware | Path | Size |
---|---|---|---|
FRITZ!Box 3490 (main) | 7.27 - 7.30 | ./kernel/drivers/avm | 53.1k |
FRITZ!Box 4040 | 7.24 - 8.00 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.8k - 24.4k |
FRITZ!Box 4050 | 7.58 - 7.90 | ./extra, ./kernel/extra/cchardevice | 8.8k - 8.9k |
FRITZ!Box 4060 | 7.29 - 7.90 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.8k - 24.5k |
FRITZ!Box 5490 (main) | 7.27 - 7.29 | ./kernel/drivers/avm | 53.1k |
FRITZ!Box 5491 (main) | 7.27 - 7.29 | ./kernel/drivers/avm | 53.1k |
FRITZ!Box 5530 Fiber (main) | 7.21 - 8.00 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 10.5k - 33.3k |
FRITZ!Box 5590 Fiber (main) | 7.29 - 8.00 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.8k - 24.4k |
FRITZ!Box 5590 Fiber (prx) | 7.39 - 8.00 | ./extra, ./kernel/extra/cchardevice | 10.5k - 12.5k |
FRITZ!Box 5690 Pro (main) | 7.62 - 7.90 | ./extra | 11.0k |
FRITZ!Box 6430 Cable (atom) | 7.29 | ./kernel/drivers/avm | 20.6k |
FRITZ!Box 6490 Cable (atom) | 7.19 - 7.51 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 7.3k - 20.6k |
FRITZ!Box 6590 Cable (atom) | 7.19 - 7.51 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 7.3k - 20.6k |
FRITZ!Box 6591 Cable (arm) | 8.00 | ./extra | 11.5k |
FRITZ!Box 6591 Cable (atom) | 7.19 - 8.00 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.3k - 22.5k |
FRITZ!Box 6660 Cable (arm) | 7.90 - 8.00 | ./extra | 11.5k |
FRITZ!Box 6660 Cable (atom) | 7.19 - 8.00 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.3k - 22.5k |
FRITZ!Box 6670 Cable (arm) | 7.90 | ./extra | 11.2k |
FRITZ!Box 6670 Cable (atom) | 7.61 - 7.90 | ./extra, ./kernel/extra/cchardevice | 10.3k - 10.7k |
FRITZ!Box 6690 Cable (arm) | 7.90 | ./extra | 11.5k |
FRITZ!Box 6690 Cable (atom) | 7.28 - 7.90 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.3k - 22.5k |
FRITZ!Box 6820 LTE v1 (main) | 7.19 - 7.51 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 9.5k - 28.3k |
FRITZ!Box 6820 LTE v2 (main) | 7.19 - 7.51 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 9.5k - 28.3k |
FRITZ!Box 6820 LTE v3 (main) | 7.19 - 7.57 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 9.5k - 28.3k |
FRITZ!Box 6850 LTE | 7.21 - 7.90 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.8k - 32.8k |
FRITZ!Box 6850 5G | 7.24 - 7.90 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.8k - 24.4k |
FRITZ!Box 6890 LTE (main) | 7.21 - 7.57 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 10.5k - 32.8k |
FRITZ!Box 6890 LTE v1 (main) | 7.21 - 7.57 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 10.5k - 32.8k |
FRITZ!Box 6890 LTE v2 (main) | 7.21 - 7.57 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 10.5k - 32.8k |
FRITZ!Box 7430 (main) | 7.21 - 7.31 | ./kernel/drivers/avm | 53.1k |
FRITZ!Box 7490 (main) | 7.19 - 7.51 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 12.3k - 53.1k |
FRITZ!Box 7510 | 7.30 - 8.00 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.8k - 24.4k |
FRITZ!Box 7520 | 7.21 - 8.00 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.8k - 24.4k |
FRITZ!Box 7520 v2 (main) | 7.30 - 8.00 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.8k - 24.4k |
FRITZ!Box 7530 | 7.19 - 8.00 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.8k - 24.4k |
FRITZ!Box 7530 AX | 7.20 - 8.00 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 10.1k - 26.4k |
FRITZ!Box 7560 (main) | 7.24 - 7.30 | ./kernel/drivers/avm | 32.8k |
FRITZ!Box 7580 (main) | 7.21 - 7.30 | ./kernel/drivers/avm | 32.8k |
FRITZ!Box 7583 (main) | 7.21 - 7.59 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 12.4k - 32.8k |
FRITZ!Box 7583 VDSL (main) | 7.19 - 8.00 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 12.4k - 32.8k |
FRITZ!Box 7590 (main) | 7.19 - 8.00 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 10.5k - 32.8k |
FRITZ!Box 7590 AX (main) | 7.19 - 8.00 | ./extra, ./kernel/drivers/avm, ./kernel/extra/cchardevice | 10.5k - 32.8k |
FRITZ!Box 7690 | 7.61 - 7.90 | ./extra | 11.0k |
FRITZ!Smart Gateway | 7.52 - 7.63 | ./kernel/extra/cchardevice | 8.8k - 8.9k |
FRITZ!Repeater 600 | 7.21 - 7.58 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 9.7k - 28.3k |
FRITZ!Repeater 600 v2 | 7.27 - 7.58 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 9.7k - 28.3k |
FRITZ!Repeater 1200 | 7.19 - 7.58 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.9k - 24.4k |
FRITZ!Repeater 1200 AX | 7.30 - 7.58 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.9k - 24.4k |
FRITZ!WLAN Repeater 1750E | 7.31 - 7.32 | ./kernel/drivers/avm | 27.9k - 28.3k |
FRITZ!Repeater 2400 | 7.19 - 7.58 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 9.5k - 28.3k |
FRITZ!Repeater 3000 | 7.19 - 7.58 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.9k - 24.4k |
FRITZ!Repeater 3000 AX | 7.41 - 7.58 | ./kernel/extra/cchardevice | 8.9k - 9.0k |
FRITZ!Repeater 6000 | 7.19 - 7.58 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.9k - 24.4k |
FRITZ!Powerline 1240 AX | 7.57 - 7.58 | ./kernel/extra/cchardevice | 8.9k |
FRITZ!Powerline 1260E | 7.21 - 7.58 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.9k - 24.4k |
FRITZ!Powerline 1260 | 7.27 - 7.58 | ./kernel/drivers/avm, ./kernel/extra/cchardevice | 8.9k - 24.4k |
56 models use this module |
Symbols
Daily updated index of all symbols of this module. Last update: 2024-11-15 07:54 GMT.
Firmware | Symbol |
---|---|
7.19 - 7.32 | bugmsg |
7.19 - 8.00 | cchardevice_control |
7.61 - 8.00 | cchardevice_control.cold |
7.39 - 7.57 | cchardevice_control.cold.6 |
7.19 - 8.00 | cchardevice_control_help |
7.19 - 8.00 | cchardevice_exit_module |
7.19 - 8.00 | cchardevice_init_module |
7.19 - 8.00 | cchardevice_internal_register |
7.61 - 8.00 | cchardevice_internal_register.cold |
7.39 - 7.57 | cchardevice_internal_register.cold.5 |
7.19 - 8.00 | cchardevice_internal_unregister |
7.61 - 8.00 | cchardevice_internal_unregister.cold |
7.39 - 7.57 | cchardevice_internal_unregister.cold.4 |
7.19 - 8.00 | cchardevice_register |
7.61 - 7.63 | cchardevice_register.cold |
7.39 - 7.57 | cchardevice_register.cold.7 |
7.19 - 8.00 | cchardevice_show_devices |
7.19 - 7.32 | cchardevice_show_mknod |
7.19 - 7.32 | cchardevice_show_remove |
7.19 - 8.00 | cchardevice_unregister |
7.19 - 8.00 | cleanup_module |
7.19 - 7.32 | cstr_asprintf |
7.19 - 7.32 | cstr_is_set |
7.19 - 7.32 | cstr_macaddr2strlc |
7.19 - 7.32 | cstr_macaddr2struc |
7.19 - 7.32 | cstr_str2macaddr |
7.19 - 7.32 | cstr_vasprintf |
7.19 - 7.29 | cstr_vasprintf.cold.1 |
7.19 - 7.32 | debug_flag_exists |
7.19 - 7.32 | debug_free_handles |
7.19 - 7.32 | debug_gethandle |
7.19 - 7.29 | debug_gethandle.cold.2 |
7.19 - 7.32 | debug_handle_set |
7.19 - 7.32 | debug_handle_value |
7.19 - 7.32 | debug_reset_handles |
7.19 - 7.32 | debug_set |
7.19 - 7.32 | debug_show_handles |
7.19 - 7.32 | debug_walk_handles |
7.19 - 7.32 | debugmsg |
7.19 - 7.32 | errmsg |
7.19 - 7.32 | infomsg |
7.19 - 8.00 | init_module |
7.19 - 7.32 | setpgmname |
7.19 - 7.32 | shcasematch |
7.19 - 7.32 | shcasenmatch |
7.19 - 7.32 | shmatch |
7.19 - 7.32 | shnmatch |
7.19 - 7.32 | stringlist_append |
7.19 - 7.32 | stringlist_append_caseunique |
7.19 - 7.32 | stringlist_append_nstring |
7.19 - 7.29 | stringlist_append_nstring.cold.4 |
7.19 - 7.32 | stringlist_append_sprintf |
7.19 - 7.29 | stringlist_append_sprintf.cold.5 |
7.19 - 7.32 | stringlist_append_string |
7.19 - 7.29 | stringlist_append_string.cold.2 |
7.19 - 7.32 | stringlist_append_string_caseunique |
7.19 - 7.32 | stringlist_append_string_unique |
7.19 - 7.32 | stringlist_append_unique |
7.19 - 7.32 | stringlist_at |
7.19 - 7.32 | stringlist_casein |
7.19 - 7.32 | stringlist_caseintersect |
7.19 - 7.32 | stringlist_casenin |
7.19 - 7.32 | stringlist_copy |
7.19 - 7.32 | stringlist_copy_from_user |
7.19 - 7.29 | stringlist_copy_from_user.cold.9 |
7.19 - 7.32 | stringlist_equal |
7.19 - 7.32 | stringlist_fmt |
7.19 - 7.32 | stringlist_fmt_keep_spaces |
7.19 - 7.32 | stringlist_free |
7.19 - 7.32 | stringlist_in |
7.19 - 7.32 | stringlist_intersect |
7.19 - 7.32 | stringlist_join |
7.19 - 7.29 | stringlist_join.cold.8 |
7.19 - 7.32 | stringlist_len |
7.19 - 7.32 | stringlist_merge |
7.19 - 7.32 | stringlist_nin |
7.19 - 7.32 | stringlist_nsplit |
7.19 - 7.29 | stringlist_nsplit.cold.7 |
7.19 - 7.32 | stringlist_pop |
7.19 - 7.32 | stringlist_pop_string |
7.19 - 7.32 | stringlist_prepend |
7.19 - 7.32 | stringlist_prepend_caseunique |
7.19 - 7.32 | stringlist_prepend_string |
7.19 - 7.29 | stringlist_prepend_string.cold.6 |
7.19 - 7.32 | stringlist_prepend_string_caseunique |
7.19 - 7.32 | stringlist_prepend_string_unique |
7.19 - 7.32 | stringlist_prepend_unique |
7.19 - 7.32 | stringlist_print |
7.19 - 7.32 | stringlist_remove |
7.19 - 7.32 | stringlist_remove_string |
7.19 - 7.32 | stringlist_shcasein |
7.19 - 7.32 | stringlist_shin |
7.19 - 7.32 | stringlist_split |
7.19 - 7.32 | stringlist_split_with_empty |
7.19 - 7.32 | stringlist_to_argv |
7.19 - 7.32 | vbugmsg |
7.19 - 7.32 | vdebugmsg |
7.19 - 7.29 | vdebugmsg.cold.3 |
7.19 - 7.32 | vxerrmsg |
7.19 - 8.00 | word_matches |
100 symbols for this module |