Compiling X10 kernel sources - XPERIA X10 Android Development

As I was told Sony released Xperias X100 kernel sources I decided to play a little with them. This tutorial is for advanced users by the way as you need some linux knowledge (wrote it from memory as I did it one day ago).
As I'm new to cross compiling it took me a while to configure the platform correctly (I did it on Ubuntu 10.04).
- Get the sources here : http://developer.sonyericsson.com/wportal/devworld/downloads/download/dw-300009-x10donut10032501?cc=gb&lc=en
- Tutorial to set up the environment correctly : : http://source.android.com/source/download.html
- the make config file is available in the phone under '/proc/config.gz'
and 'adb pull /proc/config.gz'
* So after you set up everything as described in the android.com page in ubuntu :
- mkdir x10
- copy the kernel sources and config.gz to the x10 folder
- gunzip X10_Donut_100325_01.tar.gz
- tar -xvf X10_Donut_100325_01.tar
- go to the kernel directory in the X10_Donut_100325_01 folder
- gunzip config.gz
- rename it to .config and move it to the kernel folder (mv config X10_Donut_100325_01/esheep_linux/LINUX/android/kernel/.config)
- make ARCH=arm CROSS_COMPILE=path-to-git-repo/prebuilt/linux-x86/arm-eabi-4.4.0/bin/arm-eabi- menuconfig to choose what to compile as module
- make ARCH=arm CROSS_COMPILE=path-to-git-repo/prebuilt/linux-x86/arm-eabi-4.4.0/bin/arm-eabi- modules
'path-to-git-rep' is the folder where your placed your git repository files
a long time after this modules are compiled from source !
* I know usb host mode was already made for nexus one :
http://sven.killig.de/android/N1/2.2/usb_host/
So I looked in the Xperia kernel config and noticed usb-host was compiled with the current kernel.
I compiled the sources and added kernel modules as an attached file.
Unluckily I don't have a Powered USB 2.0 hub providing its power to the upstream port and a female usb connector to mini-usb so I cannot test if my kernel module is correctly compiled.
So if someone has this hardware please :
- copy those attached files to sdcard then
- adb shell
- su to get root
- 'busybox insmod /sdcard/usb-storage.ko'
- 'busybox lsmod' to check if module is loaded
- plug the usb hub to your X10
- plug an usb stick
- ' busybox dmesg | busybox tail' to get more infos and check if the stick is detected, if yes tell me
I also compiled the usb-serial modules so if someone has an Arduino board you may plug it to your X10 now
Of course I have no guarantee this will work (this is my first cross compiling!) so feedback is welcome !
Also my tutorial is not very great, but I hope it may help few people here.

niiiiiceee what about smb module so we can mount stuff from network video streaming over wifi here we come

thor2002ro said:
niiiiiceee what about smb module so we can mount stuff from network video streaming over wifi here we come
Click to expand...
Click to collapse
if someone tells me my compiled modules work, I will compile what's possible (as some modules depend on how kernel was compiled).

it's working !!!!!!!!!!!!!!!!!
I just compiled the samba cifs kernel module, installed and mounted it !
Now I'm seeing all my files shared on the computer
The attached file is the kernel module managing samba :
So you need to follow these steps :
- adb shell
- su
- busybox insmod /sdcard/modules/cifs.ko
- mkdir /data/local/share
- mount -t cifs -o username="myuser",password="mypass" //192.168.0.1/files /data/local/share

It will be nice if you make it work the other way around.
To share the phone sdcard

THANK YOUUUU!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Guess i have to start making mounting scripts

tuxStyle said:
It will be nice if you make it work the other way around.
To share the phone sdcard
Click to expand...
Click to collapse
that is not module related....
making modules for this kernel is actually a big deal we can add more functionality to the kernel

thor2002ro said:
that is not module related....
making modules for this kernel is actually a big deal we can add more functionality to the kernel
Click to expand...
Click to collapse
I know don't worry.
The idea was to use cross-compiling to compile samba for android
By the way: tot asa scumpi sunt aia de la Orange?

Nice work!
Is USB Host also on the cards, as well as overclocking?

