wiki:Kernel Modules

Intro

UPDATE: I updated the main list, please, if you can write in the main list, near the module name why you think this module should be removed from the default image. Please, also mark which modules you think should be included into the kernel, and which should remain as modules. Please prefix modules with M (keep as module) X (remove) or K (include into kernel)

Please update both the modules list and the lsmod list (don't paste yours, just add what you have, that we don't).

This list consists of all the kernel modules used in SHR by default, feel free to edit this page to add comments and suggest the removal of some. We know not all of those are necessary and that's why we created this page.

Discussion

No edits since this page was created. Maybe the problem is, that nobody knows what all the modules are for (like me). With that much modules it might be easier to start with an empty list and add necessary modules. And not with the complete list and removing modules. If some people provide the output of lsmod we should have a good starting point...

Removal Suggestions

Also, do we really need all these advanced packet filtering modules? Relaying a GPRS connection to a PC via USB network can be done with these modules:

kernel-module-ipt-masquerade
kernel-module-iptable-mangle
kernel-module-iptable-nat //AFAIK this one is required for tethering
kernel-module-xt-conntrack
kernel-module-iptable-filter

Needs clarification Which modules should be removed (the ones referred to as "advanced").

Alternative Proposal - Metapackages

Move modules out of the default install and into metapackages targeting particular use cases. Module packages can be a dependency of more than one metapackage. Users can then install metapackages for their use case without needing to know all the individual modules. See #948

Metapackages like this already exists see task-base-bluetooth, task-base-irda, task-base-usbgadget in  task-base.bb

All we need is to remove kernel-modules (metapackage with ALL kernel modules) from machine config om-gta02.conf and replace it with sane subset of modules:  om-gta02.conf.patch

BTW: don't forget to clean & rebuild task-base.bb of bump PR after MACHINE_EXTRA_RRECOMMENDS change.

After this change

Number of modules in feeds (for 2.6.29-rc3) => 310

Number of modules installed in image => 42

List of modules installed in new shr-unstable images

kernel-module-ar6000
kernel-module-arc4
kernel-module-asix
kernel-module-bluetooth
kernel-module-bnep
kernel-module-btusb
kernel-module-crc-ccitt
kernel-module-ecb
kernel-module-g-ether
kernel-module-g-file-storage
kernel-module-g-serial
kernel-module-gadgetfs
kernel-module-hidp
kernel-module-l2cap
kernel-module-michael-mic
kernel-module-nls-utf8
kernel-module-ohci-hcd
kernel-module-pegasus
kernel-module-ppp-async
kernel-module-ppp-deflate
kernel-module-ppp-generic
kernel-module-ppp-mppe
kernel-module-rfcomm
kernel-module-s3cmci
kernel-module-sco
kernel-module-scsi-mod
kernel-module-sd-mod
kernel-module-slhc
kernel-module-snd
kernel-module-snd-mixer-oss
kernel-module-snd-page-alloc
kernel-module-snd-pcm
kernel-module-snd-pcm-oss
kernel-module-snd-soc-core
kernel-module-snd-soc-neo1973-gta02-wm8753
kernel-module-snd-soc-s3c24xx
kernel-module-snd-soc-s3c24xx-i2s
kernel-module-snd-soc-wm8753
kernel-module-snd-timer
kernel-module-uinput
kernel-module-usb-storage
kernel-module-usbserial

TAsn: This list doesn't include:

kernel-module-pl2303 - do we really need this?

and does include the oss modules which we probably don't need because we use alsa. and a coulpe of unwanted modules:

kernel-module-snd-mixer-oss
kernel-module-snd-pcm-oss

beniwtv: I think we should keep snd-pcm-oss. Some programs like Moocow can't play sound otherwise ;)

Then that package should depend on that module. This discussion is about modules included in image, all other modules will be avaible in feed. (Heinervdm)

Modules list

