[Q] CIFS support in kernel - Nook Color General

I am not a developer, and I know NC just rooted in few days but we have made great progress to make NC as a full function tablet. I am just curious to know how far we leave to have a CIFS supported kernel.
My dream is quite simple, I want my NC can play tons of video files in my NAS via wifi, so CIFS kernel is the first step to make it true.

Kernel version
If someone can tell me the Android kernel version that is on the NookColor I can experiment with CIFS.
Thanks in advance,

according Nookdevs,
Operating system Android 2.1 (Eclair based on Linux kernel 2.6.29)

ctos said:
I am not a developer, and I know NC just rooted in few days but we have made great progress to make NC as a full function tablet. I am just curious to know how far we leave to have a CIFS supported kernel.
My dream is quite simple, I want my NC can play tons of video files in my NAS via wifi, so CIFS kernel is the first step to make it true.
Click to expand...
Click to collapse
If we can get CIFS support then we can use CIFS manager to mount shares locally.
and use rockplayer or the built in media player to play videos over wifi.
http://forum.xda-developers.com/showthread.php?t=756158
I wonder if we can compile the CIFS.ko module from the source released by B&N.
I will have a look over the weekend if time permits.

hi dascud,
nice to hear you will have a try and waiting for your good news.

i'm not a *nix developer, but since we can install Optware on the NC can we install the samba packages and achieve this?

Samba is probably too fat for the nook. CIFS kernel support shouldn't bo difficult. Mounting the shares directly is way more efficient.

ctos said:
hi dascud,
nice to hear you will have a try and waiting for your good news.
Click to expand...
Click to collapse
So I downloaded the source and compiled the cifs module and the nls_utf8 modules.
modinfo shows that the modules version is
vermagic: 2.6.29-omap1 preempt mod_unload ARMv7 which matches with the running nook kernel.
Unfortunately no luck trying to insmod the modules.
I think the running kernel may have no support for loadable modules and we may need to recompile and replace the stock kernel for loadable module support.
If anyone else wants to give it a shot here are the links to the compiled modules.
http://dl.dropbox.com/u/16190398/cifs.ko
http://dl.dropbox.com/u/16190398/nls_utf8.ko

dascud said:
Unfortunately no luck trying to insmod the modules.
I think the running kernel may have no support for loadable modules and we may need to recompile and replace the stock kernel for loadable module support.
Click to expand...
Click to collapse
I only dabble in Linux so I may be way off here, but I'm pretty sure there's loadable modules in the firmware that are being used.

clockworx said:
I only dabble in Linux so I may be way off here, but I'm pretty sure there's loadable modules in the firmware that are being used.
Click to expand...
Click to collapse
Ok. We have a working cifs.ko and nls_utf.ko . I was able to mount my win7 share using cifs manager and play a few movies using mvideoplayer from the mounted share.
My initial problem seemed to be that I used the android ndk toolchain and the nook kernel is compiled with the codeSourcery toolchain.
After I re-compiled using the codeSourcery toolchain everything works (at least for now)
For those who want to try this.
Download the cifs.ko and nls_utf8.ko modules.
http://dl.dropbox.com/u/16190398/cifs.ko
http://dl.dropbox.com/u/16190398/nls_utf8.ko
Mount /system as read write and create a directory under /system/lib called modules. Just copy the cifs.ko and nls_utf8.ko modules under this directory.
Type the following from your windows or linux console.
adb shell
#mount -o remount,rw /dev/block/mmcblk0p5 /system
#su
#cd /system/lib
#mkdir modules
#exit
#exit
Now you are back in your windows or linux command prompt
adb push cifs.ko /system/lib/modules
adb push nls_utf8.ko /system/lib/modules
adb shell
#su
#insmod /system/lib/modules/cifs.ko
#insmod /system/lib/modules/nsl_utf8.ko
if everything went well you should see no errors.
#lsmod
(THis should give you a list of running modules)
You should see something like
nls_utf8 1856 0 - Live 0xbf153000
cifs 240060 0 - Live 0xbf113000
#exit
#exit
Download cifs_manager from the android market and follow the instructions from
http://forum.xda-developers.com/showthread.php?t=756158
BTW, you can copy the modules anywhere you like even under /sdcard/modules but the default path used by cifs_manager is /system/lib/modules.

