[Galaxy S II Original Android Development] droidphile:
Siyah Modules in 2.2i

In addition to my small contributions on a post about Siyah specific governors and a short & easy guide on init.d scripts, i wanted to make an honest effort to write a post on Siyah modules. So here goes.

You can find all the modules in /lib/modules. (With extension .ko = Kernel Object). Most of the modules are not loaded by default.

To avail a module, you need to insert it by:

insmod /lib/modules/module-name.ko

Put the line in an init.d script to load the module(s) on every boot.

To view the list of modules that are loaded by default, use:

lsmod

(fuse, ld9040_voodoo, j4fs, Si4709, bthid and vibrator modules are loaded by default in 2.2i)

To remove a module (that has been loaded by kernel or user):

rmmod "modulename"

Each module description has the expansion of its abbreviation, feature/functionality it is related to, and a short description. Hope the 'Related To' field for each module will give us a quick glance on the significance of the module.

::MODULE LIST::

1) bthid.ko - BlueTooth Human Interface Device

Related to:

Bluetooth

This is one of the bluetooth profiles. This module provides support for bluetooth mice, joysticks,keyboards,etc. It uses a low latency link with low power requirement to achieve the above mentioned.

2) cifs.ko - Common Internet File System

Related to:

Network Share

Successor to the SMB (Server Message Block) protocol, this protocol is supported by windows servers, samba, etc. The module is responsible for managing your network shares. It can be used to mount/unmount network file resources on to your device. If special characters are not properly read/displayed, download and use nls_utf8.ko module for UTF-8 character support.

3) fuse.ko - File System in Userspace

Related To:

File System

The module let users create own filesystems without editing kernel code. Fuse module provided the bridge between filesystem code running in the userspace and kernel interface. The module is often used in our devices to support ntfs/ntfs-3g filesystem; to mount ntfs formatted hard drives and pen drives.

4) cuse.ko - Character Devices in User Space

Related To:

Audio Proxying

CUSE is an extension of FUSE allowing character devices to be implemented in userspace. One of the prime motivation for cuse is to provide better support for Open Sound System or OSS. Except for initialization sequence and creation of character device instead of a mount, CUSE isn't very different from FUSE. Cuse can be used for proxying OSS audio from OSS apps to an audio system, etc.

5) dhd.ko - Dongle Host Driver

Related To:

Wifi

This module (from broadcom) is the wifi kernel module/wireless driver, and is responsible for wifi tethering, and such.

6) ftdi_sio.ko - Future Technology Devices International - Serial I/O

Related To:

USB Serial Devices

The module is required to connect an embedded device to our device using FTDI USB-serial converter. The embedded device will be an ftdi chipset based device. Even a USB-RFID reader could be connected.

7) usbserial.ko - USB Serial

Related To:

USB Serial Modems

This module is often used along with ftdi_sio module. It is the usbserial-generic interface for linux platform. Module is used to detect devices such as usb serial modems.

8) gspca_main.ko - GSPCA Main Driver

Related To:

Webcams

This module is used to install gspca based web camera in our device. The module is the driver that's responsible for detecting and functioning of gspca based webcams.

9) hfs.ko - Hierarchical File System

Related To:

Mac Filesystem

This module is the driver to support HFS aka Mac OS Standard file system. Try mount -t hfs "/source" "/destination" to mount. Also give USB Mass Storage Watcher App from market a try, to skip commands and mount via GUI.

10) hfsplus.ko - Hierarchical File System Plus

Related To:

Mac Filesystem

This module acts as the driver for HFS+ aka Mac OS Extended file system. HFS+ is one of the formats found in iPods. Use mount -t hfsplus "/source" "/destination" for mounting drives.

11) j4fs.ko - Jong Jang Jintae Jongmin File System

Related To:

File System

J4fs is a filesystem based on LFS (Linear File Store). The bootlogo and some misc files in our device, mounted in /mnt/.lfs is formatted as j4fs filesystem by default.

Please do not mess with .lfs folder!

12) ld9040_voodoo.ko - LD9040 AMOLED Driver

Related To:

Voodoo Color

This is the module/driver for voodoo color/screen tuning support for our device. (loaded by default). Let's wait patiently until supercurio comes out with a legendary app to have full control on our amoled display.

13) scsi_wait_scan.ko - Small Computer System Interface Wait Scan

Related To:

Waiting During Booting

scsi_scan_wait is responsible to wait until all the asynchronous scans are complete. It will wait after all root SCSI drivers have finished scanning their busses. Note that use of this module can increase your bootup time.

14) Si4709_driver.ko - Si4709 FM Radio Driver

Related To:

FM Radio

Si4709 is the fm radio receiver driver. Module is loaded by default by Siyah. If there are issues with fm radio in aosp roms, try inserting this module.

15) vibrator.ko - Vibrate Sensation on Touchsense

Related To:

Haptic feedback

This module from immersion corporation is responsible for haptic feedback. The module is loaded by default. Try inserting this module if haptic feedback not working on aosp roms.

16 - 23) Governors - brazialianwax, interactive, interactivex, lazy, ondemandX, powersave,savagedzen, userspace

Use these modules to avail your favorite governor which are not loaded by default.

note: Please PM me to notify about mistakes/additional inputs on these modules so that i can make this post better.