Kernel Modules for Xperia 2011 GB v4.0.2.A.0.58: fuse.ko, usb-storage, cifs, tun, ..

zxp

Senior Member
Jul 6, 2012
66
188
0
Information and Modules description

I was in the need to add some missing kernel modules to my Xperia Mini Pro sk17i with v4.0.2.A.0.58, but I could only find modules compiled form ICS sources, so I decided to build them myself.

All modules have been compiled from official sony Xperia v4.0.2.A.0.58 kernel sources, using Android NDK r5, and they should be fine with any GB based Xperia 2011 device (with that kernel version at least).
This is the list of modules, with some interesting programs using them:

  • fuse.ko: Cryptonite (used to create encrypted EncFS or Truecrypt volumes, adds support to mount drives so that are visibile to the whole Android system. Note: Cryptonite is not currently able to load the module automatically, you need to load it from Terminal Emulator..se more below)
  • usb-storage.ko, nls_utf8.ko, ntfs.ko (compiled with write support, currently untested): USB OTG Helper (used to mount external USB drives with USB On The Go cables).
  • cifs.ko, slow-work.ko, md4.ko: CifsManager (used to mount network shares)
  • ext4.ko, jbd2.ko: if you wish to use the EXT4 filesystem
  • tun.ko: needed by VPN clients, like OpenVPN or DroidVPN


Installation Instructions

Attached to this post you will find a ZIP that can be used along with CWM Recovery to install the modules in system.
Download the module, put it inside you SD card, reboot your phone in CWM (which you can install with the Xperia CWM Auto-Installer) and select install zip from sdcard, and browsed to the ZIP. Reboot your phone when install finishes.


Loading Modules

No module is automatically loaded at system startup: this saves your memory and battery (some of those modules are known to drain your battery if always loaded).

To manually load a module you have to open the Android Terminal Emulator and tap:
Code:
su
insmod /system/lib/modules/MODULENAME.ko
where MODULENAME is the name of the module you want to load.
Other useful commands:

Code:
lsmod
to see currently running commands

Code:
rmmod MODULENAME.ko
to unload a module.

If you wish to manually load a module at phone startup you should use init.rd or any other method (?) to run custom scripts at startup.

Load Order
Some modules need to be loaded in a specific order:

  • slow-work.ko must be loaded before cisf.ko
  • jbd2.ko must be loaded before ext4.ko


Other Firmware Versions
I've released the same package for other firmware versions, click on the firmware version to go to the specific thread:




Changes

v2 - 2012.07.19
===========
- customized, built and added slow-work.ko, which is needed to load cifs.ko
- added jbd2.ko, which is needed to load ext4.ko

v1 - 2012.07.12
===========
- First release
 

Attachments

Last edited:

shardul_seth

Senior Member
Jul 31, 2011
1,102
1,717
0
Thanks for this..
Fuse, and the rest as required, are automatically loaded as required by USB OTG Helper if found in /system/lib/modules.
 

zxp

Senior Member
Jul 6, 2012
66
188
0
Thanks for this..
Fuse, and the rest as required, are automatically loaded as required by USB OTG Helper if found in /system/lib/modules.
Yes, the same applies to CifsManager, even if it requires some fiddling in options, while your USB OTG Helper does it automagically...by the way, it would be really nice of you if you could add the same auto-load code to Cryptonite, which is open source somewhat related to your work! :good:
 

shardul_seth

Senior Member
Jul 31, 2011
1,102
1,717
0
Yes, the same applies to CifsManager, even if it requires some fiddling in options, while your USB OTG Helper does it automagically...by the way, it would be really nice of you if you could add the same auto-load code to Cryptonite, which is open source somewhat related to your work! :good:
I have my own encryption script, and I am happy with it.. So no fiddling with cryptonite for me ;)
 

zxp

Senior Member
Jul 6, 2012
66
188
0
Updated both install and uninstall packages to fix cifs.ko and ext4.ko that couldn't be loaded because of missing dependencies (slow-work.ko and jbd2.ko).
You can find the updated zips in the first post.
 
Last edited:

zxp

Senior Member
Jul 6, 2012
66
188
0
where i can find the ext4.ko module for Xperia 2011 ICS?, i can't find it nowhere, can you help me with it?


sorry for my bad english
I don't know where to find it, I don't have upgraded to ICS yet, sorry.
If you are sure that no one have released it I may build a package similar to this one once I upgrade to ICS, in the coming weeks. Keep an eye on this forum :cyclops:
 

hadics1

New member
Aug 21, 2012
1
0
0
hi when I type the cod say me that not found that I istall it with recovery please help me
my phone xperia ray
my rome is 2.3.4 - 4.0.2.A.0.58 GB:confused:
 

zxp

Senior Member
Jul 6, 2012
66
188
0
where i can find the ext4.ko module for Xperia 2011 ICS?, i can't find it nowhere, can you help me with it?


sorry for my bad english
I don't know where to find it, I don't have upgraded to ICS yet, sorry.
If you are sure that no one have released it I may build a package similar to this one once I upgrade to ICS, in the coming weeks. Keep an eye on this forum :cyclops:
I've just released the same package as this for Xperia ICS v4.1.B.0.587, you can now use ext4 on the latest ICS firmware :)
 

Nixblicker

Member
Dec 15, 2012
14
4
0
mount nfs share works with busybox - but won't with cifsmanager

Hello folks,

as this is my first post here, i'd like to thank all of the contributors for the excellent Guides and Howtos on this platform. Based on the instructions in this forums i was able to root my Xperia Mini Pro sk17i and greatly expand my devices applicability. Thanks to all of you!

Sorry, that the post got that long - hope that someone is still so kind to read and answer to it. I just wanted to be as precise as possible in the desription of my problem.

