[KERNEL][ICS][JB][v2.1] USB Ethernet, DVD, Voodoo, Kernel manager app!

Search This thread

sainthout

Senior Member
Apr 26, 2009
52
40
Rijswijk
2.2 released!
In the news!

Current features:
  • Based on Asus 9.2.1.27 WW kernelsources
  • Backported all Linux 3.2 USB LAN drivers (bandwidth up to 250 MBit/s! tested with a SMSC LAN7500)
  • ISO9660 (+Joilet), UDF, FAT12 and Apple HFS file system support (USB CD\DVD access! See notes)
  • Voodoo Sound support!
  • Turned a few unneeded kernel features off and compiled with Linaro GCC, it's smaller and boots quite a bit faster than other kernels!
  • Installable using your favorite recovery (tested on CWM v6.0.1.4 v2)
  • New versions of Tegra 2 codecs for ICS based ROMs (will be provided within a separate installable .zip)
  • Kernel manager application to manage loaded drivers and file system modules!
  • Supports almost all current ICS and JB ROMs

Compatible with:
  • If you tested this with any other unlisted ROM, please drop some feedback! :)

Note 1: Some USB devices may need additional power, if so, get a Y cable from eBay so you can power a USB device using a external USB power source
Note 2: External optical drivers and floppy drives will not be mounted automatically, as Android doesn't officially support them
Note 3: CSS protected DVDs are not supported (e.g. Retail movies), due to Linux kernel limitations
Note 4: NTFS is not supported 'out of the box', please use Paragon driver from Google Play

Downloads:
https://www.dropbox.com/sh/gxi0gsl0tdfapgi/Ja19Exs4Sz
(PLEASE install Busybox 1.20.2 using one of the installer apps from Google Play, it is needed for the Kernelmanager application to function properly)

Source:
https://github.com/sander-ashwin/tf101-allinone-kernel

Please report if something does not work!!

Mounting optical drives:
1: First make sure your device is proper rooted (the "mount" command we'll use needs root)
2: Install Android Terminal Emulator from Google Play and open it
3: Type "su" and press enter, you should be asked if you would like to give root access, say Yes
4: Make a mountpoint directory, e.g. "mkdir /Removable/opticaldrive"
5: Mount your optical drive (make sure it gets enough power and something is inserted in the drive) using this command: "busybox mount /dev/block/sr0 /Removable/opticaldrive"
6: You're done! If you inserted a DVD movie, you might want to install Wondershare player or some other player that is capable of playing DVDs with menus
7: If you encounter any difficulties, please reply on this thread or send me a message :)

Connecting your TF101 to wired ethernet:
1: Buy a TF101 USB Host connector if you don't already have one (they are very cheap online, around 12-15 dollars)
2: Connect the adapter to your TF101, plug in your USB ethernet adapter
3: Android will display a message in the lower right corner of the screen that an ethernet adapter has been connected
4: Connect the LAN cable
5: Android will display a message that your device is connected using DHCP, you can now use internet using LAN :D
6: If you require manual IP settings, please go to Android's settings, there you can set manual IP or DHCP (OPTIONAL STEP)

Thanks to:
  • RaymanFX - for inspiring me with his own kernel, and for porting CM10
  • Asus - for making a pretty good device
  • prendomiao - for beta testing :)
 
Last edited:

sainthout

Senior Member
Apr 26, 2009
52
40
Rijswijk
Changelog

v1.0:
  • First release!

v1.1:
  • Removed some more junk from kernel
  • Now actually added new filesystem drivers!

v1.2:
  • Backport of Linux 3.6 I2C core
  • A little more cleanup of unneeded features

v1.3:
  • Backported all Linux 3.2 USB LAN drivers
  • Kernel now includes support for Voodoo Sound!

v1.4:
  • I2C fixes + Tegra I2C driver ported from kernel 3.6
  • Tweaked I2C timeout, hopefully our touchscreen won't lag anymore
    (this may fix the problem that the touchscreen sometimes doesn't respond for a second, because of an I2C timeout)

v2.0:
  • Fixed sound
  • Now compiled using latest Linaro GCC 4.7.2 compiler
  • New kernel manager application to manage loaded drivers! You're in control, so the kernel doesn't load unneeded modules anymore!
  • Reverted I2C changes, as they didn't really help

v2.1:
  • Now compatible with ROMs based on RaymanFX's CM10
  • Updated BCMDHD WLAN driver for CM10 kernel
  • A little cleanup to synchronise both ICS and CM10 versions
  • Updated Linaro compiler to 2012.10

v2.2:
  • Added some new releases for more compatibility
 
Last edited:
D

Deleted member 4473400

Guest
i tried it. there is a little change, it is a bit speedly... i don't tried videos... but it is good ;) good work
 

sainthout

Senior Member
Apr 26, 2009
52
40
Rijswijk
Thank you! Hope videos will play better as Tegra 2 is really picky with HD videos.
I'm now writing a tutorial for mounting optical discs, fortunately it's not really difficult.
 

sainthout

Senior Member
Apr 26, 2009
52
40
Rijswijk
Well, I included them already :) They are in your device if you still have my kernel installed.
But Android doesn't support automounting optical drives, so we have to mount the optical disc ourselves, until someone writes an app to do it (automatically).

