[KERNEL][3.0.21+][HD video working now on 16Gb NT] Nook Tablet ICS kernel development

Search This thread

fickendichdu

Member
Mar 30, 2007
5
0
I do know that this is a development thread. The issue I stated on 1 you think would be resolved because titles has been updated to HD video working. Now in regards to the font size being smaller and larger I thought could attribute to the reason HD not working.

The formatting of the system may seem a little redundant. When I would switch to a different Rom either cm7 or 9 and then back I would have reboots. Do that one extra step and no reboots.

Sent from my VS910 4G using xda app-developers app
 

little8020

Senior Member
Aug 12, 2010
126
14
Attalla, AL
I do know that this is a development thread. The issue I stated on 1 you think would be resolved because titles has been updated to HD video working. Now in regards to the font size being smaller and larger I thought could attribute to the reason HD not working.

Sent from my VS910 4G using xda app-developers app

I know that netflix works on cm9 but the cm10 thread says that hardware decoding doesn't work so that's why you get the black screen and audio, (cm9 with 2.x kernel does that too)
 

Rebellos

Senior Recognized Developer
May 13, 2009
1,353
3,428
Gdańsk
Hello,

I built using the ducati_test and made two flash attempts. This build would not boot - black screen only with backlight on.

Thanks. Is it a trouble for you to upload whole .zip of that build? I'd like to catch UART dmesg and test it abit.

If it's any kind trouble, don't bother yourself.


//edit:
This is a concept to test out, I've got troubles testing it atm. ^^
For rather advanced users.
Just notice pathes are "AFAIR", probably these differ abit in real.
switch governor to "userspace" (echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_current_governor )
This should disable DVFS
experiment with frequencies (echo <desired_freq> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed )
Try to hang system on every frequency. It's possible that on some frequencies it will hang more often, on some less often, on others wont hang at all. It's also possible that frequency won't matter at all and it will hang equally often on all freqs.
 
Last edited:

Zippy Dufus

Senior Member
Feb 12, 2011
476
178
Thanks. Is it a trouble for you to upload whole .zip of that build? I'd like to catch UART dmesg and test it abit.

If it's any kind trouble, don't bother yourself.

I'm always willing to help on this but I'm now traveling and my time and computing environment are more restricted.

I'm currently testing how stable this build is on airport and hotel wifi networks. I did have a crash this morning where it went into the state that the backlight remained on and I had the hold down the power button for a while (10+ seconds) to completely shut it down. I would be interested if the kernel is still accessible via SSH but I do not have such access now.

My knowledge of UART is almost nothing but if you can point me to where I can read up on it, I may find some time on the weekend to play with it.

Also, could you explain demetris_l's comments in this post? I don't understand the difference of flashing a kernel versus flashing the whole build package. In fact, I quickly looked inside the builds zip file and couldn't recognize a file that would be the kernel. I'm a Fedora Linux user and thought that I should be able to find the kernel file.

I'm pleased with this alpha build of CM10 and would suggest that the focus would be to fix the kernel in it first and return to CM9 afterwards. CM10 appears to be a couple bugs short of awesome!

Cheers.
 

Demetris

Recognized Developer
Aug 15, 2008
3,096
9,471
47
Limassol
For not advanced users ;) use this :)

http://xdaforums.com/attachment.php?attachmentid=648354&d=1310073004
It might work the same.
Notice that is kinda old version of setcpu freely available to xda members taken from here:
http://xdaforums.com/showthread.php?t=505419
Report back if it works, thanks

---------- Post added at 05:08 AM ---------- Previous post was at 04:47 AM ----------

For advanced users that will test this following Rebellos quide i will add some helping hints.

You can use these commands in adb shell or while running nook tablet within a terminal application.

echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

This command will change ondemand (default governor) to userspace then you need to Check Available frequencies with:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

Then you will get response back from system like:
300000 600000 800000 1008000

So let's say we need to e.g. Switch to 800Mhz, we type this:

echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

