After five months of waiting it is here – CIFS arrived to my tablet due to release of the GPL’ed kernel source code by bq, Spanish company.
This module was really anticipate by anyone who want to share data between PC and android tablet without any hassle that SMB place upon user. I mean there is no need to copy of the hundreds of MB just to read some PDF or interact with other file types!
With CIFS You can enjoy 2TB HDD mounted into Your Android tablet as local hard drive!
Ok, end of prolonged introduction… time to share.
Disclaimer:
Tablet needs to be rooted to be able to insert new module.
To auto load modules You will need to edit /init.rc and place insmod there. It’s simply mater of
[cc lang=”text” escaped=”true” width=”100%” height=”100%”]
adb root
adb pull /init.rc
edit init.rc (place insmod cifs.ko / md4.ko)
adb push /init.rc
adb push cifs.ko /system/lib/modules/cifs.ko
adb push md4.ko /system/lib/modules/md4.ko
adb reboot
[/cc]
Look on the web for more info. Placing modules into /system/lib/modules won’t auto load them (at least that didn’t happen on mu ICS)!
Ready solution:
Download cifs.ko and md4.ko for kernel 3.0.8+
Links: cifs.ko, md4.ko
Place these files into SDCard, i.e. /sdcard/cifsMnt .
Next(optional step – for testing!)
You will have to manually load md4.ko and cifs.ko using shell (either from device or by adb shell):
[cc lang=”text” escaped=”true” width=”100%” height=”100%”]
cd /path/to/cifs.ko
su
insmod md4.ko
insmod cifs.ko
[/cc]
If module was successfully loaded no output will be printed. To see if indeed module is loaded use lsmod. You should see something like this:
[cc lang=”text” escaped=”true” width=”100%” height=”100%”]
lsmod
md4 3331 0 – Live 0xbf1ea000
cifs 226056 0 – Live 0xbf1a7000
wlan 419459 0 – Live 0xbf129000
vpu_service 11791 0 – Live 0xbf122000
rk29_ipp 9541 0 – Live 0xbf11c000 (C)
mali 121577 16 – Live 0xbf0f1000
ump 37214 21 mali, Live 0xbf0e1000
rk30xxnand_ko 882634 0 – Live 0xbf000000
[/cc]
Reason why you need to load md4.ko is that it contains hash algorithm for the user authentication and without it You won’t be able to authenticate with NTLM and hence connect to the share. In case of any error given by i.e. CifsManager use dmesg to see detailed error message.
At this point everything should be loaded and ready to use.
I use CifsManager to manage my CIFS shares. If You don’t have already installed this app on the tablet then go the the google play store and install it.
As said before I use CifsManager and if You don’t want to use it You can edit init.rc so that cifs.ko is loaded at the boot time and auto mount shares. I don’t use shares all the time and using CifsManager allows me to free some memory as modules are loaded only when needed.
Configure CifsManager:
In settings check:
[cc lang=”text” escaped=”true” width=”100%” height=”100%”]
Load cifs module
Load via insmod
Path to cifs.ko[:<modpath>]* type:
/path/to/cifs.ko:/path/to/md4.ko
[/cc]
That’s all that there is to use CIFS with CifsManager.