EDIT: please install v1.1 if you would like to use your optical drive, as I forgot to include the drivers while compiling v1.0 :p
 
Last edited:

poppajules

Senior Member
Nov 20, 2010
103
9
Sierra Vista
Outstanding kernel. The first one I've run without SoD so far. I don't need OC, so the extra freq.'s are not important. Super quick, reliable so far for a few hours. I'll continue to report back, especially if I get SoD's. They are the bane of my existence. Keep up the good work.

Sent from my Transformer TF101 using xda premium.
 

sainthout

Senior Member
Apr 26, 2009
52
40
Rijswijk
Thanks! Hope you can enjoy your device again :)
I would like to implement overclocking though, but only if the kernel is still 100% stable for everyone.
Stil need to find out how, as I'm still learning C and kernel hacking.

The main problem at the moment is that all different hardware revisions have different issues.
Mine has touchscreen issues with a lot of kernels for example, your device may freeze when sleeping, but with a lot of testing and debugging we might be able to create a kernel that works for everyone.

When having any problems, please keep reporting! :)


Outstanding kernel. The first one I've run without SoD so far. I don't need OC, so the extra freq.'s are not important. Super quick, reliable so far for a few hours. I'll continue to report back, especially if I get SoD's. They are the bane of my existence. Keep up the good work.

Sent from my Transformer TF101 using xda premium.
 

K900

Senior Member
Aug 12, 2010
4,846
2,893
Moscow
Thanks! Hope you can enjoy your device again :)
I would like to implement overclocking though, but only if the kernel is still 100% stable for everyone.
Stil need to find out how, as I'm still learning C and kernel hacking.

The main problem at the moment is that all different hardware revisions have different issues.
Mine has touchscreen issues with a lot of kernels for example, your device may freeze when sleeping, but with a lot of testing and debugging we might be able to create a kernel that works for everyone.

When having any problems, please keep reporting! :)

To avoid SoDs, you need to set the lower voltage higher.
 

sainthout

Senior Member
Apr 26, 2009
52
40
Rijswijk
The standard voltages I'm using should be ok, but mine still SoD's sometimes.
With stock kernel as well as with other kernels, as well as with my own kernel..

Unfortunately it always happens when I'm not at home, so I can't directly debug using ADB (if possible at all).
So I can't easily find out wether it's a hardware issue, kernel issue or software issue.

If anyone has a clue about this, please reply!!


To avoid SoDs, you need to set the lower voltage higher.
 

poppajules

Senior Member
Nov 20, 2010
103
9
Sierra Vista
The standard voltages I'm using should be ok, but mine still SoD's sometimes.
With stock kernel as well as with other kernels, as well as with my own kernel..

Unfortunately it always happens when I'm not at home, so I can't directly debug using ADB (if possible at all).
So I can't easily find out wether it's a hardware issue, kernel issue or software issue.

If anyone has a clue about this, please reply!!

Is it SoD with dock connected or tablet alone? I'm sure you're familiar with the SD card removal thing from the dock to prevent SoD with guevors kernel? That wasn't my issue anyway, but it's just one I've heard of...

edit: you know, I didn't even think about the voltages being the issue with the other kernels... Is there an automated program to adjust voltages? I used QuickClock Overclock for my Droid X, but I'm not familiar with changing voltages on any other devices...

---------- Post added at 11:42 AM ---------- Previous post was at 11:33 AM ----------

I wouldn't MIND having OC, but I hardly use it. I got out of the OC game after watching it kill batteries on multiple phones and devices..

No one really NEEDS to OC, but for some reason people feel the need for it. The only phone I really NEEDED OC was my Droid Eris to play Angry Birds when that first came to Android... anyways, off topic...

I messed with the tablet last night, and still had no SoD.. I'll report back again tonight when I get home from work.
 
Last edited:

sainthout

Senior Member
Apr 26, 2009
52
40
Rijswijk
Good to hear that the kernel works so far, hope it won't SoD.

I don't have the dock, the SoD's are just random it seems.
I'm also not working on overclocking anymore, too much files are involved which make it difficult to understand and fix.
It's also a pretty big risk, you could burn your CPU or GPU if using wrong values or something like that.
I'll leave the stock voltages and stock frequencies.