Then we need to check if our changes took effect by issuing:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

We should see a response back from system with:
800000
So now we succesfully set our CPU at 800mhz speed with no options to scale up or down.

I hope i helped.

Also this is how you activate both cores:

chmod 666 /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu1/online
chmod 444 /sys/devices/system/cpu/cpu1/online

To Deactivate Core 1....

chmod 666 /sys/devices/system/cpu/cpu1/online
echo 0 > /sys/devices/system/cpu/cpu1/online
chmod 444 /sys/devices/system/cpu/cpu1/online
 
Last edited:

Demetris

Recognized Developer
Aug 15, 2008
3,096
9,471
47
Limassol
This is crash with 800mhz userspace governor.
adb shell cat /proc/last_kmsg > kmsg.txt
http://pastebin.com/pzRCeZFr

This is crash with 1GHz userspace governor

http://pastebin.com/H0K6Fd0Y

And this is after i disable wifi from rom by deleting firmware and modules and having connected usb on Nook tablet(if not connect usb no last_kmsg output file)

http://pastebin.com/vaRyzrmR

Notice how brightness goes down then up by itself :)
In the log shows brightness had gone from 101 to 0 and then came back up from 0 to 102!
We dont have brightness control :)
 
Last edited:

Demetris

Recognized Developer
Aug 15, 2008
3,096
9,471
47
Limassol
We don't want SOD less frequent, we need it gone for good so we must squeeze tablet until it spills out what's wrong with it . what it doesn't like from the kernel and freaks out.

Sent from my SGH-T959 using xda app-developers app
 
  • Like
Reactions: Aleq

Rebellos

Senior Recognized Developer
May 13, 2009
1,353
3,428
Gdańsk
That's why we need some tests, with underclocking to 800, 600, 300, overclocking to 1.2/1.4k (after I enable that mode in kernel) and some report.
1) Is frequency of SODs proportional to max frequency of CPU?
2) Does switching governor to userspace and locking frequency and certain level helps? (in theory there's no jumps between frequencies then, in practice - it's to be checked ;P )
3) Does limiting manually (there is some max_allowed_frequency file in filesystem AFAIR) helps, or locking frequency helps more, or using GUI helps?
4) Does limiting frequency to 300 limit SODs occurence? (I know, tablet is pretty slow then)
 

lbcoder

Senior Member
Jan 21, 2009
2,613
98
That's why we need some tests, with underclocking to 800, 600, 300, overclocking to 1.2/1.4k (after I enable that mode in kernel) and some report.
1) Is frequency of SODs proportional to max frequency of CPU?
2) Does switching governor to userspace and locking frequency and certain level helps? (in theory there's no jumps between frequencies then, in practice - it's to be checked ;P )
3) Does limiting manually (there is some max_allowed_frequency file in filesystem AFAIR) helps, or locking frequency helps more, or using GUI helps?
4) Does limiting frequency to 300 limit SODs occurence? (I know, tablet is pretty slow then)

Interesting.
From what I gather, the SOD, as the name implies, is having the device go into sleep mode, i.e. "deep sleep", and be unable to awaken from it, which is supported by the references I've seen to wake locks preventing SOD. It doesn't just go into deep sleep randomly while the tablet is in use, rather when the screen times out or the user depressed the power button.

It basically means that the operating CPU frequency isn't the direct cause of the SOD. Rather, something is happening either going IN to deep sleep, or coming OUT of it.

Now it would seem that if there is some link between the selected frequency and the occurrence of SOD, then we can hypothesize that the transition from the high frequency into deep sleep, or from deep sleep into high frequency may be related to the SOD.

A second thing to consider is that along with frequency variation, there is also voltage variation. The voltage being tied to the frequency. High frequency demands high voltage, low frequency demands low voltage. What does the transition into deep sleep require? Is it possible that having a high voltage state while transitioning into deep sleep causes something to crash? Maybe something as simple as forcing the CPU into its minimum operating frequency (and voltage) just prior to initiating deep sleep would solve this....
 

fattire