instigator008 said:
Nice work!
Is USB Host also on the cards, as well as overclocking?
Click to expand...
Click to collapse
usb host is on first post but as i don't have a female usb to mini usb cable i cannot test it myself...
about overclocking i have no idea what's linked to it in kernel.

tuxStyle said:
I know don't worry.
The idea was to use cross-compiling to compile samba for android
By the way: tot asa scumpi sunt aia de la Orange?
Click to expand...
Click to collapse
samba is pretty heavy duty stuff... i think running it will drain battery like crazy...
maybe a http app that will share the phone or a ftp will be more light... on the cpu load...
RE By the way: nu .... am dat 150 euro pe tel

alx5962 said:
usb host is on first post but as i don't have a female usb to mini usb cable i cannot test it myself...
about overclocking i have no idea what's linked to it in kernel.
Click to expand...
Click to collapse
http://code.google.com/p/milestone-overclock/wiki/Disassembly
It probably won't work without some work though.
More relevant stuff:
http://forum.xda-developers.com/showthread.php?t=620081
X10_Donut_100325_01/esheep_linux/LINUX/android/kernel/arch/arm/mach-msm/acpuclock-8x50.c
Anyone up for the task?

Ive been looking through the x10 sources trying to get channel 13 wireless working. X10 uses ar6000 atheros driver which is supposed to get allowed wireless channels from the system locale. I think SE borked it and locked it to just 11 channels. Having a tough time finding out how though.
Anyone else have any ideas? I dont like it that SE just decided we dont need ch 13 and 14 even if you are in a country that allows them. Does anyone have a japanese x10 that they can verify broken ch13 and 14 with?
Oh and if it does work on the japanese x10, can you send your ar6000.ko wmiconfig and wpa_supplicant binaries over so i can try them?
Cheers
Frank
Sent from my X10i using XDA App

@op:
Can you try this ?
http://android.modaco.com/index.php?s=&showtopic=305509&view=findpost&p=1235768
We will know once and for all if the multitouch on X10 is hardware or software limitation.

tuxStyle said:
@op:
Can you try this ?
http://android.modaco.com/index.php?s=&showtopic=305509&view=findpost&p=1235768
We will know once and for all if the multitouch on X10 is hardware or software limitation.
Click to expand...
Click to collapse
We can't completely do this, as we can't flash unsigned stuff or boot into a custom kernel yet, therefore, we can't finish all of the steps.

Guys, could someone please compile tun.ko (CONFIG_TUN=m)? For vpnc and openvpn.
I could get myself to do it next week, but since some of you already have the setup...
Thanks a lot!

here comes :
- tun module
- ntfs module
I successfully installed as modules both of them on my xperia

alx5962 said:
here comes :
- tun module
- ntfs module
I successfully installed as modules both of them on my xperia
Click to expand...
Click to collapse
Thank you!!!
tun.ko loads fine, but get-a-robot-vpnc doesnt want to connect right off the bat. I'm sure I'll figure out why a little later.
Thanks again.

'dmesg' command is very useful to check problems

hey, nice work.
what about the netfilter modules to run wifi tether?
that would be great.
what kernel is needed for this modules?
i have the 023 firmeware, is this one ok?
greetz

Related

[Q] xperia x10 cifs