I'm now trying to fix the touchscreen issue that happens after some time. Not many people have the problem, so this won't do anything to other people.
Just updating the Linux I2C core to new 3.6 and backporting some newer touchscreen drivers.
Maybe I can also include some newer USB Ethernet drivers and backport other things.

When I implemented something that's worth trying out, I will put a new kernel version online :D


Is it SoD with dock connected or tablet alone? I'm sure you're familiar with the SD card removal thing from the dock to prevent SoD with guevors kernel? That wasn't my issue anyway, but it's just one I've heard of...

edit: you know, I didn't even think about the voltages being the issue with the other kernels... Is there an automated program to adjust voltages? I used QuickClock Overclock for my Droid X, but I'm not familiar with changing voltages on any other devices...

---------- Post added at 11:42 AM ---------- Previous post was at 11:33 AM ----------

I wouldn't MIND having OC, but I hardly use it. I got out of the OC game after watching it kill batteries on multiple phones and devices..

No one really NEEDS to OC, but for some reason people feel the need for it. The only phone I really NEEDED OC was my Droid Eris to play Angry Birds when that first came to Android... anyways, off topic...

I messed with the tablet last night, and still had no SoD.. I'll report back again tonight when I get home from work.
 

sainthout

Senior Member
Apr 26, 2009
52
40
Rijswijk
Different JB ROMs may require different ramdisks, so it will take a little time to get it done properly and stable.
For which JB ROM would you like to use it? I might be able to take a copy of the ROM's kernel's own ramdisk and combine it with my kernel :)

I'm also thinking into making one for RaymanFX's new LiquidSmooth ROM, anyone interested? :)

do you make it for jb please :p?? we need it :D
 

mazimo