And here it comes. As the title of my post already implies, my ultimate goal is to mount nfs shares of my NAS and Router in my private network as user-friendly and simple as possible.

So far, I tried the following to achieve this goal:

  1. Install busybox to generally expand linux capabilities of the device
  2. install the Android Terminal emulator also from Google play
  3. as previuosly mentioned, the device is rooted and Super user capabilities are set
  4. created a mount-point for the nfs share
  5. installed cifsmanager for mounting/unmounting with one click later

I tried to manually mount the share in the terminal. Without busybox i had no luck, but actually that was not sursprising at all. With busybox however, it worked instantly - what indeed surprised me, because this thread here implied somehow the kernel, as is, wasn't even capable to do it without additional modules. I could easily browse the share with ES file manager etc. and make use of my shares. So far, so great. :good:

But opening a terminal, get super user rights and mount manually by typing the whole sequence of
Code:
busybox mount -o nolock,vers=3 -t nfs 192.xxx.xxx.x.x:/my/nfs/share /mnt/MyLocalFolder
is not what you'd call simple or user-friendly at all.

So i aimed to improve the mount procedure with cifsmanager, but I always fail. And do no not understand what i am doing wrong. Initially i tried it without further kernel modules, encouraged by the success i had with busybox. But i always got a "Invalid argument" reply.
During the troubleshooting I stumbled upon this post, and thx to zxp's files, i managed to add the kernel modules to my /system/lib/modules folder (and yes, I have the exact same original/stock GB kernel version they are intended for).

But still no luck - even after i added slow-work.ko to the list of modules loaded by cifsmanager in the properties (placed before cifs.ko as it was suggested by another thread found somewhere in the forum). The info tab states the modules are loaded, but i still receive the same crooked "Invalid argument" message. What the heck am I doing wrong? :eek:

Seems to me there is some sort of general syntax issue - here is what info I give the app:

Share: 192.xxx.xxx.x.x:/my/nfs/share
Mount Point: /mnt/MyLocalFolder (tested with and without the mount point prefix in properties)
User: guest (default - without it, it wont work,app description states it will be ignored for nfs shares anyway)
Pwd: left empty
Options:nolock, vers=3 (tested with and without these - but where generally considered essential in some threads + my shares are nfs_v3)

Does somebody have an idea what is going wrong and might point me in some useful direction?

Thanks and Cheers to you all,
Nix
 

shardul_seth

Senior Member
Jul 31, 2011
1,102
1,717
0
Use script manager and create a script!




Hello folks,

as this is my first post here, i'd like to thank all of the contributors for the excellent Guides and Howtos on this platform. Based on the instructions in this forums i was able to root my Xperia Mini Pro sk17i and greatly expand my devices applicability. Thanks to all of you!

Sorry, that the post got that long - hope that someone is still so kind to read and answer to it. I just wanted to be as precise as possible in the desription of my problem.

And here it comes. As the title of my post already implies, my ultimate goal is to mount nfs shares of my NAS and Router in my private network as user-friendly and simple as possible.

So far, I tried the following to achieve this goal:

  1. Install busybox to generally expand linux capabilities of the device
  2. install the Android Terminal emulator also from Google play
  3. as previuosly mentioned, the device is rooted and Super user capabilities are set
  4. created a mount-point for the nfs share
  5. installed cifsmanager for mounting/unmounting with one click later

I tried to manually mount the share in the terminal. Without busybox i had no luck, but actually that was not sursprising at all. With busybox however, it worked instantly - what indeed surprised me, because this thread here implied somehow the kernel, as is, wasn't even capable to do it without additional modules. I could easily browse the share with ES file manager etc. and make use of my shares. So far, so great. :good:

But opening a terminal, get super user rights and mount manually by typing the whole sequence of
Code:
busybox mount -o nolock,vers=3 -t nfs 192.xxx.xxx.x.x:/my/nfs/share /mnt/MyLocalFolder
is not what you'd call simple or user-friendly at all.

So i aimed to improve the mount procedure with cifsmanager, but I always fail. And do no not understand what i am doing wrong. Initially i tried it without further kernel modules, encouraged by the success i had with busybox. But i always got a "Invalid argument" reply.
During the troubleshooting I stumbled upon this post, and thx to zxp's files, i managed to add the kernel modules to my /system/lib/modules folder (and yes, I have the exact same original/stock GB kernel version they are intended for).

But still no luck - even after i added slow-work.ko to the list of modules loaded by cifsmanager in the properties (placed before cifs.ko as it was suggested by another thread found somewhere in the forum). The info tab states the modules are loaded, but i still receive the same crooked "Invalid argument" message. What the heck am I doing wrong? :eek:

Seems to me there is some sort of general syntax issue - here is what info I give the app:

Share: 192.xxx.xxx.x.x:/my/nfs/share
Mount Point: /mnt/MyLocalFolder (tested with and without the mount point prefix in properties)
User: guest (default - without it, it wont work,app description states it will be ignored for nfs shares anyway)
Pwd: left empty
Options:nolock, vers=3 (tested with and without these - but where generally considered essential in some threads + my shares are nfs_v3)

Does somebody have an idea what is going wrong and might point me in some useful direction?

Thanks and Cheers to you all,
Nix
 

Nixblicker

Member
Dec 15, 2012
14
4
0
that works, but...

Well, yeah - that was an option. I already did, and it works with the busybx mount as stated.
But i would have to write another to mount another share, unmount them, and one to prevent ES file manager to somehow occupy the mount to make it busy before unmounting etc.

I hoped that cifsmanager would smooth and ease the mounting/unmounting.

Thank you for your suggestion, anyway!

Cheers, Nix

Use script manager and create a script!
 
Last edited: