Sign up ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

In the linux kernel, there is a section "Library routines" with a snippet shown below:

Library routines  --->
  <M> CRC-CCITT functions
  <M> CRC ITU-T V.41 functions
  <M> CRC7 functions
  <M> CRC32c (Castagnoli, et al) Cyclic Redundancy-Check
  <M> CRC8 function

I have most of the options compiled in as "module", but these modules never get loaded. I'm curious to know what these modules are used for and in which situation I would need them?

The Kernel Config help is not very illuminating:

This option is provided for the case where no in-kernel-tree
modules require <XYZ> functions, but a module built outside
the kernel tree does. Such modules that use library  <XYZ>
functions require M here.
share|improve this question

2 Answers 2

up vote 4 down vote accepted

CCITT stands for "Comité Consultatif International Téléphonique et Télégraphique" and ITU for "International Telecommunication Union". These modules have to do with (error correction) for telephone-modem connections.

Since even old style high-end modems (to which you would normally communicate via a, real, hardware serial port) do things like CRC themselves, my guess is those modules are for low-end hardware, where a large part of the handling was done by the CPU, so called softmodems

So unless you have, and use, that kind of simple modem hardware, your kernel is unlikely to load those modules.

share|improve this answer

If you have a driver or module enabled that needs any of these routines they'll be automatically force-enabled for you. If you can disable any of these options it means nothing in your kernel requires them, which is why they're not getting loaded.

Not all drivers come from the kernel though. There are external packages that also install kernel modules (eg. the binary nvidia driver). If any of these need certain library routines you will have to enable them yourself. You can see what modules the out-of-tree driver depends on with lsmod.

If you don't install any external modules you can disable all of them.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.