Member
Dec 28, 2007
24
0
I am sorry if i sound stupid, but where do i extract files to? I have a flashing red light on my USB ethernet but no connection :(
 

sainthout

Senior Member
Apr 26, 2009
52
40
Rijswijk
Ethernet doesn't have anything to do with Android at all.
The Linux kernel provides drivers which will provide Android a universal interface to control Ethernet devices.
When you plug in your USB ethernet device, the kernel will create an eth0 interface (first ethernet device interface).
Android sees that immediately and will show a little message that an ethernet device is detected.
With very old Android versions, Android doesn't really support ethernet, but some kernels do.. in that case ethernet support will be provided automatically without any notifications.

So for example, if Samsung want to support every USB ethernet device, they can, by building support into the Linux kernel.
If Asus doesn't, they don't build any support in the kernel, so the devices won't be recognised and so they will not work.
Except 1 or maybe 2 devices, the original Asus kernel doesn't support ANY Ethernet device, but my kernel supports them all :)

USB Ethernet works on Android 2.3 with icon...
 

poppajules

Senior Member
Nov 20, 2010
103
9
Sierra Vista
I ran your 1.0 version, and it's great. I have MASSIVE battery life compared to before. The only issue I have noticed is with wifi reconnecting after deep sleep. It disconnects when screen is off (i verified the settings), but it has a difficult time reconnecting. I usually cycle the wifi toggle and it connects, or I click on my wifi and it connects. It's clearly not a major issue, just a little extra thought when I wake it up.

I read through and no one reported anything like this, so I figured it might be something to keep your eye out for in your later builds. I will install the 2.0 today and give feedback later. Thanks for your hard work!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 18
    2.2 released!
    In the news!

    Current features:
    • Based on Asus 9.2.1.27 WW kernelsources
    • Backported all Linux 3.2 USB LAN drivers (bandwidth up to 250 MBit/s! tested with a SMSC LAN7500)
    • ISO9660 (+Joilet), UDF, FAT12 and Apple HFS file system support (USB CD\DVD access! See notes)
    • Voodoo Sound support!
    • Turned a few unneeded kernel features off and compiled with Linaro GCC, it's smaller and boots quite a bit faster than other kernels!
    • Installable using your favorite recovery (tested on CWM v6.0.1.4 v2)
    • New versions of Tegra 2 codecs for ICS based ROMs (will be provided within a separate installable .zip)
    • Kernel manager application to manage loaded drivers and file system modules!
    • Supports almost all current ICS and JB ROMs

    Compatible with:
    • If you tested this with any other unlisted ROM, please drop some feedback! :)

    Note 1: Some USB devices may need additional power, if so, get a Y cable from eBay so you can power a USB device using a external USB power source
    Note 2: External optical drivers and floppy drives will not be mounted automatically, as Android doesn't officially support them
    Note 3: CSS protected DVDs are not supported (e.g. Retail movies), due to Linux kernel limitations
    Note 4: NTFS is not supported 'out of the box', please use Paragon driver from Google Play

    Downloads:
    https://www.dropbox.com/sh/gxi0gsl0tdfapgi/Ja19Exs4Sz
    (PLEASE install Busybox 1.20.2 using one of the installer apps from Google Play, it is needed for the Kernelmanager application to function properly)

    Source:
    https://github.com/sander-ashwin/tf101-allinone-kernel

    Please report if something does not work!!

    Mounting optical drives:
    1: First make sure your device is proper rooted (the "mount" command we'll use needs root)
    2: Install Android Terminal Emulator from Google Play and open it
    3: Type "su" and press enter, you should be asked if you would like to give root access, say Yes
    4: Make a mountpoint directory, e.g. "mkdir /Removable/opticaldrive"
    5: Mount your optical drive (make sure it gets enough power and something is inserted in the drive) using this command: "busybox mount /dev/block/sr0 /Removable/opticaldrive"
    6: You're done! If you inserted a DVD movie, you might want to install Wondershare player or some other player that is capable of playing DVDs with menus
    7: If you encounter any difficulties, please reply on this thread or send me a message :)

    Connecting your TF101 to wired ethernet:
    1: Buy a TF101 USB Host connector if you don't already have one (they are very cheap online, around 12-15 dollars)
    2: Connect the adapter to your TF101, plug in your USB ethernet adapter
    3: Android will display a message in the lower right corner of the screen that an ethernet adapter has been connected
    4: Connect the LAN cable
    5: Android will display a message that your device is connected using DHCP, you can now use internet using LAN :D
    6: If you require manual IP settings, please go to Android's settings, there you can set manual IP or DHCP (OPTIONAL STEP)

    Thanks to:
    • RaymanFX - for inspiring me with his own kernel, and for porting CM10
    • Asus - for making a pretty good device
    • prendomiao - for beta testing :)
    8
    Changelog

    v1.0:
    • First release!

    v1.1:
    • Removed some more junk from kernel
    • Now actually added new filesystem drivers!

    v1.2:
    • Backport of Linux 3.6 I2C core
    • A little more cleanup of unneeded features

    v1.3:
    • Backported all Linux 3.2 USB LAN drivers
    • Kernel now includes support for Voodoo Sound!

    v1.4:
    • I2C fixes + Tegra I2C driver ported from kernel 3.6
    • Tweaked I2C timeout, hopefully our touchscreen won't lag anymore
      (this may fix the problem that the touchscreen sometimes doesn't respond for a second, because of an I2C timeout)

    v2.0:
    • Fixed sound
    • Now compiled using latest Linaro GCC 4.7.2 compiler
    • New kernel manager application to manage loaded drivers! You're in control, so the kernel doesn't load unneeded modules anymore!
    • Reverted I2C changes, as they didn't really help

    v2.1:
    • Now compatible with ROMs based on RaymanFX's CM10
    • Updated BCMDHD WLAN driver for CM10 kernel
    • A little cleanup to synchronise both ICS and CM10 versions
    • Updated Linaro compiler to 2012.10

    v2.2:
    • Added some new releases for more compatibility
    3
    new release

    Everyone on older versions, please upgrade to v2.0 and try my new kernel manager application!
    (Which is also my very first Android application)

    Enjoy and please post feedback :)
    If anyone would like to tryout a JB version of my kernel, please pm me!
    3
    I'm working on a JB version, but it will need some testing, as I want to make sure everything works as good as the ICS version.
    Especially Wifi can be a bit of a problem. Also, different JB ROMs use different Wifi settings, so I probably need to make a few JB versions.

    About overclocking: I want this kernel to be as least as stable as the stock kernel, and overclocking possibility might make it unstable
    This is (I think..) due to not all Tegra 2 chips being equally overclockable, some do better at high clocks, and some may RR and SoD when overclocked.
    Also, implementing overclocking involves a lot of changes in the Tegra 2 clock sourcecode, so implementing overclocking is not without a risk at all...
    I may take a good look at it in the future, but for now, it's just a bit too difficult to make it stable :)
    2
    Great to hear it runs well!

    Also: JB version is coming! It seems official CM10 can now run with my kernel.. now I got to fix it to work with other JB ROMs.
    Hope fixing this won't take too long :)

    When everything is fixed, I will release a v2.1 version, as I like to have JB and ICS versions synched :)

    In the meantime, please do provide me with any feedback you guys have!
    Positive feedback as well as negative feedback helps me fixing problems to improve this kernel.

    V2.0 working great on my mum's rooted TF101 with ARHD.

    Dead cookies leave no trails...