Awesome! I am eager to try this out. I have CiFs working on my EvO and it rocks.
Sent from my LogicPD Zoom2 using Tapatalk

Cool! Dascud, you are the man!
I will have a test after upgrading my NC to 1.0.1.
Thanks a million for your efforts!

Nice.
Installed the modules and cifs manager (which I haven't used before.)
Just set up a test share...
NC rebooted.
Booting again now, not sure what is up. I have not had any file sharing configured on my network for a while so its entirely possible that I have a share misconfigured or something not installed. Late now, so I will try more tomorrow.

can somebody please reupload
cifs.ko
nls_utf8.ko
They are not on dropbox any longer.
Thanks.

There you go....

thank you ser

Does anyone know if this will work in rooted 1.2? tried the steps as described, have cifs.ko and nls_utf8.ko in /system/lib/modules, but all I get is "Exec format error"
Any ideas? Thanks!

Related

tun.ko for NEXUS ONE available?

as I am behind the GFW of CN I am eager to get openvpn to work (trying with TunnelDroid, with vpn binaries of WITOPIA...
unfortunately i can't get the connection to work, and apparently it is because of the lacking tun.ko
I took the only tun.ko I can find online (vpn connnections, for DROID...), but apparently the current Nexus One kernel does not support.
Does anybody have a tun.ko file that works on Nexus One?
thanks....
I have the exact same problem.......I need a tun.ko to start using witopia to get through the stupid ISP block on google Voice !!
So if anyone has any working tun.ko PLEASE PLEASE help us out !!
I got it !!
Finally......I managed to extract the tun.ko from Modaco's latest build, so credit goes to Modaco for this, I just extracted it for those who like to stick to Stock Roms (like myself for now).
I tested it and it works
How do you guys like openvpn on android? is it pretty stable? Has anyone tried using Access Server?
Are you sure you're running the stock OS?
I am still getting those messages:
insmod: init_module 'tun.ko' failed (Exec format error)
and in dmesg:
tun: version magic '2.6.29.6-cm-teknologist-0.1 preempt mod_unload ARMv7 ' should be '2.6.29-01117-g4bc62c2 preempt mod_unload ARMv7 '
@chirayu : Well, I dont like it so much right since it still needs ALOT of work. Its lacking ALOT of things right now.
@sjakub : Yep, im running the latest ERE36 update. But yea its a stock image.
I didnt see any of the errors you mentioned. I got differnet errors while I was trying it with Witopia, which didnt really work out, but it doesnt seem like a tun driver issue, it was something about an encryption key not available, still working on that.
I have ERE27, that could be why. Where did you get that update from?
Can you get some other module from that phone (like bcm4329.ko) and look for 'vermagic' string inside?
Also, how did you extract tun.ko from that build? Maybe it's possible to extract one from the ERE27-based build?
sjakub said:
Also, how did you extract tun.ko from that build? Maybe it's possible to extract one from the ERE27-based build?
Click to expand...
Click to collapse
Well, the tun.ko is tested and works fine on ERE27 and ERE36 updates so that shouldnt be the problem.
As for the other files, like bcm4329.ko . Why would you need that ? It should be there by default ? as far as i know that module is responsible for certain wireless activities, I do have that file with me if you need it.
As to how i extracted, its simple.....I made a NAND backup of my stock image then flashed Modaco's latest update including the tecknologist kernel which supported tunneling and therefore included the tun.ko. Copied the file to the sdcard, then restored the backup and copied the files to /system/lib/modules
I don't NEED that module.
I would like to know what is the value of "vermagic" inside.
This is the string that describes the version of the kernel used.
Now, if it's something like '2.6.29-01117-g4bc62c2' and the one in the tun.ko you posted is '2.6.29.6-cm-teknologist-0.1' it means that you're somehow able to load module that has a different vermagic than a kernel. If the vermagic in bcm4329.ko is '2.6.29.6-cm-teknologist-0.1' it means that you have a different version of the kernel (and not the stock one). I have no idea why it would be working with ERE27 in that case, unless it was modified ERE27, not the stock one. Or, you were able to load an incompatible module somehow. In that case I would start investigating how to do that with my kernel as well
Hm, or you could check you phone's info:
Could you, on your phone, go to "Settings->About phone" and check what it says under "Kernel version"?
Thanks!
Finaly! I figured out how to build tun.ko module for the stock kernel.
If anybody wants to repeat that:
* I have Android OpenSource installed in /opt/android
* In /opt/android I did: git clone git://android.git.kernel.org/kernel/msm.git kernel-nexus
* In kernel-nexus I did:
- git checkout -b origin/android-msm-2.6.29-nexusone
- git checkout HEAD^
(The last operation reverses one revision, I needed a previous revision from the tree. Different revisions generate modules with different vermagic values)
(Actually, instead of previous two this should work as well - it should checkout the correct revision: git checkout 4bc62c230b2942bea72c3b5258e3e4f1d6cb534b )
- make ARCH=arm CROSS_COMPILE=/opt/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- distclean
- adb pull /proc/config.gz
- gunzip config.gz
- mv config .config
- Edited .config: changed "# CONFIG_TUN is not set" to: "CONFIG_TUN=m"
- make ARCH=arm CROSS_COMPILE=/opt/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- modules
- The driver ends up in: drivers/net/tun.ko
- You can verify if it is going to match the kernel by running:
+ strings drivers/net/tun.ko | grep 2.6.29
+ It should produce "vermagic=2.6.29-01117-g4bc62c2 preempt mod_unload ARMv7"
+ The "2.6.29-01117-g4bc62c2" should be the same as the "Kernel version" in "Settings->About phone" on your phone.
* Now you can upload the module to your phone. I did:
- adb shell mount -o remount,rw /dev/block/mtdblock3 /system
- adb push drivers/net/tun.ko /system/lib/modules/
- adb shell mount -o remount,ro /dev/block/mtdblock3 /system
- And you can use adb shell, enter /system/lib/modules and run: insmod tun.ko
- It should work
The module is attached.
hey Sjakub..
I have tried using your module and I got the same thing like with the one i extracted from Modaco's mod. The tunnel droid gets stuck at "Connecting" any ideas?
Thanks again for all your work mate appreciate it !
Cyanogen Roms have built-in openvpn support. I don't have any problem using Tunneldroid on CM 5.0.4.1. I got the tun.ko error only when I was on the stock ROM. I'm also behind the GFW. Witopia does the trick for me.
thank you sjakub~i used to use your tun.ko working very well with tunneldroid.but after i update the kernel that supports tethering.the tun.ko doesn't work... the new kernel version is:2.6.29-gad36b87-dirty...
The tun.ko module has to be compatible with the kernel you have. Where did you get the kernel from? You need to find a source of exactly that kernel version and compile tun.ko yourself.
sjakub said:
The tun.ko module has to be compatible with the kernel you have. Where did you get the kernel from? You need to find a source of exactly that kernel version and compile tun.ko yourself.
Click to expand...
Click to collapse
i download the kernel for my nexus one from here ——code.google.com/p/android-wifi-tether/
and i follow the steps in the site to flash my rom :code.google.com/p/android-wifi-tether/wiki/NexusOneKernelUpdate
finally...i'm not able to use the previous workable tun.ko which you built...and i'm afraid that i was too amateur to complie tun.ko myself even though you have already list out the compiling steps...
Try asking authors of the wifi-tether for that module. That's probably the easiest way
sjakub said:
Try asking authors of the wifi-tether for that module. That's probably the easiest way
Click to expand...
Click to collapse
okay~i manage to browse that source in google code,though,i can't found tun.ko module.or maybe i will flash cyanogen rom which consist of all the necessary things
anyone brewing a tun.ko for nexus one froyo stock kernel. I don't see aosp code to build right now.

HTC Legend: full r/w access via overlay filesystem

Hey all,
No idea at all if this is possible or even applicable to the Legend [I'm not a dev, but still learning about Android ], but I thought it deserves a thread of its own just in case the method allows us to run metamorph on the Legend...
ValMar73 posted the quoted text below HERE
ValMar73 said:
Dear All,
I just noticed that people applied a trick to desire roms to obtain a kind of writing permissions on /system. Essentially, they create a "shadow" /system dir and the system looks for files in this dir before getting the ones from system.
See the details here:
http://forum.xda-developers.com/showthread.php?t=748025
People could run metamorph on the Desire with this and they applied to CM6 nightlies (Desire version)
Now, this should be applicable also to the Legend, right? All that is needed is the aufs module for the kernel. Does anyone know if this module is in the kernel in CM6 for the Legend?
Valerio
Click to expand...
Click to collapse
If the above is not applicable to the Legend... MOD: please feel free to delete thread.
I. they havn't succeed.
II. our kernel didn't include aufs, neither desire. you should compile module. it's called cross compile to get binaries via a pc.
or you can use aufs module for desire, with your own risk. anyway, it couldn't turn your legend to a bomb.
III. you should remount aufs to "the right mountpoint".
you should change fstab with update.zip <------ it could damage your system.
IV. sorry for my pool english.
Theta did succeed. The thread is listed as Fixed. On Page 6 they are discussing how to best implement it.
Sent from my Desire using Tapatalk
thx i ll try later
it could be used on legend after "cross compile".
Yes, it could be done. The principle is the same as on those Asus EEE PCs. Haven't read that Desire thread in all but I'm familiar with procedure to achive this. But the question is... is it worth? What would one gain with this? You still won't be able to remove fileas from system partition for real and you'll have references to "deleted" files on data partition which also will take space and inodes. So basically for any "deleted" file from system partition, you'll have less space on data partition.
First as lucloner said, you need aufs module. Then you'll need rw store. It can be directory on data partition or small image with file-system in it also on data partition. Then you have to mount aufs and mount-move partitions to the right places. It is imperative that this procedure is done as soon as possible in init.rc before any other service is run. Guys at Desire thread put the script into run-parts init.d script (I believe) which I wouldn't suggest. The possibility to damage the system is really infinitesimal and everything can be reversed. Also fstab is not an issue as there is no fstab in initramfs environment.
When I have time (possibly beginning of next week) I will prepare myself a cross-compiling environment for compiling kernel and try to compile aufs module for Legend's 2.6.29-5f084974 kernel. Then I will try to prepare init.rc with integrated aufs procedure.
if you will compile a kernel, plz add compcache module which already included in the kernel.
i'm lazy lucloner. lol
Have you tried compcache on some embedded device yet? I mean what's the actual gain? You have to take into acount that you have slow processor and compression would take time thus battery would drain faster.
compcache is great! it performans in my pIII laptop with 480 ram and ubuntu 10.04.
if you want to more ram, compcache is faster and better than swap. and drain battery faster for sure.
as a module, it could be disabled. i just decide to try.
in wiki:
wiki.cyanogenmod.com/index.php?title=Swap_and_Compcache
-------------
no i've not tried it on embedded device.
forgive my damn english.
OK guys, I managed to cross-compile Legend's kernel and add aufs module. I tried it and it worked.
You can download kernel and aufs module for Legend 2.03.405.3 (kernel version 2.6.29-5f084974) and give it a shot. Be advised, that there is only kernel image (not boot.img) and actual module aufs.ko in this zip archive.
You can try aufs like this (of course you have to be root and know what you are doing):
Code:
insmod /<dir_to_aufs_module>/aufs.ko
mount -o remount,rw rootfs /
mkdir /aufs
mkdir /rw
mount -o dirs=/rw:/data=ro -t aufs none /aufs
...now you should see contents of /data in /aufs. Any changes to /aufs should now be reflected in /rw and /data stays intact. Be careful not to drain all RAM as you are playing on initramfs
Please report back or feel free to continue the implementation.
Thread Closed.
New thread from BlaY0 Here: http://forum.xda-developers.com/showthread.php?p=7983387

CIFS Module for Windows Networking (ROOTed ONLY)

Attached are cifs modules for use with the CIFS Manager application in the market. CIFS Manager lets you mount Windows SMB network shares on your filesystem. This allows you to stream content from Windows to your Xoom without having to download it first.
> You must have rooted your Xoom to install the cifs module and to use CIFS Manager.
> I am not the author of the cifs module or CIFS Manager. I merely compiled up the cifs module from the kernel source for your enjoyment.
There are two different zips attached. Use cifs.zip if you have rooted your Xoom and are running koush's kernel. Use cifs-overclock.zip if you have rooted your Xoom and are using coolbho3000's overclocked kernel.
Copy the cifs.ko module to /system/lib/modules using adb:
Code:
adb remount
adb push cifs.ko /system/lib/modules
adb reboot
Then install the CIFS Manager application and enjoy browsing content on your Windows server.
thanks much
I am just a newb to all this but can someone please explain how to setup cifs to see and work with shares?
Just curious, do I have to use a ADB to get the file there or will root explorer do?
Sent from my Xoom using XDA App
question 1)
- install cifs.ko
- install cifs manager or mount manager
- configure share to mount (server/share user/passwd if required)
and that's it
question 2)
root explorer will work just fine (remember to remount /system as rw)
is this working for anyone since the OTA? module loads for me, but just won't mount.
http://forum.xda-developers.com/showthread.php?t=994246
onicrom said:
http://forum.xda-developers.com/showthread.php?t=994246
Click to expand...
Click to collapse
I wonder if it has anything to do with why busybox can't handle domain names. 'wget' has to have an IP address, it won't resolve a name.
Well I don't use the fqdn just the hostname
# cat /system/etc/hosts
192.168.1.2. samba
mount doesn't use busybody afaik, but interesting thought
Sent from my Xoom using XDA Premium App
Sweet, thanks. Looking forward to trying it out.
I got all of it working but it just stopped. I can't mount anything. Twice I was about to reboot the server and the XOOM and started working again. I can use Scanshares and it can see my server and all the shares.
Will either of these work for any recent kernels? I'm trying to mount but I get "no such device" error.
jlaw904 said:
Will either of these work for any recent kernels? I'm trying to mount but I get "no such device" error.
Click to expand...
Click to collapse
The cifs module needs to be compiled against your kernel source. So if using a custom kernel ask your developer for a copy.
any chance to have a cfis file for the 3.1 Fw ?
Wondering the same thing -- anyone have any luck finding an updated version for the stock 3.1 kernel?
As a rooted user, on all Tiamat kernels, I found a method to mount my windows drives by doing the following:
http://forum.xda-developers.com/showthread.php?t=1036316&highlight=how+to+mount
Be sure to install Busybox (both versions from the market were install on my xoom since it kept asking for it) to make it work. I wrote the instructions using Mount Manager but Cifs Manager works the same.
Shameless thread bump -- anyone have any luck compiling the modules for 3.1 stock?
I'm using the 1.4.4 Tiamat kernel on my US 3G Xoom, and I couldn't use either of the above modules -- I got "invalid module format." I can't update to 3.2 yet, being a 3G user (grumble), so I downloaded the source for the Tiamat kernel 1.4.4 from the Git repository and compiled my own cifs.ko module using Nvidia's Tegra development kit's toolchain. But now it says "Unknown symbol in module or invalid parameter." Better, but still not working. Anybody know what I did wrong?
Are there any news about this?
i'm struggling to stream videos to my 3.1 rooted xoom...
No updatie
Since this requires a rooted Xoom and Tiamat has an awesome kernel that includes these modules, I am not updating them any more.

CIFS Support?

Hi,
does the HTC One has CIFS support?
So that the CifsManager can be used on a rooted device?
THX
Well the app is showing as compatible on the Play Store, so I'd presume so.
No it does not.
Just because cifs manager can be downloaded doesn't mean it has Cifs support.
You need a custom rom / Kernel for that.
There are two kernels out there claiming cifs support, however I cant get either one to work.
http://forum.xda-developers.com/showthread.php?t=2235085&highlight=cifs
and
http://forum.xda-developers.com/showthread.php?t=2233665&highlight=cifs
Let me know if you get one working.
Update: there is a 3rd Kernel claiming Cifs support.
http://forum.xda-developers.com/showthread.php?t=2229300&highlight=cifs
I will try it our soon.
Any updates on this? Would love to have CIFS support and TAP network driver support. I'm thinking about trying to compile my own kernel modules but I have almost zero experience with doing this...
cifs.ko loads, but no success
jaybombz said:
Any updates on this? Would love to have CIFS support and TAP network driver support. I'm thinking about trying to compile my own kernel modules but I have almost zero experience with doing this...
Click to expand...
Click to collapse
I've gotten a cifs module to load on 3.4.10 after modifying the module final version string to reflect my specific kernel (3.4.10-geb45596) but still no success. I had success doing the exact same thing on my old EVO, but CifsManager on the HTC One throws "invalid argument", and the mount command (via terminal) says "no device", although lsmod confirms that cifs is loaded.
Any advice is welcome.
I'm also stuck trying to get CIFS.
Can you flash any kernel, regardless of ROM, or does it have to match? I'm using an Android Revolution HD GPE ROM, which doesn't appear to have CIFS support ("invalid argument", cifs.ko nowhere to be found in the filesystem according to ES File Explorer, /proc/filesystems/cifs (or something like that) does not exist, etc).
Maybe I could just flash one of the above kernels and see if it works, or does it not work like that, i.e. it has to be integrated with the ROM?

[Q] Tun.ko module

Hello,
I am trying to create a tunnel interface on my phone( which has the latest Cyanogenmod 10.2 ) by using this command:
Code:
ip tuntap add dev tun0 mode tun
I get the following error: open: No such file or directory.
I did some research and, apparently, this happens because I don't have installed the tun/tap drivers( the tun.ko module ).
Does anyone have any idea on how to get/install the tun.ko module on my phone ?
Thank you !
vladtp said:
Hello,
I am trying to create a tunnel interface on my phone( which has the latest Cyanogenmod 10.2 ) by using this command:
Code:
ip tuntap add dev tun0 mode tun
I get the following error: open: No such file or directory.
I did some research and, apparently, this happens because I don't have installed the tun/tap drivers( the tun.ko module ).
Does anyone have any idea on how to get/install the tun.ko module on my phone ?
Thank you !
Click to expand...
Click to collapse
https://play.google.com/store/apps/details?id=com.aed.tun.installer&hl=pl
I don't guarantee that there will be an module for your kernel, but you can still try
I tried it, but it says:
TUN support is possibly pre-loaded in your kernel.
Click to expand...
Click to collapse
This might suggest that the module might exist, but I double checked with lsmod and the /lib/modules directory.
If you have any idea about a kernel version for the phone that might make the Tun.ko app actually install the module, please share.
Also, if anyone else has a working tun.ko module, the Tun.ko app has an option where you can share your module( probably it's sent
to the droidvpn site ).
Thanks !

Categories

Resources