Hi XDA-Dev-Team,
first of all ... thanks for the great work to get Tab working with Gingerbread.
I wan´t to use openvpn with the CF-Root-Image from Chainfire but it looks like there is no dev tun.ko module ?! So Open-Vpn does not work !!
I have tried to build my own kernel with tun-support as module from the Stock-Kernel i have downloaded from opensource.samsung.com. But when i take this module to the Tab i get an error from insmod like this:
insmod: invalid module format
dmesg:
tun: exports duplicate symbol tun_get_socket (owned by kernel)
So is it possible to build a rootes-kernel with this tun.ko module included or is there a other trick to get this work ?
Thanks
Mario
Some background info:
I'm the author of PPP Widget which is an app that enables mobile data connections on Android devices with USB host capabilities - even if they are WiFi-only.
It turned out that many Android devices have the drivers for 3G sticks already on board, included with the stock kernel. The one large exception are Samsung devices ...
I started to provide the missing drivers as modules (mostly "ppp_async" and "option" which depends on "usb_wwan"). That worked well for some Google devices and also for Samsung devices running ICS, using the source packages from
http://opensource.samsung.com/
In their JB kernels though, Samsung enabled the "MODVERSION" option. Furthermore, compiling the modules with the officially recommended toolchain resulted in a different "module_layout" checksum than in the modules provided in the firmware.
This prevents using any additonal modules on the devices. "insmod" refuses to load these modules.
The only explanation for this problem is that the custom device configuration provided in the source packages does not match the configuration of the device kernel.
This is the case for all GT-P31xx and GT-P51xx models as far as I can tell.
My take is that Samsung is required to provide the correct kernel configuration under the rules of the GPL. Maybe anyone else wants to contact Samsung on this behalf; I already did several times - still waiting for an answer ...
That's the reason why I build everyting from source including the GPU driver and lost exFAT support http://forum.xda-developers.com/showthread.php?t=1859227 and the boot image result http://forum.xda-developers.com/showthread.php?t=1855700 .
ketut.kumajaya said:
That's the reason why I build everyting from source including the GPU driver and lost exFAT support
Click to expand...
Click to collapse
Unfortunately, replacing the kernel is no option for end users. The modules I provide are going into a folder on the sdcard, and can be "insmod'ed" from there with no problem - once their magic string and the "modversions" are matching the kernel on the device. The latter is the wall I'm hitting ...
JFDee said:
Unfortunately, replacing the kernel is no option for end users. The modules I provide are going into a folder on the sdcard, and can be "insmod'ed" from there with no problem - once their magic string and the "modversions" are matching the kernel on the device. The latter is the wall I'm hitting ...
Click to expand...
Click to collapse
Thanx alot for such a great development. ...
Adi™
Creator Of Sungsonic™HD
I have received a reply from Samsung. They have updated the JB open source package for GT-P3110, GT-P5110 and GT-N7100 (which previously included a config file from 3.0.15 for a kernel version of 3.0.31 !!).
Unfortunately, the modversions of the compiled kernel are still different and incompatible. I have replied with these finding.
Waiting again ...
BTW, the only recent kernel config consistent with the actual device kernel that I have found is for the GT-N8000 (3.0.31). So it is possible to provide a matching configuration.
JFDee said:
I have received a reply from Samsung. They have updated the JB open source package for GT-P3110, GT-P5110 and GT-N7100 (which previously included a config file from 3.0.15 for a kernel version of 3.0.31 !!).
Unfortunately, the modversions of the compiled kernel are still different and incompatible. I have replied with these finding.
Waiting again ...
BTW, the only recent kernel config consistent with the actual device kernel that I have found is for the GT-N8000 (3.0.31). So it is possible to provide a matching configuration.
Click to expand...
Click to collapse
If You will start to work with kernel I'm willing to beta test with my P5110. Only issue for me is that I need to know what 3G dongle to buy (well need it anyway so would prefer an advice from someone who know something about it). I'm living in Poland and Ireland (once here once there) so I can even test LTE modems (well donations here, myself can spend up to ~50€ on 3G one) because in Wroclaw, Poland I heard it's quite good, also I got H+/H on SGSII here. While in Ireland signal is not THAT strong due to fact most of places are quite remote (except Dublin, Galway etc). Hope I can help in either way
This is what I wrote to Samsung concerning the botched configuration file provided with the latest GT-P3110 kernel source:
Thank you for the source code update.
However, I have asked for the kernel configuration that matches exactly the kernel on the GT-P3110.
I have compiled the kernel from the provided update, but the module layout checksum does *not* match the one from the kernel running on my device.
On the device: module_layout 0xb5a27644
From source: module_layout 0x143474f1
I have used the recommended toolchain "CodeSourcery 2010q1" and the unchanged config file provided with the source ("android_espresso_omap4430_r04_user_defconfig").
Please be aware that you are obliged by the GPL to provide the correct config file for the binary kernel that you are distributing.
As a side note: the configuration provided with the kernel source for the GT-N8000 *does* match the kernel on the device, so there is no doubt that it is possible to get the configuration right.
Other Android vendors are just enabling the "embedded" config file in the kernel, so that the correct configuration is simply available on the device as "/proc/config.gz". This is so much less trouble. I suggest that you enable this option for Samsung kernels too.
Regards,
...
Click to expand...
Click to collapse
The GT-N8010 is also in the same situation you describe - config for 3.0.15 and jb stock kernel at 3.0.31, can't build working modules for stock.
davp, there seems to have been some activity at the Samsung open source center after my messages.
I suggest you make yourself heard as well. Use the "Inquiry" button next to the package download link in the table for your device.
To be able to add working modules to the device, the kernel configuration for the source has to be 100% compatible. It does not matter if any closed drivers are missing as we don't want to replace the kernel - but all those general debugging config options should be correct.
BTW, there is a history of similar issues:
http://forum.xda-developers.com/showthread.php?t=1123643
The kernel source for the GT-P3110 has been updated once more, and this time they have fixed the configuration.
With the latest JB update we can actually build working modules for the current firmware.
I confirmed this to the Samsung people and reminded them of the other devices in need of this fix: GT-P3100, GT-P5100, GT-P5110, GT-N7100 and probably more (like the GT-N8010).
JFDee said:
The kernel source for the GT-P3110 has been updated once more, and this time they have fixed the configuration.
With the latest JB update we can actually build working modules for the current firmware.
I confirmed this to the Samsung people and reminded them of the other devices in need of this fix: GT-P3100, GT-P5100, GT-P5110, GT-N7100 and probably more (like the GT-N8010).
Click to expand...
Click to collapse
So for now we might get stock kernel which will support 3G modems via USB OTG? How about other kernels such as CM10.1?
I'm looking for good 3G dongle then Any advices?
Additional kernel modules for stock JB P31xx (tested) and P51xx (untested), contains:
- usb_wwan, ppp_async, and option module for PPP Widget
- dns_resolver, md4, and cifs module for cifs/samba filesystem support
- sunrpc, lockd, and nfs module for nfs filesystem support
Kernel config file attached.
FTDI Single Port Serial Driver added.
cifs.ko not working on P3100 JB 4.1.2 (stock rooted)
ketut.kumajaya said:
Additional kernel modules for stock JB P31xx (tested) and P51xx (untested), contains:
- usb_wwan, ppp_async, and option module for PPP Widget
- dns_resolver, md4, and cifs module for cifs/samba filesystem support
- sunrpc, lockd, and nfs module for nfs filesystem support
Kernel config file attached.
Click to expand...
Click to collapse
Hi ketut.kumajaya,
I'm trying to use cifs.ko but i get:
/system/lib/modules # insmod cifs.ko
insmod: can't insert 'cifs.ko': unknown symbol in module or invalid parameter
I have:
/system/lib/modules # uname -a
Linux localhost 3.0.31-1084989 #1 SMP PREEMPT Mon Mar 25 14:53:07 KST 2013 armv7l GNU/Linux
I tried other cirs.ko with same result.
Can you give me some clues of what can I do?
Thank you.
Try insmod in order:
insmod dns_resolver.ko
insmod md4.ko
insmod cifs.ko
If something goes wrong, see the kernel messages using dmesg.
ketut.kumajaya said:
Try insmod in order:
insmod dns_resolver.ko
insmod md4.ko
insmod cifs.ko
If something goes wrong, see the kernel messages using dmesg.
Click to expand...
Click to collapse
Great!!!
That's the solution.
In my Tab 10.1 4.0.4 I'm loading (different kernel and different modules, of course):
insmod cifs.ko
insmod md4.ko
insmod nls_utf8.ko
So I was not thinking I should use a different order.
Thank you.
hi,
as I understand, the only way to permanently mount the samba network share, is using CIFS modules:
(http://forum.xda-developers.com/showthread.php?t=1792190&highlight=cifs)
is there an 'easy' way (at least easier the this: http://forum.xda-developers.com/showthread.php?p=35189120&highlight=cifs+ko#post35189120 ) to 'get' CIFS modules work with stock rom/roms?
PS.
1. I know that there is a lot o file managers able to view samba share.
2. CM10 has CIFS modules and Yank555.lu kernel made by ausdim (http://forum.xda-developers.com/showthread.php?t=2167091&highlight=cifs), but what I'm intrested is stock rom
Hey all,
I'd love to have CIFS capability on my HTC One M7. I'm currently running Android Revolution HD Google Play Edition, 6.6 or something like that I think, don't remember exactly. Kernel version is 3.4.10 (I think that's what's really relevant here anyway)
Does anyone know where I can get a CIFS module to compile into the kernel or into a .ko to load in? Or do .ko's require any special compiling or prep to work? I assume I don't have it, since in CifsManager and the like I get a no such device error yet ES File Explorer works fine for getting to the target SMB IP. One time I had to make a change to my Debian laptop's kernel and re-compile, so maybe I can figure it out if I have a cifs module to compile. But I'm still a noob at this, so any help is much appreciated. Thanks!
Hi all, if your goal is simply to play music and video from your NAS to your android device, you can use Kodi (xbmc) that can access cifs path directly!