I want to mount some cifs or even better nfs mounts. I Found the cool cifs app, but I'm having no luck loading the cifs driver.
I have a rooted x10a
firmware 1.6
Kernel 2.6.29-rel semc-android semc 2
Build r1fa014
so what do I have to do? I have looked high and low for a x10 cifs.ko, and tried a ton of others with the app and insmod. Do I need to upgrde the kernel? build?
Current links to what I have to do would be apreciated.
Thanks
check the kernel compiling topic, I posted cifs kernel module for X10 there.
Thanks for the info
I have found your main post: # 716360, Compiling X10 kernel sources.
And I have downloaded your cifs.zip, put it on my x10. I can insmod or use the cifsmanager gui to load the module, and it appears to be running with no errors, lsmod even shows it.
But when I go to mount I still get the "No Such Device" error. Do i need to upgrade my phone first from the above specs?
I don't want to hijack the other post, so ill reply here.
Thanks
bango123 said:
Thanks for the info
I have found your main post: # 716360, Compiling X10 kernel sources.
And I have downloaded your cifs.zip, put it on my x10. I can insmod or use the cifsmanager gui to load the module, and it appears to be running with no errors, lsmod even shows it.
But when I go to mount I still get the "No Such Device" error. Do i need to upgrade my phone first from the above specs?
I don't want to hijack the other post, so ill reply here.
Thanks
Click to expand...
Click to collapse
use the same command line i used on the kernel topic,
also the destination directory must exists.
last but not least, busybox mount instead of the native android mount
if you succeed, please provide compiled module
After some work, I got it to work, and in the end it was not to complicated at all.
1. Get the CIFS module (driver) for the X10, I have attached a copy I am now using for version 1.6. It was compiled by alx5962 and put on these forums in another thread "Compiling X10 kernel sources". There is more info there. I just added "X10" to the name of his file to avoid confusion and posted it here in case of a search engine brought others here for help.
Unpack and save the file somewhere on your SD card, write down where it is at.
2. Install the CIFS Manager from apps, it will need root access to load the cifs module ("Superuser Permissions" app manages this very well), there is lots of info and this is a easy fix. Should be easy to find.
In settings:
Check "Load cifs module"
Check "Load via insmod"
the under path point it to where you saves the cifs modile (something like /sdcard/cifsx10/cifs.ko)
Then setup your share, for example:
Share Path:
192.168.0.1/Share
Mount Point:
/mnt/cifs/Share
Username"
me
Password:
mepassword
Don't worry about any of the options
And that should do it. I did try the command line mounting in the shell, that worked well too, I even made some scripts with a script app. But the CIFS Manager once i figured out my problem(read my note below), worked very well and very easy.
*NOTE* My big problem was an error when mounting "invalid argument". What I found is even if I have the share open to anyone with no password, it will spit out an error if you leave the username and password blank. I just put in "me" and "pw" (or anything really) and i was up and running in one foul swoop!
can i ask what is the point to all this?
mootmaina said:
can i ask what is the point to all this?
Click to expand...
Click to collapse
CIFS also called SMB is the network file sharing used by windows mostly, this would then let you share a folder on you sdcard over you wifi to your home pc leting you copy files to and from your phone without connectinig USB
I haven't tried to share any folders on the sdcard, but I use it to mount shares that are on the network on my pc. ES File Explorer is a nice app to browse the network, but some files wont open well using this.
My main use is to play media, mainly DIVX movies that are stored on my pc. By mounting a share on cifs ( smb - samba, or windows file sharing, both more or less same thing) I can open my DIVX movies with rockplayer and they play like a charm. I have heard of some other apps that have the same issue.
But now I can have access to all of my media stuff when i want.
you can also use webdrive - windows program for mounting ssh filesystems, and launch ssh daemon on android.
Anyone tried this on 2.1? Do we need a new cifs.ko?
Bump.
Anyone got any info on cifs and 2.1? Id like to upgrade but don't want to lose this use.
[sorry] Bump [/sorry]
I tries some of the cifs.ko files i found trying to use the same kernel version (2.6.29), but insmod gave me errors.
Please, if anyone found a working version of cifs.ko for X10 2.1 kernel, post it - or give us a hint ...
(yes i know, compiling it myself would be a way, ... - i promise i will try, but why reinvent the wheel?)
THANKS,
Bax
Bumpito
Still no news about the new cifs.ko ?
Thanks !
Sony Ericsson haven't released the sources for 2.1 yet, so no "cifs.ko" until then. (It seems SE are breaking the GPL license by not releasing their Linux kernel source code)
And is there a way without using cifs.to to play files (such as mp3 or avi) directly from a samba share on 2.1 or we have to wait ?
Bump
Anyone have any luck with 2.1 yet?
hhave we gotten this yet?
cifs.ko experia x10 2.1 rooted
dutchschultz said:
hhave we gotten this yet?
Click to expand...
Click to collapse
In this thread,
http://forum.xda-developers.com/showthread.php?t=716360&highlight=cifs&page=12
Many thanks to alx5962
goto page 1 for instruction, or just use cifsmanager for market

[Q] Ntfs-3g, rw, fstab and mount options and daemons