Inactive Recognized Developer
Oct 11, 2010
2,281
6,473
www.eff.org
A second thing to consider is that along with frequency variation, there is also voltage variation. The voltage being tied to the frequency. High frequency demands high voltage, low frequency demands low voltage. What does the transition into deep sleep require? Is it possible that having a high voltage state while transitioning into deep sleep causes something to crash? Maybe something as simple as forcing the CPU into its minimum operating frequency (and voltage) just prior to initiating deep sleep would solve this....

^^^ This is interesting. Has anyone tried setting all the steppings to 800 (or whatever) and using a governor like performance so that no variations of voltage/speed occur?
 
  • Like
Reactions: nook_lover

Zippy Dufus

Senior Member
Feb 12, 2011
476
178
I wonder what ROMs people are testing with? The ROM I built (CM10) and posted here for download never seems to SOD even after I uninstalled WakeLock.

This ROM has no special modifications and was built as per my post here. I see that another member has built the same and I am curious to see his results.

My strict definition of a SOD is when the device cannot wake up after going to sleep because of inactivity yet the kernel is alive and can be reached via SSH (Dropbear SSH server app installed). My CM9 build always SOD'ed making it unusable for my workflows. I'm wondering what changed between CM9 and CM10 or maybe it is just a "lucky build" where the linker arranged the object code in such a way to minimize the deleterious affects of memory errors.

