Hi.
Got a few questions to one with a bigger brain than my self.
First of:
Just got my Garmin Asus A10 rooted with SuperOneClick - Great tool btw.
I've installed setCPU, set the min+high freqz to 600mhz - hoping on a better benchmark with Quadrant but the result where actually lower then before the root and freq settings.
Second of:
What am i doing wrong - Can i get it to run faster then the 600Mhz?
Third of:
Are there any custom ROMs out there on the way to the Garmin Asus A10?
I have searched all day and havent got any closer to finding a ROM to my device.
Fourth and last:
Do anyone have any suggestions on how i can tweak and modify my device so it will run faster and more smooth?
Hope to hear from someone.
System information:
Rooted Danish Garmin Asus A10 with a contract @Telenor.dk - Denmark.
Firmwareversion: 2.1-update1
Kernelversion: 2.6.29 [email protected] #28
Buildversion: A10-V5.0.69-user-20101022
hmmm no idea on your smoothness..
anyone know how to save the SAVED or load SAVED locations from winmo Garmin to here?
For a WAY smoother homescreen, install Launcher Pro (free version works as well)
Besides that, I recommend installing Advanced Task Killer Pro (free)
good luck
So the thing is, most JB ROMs for TF101 (I think that's actually all ROMs but AOKP) use a userspace hack to invert the dock lid state before propagating it to the power management code in the framework. It is, of course, a solution, but it's rather ugly and it clutters the global framework with code that's actually needed for one or two devices in total.
So I suggest that instead of messing around with the userspace, we need to fix the bug in device specific code, i.e. the kernel. I've made a kernel patch long ago for AOKP, but now I'm experiencing problems with other kernels on unmodified userspace, so I decided to post it here and see if other developers/ROMs accept it.
There is already a framework for 'inverting' the result in the kernel, so I reused that, and that made a very simple patch. All it does is check for any switch input (a.k.a. the dock lid) and set its active_low flag to 1, which makes the kernel invert the received data. Since the code is in gpio-keys, it's very unlikely to conflict with any external devices.
The source for the patch is available on my GitHub, it should work with kernel, though I built it for AOKP kernel, which is stock .39 + bcmdhd.
So, framework hacks vs. kernel hacks, discuss.
K900 said:
So the thing is, most JB ROMs for TF101 (I think that's actually all ROMs but AOKP) use a userspace hack to invert the dock lid state before propagating it to the power management code in the framework. It is, of course, a solution, but it's rather ugly and it clutters the global framework with code that's actually needed for one or two devices in total.
So I suggest that instead of messing around with the userspace, we need to fix the bug in device specific code, i.e. the kernel. I've made a kernel patch long ago for AOKP, but now I'm experiencing problems with other kernels on unmodified userspace, so I decided to post it here and see if other developers/ROMs accept it.
There is already a framework for 'inverting' the result in the kernel, so I reused that, and that made a very simple patch. All it does is check for any switch input (a.k.a. the dock lid) and set its active_low flag to 1, which makes the kernel invert the received data. Since the code is in gpio-keys, it's very unlikely to conflict with any external devices.
The source for the patch is available on my GitHub, it should work with kernel, though I built it for AOKP kernel, which is stock .39 + bcmdhd.
So, framework hacks vs. kernel hacks, discuss.
Click to expand...
Click to collapse
Nice to see you again, old friend.
I have already developed like the same hack for my new CyanogenMod kernel, just that I am using a seperate c class to perform the switch each time the native asus code does receive a signal requesting to change the dock status.
So, generally, I would say this is a good idea and the way this problem should be solved.
The whole problem should stay in a low-level kernel space and never ever even require a userspace fix.
We just have to keep this on track, and maybe do a collection of how to-compile-kernels and some collection of tweaks, e.g. I can share my governor's code and so on. This should be a sticky then, so no developer for the TF101 can ever miss it.
If people request this I can do this. Just need some opinion.
So, after all, +1 to your (and mine, not yet shared) solution.
RaymanFX said:
I have already developed like the same hack for my new CyanogenMod kernel, just that I am using a seperate c class to perform the switch each time the native asus code does receive a signal requesting to change the dock status.
Click to expand...
Click to collapse
The logic's already there, just use my patch, seriously. Also, that's why you read kernel docs before coding stuff, toldya
Also I never really disappeared, you have my GTalk and I have the thread on Rootz. Don't want to post it here though, because XDA is, well, messy. And Rootz, at least for now, is less messy. Kinda. That's what I was thinking. Also keeping close to AOKP official forums.
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:
[ICS] Asus official firmware (with root)
[ICS] Android Revolution HD
[ICS] Energyâ„¢
[ICS] Revolver
[JB] LiquidSmooth
[JB] RaymanFX's CM10
[JB] ParanoidAndroid:CM10 Hybrid
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
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
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
i tried it. there is a little change, it is a bit speedly... i don't tried videos... but it is good good work
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.
but drivers must support them
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
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.
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!
poppajules said:
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.
Click to expand...
Click to collapse
sainthout said:
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!
Click to expand...
Click to collapse
To avoid SoDs, you need to set the lower voltage higher.
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!!
K900 said:
To avoid SoDs, you need to set the lower voltage higher.
Click to expand...
Click to collapse
sainthout said:
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!!
Click to expand...
Click to collapse
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.
do you make it for jb please ?? we need it
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
poppajules said:
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.
Click to expand...
Click to collapse
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?
prendomiao said:
do you make it for jb please ?? we need it
Click to expand...
Click to collapse
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
Hi, does Android display a notification that you connected an USB Ethernet device?
And for which ROM are you trying?
mazimo said:
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
Click to expand...
Click to collapse
USB Ethernet works on Android 2.3 with icon...
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
prendomiao said:
USB Ethernet works on Android 2.3 with icon...
Click to expand...
Click to collapse
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!
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!