This is extremeley far away from howto implementing ntfs read write support in rooted archos gen9 devices.
Everybodey is welcomed to bring on ideas and modifications.
my linux know how is not too much.
Somebody interested to help implement ntfs-3g rw for rooted archos gen9?
First - is it possible?
a) It could be possible with ntfs-3g from tuxera, on their website they say its for android, too.
b) When kernel side ntfs (the read only one) is set - can one use ntfs-3g with fuse instead or does it conflict?
Dont know if ntfs in kernel is set as yes or module. Can somebody confirm something?
Second - Which files are to be transported in which directory and which are to be modificated?
What mechanism (auto)mounts blockdevices (also sticks, flash cards, etc ...)
Is it archos specific or something related to android?
Does somebody know which daemon does this job especially on g9 and what config files it has?
Is it /etc/fstab (only) ?
Downloaded the source code from ntfs-3g and have to look.
attached ntfs-3g latest stable release as source from Tuxeras Website.
had a look in running kernel modules with
adb shell lsmod
Fuse is loaded as kernel module and active.
Therefore, i assume, one could push an arm version of ntfs-3g and ntfsprogs in the directorys in a dirty way and edit some fstab entrys or other config files?
Apropos arm version. Is there somebody who was able to (cross)compile ntfs-3g for arm and attach neccessary files?
NTFS read fine on my kingston 16 GB flash.
Write on flash dont work. How fix dont know, but i'll try to search info =)
Yes, ntfs CAN be read, but we need Write-Support.
On linux no problem, and Android IS Linux. On Arm instead of x86 or a64
Everey x86-linux has Write Support.
Thanks.
gegabit said:
NTFS read fine on my kingston 16 GB flash.
Write on flash dont work. How fix dont know, but i'll try to search info =)
Click to expand...
Click to collapse
However, thank you for your report
Found It
Hi svennimann
I was going to take up this challenge and have a go at compiling it, however this post In the galaxy S2 forum has it covered.
You don't need the worry about the fuse.ko as the archos kernel already has it and It wouldn't have the right magic anyway.
I'll probably have a poke around with integrating it more into the kernel, get it to use ntfs-3g by default.
I'll post an update, if I find anything interesting out.
Wow!
Hadnt found it but who searches on galaxy thread for archos things?
And That should be on general android thread.
We are lucky now.
Okay.
Now it is possible that there are issues with mount points, scripts, and so on, and perhaps one had to change ntfs-3g permissions to 755.
for the case that something doesnt work, i think this could be do the trick if neccesary.
http://forum.xda-developers.com/showpost.php?p=15490573&postcount=49
Apropos what do you mean with right magic of the fuse module?
Yes maybe. I only did a quick root shell test to make sure it mounted and wrote. I'll play around more with it later when I get in.
With regards to magic:
.ko files are compiled against a specific version of the kernel. They contain a vermagicapp string which is checked against the installed kernel when insmod is run. If they don't match the Kernel module won't install.
That's how I understand it.
Sent from my HTC Sensation XE with Beats Audio using xda premium

Are Tablet S ICS DVB-T Modules (.ko files) available ?