I do get the occasional crashes with these characteristics in order of frequency:
  1. Screen goes dark but backlight is still on and sometimes stuttering sound crashed if in a sound app. I have to hold the power button to turn device off. (Haven't checked yet if kernel is still alive.)
  2. Device totally shuts down.
  3. Device reboots - get boot animation (I believe I've seen only one of these.)
Yesterday I was running under-clocked at 300Mhz min, 300MHhz max, and ONDEMAND, it worked fine for my morning workflows (Yahoo and Exchange email, web surfing, tuneIn Radio concurrently), slept all day with no SOD, but when I tried a MP4 video with Mobo Player in the evening, I got it to crash twice with the stuttering sound. I wonder if this is a Moboplayer/low CPU issue?

Today I am trying 600,600,ONDEMAND and tomorrow 300,600,ONDEMAND.

Cheers.
 

lbcoder

Senior Member
Jan 21, 2009
2,613
98
I wonder what ROMs people are testing with? The ROM I built (CM10) and posted here for download never seems to SOD even after I uninstalled WakeLock.

This ROM has no special modifications and was built as per my post here. I see that another member has built the same and I am curious to see his results.

My strict definition of a SOD is when the device cannot wake up after going to sleep because of inactivity yet the kernel is alive and can be reached via SSH (Dropbear SSH server app installed). My CM9 build always SOD'ed making it unusable for my workflows. I'm wondering what changed between CM9 and CM10 or maybe it is just a "lucky build" where the linker arranged the object code in such a way to minimize the deleterious affects of memory errors.

If it is responding, then the CPU *must* be awake -- not asleep.
If its awake, it can be debugged.

I would consider a SoD to be where the CPU is stuck in deep sleep (effectively turned off) and won't wake up, which seems more consistent with what others describe (in that they are unable to debug it).

If the condition being observed is, in fact, a LIVE CPU AND KERNEL, then I'm at a loss regarding why people are having a difficulty collecting logs....

Could you please verify whether or not your CPU is going into deep sleep when it goes into this state?

Thanks.

---------- Post added at 10:21 AM ---------- Previous post was at 10:19 AM ----------

Ok this is just a wild guess, but i think i just found the bug :)
Found a repeatable motif for this bug!
Every 4% decrease in battery the bug comes.
I had it in 66% then in 62% then in 58%.

You're saying that the battery meter is tripping something at 4 points drop?
Weird. :eek:

Details?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 103
    THIS IS FOR DEVELOPMENT COMMUNICATION ONLY -- THERE IS A USER-BASED THREAD IN GENERAL SECTION HERE:
    http://xdaforums.com/showthread.php?p=26931097

    I've started porting 3.0.x Android kernel to NookTablet.
    CURRENT LOG:
    http://pastebin.com/qWXL5LuG

    Working /Not working features:
    1. external SD card (thanks fattire), internal emmc works!
    2. LCD screen (working), back-light(always on as temporary hack). Tested backlight without loading ducati-m3.bin - it works. Thanks to icemank121 in IRC for recommending Hashcode to check the Archos Gen 9 tablet's backlight driver and mik_os for adaptation for NT.
    3. Touchscreen (enabled)
    4. G-sensor (enabled)
    5. Battery driver (enabled)

    6. Audio driver (enabled, working). Thanks to chrmhoffmann.
    7. WIFI (working).
    8. ADB works (test with CWM)
    9. Booting without rootfs in RAM. Ready for beta testing Ubuntu/Linux boot. http://xdaforums.com/showpost.php?p=23072540&postcount=119
    10. power button works in ICS. Poweroff working now. Thanks to Hashcode.
    11. Ducati don't work if backlight is working. (Timer 11 conflict)
    12. Add USB OTG driver to the kernel / don't have USB OTG cable to test :(
    13. Charger working with USB/wall charger.
    14. After software reset SD card don't recognized before shutdown. Fixed by mik_os.
    15. NT reboot only when USB cable is connected http://xdaforums.com/showpost.php?p=25749805&postcount=419
    Fixed. Tnahks to Rebellos and mik_os (http://xdaforums.com/showpost.php?p=25791963&postcount=426)
    16. Deep sleep working, but drain 2-3%/h
    17. Skype working for me now! Testing with 2 my skype account.[/COLOR] It working on buildin mic and headset mic too. Headset tested by joelee100. On test branch using of mic cause device reboot.
    18. Test HD video on YouTube on 16gb device. It working now. Thanks to HashCode to consulting
    Test release CM9 is here http://xdaforums.com/showpost.php?p=26762846&postcount=503


    The repositorie is here https://github.com/Kuzma30/kernel3NookTablet
    Some features are disabled. I will enable them, one by one.
    Help is greatly appreciated!

    This is beta version of 3.x kernel. Only for development use (yet)!

    Kernel development team: chrmhoffmann, fattire, mik_os, Rebell and hashcode (from KF)

    THANKS FOR DONATION TO : lost101 (10$), Aleq (10$), sangahm(15$), old_fart (10$), plantucha (5$), scuffell (10$), angusj (10$)

    Special thanks to aludal for his help at the initial stages of this development. Short descriptions of many stages for this project are being published at aludal's blog fineoils.blogspot.com

    Special thanks to demetris_I for his help in searching, communicating. He work like a BIG "SEARCH" MACHINE.
    37
    What's going on here!

    I guess he's doing good? I have no idea how you guys make heads or tails out of that stuff. Amazing!

    Iv'e tried reading up on compiling and such and honestly I'm lost. I consider myself to be above average in the computer world and it's all greek to me.

    Any suggestions as to a book or books for NooB's? Can compiling be accomplished without any experience with C++ ?? Does what I'm talking about even apply to the Kernel? In other words is what's going on here considered being "compiled"

    TIA

    So "compiling" as you may know is the process of taking human-readable code (or at least computer-programmer-human readable, it's not like a Steven King story) and converting it into a binary blob of code that can be processed and interpreted by the silicon chips in the computer. That translation is compiling, and there are several steps to it...

    What you're looking at in Kuzma's post isn't actual code, but a log of output showing the process of booting the kernel-- the kernel being the most "low-level" program that runs on the nook tablet. The Android kernel, based on the Linux kernel, is in charge of ensuring all the other programs get CPU time to run, and it oversees all the basic systems and all the hardware and everything at the most fundamental level. It's super complex. To use a bizarre analogy-- if a regular app you'd use in Android is as intricate as a shopping mall, I'd say the kernel's inner workings are about as complex as the city of Manhattan. :)

    The Nook Tablet's stock system comes with the 2.6.35 version kernel. However, that kernel is fairly old as kernels go. The newer 3.2.x kernels have been souped up by Texas Instruments (who make the OMAP4 platform upon which the Nook Tablet is based). These OMAP-specific enhancements add things to make the Nook Tablet be able to do super-fast graphic effects, play hardware-accelerated video, and offload processing from the CPU to other chips and save power in other ways. The 3.x kernels also have other improvements that Ice Cream Sandwich depends on for stuff like the network auditing (where you can see how many MB you download in a nice graph and automatically stop it from exceeding a limit).

    So for the past few weeks, hashcode, chrmhoffman, nemith, myself, and others have been moving features back from the 3.x kernel to the NT's 2.6.35 kernel because it's generally easier to grab a feature at a time and integrate it back. But going the other way is a much better if not harder way of doing it-- Kuzma's jumping to to the latest version from TI, then then grab all the 2.6.35 NT-specific code (such as touchscreen drivers, and SD cards and other peripherals and settings) and moving them forward into the newest kernel so it's "caught up".

    But to do this, you have to more or less work "blind" because you don't have a working screen to even see errors or to know if things are working or not. You just pop in the new kernel file, turn it on, and cross your fingers that everything will work out perfectly.

    No not really. That would never work. Instead, you need a way to see what's going on. And so you need to "tap" the physical hardware by connecting up some wires to the NT so it'll send a signal to your computer showing you what's happening with the kernel as you boot it on the NT-- whether the code you've changed is working or not.

    That's what the log above represents-- it's the output of the boot process, which shows various parts of the Nook Tablet starting up in the 3.x kernel-- this is the actual output of the kernel when it runs. Normally this output is "hidden" from view-- it's only viewable when you type the "dmesg" command in the shell. But he's tapped the internals of the Nook Tablet and is able to view it and log it and show it to us.

    And he's saying that he's having problems with registering the external MMC, also known as the "SD card". And so then he shows the part of the code in the kernel that is producing the error.

    The kernel is written in the C language, which is perhaps not the first one I'd recommend if you want to get your feet wet with this stuff. Instead, I'd take a look at python as a language. It's meant to be an easy language to learn, it's available free, it runs on everything from Macs to Linux to Windows to Android. It also happens to be very very very powerful and is used everywhere from NASA to the stock market to writing games. It's not a toy, even though children can learn it quickly.

    Which is why I'm going to recommend the book "Hello World" for you to check out. It's a great book written for kids, but I think it's a good place for you to start. I have nothing to do with it, just a fan and I've recommended it to others with good results.

    Hope this gives the discussion some context.
    33
    I have some very good news.
    We may finally have the opportunity to have ducati-m3.bin with GPTimer 9, 10 as WDT.
    It will take some days or weeks from now, so be patient.
    As i have some more news will post back.
    Thats all am allowed to say in time being.
    Keep your hope up guys we may finally have video acceleration on ICS!
    32
    I am continue working on kernel. If I have a news I'll report.
    24
    hey fattire,
    I don't wanna mess up your thread with noob questions, but why don't you release CM9 with the 2.6.35 kernel until the 3.x kernel is finished ? (feel free to delete the post after you answered it).

    Would you ask a writer why they dont just release part of their next book? Would you ask a painter to display a 1/2 finished work of art?

    This is the right way to do it. Anything else would be a hack. Porting the kernel over gives us a reference point to start with. You can pretty much assume that any custom kernel to come in the future will be based on work that is going on right here, right now.

    Please be considerate and do not clutter this thread with "Im impatient and i want somethimg now". Ive got work to do on Ubuntu as soon as this kernel is finished. CM9 will use this kernel when it is finished. Its likely that Barnes & Noble will use this kernel when its finished and will be asking for help and/or hiring those who did most of the work.

    Just hold your horses guy. We all want something new. You can build and test... You can research... You can try to understand... But please, dont rush perfection. Have respect for the work being done here and if you must, send a pm with a request. This is true development.