kernel-module-af-key - equired if you are going to use IPsec tools ported from KAME
kernel-module-ah4 - Support for IPsec AH
kernel-module-ah6 - Support for IPsec AH
X kernel-module-aircable - USB AIRcable Bluetooth Dongle
X kernel-module-anubis - Anubis cipher algorithm
M kernel-module-ar6000 - It's our wifi ;)
M kernel-module-arc4 - ARC4 cipher algorithm, needed for WEP
kernel-module-ark3116
kernel-module-as-iosched - Anticipatory I/O scheduler
X kernel-module-asix - support for ASIX AX88xxx based USB 2.0 10/100 Ethernet adapters.
kernel-module-authenc
kernel-module-autofs4 - Kernel automounter version 4 support
X kernel-module-belkin-sa - belkin modem
X kernel-module-berry-charge - charging a blackberry from the FR USB host? I doubt it...
kernel-module-blowfish
M kernel-module-bluetooth - keep this 
M kernel-module-bnep - keep this for bluetooth networking
kernel-module-bsd-comp
M kernel-module-btusb - keep this for bluetooth
X kernel-module-camellia - Camellia cipher algorithms module
kernel-module-cast5 - CAST5 (CAST-128) cipher algorithm
kernel-module-cast6 - CAST6 (CAST-256) cipher algorithm
X kernel-module-catc - USB CATC NetMate-based Ethernet device support
kernel-module-cdc-acm - supports USB modems and ISDN adapters which support the Communication Device Class Abstract Control Model interface
M kernel-module-cdc-ether - keep this for wired connection to other phones
kernel-module-cdc-subset - Simple USB Network Links
X kernel-module-cdrom
kernel-module-cfq-iosched - CFQ I/O scheduler
X kernel-module-cifs - Samba is not needed in standard installation
kernel-module-cls-basic
kernel-module-cls-fw
kernel-module-cls-route
kernel-module-cls-rsvp
kernel-module-cls-rsvp6
kernel-module-cls-tcindex
kernel-module-cls-u32
X kernel-module-cn - This is unified userspace <-> kernelspace connector working on top of the netlink socket protocol.
X kernel-module-configfs - Userspace-driven configuration filesystem
X kernel-module-cp2101 - CP2101/CP2102 based USB to RS232 converter
kernel-module-crc-ccitt - CRC-CCITT functions
kernel-module-crc-itu-t - CRC ITU-T V.41 functions
kernel-module-crc32c - Cyclic Redundancy-Check Algorithm. Used by iSCSI for header and data digests and by others
kernel-module-crypto-null
X kernel-module-cyberjack - USB REINER SCT cyberJack pinpad/e-com chipcard reader
X kernel-module-cypress-m8 - USB Cypress M8 USB Serial Driver
kernel-module-digi-acceleport
kernel-module-dm9601
kernel-module-ebt-802-3
kernel-module-ebt-among
kernel-module-ebt-arp
kernel-module-ebt-arpreply
kernel-module-ebt-dnat
kernel-module-ebt-ip
kernel-module-ebt-limit
kernel-module-ebt-log
kernel-module-ebt-mark
kernel-module-ebt-mark-m
kernel-module-ebt-pkttype
kernel-module-ebt-redirect
kernel-module-ebt-snat
kernel-module-ebt-stp
kernel-module-ebt-ulog
kernel-module-ebt-vlan
kernel-module-ebtable-broute
kernel-module-ebtable-filter
kernel-module-ebtable-nat
kernel-module-ebtables
kernel-module-ecb
kernel-module-empeg
kernel-module-esp4
kernel-module-esp6
kernel-module-exportfs
kernel-module-fcrypt
kernel-module-ftdi-sio
kernel-module-funsoft
kernel-module-fuse
kernel-module-g-ether
kernel-module-g-file-storage
kernel-module-g-midi
kernel-module-g-serial
kernel-module-gadgetfs
X kernel-module-garmin-gps - Download/upload to Garmin GPS. Usually have to blacklist to use a Garmin, anyways.
kernel-module-gf128mul
kernel-module-gl620a
kernel-module-gpio-keys
kernel-module-gta01-battery
kernel-module-hid-dummy
kernel-module-hidp
kernel-module-hp4x
kernel-module-io-edgeport
kernel-module-io-ti
kernel-module-iowarrior
kernel-module-ip-gre
kernel-module-ip-tables
kernel-module-ip6-tables
kernel-module-ip6-tunnel
kernel-module-ip6t-ah
kernel-module-ip6t-eui64
kernel-module-ip6t-frag
kernel-module-ip6t-hbh
kernel-module-ip6t-hl
kernel-module-ip6t-ipv6header
kernel-module-ip6t-log
kernel-module-ip6t-mh
kernel-module-ip6t-reject
kernel-module-ip6t-rt
kernel-module-ip6table-filter
kernel-module-ip6table-mangle
kernel-module-ipaq
kernel-module-ipcomp
kernel-module-ipcomp6
kernel-module-ipip
kernel-module-ipt-addrtype
kernel-module-ipt-ah
kernel-module-ipt-clusterip
kernel-module-ipt-ecn
kernel-module-ipt-log
kernel-module-ipt-masquerade
kernel-module-ipt-netmap
kernel-module-ipt-redirect
kernel-module-ipt-reject
kernel-module-ipt-ttl
kernel-module-ipt-ulog
kernel-module-iptable-filter
kernel-module-iptable-mangle
kernel-module-iptable-nat
kernel-module-ipv6
kernel-module-ipw
kernel-module-ir-usb
X kernel-module-isofs - Obvious, a phone doesn't need support for a CD file system (unless connected to a USB DVD drive...)
kernel-module-kaweth
kernel-module-keyspan
kernel-module-keyspan-pda
kernel-module-khazad
kernel-module-kl5kusb105
kernel-module-kobil-sct
kernel-module-l2cap
kernel-module-libcrc32c
kernel-module-lockd
kernel-module-loop
kernel-module-lrw
kernel-module-mcs7830
kernel-module-mct-u232
kernel-module-md4
kernel-module-michael-mic
kernel-module-mos7720
kernel-module-mos7840
kernel-module-navman
kernel-module-net1080
X kernel-module-nf-conntrack - I don't think we need netfilter
X kernel-module-nf-conntrack-ftp
X kernel-module-nf-conntrack-h323
X kernel-module-nf-conntrack-ipv4
X kernel-module-nf-conntrack-ipv6
X kernel-module-nf-conntrack-irc
X kernel-module-nf-conntrack-netbios-ns
X kernel-module-nf-conntrack-netlink
X kernel-module-nf-conntrack-pptp
X kernel-module-nf-conntrack-proto-gre
X kernel-module-nf-conntrack-proto-sctp
X kernel-module-nf-conntrack-sane
X kernel-module-nf-conntrack-sip
X kernel-module-nf-conntrack-tftp
X kernel-module-nf-defrag-ipv4
X kernel-module-nf-nat
X kernel-module-nf-nat-ftp
X kernel-module-nf-nat-h323
X kernel-module-nf-nat-irc
X kernel-module-nf-nat-pptp
X kernel-module-nf-nat-proto-gre
X kernel-module-nf-nat-proto-sctp
X kernel-module-nf-nat-sip
X kernel-module-nf-nat-snmp-basic
X kernel-module-nf-nat-tftp
kernel-module-nfnetlink
kernel-module-nfnetlink-log
kernel-module-nfnetlink-queue
kernel-module-nfs
kernel-module-nfs-acl
X kernel-module-nfsd - NFS daemon on a phone? If we want to access the rootfs from our PC, we can still use sshfs
kernel-module-nls-cp1251
kernel-module-nls-cp850
kernel-module-nls-cp866
kernel-module-nls-cp936
kernel-module-nls-cp950
kernel-module-nls-utf8
kernel-module-ohci-hcd
kernel-module-omninet
kernel-module-option
kernel-module-pcbc
kernel-module-pegasus
X kernel-module-pl2303 - most (all?) USB-to-serial adapters, my main usage of the FR at the moment :-)
kernel-module-plusb
kernel-module-ppp-async
kernel-module-ppp-deflate
kernel-module-ppp-generic
kernel-module-ppp-mppe
kernel-module-ppp-synctty
X kernel-module-reiserfs - anyone use this on their uSD, or is it just for USB connected devices?
M kernel-module-rfcomm - keep as needed for bluetooth
kernel-module-rndis-host
kernel-module-rtc-s3c
kernel-module-rtl8150
kernel-module-s3c2410-wdt
kernel-module-s3cmci
kernel-module-safe-serial
kernel-module-sch-cbq
kernel-module-sch-dsmark
kernel-module-sch-gred
X kernel-module-sch-hfsc - a good packet scheduler if you want to define latency classes, but I doubt many will use it
kernel-module-sch-htb
kernel-module-sch-netem
kernel-module-sch-prio
kernel-module-sch-red
kernel-module-sch-sfq
kernel-module-sch-tbf
kernel-module-sch-teql
kernel-module-sco
kernel-module-scsi-mod
kernel-module-scsi-wait-scan
kernel-module-sd-mod
kernel-module-serpent
kernel-module-sg
kernel-module-sha1-generic
kernel-module-sha256-generic
kernel-module-sha512-generic
kernel-module-sierra
kernel-module-sit
kernel-module-slhc
K kernel-module-snd - used for sound, all phones need sound.
kernel-module-snd-hwdep
X kernel-module-snd-mixer-oss - Doc advices to remove all oss modules and use alsa
K kernel-module-snd-page-alloc - used for sound, all phones need sound.
K kernel-module-snd-pcm - used for sound, all phones need sound.
X kernel-module-snd-pcm-oss - Doc advices to remove all oss modules and use alsa
kernel-module-snd-rawmidi
K kernel-module-snd-soc-core - used for sound, all phones need sound.
K kernel-module-snd-soc-neo1973-gta02-wm8753 - used for sound, all phones need sound.
K kernel-module-snd-soc-s3c24xx - used for sound, all phones need sound.
K kernel-module-snd-soc-s3c24xx-i2s - used for sound, all phones need sound.
K kernel-module-snd-soc-wm8753 - used for sound, all phones need sound.
K kernel-module-snd-timer - used for sound, all phones need sound.
kernel-module-snd-usb-audio
kernel-module-snd-usb-lib
kernel-module-squashfs
kernel-module-sr-mod
kernel-module-stowaway
kernel-module-sunrpc
kernel-module-tcrypt
kernel-module-tea
kernel-module-tgr192
kernel-module-ti-usb-3410-5052
kernel-module-trancevibrator
kernel-module-ts-bm
kernel-module-ts-fsm
kernel-module-ts-kmp
kernel-module-tun
kernel-module-tunnel4
kernel-module-tunnel6
kernel-module-twofish
kernel-module-twofish-common
kernel-module-ub
X kernel-module-udf - Obvious, a phone doesn't need support for a udf file system (unless connected to a USB DVD drive...)
kernel-module-uinput
kernel-module-usb-storage
kernel-module-usblp
M kernel-module-usbserial - most (all?) USB-to-serial adapters, my main usage of the FR at the moment :-)
kernel-module-usbtmc
kernel-module-visor
kernel-module-whiteheat
kernel-module-wp512
X kernel-module-x-tables
kernel-module-xcbc - XCBC keyed hash algorithm
X kernel-module-xfrm-ipcomp - IP payload compression
kernel-module-xfrm4-mode-beet
kernel-module-xfrm4-mode-transport
kernel-module-xfrm4-mode-tunnel
kernel-module-xfrm4-tunnel
kernel-module-xfrm6-mode-beet
kernel-module-xfrm6-mode-transport
kernel-module-xfrm6-mode-tunnel
kernel-module-xfrm6-tunnel
X kernel-module-xt-classify - XTables *
X kernel-module-xt-connbytes
X kernel-module-xt-connmark
X kernel-module-xt-conntrack
X kernel-module-xt-dccp
X kernel-module-xt-dscp
X kernel-module-xt-esp
X kernel-module-xt-hashlimit
X kernel-module-xt-helper
X kernel-module-xt-length
X kernel-module-xt-limit
X kernel-module-xt-mac
X kernel-module-xt-mark
X kernel-module-xt-multiport
X kernel-module-xt-nflog
X kernel-module-xt-nfqueue
X kernel-module-xt-physdev
X kernel-module-xt-pkttype
X kernel-module-xt-policy
X kernel-module-xt-quota
X kernel-module-xt-realm
X kernel-module-xt-sctp
X kernel-module-xt-state
X kernel-module-xt-statistic
X kernel-module-xt-string
X kernel-module-xt-tcpmss
X kernel-module-xt-tcpudp
X kernel-module-zaurus - g_ether alternative for zaurus

lsmod list

pl2303
usbserial
snd_soc_neo1973_gta02_wm8753
snd_soc_s3c24xx_i2s
ar6000
snd_soc_s3c24xx
s3cmci
rfcomm
ppp_generic
slhc
ohci_hcd
ipv6
hidp
l2cap
bluetooth
g_ether
snd_soc_wm8753
snd_soc_core
snd_pcm
snd_timer
snd_page_alloc
snd
btusb *