I'm trying to get together all the files I need to have a go at getting a DVB-T tuner working with the Tablet S - I have all the DVB-T modules, but for a lower kernel revision, and from what I've read they probably wont work with this kernel.
I'm really not looking forward to compiling these myself as I use Windows 7 and am aware that there are issues with compiling Linux on a Windows system and being new to Android/Linux cross compiling I could cause myself more problems than I solve.
So the question is, has anyone got info on a repository for these modules compiled for ICS at our kernel revision?
Have you seen this?
http://forum.xda-developers.com/showthread.php?t=1870077
TUN, NTFS, CIFS, usbserial, fuse kernel modules for 2.6.39.4, attached
You could post your request there. And if you manage to get it working could youshare a solution please?
Sent from my Sony Tablet S using xda app-developers app
could you please explain what is needed to make this work?
post some links perhaps.
Hi there,
I've uploaded a bunch of dvb files to forum.xda-developers.com/showthread.php?t=1870077 for you.
I'm not sure if those are the ones you need, but if you post there what you are trying to do and what specific modules you need, then perhaps I can help further.
A
praed0r said:
I'm trying to get together all the files I need to have a go at getting a DVB-T tuner working with the Tablet S - I have all the DVB-T modules, but for a lower kernel revision, and from what I've read they probably wont work with this kernel.
I'm really not looking forward to compiling these myself as I use Windows 7 and am aware that there are issues with compiling Linux on a Windows system and being new to Android/Linux cross compiling I could cause myself more problems than I solve.
So the question is, has anyone got info on a repository for these modules compiled for ICS at our kernel revision?
Click to expand...
Click to collapse
@abactor_xda: your link directs to general section of tablet s forum. I guess you should put a link to your modules post.
could you, please provide more information about those files you uploaded.
where did you get them from? what software is used with? do I insmod them the same way as other kernel modules?
this is what I find promising, but development seems to be stopped: https://github.com/chrulri/droidtv
when I install this app it says something about needing kernel modules and drivers or something like that. are this those modules and drivers. how do I chose which of them I need?
I have this usb tuner: http://www.avermedia.com/avertv/Support/Download.aspx?Type=Software&id=31&tab=APDriver
Can somebody please help me or point me in right direction
thank you
Hi Kulen,
Thanks, I'll fix that link. The files i uploaded are just more compiled kernel modules, you'll need to use the tar -xvzf flag to unzip them as it was a bigger tar file than xda would allow. They're compiled from the kernel sources available from Sony...I don't have the link to the sources at the moment, but if you search the forums you'll be able to find it. The modules are loaded with insmod, the same way as before, yes. I have no idea how one would go about putting these to use but it seems like in addition to the kernel module you'll need a driver and perhaps more kernel modules for an ARM architecture that will work with the 2.6.39.4 kernel version. Looking at the avermedia's website, the support they give is for an x86 architecture so you may be out of luck unless somebody can help you out over here:
linuxtv.org/wiki/index.php/AVerMedia_A828
Have you ever gotten this usb tuner to work with a real linux box?
Good luck,
a
kulen said:
@abactor_xda: your link directs to general section of tablet s forum. I guess you should put a link to your modules post.
could you, please provide more information about those files you uploaded.
where did you get them from? what software is used with? do I insmod them the same way as other kernel modules?
this is what I find promising, but development seems to be stopped: https://github.com/chrulri/droidtv
when I install this app it says something about needing kernel modules and drivers or something like that. are this those modules and drivers. how do I chose which of them I need?
I have this usb tuner: http://www.avermedia.com/avertv/Support/Download.aspx?Type=Software&id=31&tab=APDriver
Can somebody please help me or point me in right direction
thank you
Click to expand...
Click to collapse
Sent from my Sony Tablet S using xda app-developers app
Well, thank you.
You are really fast and willing to help.
I did make this tuner work with linux mint on x86. Actually my friend Google did it mostly, so I'm not sure what I did any more. It was a long time before and I'm not very familiar with linux.
This is what Avermedia site says for both x86 and x64 driver:
"The following distributions, with their stock kernel, are officially tested and supported:
1. Open SuSE Linux 10.3
2. Mandriva Linux 2008
3. Fedora Core Release 6
4. Fedora Core Release 7
5. Ubuntu 7.10
6. Ubuntu 8.10
7. Ubuntu 9.04
8. Ubuntu 9.10
9. Mandriva Linux 2009
Sent from my Sony Tablet S using xda app-developers app"
I guess I should find some generic ARM driver that works with my tuner?
Is there a way to batch insmod (all at once) all this modules? something like insmod *.ko?
Do I need all those modules? How do I find that out?
Hi there,
You're welcome, I'm happy to help.
In order to load all modules within a directory (and its respective sub-directories), try:
Code:
su
cd /data/local/kmods
find . -name "*.ko" -exec insmod {} \;
[\CODE]
Or just
[CODE]
su
find /data/local/kmods/ -name "*.ko" -exec insmod {} \;
[\CODE]
I'm not sure what kernel modules you'll need, but I would look at the #include files in the driver and/or ask the people over in the forum that you listed who work on these tuners specifically. Perhaps some people from the arm-based rasperry pi community might be working on this type of thing too.
Good luck,
A
Sent from my Sony Tablet S using xda app-developers app
Thanks for answer, again!
I already solved problem "insmoding" them all at once by making a script for them all as you showed me in your kernel modules thread.
At first it seems not all of them are insmoded. "no such file or directory" error. But at second script run it seems they are insmoded. I guess they are dependent on each other and need to be insmoded at right order? I also guess "file exists" means it's already insmoded?
Some of them return "exec format error" which, Google suggests, mean they are not for ARM?
anyhow nothing happens when I plug in my tuner.
I'll have to do a research starting where you sugessted but I'm setting my expectations low.
Terminal transcript of running script 3 times is in attachment. (I'll upload it later, can't do it from xda app - DONE)
Sent from my Sony Tablet S using xda app-developers app
Hey there,
maybe we can get DVB-T-Sticks working on Tablet S. Some devs got the "WinTV Nova-T"-stick working on Odys Loox. Kernel modules they used were:
dib0070.ko
dib3000.ko
dib7000m.ko
dib7000p.ko
dib8000.ko
dibx000_common.ko
dvb-core.ko
dvb-usb.ko
dvb-usb-dib0700.ko
If abactor can provide us these files we're maybe able to get it working. But I don't know if other sticks are working, too.
kulen said:
Thanks for answer, again!
I already solved problem "insmoding" them all at once by making a script for them all as you showed me in your kernel modules thread.
At first it seems not all of them are insmoded. "no such file or directory" error. But at second script run it seems they are insmoded. I guess they are dependent on each other and need to be insmoded at right order? I also guess "file exists" means it's already insmoded?
Some of them return "exec format error" which, Google suggests, mean they are not for ARM?
anyhow nothing happens when I plug in my tuner.
I'll have to do a research starting where you sugessted but I'm setting my expectations low.
Terminal transcript of running script 3 times is in attachment. (I'll upload it later, can't do it from xda app - DONE)
Sent from my Sony Tablet S using xda app-developers app
Click to expand...
Click to collapse
some of them have dependencies and others may not be compatible with our hardware even if we can build them. all of the modules are built in the same way but there may be issues due to some modules being built-in to the kernel - I don't know how those sorts of conflicts are resolved. another way to go would be to build the whole kernel again.
I would keep loading the modules until the output from insmod stops changing as you've done...or look up the dependency tree and load them in order. your way is easier.
---------- Post added at 12:56 PM ---------- Previous post was at 12:25 PM ----------
djlars said:
Hey there,
maybe we can get DVB-T-Sticks working on Tablet S. Some devs got the "WinTV Nova-T"-stick working on Odys Loox. Kernel modules they used were:
dib0070.ko
dib3000.ko
dib7000m.ko
dib7000p.ko
dib8000.ko
dibx000_common.ko
dvb-core.ko
dvb-usb.ko
dvb-usb-dib0700.ko
If abactor can provide us these files we're maybe able to get it working. But I don't know if other sticks are working, too.
Click to expand...
Click to collapse
I finally managed to get the dvb-usb.ko built with some manual editing. I'm going to post them to the other thread with all the other kernel modules. The link is posted above. let me know if this does or does not work for you guys.
If you guys are having trouble loading the dvb-usb.ko module, it may be contained within the dvb-core.ko module it seems...
kulen said:
could you please explain what is needed to make this work?
post some links perhaps.
Click to expand...
Click to collapse
Hi Kulen,
I managed to get my dongle working in Ubuntu with the correct kernel revision after a lot of hair pulling - when i tried to cross compile the modules for ARM, the compiler crashed and trashed my Linux installation, after trying for days to restore my system, i had to resort to a re-install and have not attempted anything since.
I got all my info here :-
http://linuxtv.org/wiki/index.php/Main_Page
Sorry I can not be more helpful, but I see a lot of guys on here chipping in with very useful information - hopefully you'll succeed where I failed.
PS - I might just get back into this again.
I can't say thanks enough for all help I got here.
@abactor_xda
I tried all modules you posted. since some of them are in both archives I tried first those from one archive, then from another. I extracted all and then I copied ones and other over them, and then the other way. I wanted to be sure they all are there. And then I used commands you taught me. I insmoded them 5-6 times to be sure, but some modules were not insmoded. some with that exec error and some with no file error.
and nothing happened in any case.
but here we come to another problem. I'm not sure how to check it. I use Droid TV app and it says:
" Sorry, no device found or device acces denied. This application NEEDS a working DVB device, plugged into your Android device and set up with drivers, firmware and correct permissions. Make sure that these prerequirements are met and try again."
I also get some massage from android system that connected USB device is unsupported or unreckognized or something like that.
any idea how could I see which modules are/are not activated when I plug DVB tuner?
and thanks for your help again.
@praed0r
which DVB tuner do you have?
compiling and all the other programming stuff is, unfortunately, way too much for me, so I have to rely to help from good people.
Hey Kulen,
I'm sorry to hear that didn't work. Though I had a feeling that would be the case as I also had issues trying to load those modules.
I have a feeling the modules need to be adapted somewhat before being compiled or a special driver written.
Otherwise run "dmesg" from the terminal after you plug in the device. Maybe this info would be useful to someone who knows about this stuff (unfortunately that's not me
If you do find out how to adapt these modules, I can try to compile them.
A
Sent from my Sony Tablet S using xda app-developers app
well thanks again.
I can make dmesg by help of google. but that's about maximum of my developing competence.
I guess I have to give up on this, unless some "good soul" shows up here and give us a solution.
I will post dmesg in cca. 10 days, cause I don't have tablet with me now and wait...
it'll be a pity if all abactor_xda's unselfish work was for nothing

[Q] Compile & load kernel module for DVB-T USB dongle

I'm attempting to compile and load kernel modules to make my Nova-T Stick USB DVB-T dongle work with my TF201 Asus TFP. Any one have a step-by-step guide for doing this?
I first attempted to go down the cross-compile on ubuntu host machine, then I went to chrooted ubuntu on the target, now back to ubuntu host. I have managed to build a number of .ko's, and insmod'ed some of them on the TFP. When doing a lsmod, I get:
dib7000m 12318 0 - Live 0xbf1cc000
dib7000p 23027 0 - Live 0xbf1b9000
dvb_ttusb_budget 12571 0 - Live 0xbf11a000
dibx000_common 4990 2 dib7000m,dib7000p, Live 0xbf113000
dib0070 6585 0 - Live 0xbf0fc000
dvb_pll 7922 0 - Live 0xbf0cc000
dvb_core 77241 2 dib7000p,dvb_ttusb_budget, Live 0xbf0b7000
bcm4329 207334 0 - Live 0xbf082000
Click to expand...
Click to collapse
But when I plug in USB dongle, I don't get any dvb-usb messages in dmesg. Only the standard usb ones.
To compile them, I took the kernel from Asus website, built using prebuilt ARM cross-compiler from AOSP (make menuconfig, and then make modules).
Any ideas anyone?
More info
Also,
cat /proc/devices
Click to expand...
Click to collapse
gives me amoung other things: 212 DVB, which looks good to me. Just no dvb-usb messages in dmesg still.
Anyone have the ko's for all DVB tuners, and the correct order to insmod them? This will be useful for many people surely...
And yet more info
After inserting the USB Tuner into an Ubuntu laptop, I can see using lsmod that some modules used are dvb_usb_dib0700, and dvb_usb.
However when I build the Asus Kernel after changing the .config, I cannot for the life of me get these 2 missing ko's built. Any one know of the options required in make menuconfig to get this working?
solution
OK, I didn't realise that Remote Control stuff needs to be enabled (to get rc-core) in make menuconfig before stuff relating the USB DVB shows up. Now I've got my kernel modules.
Modprobe in chroot ubuntu doesn't seem to work, so I insmod a whole load of them in a certain order and finally the USB stick is recoginised as DVB-T.
Now for some reason I get ActivityManager: Segmentation Fault on my Prime when installing APKs from my host machine. Life is never easy...
More detail?
Hi
Thanks for posting this as I am interested in doing the same thing. Can you outline your process in a bit more detail so I could followsuit. Or maybe share the modules you created?
Thanks
robb001 said:
Hi
Thanks for posting this as I am interested in doing the same thing. Can you outline your process in a bit more detail so I could followsuit. Or maybe share the modules you created?
Thanks
Click to expand...
Click to collapse
I think I managed to build the kernel modules and insmod them in the end. If you plug tuner into a host machine and do an lsmod before and after, you will find the dependency order for all the kernel modules you need. You need to generate all of these .ko files and insmod all of them in exactly the correct order. Search through make menuconfig to find all the required modules components including any related remote control ones, general DVB and USB ones too. It is possible to do it this way using insmod.... however....
I also did it a different way in the end to get some other benefits. Build Cyanogenmod 10 from source, and modify the kernel (as before), and just boot this custom ROM with all the required ko's already in place - seems to be an easier path with more help available on forums etc...
After this you need to make sure that after you plug in the DVB adapter, you change the permissions of the dvb nodes to 777 (or similar) before you can use them from an app.
Good luck! It is all possible!
Thanks for your very prompt reply. I am fairly familiar with linux and command line but not heavily in to compiling modules and kernels.
barkside said:
You need to generate all of these .ko files and insmod all of them in exactly the correct order.
Click to expand...
Click to collapse
To do this don't I need to have the kernel sources, headers and some tools like "make" available and carry all of this out on the actual target hardware with the appropriate kernel version? I.e. not on a host machine?
barkside said:
I also did it a different way in the end to get some other benefits. Build Cyanogenmod 10 from source, and modify the kernel (as before), and just boot this custom ROM with all the required ko's already in place - seems to be an easier path with more help available on forums etc...
Click to expand...
Click to collapse
This sounds like a good way to go but first have to do the above generating of module files?
I think perhaps I need to do some more research on this subject.
robb001 said:
I.e. not on a host machine?
Click to expand...
Click to collapse
No you need to do it all on a host linux machine. Do do it with insmoding, you need to download the kernel from Asus for your corresponding target kernel version. This includes everything you need. Then you need to just enable the building of the new DVB stuff by modifying the kernel config (use make menuconfig), then build the kernel - this gives you a lot of stuff including the ko files.
robb001 said:
This sounds like a good way to go but first have to do the above generating of module files?
I think perhaps I need to do some more research on this subject.
Click to expand...
Click to collapse
More research is a good idea. It is not simple. But cyanogenmod has lots of help available - read its wiki on building from source etc. So to clarify - you either 1) build kernel modules when building the kernel and insmod them onto the target, or 2) build the entire CM10 source and flash this new custom ROM (which will be complete with the DVB stuff once you enable them in CM10 kernel config). Go with 2) and see how you get on.

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

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:
ICS v4.1.B.0.587 Kernel Modules package by zxp
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
Thanks for this..
Fuse, and the rest as required, are automatically loaded as required by USB OTG Helper if found in /system/lib/modules.
shardul_seth said:
Thanks for this..
Fuse, and the rest as required, are automatically loaded as required by USB OTG Helper if found in /system/lib/modules.
Click to expand...
Click to collapse
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:
zxp said:
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:
Click to expand...
Click to collapse
I have my own encryption script, and I am happy with it.. So no fiddling with cryptonite for me
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.
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
lightdesiny said:
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
Click to expand...
Click to collapse
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:
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
hadics1 said:
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
Click to expand...
Click to collapse
Don't complain if none will answer you.
hadics1 said:
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
Click to expand...
Click to collapse
Can you please explain your problem better?
I can't understand your post.
zxp said:
lightdesiny said:
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
Click to expand...
Click to collapse
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:
Click to expand...
Click to collapse
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
This is great
Sent from my WT19i
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:
Install busybox to generally expand linux capabilities of the device
install the Android Terminal emulator also from Google play
as previuosly mentioned, the device is rooted and Super user capabilities are set
created a mount-point for the nfs share
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?
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
Use script manager and create a script!
Nixblicker said:
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:
Install busybox to generally expand linux capabilities of the device
install the Android Terminal emulator also from Google play
as previuosly mentioned, the device is rooted and Super user capabilities are set
created a mount-point for the nfs share
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?
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
Click to expand...
Click to collapse
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
shardul_seth said:
Use script manager and create a script!
Click to expand...
Click to collapse

Categories

Resources