tun.ko for NEXUS ONE available? - Nexus One Q&A, Help & Troubleshooting

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.

Related

[Q] CIFS support in kernel

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!

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.

[Q] CM6 for milestone with a working openvpn?

hi. I installed CM6.1.2 for milestone (thanks doshaska) beta on my milstone (not droid) mainly because I really want to use openvpn .
However there seems no tun/tap module in /system/lib/modules (i first looked /lib/modules hoping modules lies in the normal linux module path) and also can't connect to the openvpn server with the default vpn setting program.dmesg says "Cannot allocate TUN/TAP dev dynamically"
Is the missing tun module the reason ? If so , any possiblity in the future that someone can compile the tun module for the CM6 kernel?
btw, I heard something about 2nd-boot . Is there any possiblity to run a complete new kernel avoiding the the damn locked bootload using the 2nd-boot?
PS: sorry for my poor english....

why hasnt anyone compiled modules for new ics kernel.

This is the edit to make modules work in the new kernel you must make the edit in the config.gz, tgen recompile the kernel with the new config
ACTIVATING MODULE LOADING SUPPORT IN THE KERNEL
Module loading support is previously disabled in the kernel, if we want to load modules in the kernel we have to enable it:
edit .config file and set: CONFIG_MODULES=y
We have the new ics, but no overclock or webtop without dock, and some other issues that tge older roms have. And its not because the new leaksare locked. Someone is just lazy or ignorant. So here it goes
You will need alot of free space 100GB or more of free space NO JOKE.
First go here: http://source.android.com/source/initializing.html
You may want androids kernel or cyanogens
androids kernel: http://android.git.kernel.org/
$git clone git://android.git.kernel.org/kernel/common
We check which branch we have downloaded: $git branch it shows * android-2.6.27, not the one we are searching for:
To list all remote available branches: $git branch -r
This is only refernce the kernel number for the bionic is up to 3.0 so when you git branch-r choose one for the bionic
$git checkout --track -b android-goldfish-2.6.29 origin/android-goldfish-2.6.29 $git branch
Cyanogens Follow all steps and restart computer then go here: http://wiki.cyanogenmod.com/wiki/Building_Kernel_from_source
After you have installed everything you are ready to create a complete distro from scratch.
Now go to adb and pull your working config.
adb pull /proc/config.gz
$gunzip config.gz # uncompressit. $cp config .config # renameitinto.config
Now you can edit .config file the way it suits you the most.
But really all we want is the modules for overclock and symsearch to be compiled for our new kernel
CROSS_COMPILE environment variable stores the path to the arm cross compiling toolchain. I use the one which comes with android source code.
$ARCH=arm CROSS_COMPILE=/path/to/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- make
Executing make will build the kernel.
Last lines will show:
Kernel: arch/arm/boot/Image is ready Kernel: arch/arm/boot/zImage is ready
So we have obtained Image and zImage kernel binary files.
ACTIVATING MODULE LOADING SUPPORT IN THE KERNEL
Module loading support is previously disabled in the kernel, if we want to load modules in the kernel we have to enable it:
edit .config file and set: CONFIG_MODULES=y
$ ARCH=arm CROSS_COMPILE=/path/to/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- make
I am asked about some options when executing make. I ask yes for module related options.
After compiling I see several modules have been built.
MODPOST 6 modules CC drivers/video/fb_sys_fops.mod.o LD [M] drivers/video/fb_sys_fops.ko CC drivers/video/syscopyarea.mod.o LD [M] drivers/video/syscopyarea.ko CC drivers/video/sysfillrect.mod.o LD [M] drivers/video/sysfillrect.ko CC drivers/video/sysimgblt.mod.o L drivers/video/sysimgblt.ko CC drivers/video/vfb.mod.o LD [M] drivers/video/vfb.ko
Ok so now we have a kernel that supports modules, but we still need the overclock.so or opptimizer.so compiled for this kernel. This is wete I stop because I dont have any of those modules and this was merely for information really. To get someone to compile our kernel for modular support.
I'm not even sure how Motorola phone devs even get the option to recompile the kernels seeing as how the locked bootloader doesn't let us modify the stock kernel in any way.
If/when we get Kexec, I could see this being an option, however.
It is easy to compile the kernel and edit it and even put it to the motorola droid.
There is actualy 2 ways not just 1.
1. first use follow steps compile kernel and apply it to a boot.img using an android-kitchen.( google android-kitchen) Once you allpy it to a boot.img we can flash in recovery or use an rsd lite and flash using the .xml just replace the boot.img with the modified kernel boot.img. The boot.img for the .875 is 8.3 megs as is the .902 boot.img.
2. use any kernel updater from kuash in recovery wich will replace the current zImage with the new kernel compiled in the steps you just followed.(google android any kernel updater)
So Like I said why hasnt anyone compiled a new kernel.
The Motorola Droid has an unlocked bootloader. The Droid Bionic does not. That is why kernel development barely ever happens on Moto devices.
Feel free to try to flash unsigned images to your Bionic. Let us know how that goes.

[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