[Q] Compile & load kernel module for DVB-T USB dongle - Asus Eee Pad Transformer Prime

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.

Related

Compiling X10 kernel sources

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

[GUIDE] Using external USB wifi

I got fed up with crappy wireless reception in a hotel and decided to use my RTL8187 based Alfa USB wireless adapter with my Prime. Here's how it works, pretty rough and open to improvement but it works.
Set up a chroot (ubuntu/debian will work); everything is done within that chroot
Compile and install the drivers for your usb adapter (see the Kernel modules thread for instructions)
apt-get install wicd-curses (or wicd-cli if you prefer), wpasupplicant and dbus plus any of its dependancies
Turn off the broadcom wifi that's controlled by android
insmod your modules (in my case eeprom_93cx6.ko, mac80211.ko, rtl8187)
start dbus and wicd (/etc/init.d/dbus start; /etc/init.d/wicd start)
run wicd-curses (or wicd-cli), refresh the network list and connect to your network
configure dns for android to your dns or to googles (setprop net.dns1 8.8.8.8)
???
Profit
To stop using external usb wifi, reverse the steps; basically:
stop wicd and dbus (/etc/init.d/wicd stop; /etc/init.d/dbus stop)
kill any running dhcp clients (killall dhclient)
rmmod your modules (in my case eeprom_93cx6.ko, mac80211.ko, rtl8187)
To be able to insert mac80211 without it complaining about missing symbols for ewma_init and ewma_add, I had to add lib/average.c to the mac80211 module; it's pretty simple, here's how i did that:
Go to your prime kernel source tree (e.g. /usr/src/linux)
cp lib/average.c net/mac80211/
Edit net/mac80211/Makefile and add average.o to the list of objects for mac80211-y (don't miss the trailing backslash if you add it halfway)
For simplicity sake I've added the modules for an rtl8187 based usb nic to this post. These are built against the 9.4.2.7 kernel source, and work fine for the 9.4.2.11 release (current ICS release as of Feb 07 2012).
Oh and I don't recommend doing this with androids wifi turned on, it kind of breaks it until you reboot your tab. So if you're smart you'll script the above and spit out a nice warning that your broadcom module is still loaded and then exit. I had no problems switching between external USB wifi and built-in wifi as long as I only turned one of them on exclusively.
Enjoy solid wifi on your prime
,can you show screenshots of how much of an improvement it was using a USB wifi device vs. Stock wifi. You should relay this info in the kernel modules thread n SaturnDe can probably clean it up or simplify more or make it easier to implement. He could add it to his driver packs and make a new ATP tweaks version. For quick app enabling of this USB wifi method. This is very cool. I really would like to see how much of an improvement in reception thisngives.
You can't use the external wifi together with the android wifi control, it isn't compatible. So screenshots make no sense. This is why you need the chroot and wicd-curses; that's where you configure your wifi connection, not in android.
As for the increase in reception, it depends on your usb adapter. If you have one with an external antenna that is 6 feet long, you can figure out how much of an improvement that would be. Nothing is stopping you from connecting an even bigger wifi antenna if you want. So, reception increase could be anywhere from a few dB up to long range 5km wifi using powerful long range antennas.
infernix said:
You can't use the external wifi together with the android wifi control, it isn't compatible. So screenshots make no sense. This is why you need the chroot and wicd-curses; that's where you configure your wifi connection, not in android.
As for the increase in reception, it depends on your usb adapter. If you have one with an external antenna that is 6 feet long, you can figure out how much of an improvement that would be. Nothing is stopping you from connecting an even bigger wifi antenna if you want. So, reception increase could be anywhere from a few dB up to long range 5km wifi using powerful long range antennas.
Click to expand...
Click to collapse
Lol, I believe you're being told to do it yourself 'darin. I have a nice little wifi usb adapter, I'll give this all a whirl later on after work.
Certainly not a solution for myself, but a simple workaround for those uncomfortable with modding and who don't mind annoying sticks coming from their tablets/laptops. Not saying anything against this, I just always hated using older laptops with usb adapters and don't see me liking it more on a smaller, more stream-lined device.
buxtahuda said:
Certainly not a solution for myself, but a simple workaround for those uncomfortable with modding and who don't mind annoying sticks coming from their tablets/laptops. Not saying anything against this, I just always hated using older laptops with usb adapters and don't see me liking it more on a smaller, more stream-lined device.
Click to expand...
Click to collapse
FWIW, this can also be used to run aircrack or other wifi security analysis tools with, which aren't able to ever run with the builtin broadcom adapter. So it has other uses too
infernix said:
FWIW, this can also be used to run aircrack or other wifi security analysis tools with, which aren't able to ever run with the builtin broadcom adapter. So it has other uses too
Click to expand...
Click to collapse
Has anyone tried doing so with their ATP? I'd be very interested to know. I've had a bunch of problems with the build-in card in terms of using the bt5 pentest suite so this might potentially solve some of those problems
Yeap, done with BT5 for arm and ALFA AWUS036H (Rtl8187), apt-get the aircrack tool and bang! : monitoring mode enables
Thanks a lot to the OP for the modules !
what version of linux are you guys using? I was trying to install wicd-cli and wicd-curses through my bt5 and had no success. wicd-curses just can't install on arm bt5 for some reason stating that some dependant libraries are incompatible. wicd-cli gives me an fopen error during install and then craps out when I try to run it.
Thanks for the info, one question tho.
Did you have to do anything special to get the wicd client to run, I get the error 'cannot connect to dbus socket' or something to that effect..
I have tried wicd-cli, -curses, and -gtk
Any help would be appreciated.
Dear Sirs,
This may be newbish, but where can I get the source for the kernel modules the op mentioned. I have obtained my kernel source for my phone, but can't seem to find the source I actually need to compile, rtl8187, etc.
Update:
Alright, I found them, they are part of the compat-wireless package. http://www.aircrack-ng.org/doku.php?id=compat-wireless
I still can get it to compile, but I guess I need to learn a little about cross compiling.
I did find a kernel for my device with the modules already built in, used and voila. Cracked a wep key in about 5-10 minutes. I was happy, happy, happy. Then, a ruinous moment occurred. Almost the very second aircrack-ng finished cracking the key, my phone came up with a low battery warning, I was using a awus036h wifi adapter and it was draining my battery fast, I had about 50% to begin and had the 14% warning hit me about 10 minutes in, funny thing is the warning is usually 14%, but this time was 13%, go figure? Anyway seconds after the warning my phone just blanks, turns off. I plug it in and reboot and the battery is at 0% and stuck there, so a word of warning:
An external wifi adapter my require more usb host juice then the battery can safely supply. I have seen people using powered hubs to circumvent draining the phone battery, I would defintiely recommend the practice.
Ok, if the last poster was noobish then i dont even know where i would be because i need help just deciphering wtf OP said.
I realize the drivers for each wireless adapter are going to be a little different... because each wireless adapter is different, but can someone translate this into non geek? I dont even know where to begin.
Can this work using the ubuntu/backtrack/linux installers from the market? Ive muddled my way through that and got linux working that way, or is this completely different?
I just wanted to say THANKS! I now have my Alpha card working in Monitor mode on my TF300T Transformer PAD and man it feels good! I have never been able to get this to work and have been trying to use an external card in backtrack for a loooong time! Thank you 1 million times!
Hi! Thanks for instructions. I got compile and install driver for my G-Sky (rtl8187) on AllWinner A10 (Ainol Aurora II) with android 4.0.4 and 3.0.8 kernel. All network settings were done with tablet's terminal (without PC). Only one problem remains - I can't undestant connecting to wpa networks - it's too difficult. Here: http_://nuzhen-sovet.ru/content/podklyuchenie-vneshnego-wi-fi-adaptera-k-planshetu-na-android-4 you can read my manual with connection to nonWPA networks on russian (read with google translate).
I am wondering if something like this could be used for the folks concerned with bt\wifi fallout. There are plenty of bluetooth dongles out there that are small enough to leave in the dock full time. I have the fallout I just dont use bluetooth enough to care.
BlackUbuntu 12.04 V4: http://kat.ph/blackubuntu-12-04v4-for-android-s3-tested-t7252750.html
So how would I go about this on the galaxy s3 l710.
My alfa card reads on pcap app.
Hi everyone.
I plan on using the Bolse adapter : http://www.mybolse.com/products_more.asp?id=96 that has an Android driver with my Galaxy Note2.
Do I have to go through all these steps with it considering it has an Android driver?
Thanks
infernix said:
I got fed up with crappy wireless reception in a hotel and decided to use my RTL8187 based Alfa USB wireless adapter with my Prime. Here's how it works, pretty rough and open to improvement but it works.
Set up a chroot (ubuntu/debian will work); everything is done within that chroot
Compile and install the drivers for your usb adapter (see the Kernel modules thread for instructions)
apt-get install wicd-curses (or wicd-cli if you prefer), wpasupplicant and dbus plus any of its dependancies
Turn off the broadcom wifi that's controlled by android
insmod your modules (in my case eeprom_93cx6.ko, mac80211.ko, rtl8187)
start dbus and wicd (/etc/init.d/dbus start; /etc/init.d/wicd start)
run wicd-curses (or wicd-cli), refresh the network list and connect to your network
configure dns for android to your dns or to googles (setprop net.dns1 8.8.8.8)
???
Profit
To stop using external usb wifi, reverse the steps; basically:
stop wicd and dbus (/etc/init.d/wicd stop; /etc/init.d/dbus stop)
kill any running dhcp clients (killall dhclient)
rmmod your modules (in my case eeprom_93cx6.ko, mac80211.ko, rtl8187)
To be able to insert mac80211 without it complaining about missing symbols for ewma_init and ewma_add, I had to add lib/average.c to the mac80211 module; it's pretty simple, here's how i did that:
Go to your prime kernel source tree (e.g. /usr/src/linux)
cp lib/average.c net/mac80211/
Edit net/mac80211/Makefile and add average.o to the list of objects for mac80211-y (don't miss the trailing backslash if you add it halfway)
For simplicity sake I've added the modules for an rtl8187 based usb nic to this post. These are built against the 9.4.2.7 kernel source, and work fine for the 9.4.2.11 release (current ICS release as of Feb 07 2012).
Oh and I don't recommend doing this with androids wifi turned on, it kind of breaks it until you reboot your tab. So if you're smart you'll script the above and spit out a nice warning that your broadcom module is still loaded and then exit. I had no problems switching between external USB wifi and built-in wifi as long as I only turned one of them on exclusively.
Enjoy solid wifi on your prime
Click to expand...
Click to collapse
Well, after i read most replies, most don't understand how to get things set up, please describe it a bit more, organize things, like section for requirements, etc.
Explain to Kernel and Kernel Modules and how to build them
For everyone who didn't Understand Step 2, I Will explain and tell you how to do that, Please read it all to Understand:highfive::
What is Kernel?
A Kernel is Simply a Bridge Between Software and Hardware.
So The Drivers are Inside the Kernel itself?
For Short, Yes. In Linux Overall (Android, Ubuntu, etc.), Drivers are Included Inside the Kernel it self, Some say for Performance Improvements.
Your Phone's Android Kernel Include all the Drivers required for your phone to function, And for the Devices that Support USB-OTG there are a Plenty of Drivers Included, However, Drivers like the one's for the RTL8187 Most likely won't be included.
What are Kernel Modules?
Kernel Modules are Files that have *KO Extension That can be loaded Through insmod and Unloaded through rmmod Command-Line Commands, These files is to Extend the Functionality of the Kernel Without Touching/Editing it at all,It Just does some effect Until the Modules are Unloaded/Device Rebooted, Kernel Modules useful Either by Adding a Driver or by adding other things..[/B]
What are the Disadvantages of Kernel Modules?
Well, There's no Difference Expect you need to reload the Kernel Modules after a Reboot or Module Unload, Some Tutorials Show you how can you add a command to load these Modules after each boot up
So A Kernel Module is the Solution for adding a driver without modifying the kernel?
Yes, Kernel Modules is the Solution here, Each USB Device needs it's own Kernel Modules, so you can't Download a Module and Use it, You need to Compile yours.
What is the Requirements to build a Kernel Modules?
1.You need Linux Environment, Use either the Chrooted Linux On you phone, or, better use Ubuntu or any linux Distro on a Computer, Build the Module, and load it on the Chrooted Linux on your phone,
2.You need an Internet Connection in the Linux Environment.
3.You need the Driver Source code for your USB Device. Get them from the Manufacturer if he offer them, if he doesn't, You need to Look in the internet until you find one, if you were unable to find the Source code for you Device but found similar Devices Driver source code, see if the Other Device Driver is Compatible with yours usually a Single Driver work on many Devices, you need to look by your own way
4.You Also need some Programs to install in Order to be able to Compile the Kernel Module, Enter these Commands in a Terminal, Pressing Enter after each Line, and make sure you have the Internet Connection:
HTML:
sudo apt-get install fakeroot
sudo apt-get install build-essential
sudo apt-get install dpkg-dev
sudo apt-get install linux-headers-$(uname -r)
For the most Important Part, make the Kernel Module?
1.Unpack the Kernel source code, if it's Extension is bz2 then use:
HTML:
tar jxvf <package-name>
Where <package-name> is the Compressed File name, and make sure you put it in the Home Folder, if it's Extension is gz or tgz the Unpack it with:
HTML:
tar zxvf <package-name>
2. Second, Find config.mk and Open it with gedit or whatever Text editor you like, at first, there is two lines about WPA Support, make sure they end with y rather than n, Save and close.
3.Third, and last, is to Compile the Kernel Module, Open Terminal and use cd command to get inside the folder that contains the Source code, and Simply Execute:
HTML:
sudo make
And now you own the Kernel module, Now copy the Kernel Module to the root of your Internal Storage, Open up a Terminal and Type:
HTML:
cd /mnt/sdcard
insmod <kernel-module-name>.ko
And make sure Internal Wi-Fi is OFF and now your Kernel Module works, Follow the Guys steps to get it working on Chrooted distro
Troubleshooting:
If you find a similar Device Driver Source Code and after Compiling it doesn't work plug the Device in, Open a Terminal and type:
HTML:
sudo lsusb
and Find your Device in the Output and you should find Numbers for it Looks Like 0x148F,0x2070 or whatever, Write them down.
After Step 2 Follow These Steps:
Find usb_main_dev.c and Under #ifdef Section add the Following Line:
HTML:
{USB_DEVICE(0x148F,0x2070)}, /* Your Device name, this is just a Comment. */
Where You should replace 0x148F,0x2070 with the String you just wrote down.
And then Continue Other Steps and it should work.
Please Click "Thanks" Button if i Helped you
Also, if you had any Problems and fixed them Just tell me so i can add them to Troubleshooting Section.
Hi! Im going on vacation in 2 weeks and I want this to work on my Nexus 5. I run CM12. I think I can manage the kernel part myself (there are a lot of nexus 5 kernels which include the driver of my wifi dongle: TP-Link WN722N). but I don't know how to do the next steps (for example step 4 and 5). Can someone give me a detailed tutorial with command lines? I am familiar with terminal.
My step again:
Nexus 5 running CM12
Wifi dongle: TP-Link WN722N
thanks in advance!
Sorry for the extremely noob question, but will this make the wifi adapter work in the chroot or on the entire device?

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] Making android kernel compatible with ubuntu?

Hello.
I noticed that kernels for ubuntu seem a bit old. I was thinking that maybe someone could modify cm10(or 3.0.21) kernel to support ubuntu/teach me how to add ubuntu support to android kernel. I did a bit googling, but results were filled with those loop ubuntus, not native.
I am also thankful if someone can point me to right direction.
(Trevd, i am counting on you )
Sent from my GT-I9100 using xda app-developers app
julle131 said:
Hello.
I noticed that kernels for ubuntu seem a bit old. I was thinking that maybe someone could modify cm10(or 3.0.21) kernel to support ubuntu/teach me how to add ubuntu support to android kernel. I did a bit googling, but results were filled with those loop ubuntus, not native.
I am also thankful if someone can point me to right direction.
(Trevd, i am counting on you )
Sent from my GT-I9100 using xda app-developers app
Click to expand...
Click to collapse
Well as seeing as you ask so nicely, I'm far from an expert however especially in the ways of ubuntu kernels, A1Pha got the original ubuntu image going but ubuntu have done an official arm release now so that changes things ( probably ) I can only point you in the direction of more, hopefully better resources.
The Blaze Tablet seems to have have been the Development Platform for the G9 so you'll probably get some purchase from following that route.
Here's some links for you.
http://omappedia.org/wiki/Source_Trees
http://omappedia.org/wiki/OMAP_Ubuntu_Main
My days on the G9 could well be numbered, I foolishly overwrote the bootlloader in one of my more Laissez-faire moments. meh! That's what I get for having a caliver approach to consumer electronics.
trevd said:
Well as seeing as you ask so nicely, I'm far from an expert however especially in the ways of ubuntu kernels, A1Pha got the original ubuntu image going but ubuntu have done an official arm release now so that changes things ( probably ) I can only point you in the direction of more, hopefully better resources.
The Blaze Tablet seems to have have been the Development Platform for the G9 so you'll probably get some purchase from following that route.
Here's some links for you.
http://omappedia.org/wiki/Source_Trees
http://omappedia.org/wiki/OMAP_Ubuntu_Main
My days on the G9 could well be numbered, I foolishly overwrote the bootlloader in one of my more Laissez-faire moments. meh! That's what I get for having a caliver approach to consumer electronics.
Click to expand...
Click to collapse
Thanks for answering. I'm out of thanks for today, so i press that button when i have more.
Now to business.
After doing some research, and asking few questions on #ubuntu-arm, this seems a bit hard project because there are no sources. There is no source for CM10 kernel(Or i can't read the github) nor Ubuntu kernel, so i can't just apply tweaks of them both to archos 3.0.8+ kernel. A way to unpack the zimage from ubuntu kernel and cm10 kernel would help, but atleast the script i tried couldn't unpack the zimage of ubuntu. Lets see what i figure out next.
julle131 said:
After doing some research, and asking few questions on #ubuntu-arm, this seems a bit hard project because there are no sources. There is no source for CM10 kernel(Or i can't read the github) nor Ubuntu kernel, so i can't just apply tweaks of them both to archos 3.0.8+ kernel. A way to unpack the zimage from ubuntu kernel and cm10 kernel would help, but atleast the script i tried couldn't unpack the zimage of ubuntu. Lets see what i figure out next.
Click to expand...
Click to collapse
Not sure what you mean by the CM10 Kernel, I don't think CM have any different settings from what is required by JellyBean itself. Plus the Kernel we originally used for the Archos CM10 is an ICS kernel with IPV6 Mangling adding, we got away with that because the Init.rc used to boot the Rom is a mashed up ICS Version. After thinking about it let me add the bit of knowledge I think I do know.
The kernels on arm platforms, to paraphrase Linus Tovalds was a complete mess, something which Linaro are working hard to fix, and are unique to the SOC vendor.
You need to get the Archos specific sources which are located on GItorious @ git://gitorious.org/archos/archos-gpl-gen9-kernel-ics.git, clone the 3.0.21 branch, in the directory there's a file called linux.config.g9 ( or something similar ). that's the config file. I just copy that to .config, change the settings I need to (if any) compile. That should setup an archos kernel which should run android
Code:
git clone git://gitorious.org/archos/archos-gpl-gen9-kernel-ics.git -b linux-icc-3.0.21
cp linux.config.g9 .config
make menuconfig
make -j8
Like I say I was thinking about it and the main difference between a standard kernel and android kernels is the binder, the switch class support and the log driver ( this is things I've noticed when building an android x86 Kernel )
When doing menuconfig the Android Driver settings are found in devices/staging/android, I suppose a place to start is to turn them off then switch on SYSV IPC ( i think that's in genral kernel settings ), from what I understand this is the sysv binder and should create a node at /dev/binder, standard kernel switch class support is set in Device Drivers ( Switch Class Support ).
I'm not sure about logging , It basically breaks down like this. The Android Kernel has a specific logging driver this creates device node at /dev/log/main /dev/log/system etc , Ubunutu ( on x86 at least ) has a single log device node which is created at /dev/log, I don't know weather this is something created by the kernel or something created in userspace by syslogd or something similar. I also don't know whether the Android Logs are compatible with ubuntu, or the android binder for that matter. I'll try and boot my x86 ubuntu with my Android Kernel later on , I suspect It won't work but speculation is one thing, knowing for sure is better
With regards to unpacking the zImage, I'll say this , Not all zImages are created equal , I notice you are using a samsung mobile ( galaxy s, if I'm not mistaken ) , so you're probably using the samsung zImage as a frame of reference... How I understand it Samsung pack the initramfs into the zImage, similar, but not same to the way android AOSP pack a boot.img. Samsung however do this in kernel itself, this is why Samsung zImage a) can be unpacked and b) require different tools than the standard tools used for unpacking boot images which work on just about every other device ( expect Archos of course ) . So you generally don't unpack zImage because It's just a binary blob that contains all the kernel functions, this is in the assembly language of whatever architecture you built your kernel for.
Given all that info you should now be able to build a working archos android kernel ( I assume you using linux etc and your not stupid ) , You now need the Ubuntu side of things..... Have you asked in the Archos G9 Ubuntu Development thread, they may be able to shed light on the changes to the config you need to make or alternativaly you could download the Ubuntu for Arm OMAP Image from https://wiki.ubuntu.com/ARM/OMAP , unpack/mount it and see if there is the kernel .config file, It is normally packaged somehow with the distro for example x86 lubuntu has .configs in /lib/modules/3.5.0-19-generic/build/.config, the arm distro may have something similar. Then it's a case of see what configuration options are different, You can't just copy the config whole sale however because there are Archos Specific board settings in the Archos Kernel. Failing that the kernel sources will be somewhere as it is a legal requirement under the GPL and Cannonical are compliant, at least I've not read anywhere to the contrary.
This is just really how I understand it at the minute, Some of it could be inaccurate or just plain BS but hopefully should give you something to run with, there is a bit of a barrier to entry on the whole subject kernels/android kernels as the information is in little pieces all over the internet, when I was first getting to grips with it, it did feel like a bit a of treasure hunt for knowledge. Also knowing the Keywords to search for in the first place can be difficult It sounds quite an interesting challenge, shame about my brick!!
If you want to understand more about the kernel generally ( and lets face it, who doesn't ) then Linux Kernel in a nutshell ( http://www.kroah.com/lkn/ ) is a free e-book written by one of the kernel maintainers a should be a useful reference.
JUST IN CASE: Don't forget prefixing a filename with a fullstop (.) makes that file hidden and won't display in normal file listings, using ls -a to display all file in a directory
The CM10 kernel i was refering to is the CM10 in dev section. I thought there were other "hacks" than just a IPv6 addon, and that's why i counsidered it as a totally diferent kernel.
I think i need to download the kernel source as soons as i get to my laptop then. I have some experience on it, because i have made a few builds of B2G, but that was mainly just: download source, choose the device and build.
For the differences, that is what i consider as the hardest part. Merging them and then getting the kernel to build might take some time. Luckily I have plenty of time.
For the zImage, I was trying to unpack the ubuntu zImage one, because I'm working on archos device . Unpacking Galaxy S2 kernel wouldn't make any sense. atleast to me . I was trying to use a general unpacker, but it didn't work, just as you wrote.
For the OS & Knowledge, i am using linux indeed. Backbox, which is based on ubuntu 11.04 to be precise. I didn't even think about unpacking the IMG file... Maybe i am stupid . I think i am able to mount it to folder, so it is easy to explore.
I think I know the basics, and folders starting with . is part of them
Lets see what happens the next time i pick my laptop, boot it and start fooling around :good:.
Edit: Well, after the menuconfig, i can't fand anything related to ipv6 mangling. There was a file on the root of cloned folder called linux.config, but it was the default config for kernel, not archos specific.
julle131 said:
The CM10 kernel i was refering to is the CM10 in dev section. I thought there were other "hacks" than just a IPv6 addon, and that's why i counsidered it as a totally diferent kernel.
I think i need to download the kernel source as soons as i get to my laptop then. I have some experience on it, because i have made a few builds of B2G, but that was mainly just: download source, choose the device and build.
For the differences, that is what i consider as the hardest part. Merging them and then getting the kernel to build might take some time. Luckily I have plenty of time.
For the zImage, I was trying to unpack the ubuntu zImage one, because I'm working on archos device . Unpacking Galaxy S2 kernel wouldn't make any sense. atleast to me . I was trying to use a general unpacker, but it didn't work, just as you wrote.
For the OS & Knowledge, i am using linux indeed. Backbox, which is based on ubuntu 11.04 to be precise. I didn't even think about unpacking the IMG file... Maybe i am stupid . I think i am able to mount it to folder, so it is easy to explore.
I think I know the basics, and folders starting with . is part of them
Lets see what happens the next time i pick my laptop, boot it and start fooling around :good:.
Click to expand...
Click to collapse
The 3.0.31 Kernel started by Quallenauge in the dev section is an Highly Expirimental effort. this was started before Archos released the 3.0.21 Kernel with their 4.0.2x roms which covered what was trying to be achieved by this development, It's best left alone unless you really want to get you're hands dirty with device bring up code, There's a version on my github which I think boots the G9A101's as well as the 80's......... anyway
You shouldn't have to do any merging of code, more a case of selecting the right options in the config, Thinking back, I've have booted Ubuntu using mainline kernel sources from kernel.org that I built myself so that kinda of suggests there's nothing special about ubuntu's kernels per se' .
Your main problem won't be with building , more booting, It should compile fine but I wouldn't be surprised to be looking at a blank screen then your problem is monitoring the output....There's an option in the archos config to get early debug output over USB, I think there's some modification you need to make to the USB Cable, Quallenauge knows about that, he did it , I was ghetto and used adb for my debugging. which can be probably made to work when booting ubuntu but I'd go the correct route , I just have my wierd ways of doing things.
Another thing that spring to mind with android "specialisms". Android runs /init in the root directory ubuntu normally likes /sbin/init. This is something that is specified again in the kernel config using the kernel cmdline option , just something to be aware of... If anything else springs to mind I'll let you know.
So I suppose as you say, Just fool around and see what happens. :good:
I think I know the basics, and folders starting with . is part of them
Click to expand...
Click to collapse
Just Checking LOL.
trevd said:
The 3.0.31 Kernel started by Quallenauge in the dev section is an Highly Expirimental effort. this was started before Archos released the 3.0.21 Kernel with their 4.0.2x roms which covered what was trying to be achieved by this development, It's best left alone unless you really want to get you're hands dirty with device bring up code, There's a version on my github which I think boots the G9A101's as well as the 80's......... anyway
You shouldn't have to do any merging of code, more a case of selecting the right options in the config, Thinking back, I've have booted Ubuntu using mainline kernel sources from kernel.org that I built myself so that kinda of suggests there's nothing special about ubuntu's kernels per se' .
Your main problem won't be with building , more booting, It should compile fine but I wouldn't be surprised to be looking at a blank screen then your problem is monitoring the output....There's an option in the archos config to get early debug output over USB, I think there's some modification you need to make to the USB Cable, Quallenauge knows about that, he did it , I was ghetto and used adb for my debugging. which can be probably made to work when booting ubuntu but I'd go the correct route , I just have my wierd ways of doing things.
Another thing that spring to mind with android "specialisms". Android runs /init in the root directory ubuntu normally likes /sbin/init. This is something that is specified again in the kernel config using the kernel cmdline option , just something to be aware of... If anything else springs to mind I'll let you know.
So I suppose as you say, Just fool around and see what happens. :good:
Just Checking LOL.
Click to expand...
Click to collapse
At the moment i'm trying to find the archos config file. there is a defcon file, which looks like a config file in arch/arm/configs called android_archos_defcon. It sounds correct. Next thing for me to do is to find the right place to put it. I guess the root of the project is correct, and rename it to .config and linux.config. After building I need to test it. [email protected] or 4.0.26 root will suffice, right? I also need to figure out if there is a way to force adb on through kernel. And the IPv6 Mangling is nowhere to be found
julle131 said:
At the moment i'm trying to find the archos config file. there is a defcon file, which looks like a config file in arch/arm/configs called android_archos_defcon. It sounds correct. Next thing for me to do is to find the right place to put it. I guess the root of the project is correct, and rename it to .config and linux.config. After building I need to test it. [email protected] or 4.0.26 root will suffice, right? I also need to figure out if there is a way to force adb on through kernel. And the IPv6 Mangling is nowhere to be found
Click to expand...
Click to collapse
The config file " linux.config.g9" should be in the root kernel directory, if it's not there then your on the wrong branch and you need to checkout the 3.0.21 branch explicitly using
Code:
git checkout linux-ics-3.0.21
If your using ICS builds to check with, which I probably recommend then don't worry about IPV6 managling , I don't think It's named that exactly but something like that!, For reference , I've just had a check the option is "Networking support/Networking options/Network packet filtering framework (Netfilter)/IPv6: Netfilter Configuration /Packet Managling"
You have to look pretty deep on some of these settings
As a test. Boot with a normal kernel configure your android debug options , then swap the kernels out , that should give you adb while booting, when I've tried to force adb on an uncofigured rom it got a bit confused with itself
If your struggling a bit with git, http://gitimmersion.com/ has a great tutorial you can step through in about 10 minutes to get the basics and get it configured a bit better
---------- Post added at 09:31 PM ---------- Previous post was at 09:20 PM ----------
EDIT: Make sure you building for arm as well
Code:
$ export ARCH=arm
$ export SUBARCH=arm
$ export CROSS_COMPILE=arm-eabi-
Reference: http://source.android.com/source/building-kernels.html
Huuuh i'm late... most had been pointed out already.
Just to add this...
As you might know Android is put on top of a Linux base system more or less.
In most cases a kernel built for Android will suit most linux distributions as well.
Trevd already highlighted the main aspects.
The other way round is more evil... unmodified linux kernel (or a kernel set up to run well with Ubuntu) will refuse to boot up an Android system.
Some addon's on the default config may be nice though, depends on how the whole rootfs stuff is arranged in the end and if your system heavily depends on udev and stuff.
Keep track of the startup scripts at /etc/init.d.
It's good to have an extensive look at the /etc directory of your distribution image... to much to point at here.
The kernel may handle to boot into a lot of different scenarios.
On the Archos tablets initramfs plays an important role.
You may even tweak this jumpboard and locate your final rootfs on an USB stick if you like.
It's all about handling mounts, chroot and similar during start up.
There are limits on the Archos with stock loader though, because you might need to influence the kernel command line at a certain point.
I'm aware that this is not very specific but there are so many ways to set things up.
Just follow the useful links trevd gave already... these are good starting points :fingers-crossed:
...and just to add this:
I don't speak of fine tune the system in the end. This is another story and sometimes very hard stuff, where you may need to reverse engineer some proprietary libs or executables.
Best regards,
scholbert
Well, I have now built my first kernel... And it was 3.0.8+... I think I downloaded wrong source . I have ipv6 mangling enabled on it, so I should try it with CM10 now. I think I should search the 3.0.21 source, and download it.
Edit: Well, my 3.0.8+ Kernel image can boot CM10, AOKP and 4.0.7 roms... Now i have to figure out why i downloaded 3.0.8+ kernel and not 3.0.21 kernel. Maybe i had wrong branch.
Edit:Yep, wrong branch. I did realize when i downloaded the srce that it informed that the branch does not exists. i had icc instead of ics
Do you have any tips where i can find info about kernel modifications, like adding governors? I tried adding few, but all i got was bunch of errors. I propably forgot something.
Sent from my GT-I9100 using xda app-developers app
mer
Still working on this? I have been using Mer kernels with Ubuntu and they seem to be working fine.
Archos Gen9 Mer Adaptation Kernel --> http://gitorious.org/archos-gen9-mer-adaptation-kernel/
Archos Gen9 Mer Adaptation Kernel ICS --> https://gitorious.org/archos-gen9-mer-adaptation-kernel/archos-gen9-mer-adaptation-kernel-ics
I am using the 3.08 kernel from a Plasma Active distribution. --> http://share.basyskom.com/plasma-active/archos_gen9.html
Just mount the data partion in linux and convert it to ext4, write the linux image to it. Then cp the files from mer /boot /lib/modules to new rom, modules file in etc to load your modules, modify fstab, cp mtev.so to /usr/lib/xorg/modules/input, change or add a few other files.
/etc
modules
Code:
cypress_tma340
tr16c0_i2c
hso
compat
cfg80211
mac80211
wl12xx
wl12xx_sdio
cpt_i2c_tsp
pixcir_i2c_tsp
hci_uart
fstab
Code:
/swap none swap sw 0 0
/dev/mmcblk0p2 /media/system ext4 ro,noauto,users,uid=1000,gid=0,noatime 0 0
/dev/mmcblk0p4 /media/data ext4 ro,noauto,users,uid=1000,gid=0,noatime 0 0
none /proc proc rw,relatime,noexec,nosuid,nodev 0 0
none /sys sysfs rw,relatime,noexec,nosuid,nodev 0 0
none /dev devtmpfs rw,mode=0755 0 0
none /dev/pts devpts rw,relatime,gid=5,mode=0620,ptmxmode=0666 0 0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
binfmt_misc /proc/sys/fs/binfmt_misc rw,noexec,nosuid,nodev 0 0
none /sys/fs/fuse/connections fusectl rw 0 0
none /sys/kernel/debug debugfs rw 0 0
none /dev/shm tmpfs nodev,nosuid,noexec 0 0
none /dev/bus/usb usbdevfs defaults 0 0
none /sys/kernel/security securityfs (rw) 0 0
/etc/udev/rules.d
70-persistent-net.rules
Code:
# net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:28:90:64:31", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
# USB device 0x9710:0x7830 (usb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:3b:04:02:6c", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
70-touchscreen.rules
Code:
KERNEL=="event*", SUBSYSTEM=="input", SUBSYSTEMS=="input", ATTRS{name}=="cypress-tma340", SYMLINK="input/touchscreen"
/usr/share/X11/xorg.conf.d
Add to the end of 10-evdev.conf, cypress-tma340 is the touchscreen on my G9.
Code:
Section "InputClass"
Identifier "Archos Touchscreen"
MatchProduct "cypress-tma340"
Option "Ignore" "off"
Option "CorePointer" "on"
Driver "mtev""
EndSection
openSUSE --> http://en.opensuse.org/openSUSE:eek:penSUSE_on_your_ARM_board
Ubuntu --> https://wiki.ubuntu.com/ARM/OMAP
Kubuntu 12.10 --> http://cdimage.ubuntu.com/kubuntu/releases/12.10/release/kubuntu-12.10-desktop-armhf+omap4.img
Please i am using Backbox Linux Distribution (Dual booted ) wit my windows 7....... now i wish to use a dail up connection on my modem !! PLEASE HOW DO I GO ABOUT IT ...
Sent from my L3 using XDA Free mobile app

TP-LINK WN722N (ath9k driver) install on Ubuntu touch 15.04 (Nexus 10- Manta)

I've been through all the relevant threads on AskUbuntu and they are either outdated, conflicting and/or dont work.
My Nexus10 sees the atheros AR9271 device on Bus 001 USB but does not create an additional WLAN for it.(wlan0 is the normal integrated wifi) I assume I need the ath9k or ath9k_htc driver? I installed backports 4.4.2-1 and unzipped it. If I try to do a 'make' or 'make clean' I get:'your kernel headers are incomplete/not installed'. I've already got the latest version of build-essential. If I try to install 'firmware-atheros', it cannot find the package. I've been through several other things to no avail.
I've read the driver is installed with 15.x+ anyway, true? and if so how to install it? If someone could do a step-by-step wifi driver install for a U-touch or at least Ubuntu 15.x I'd be very very grateful.
I do not want to bridge the 722n, I want to use it instead of the integrated card. Not even there yet, but just in case it matters.
Thanks!
roninisc said:
I've been through all the relevant threads on AskUbuntu and they are either outdated, conflicting and/or dont work.
My Nexus10 sees the atheros AR9271 device on Bus 001 USB but does not create an additional WLAN for it.(wlan0 is the normal integrated wifi) I assume I need the ath9k or ath9k_htc driver? I installed backports 4.4.2-1 and unzipped it. If I try to do a 'make' or 'make clean' I get:'your kernel headers are incomplete/not installed'. I've already got the latest version of build-essential. If I try to install 'firmware-atheros', it cannot find the package. I've been through several other things to no avail.
I've read the driver is installed with 15.x+ anyway, true? and if so how to install it? If someone could do a step-by-step wifi driver install for a U-touch or at least Ubuntu 15.x I'd be very very grateful.
I do not want to bridge the 722n, I want to use it instead of the integrated card. Not even there yet, but just in case it matters.
Thanks!
Click to expand...
Click to collapse
anyone anyone, Beuller...
Hey, saw this was unanswered and figured I could help. First off, you will not be able to compile or install headers in the Ubuntu Touch system, as /lib/modules/<kernel version> is a bind-mount into the read-only LXC system image, one way to work around this issue on device is to mount the LXC container's system image read-write somewhere, move out the lib/modules directory to someplace else, umount, reboot and then link your moved lib/modules back into /lib/modules. You will need to do this compilation outside of your Nexus 10 in a cross-compilation environment or in an armhf chroot (imho, a chroot running the ARM build of Ubuntu works very well for this).
Once you have that, you can install the kernel package for your device (which I believe are labeled linux-headers-manta and linux-image-manta respectively) and build the driver you seek. However the kernel already comes with backports 4.4.2 in it's tree, so you may be able to apt-get source linux-image-manta and build the driver and/or the kernel itself if you wish. (I believe building the kernel builds the firmware needed for the drivers as well, but I have no way of knowing as I haven't actually rebuilt any drivers with firmware yet in my foray into linux-image-flo's source.)
One piece of advice: Make sure to join together the config.*.ubuntu files under the debian.flo and debian.master folders to get the working .config for your device. The defconfig from arch/arm/configs doesn't have all the needed options for uTouch and won't boot it.
Your 'thanks meter' improved, and big thanks for answering, but this is beyond my level. Was hoping I could run an external wifi stick on a tablet with some flavor of linux, but looks like a no go for mortal users.
roninisc said:
Your 'thanks meter' improved, and big thanks for answering, but this is beyond my level. Was hoping I could run an external wifi stick on a tablet with some flavor of linux, but looks like a no go for mortal users.
Click to expand...
Click to collapse
Sadly at this time, it definitely seems to be. The normal linux way of building drivers doesn't work on here because the modules directory (/lib/modules/3.4.0-5-flo) is read-only, also due to this kernel headers cannot be installed, this can be worked around, but it is definitely not something that the casual user can do easily. I hope this will change so I could start compiling modules and NOT need to rebuild the entire kernel for it.
Glad I could be of help and I love answering questions, I am currently using Ubuntu Touch as my main OS on my Nexus 7 as I'm trying to make it into my own portable workstation. So I'm constantly digging into the system and learning what I can, and I love to share.

Categories

Resources