Jump to content

Advent Vega kernel source code now available!


Guest PaulOBrien

Recommended Posts

Guest ejtagle

I have very good news... Managed to successfully boot the 3.1 kernel...! :) ... For those curious enough , to fix it, you just have to change on my , quite a few month ago posted patches against 3.1, you have to search for tegra_grhost_device in board-shuttel-gpu.c, remove it from the shuttle_gfx_devices array, and add just before the line

err = platform_add_devices(shuttle_gfx_devices,

ARRAY_SIZE(shuttle_gfx_devices));

The following lines:

#ifdef CONFIG_TEGRA_GRHOST

err = nvhost_device_register(&tegra_grhost_device);

if (err)

return err;

#endif

And recompile and boot the resulting kernel :D ... Yes, they changed the tegra_grhost_device to be a nvhost device, instead of a platform device ... Kernel 3.1 has several improvements regarding suspend support :)

Link to comment
Share on other sites

@ejtagle

That is some great news. Coud you maybe upload the full kernel to github? And maybe upload a boot.img on modaco, I can make it work with vegaream thats why i ask.

Also does this mean a fix for wifi in standby? And where have you been, we missed you :P

Did you notice more improvements over the kernel we use now?

Again great work.

á

Link to comment
Share on other sites

Guest Scanno
I've been busy porting ICS to a new device ;) ... Will post the 3.1 kernel a bit later... :)

It would also be nice to have the complete patched sources :-) And put it in a central place.

You said the kernel booted, but all the other patches to make all the hardware work still need to e added ?

Link to comment
Share on other sites

Guest brucelee666

It would also be nice to have the complete patched sources :-) And put it in a central place.

You said the kernel booted, but all the other patches to make all the hardware work still need to e added ?

Okay after Eduardos post tried to compile 3.1.

Used the patch posted here think thats the one Eduardo mentioned (its the only 3.1 patch I remember downloading) and made his amendment posted above.

Got the kernel from here - android.tegra.nv3.1 (most upto date as of last change 31/3).

Compiles fine no errors, are a couple of extra kernel configs but used same response as derartem used in his 3.1 config (possibly because Eduardos patch is late Feb where the latest kernel has changes upto end of March).

Now onto boot, it boots to the first boot screen (tiny writing from boot.img) but does not boot any further as in no android logo - looking at logcat it gives the following message:- "-exec 'system/bin/sh' failed no such directory (2) -" nothing else.

Look forward to Eduardo posting his kernel and any thoughts as to why mine would not boot and give this message.

edit - Anything I can find re. this message seems to relate to the loss of root ?

Edited by brucelee666
Link to comment
Share on other sites

Guest ejtagle

Okay after Eduardos post tried to compile 3.1.

Used the patch posted here think thats the one Eduardo mentioned (its the only 3.1 patch I remember downloading) and made his amendment posted above.

Got the kernel from here - android.tegra.nv3.1 (most upto date as of last change 31/3).

Compiles fine no errors, are a couple of extra kernel configs but used same response as derartem used in his 3.1 config (possibly because Eduardos patch is late Feb where the latest kernel has changes upto end of March).

Now onto boot, it boots to the first boot screen (tiny writing from boot.img) but does not boot any further as in no android logo - looking at logcat it gives the following message:- "-exec 'system/bin/sh' failed no such directory (2) -" nothing else.

Look forward to Eduardo posting his kernel and any thoughts as to why mine would not boot and give this message.

edit - Anything I can find re. this message seems to relate to the loss of root ?

Two suggestions:

>Use the latest Ventana proprietary nvidia libs (you can get them from here: https://github.com/nopy/android_vendor_toshiba_betelgeuse

>I think the problem is the NAND is not being recognized... Could you post the /proc/kmsg ?

Link to comment
Share on other sites

Guest brucelee666

Two suggestions:

>Use the latest Ventana proprietary nvidia libs (you can get them from here: https://github.com/n...hiba_betelgeuse

>I think the problem is the NAND is not being recognized... Could you post the /proc/kmsg ?

Eduardo,

Thanks for responding, I will try the new libs when I get round to flashing 4.0.4r2.1 later tonight.

Attached /proc/kmsg hopefully gives enough info.

kmsg.zip

Link to comment
Share on other sites

Guest ejtagle

Eduardo,

Thanks for responding, I will try the new libs when I get round to flashing 4.0.4r2.1 later tonight.

Attached /proc/kmsg hopefully gives enough info.

Seems tegra NAND controller is not compiled into the kernel ;) ... (Under MTD kernel config options)

Link to comment
Share on other sites

Guest Scanno

Two suggestions:

>Use the latest Ventana proprietary nvidia libs (you can get them from here: https://github.com/nopy/android_vendor_toshiba_betelgeuse

>I think the problem is the NAND is not being recognized... Could you post the /proc/kmsg ?

Thanks for the info.. As soon as I am back I will have a try at compiling the kernel also and have a go at the latest nvidia libs.

Link to comment
Share on other sites

Guest brucelee666

Seems tegra NAND controller is not compiled into the kernel ;) ... (Under MTD kernel config options)

Okay its using the kernel config from your patch "CONFIG_MTD_NAND_TEGRA=y" is set, I noticed "CONFIG_MTD_PARTITIONS" was not set in the config but this is defined in your "tegra_nand.c" from the patch but not in the newer original file ?

Adding this made no difference still got the same error, also looking at the drivers/mtd/devices tegra_nand seems to be built as previous 39.4 builds (built-in).

And looking at the kmsg posted above it does have these lines:-

<6>[ 1.699327] tegra_nand: 1 NAND chip(s) found (vend=0xad, dev=0xdc) (Hynix NAND 512MiB 3,3V 8-bit)

<6>[ 1.699575] tegra_nand: NVIDIA Tegra NAND controller @ base=0x70008000 irq=56.

Have attached the kernel config I used.

.config.rar

Edited by brucelee666
Link to comment
Share on other sites

Guest ejtagle

Why not use http://nv-tegra.nvid...ads/l4t/l4t-r15 ?

Looks like there are some changes regarding power management ..

I was assuming that kernel was for the LinuxForTegra ... And not containing proper support for wakelocks... But seems there is some kind of wakelock support... Really don't know... It could work ,,, But i don't know...

Link to comment
Share on other sites

Guest ejtagle

I am posting my current WIP 3.1 kernel patches for Shuttle. These patches are based on unpublished patches for a new device i am working on , so, i cn't promise they will compile as they are. I will take them later and attempt compilation and will fix them if required... But, you can take a look at them, if you are curious ;)

nv3.1-shuttle-preliminary.rar

Link to comment
Share on other sites

Guest ejtagle

Okay its using the kernel config from your patch "CONFIG_MTD_NAND_TEGRA=y" is set, I noticed "CONFIG_MTD_PARTITIONS" was not set in the config but this is defined in your "tegra_nand.c" from the patch but not in the newer original file ?

Adding this made no difference still got the same error, also looking at the drivers/mtd/devices tegra_nand seems to be built as previous 39.4 builds (built-in).

And looking at the kmsg posted above it does have these lines:-

<6>[ 1.699327] tegra_nand: 1 NAND chip(s) found (vend=0xad, dev=0xdc) (Hynix NAND 512MiB 3,3V 8-bit)

<6>[ 1.699575] tegra_nand: NVIDIA Tegra NAND controller @ base=0x70008000 irq=56.

Have attached the kernel config I used.

Somehow, either the mtd partitions are not recognized, of yaffs2 has some troubles... or squashfs...

Things to checkÑ

cat /proc/filesystems

cat /proc/partitions

cat /proc/mtd

ls /dev/mmc*

ls /dev/block/*

mount

But, i think the kernel could work as it is :)

Edited by ejtagle
Link to comment
Share on other sites

Guest brucelee666

Update - Was not creating mnt points and partitions, when I said previously about "CONFIG_MTD_PARTITIONS" that I added and it still did not work well what I forgot to do was add the necessary lines to the Kconfig in drivers/mtd for "MTD_PARTITIONS".

With this added it now boots to the android logo but just boot loops and I have no adb access to find out why, I still need to create a new system.img with the new nvidia libs to see if that makes a difference (hopefully it does but at least its a step forward just need time later today to look at it more).

Link to comment
Share on other sites

Guest ejtagle

As i told previously, i've been working on porting ICS to a new device... I have had TONS of problems related to the tablet not booting, bootlooping in the Android logo... Also had the suspend-of-death ... A complete disaster... Finally, i found out the culprit... The 3.1 kernel stresses the CPU quite a bit, regarding power management. Seems that we are underpowering the CPU / GPU at the lowest frecuencies. That causes unability to sometimes resume from suspend. It also causes random lockups, specially when booting. And, added to that, there is a bug in the Power supply regulator chip that sometimes causes power glitches and malfunctioning of the CPU. All those problems can easily be fixed by modifying the power regulator programming. But, i found out we are not implementing those nearly mandatory workarounds in the shuttle kernel. I have added them to my kernel of my new device, and the stability has improved to the point the tablet is even able to go to LP0 and return... I think adding the same workarounds to the shuttle kernel will also do the same for the shuttle :o

Hope to post an updated version of the 3.1 patches withe those workarounds in place very soon :)

Eduardo

Edit1: Attached the latest 3.1 patches to add support for shuttle boards. It includes all the workarounds we talked so far. I didnt have time to test it. The only thing that i know is that it compiles without trouble. But it is based on a patchset for a similar device that actually works pretty well... ;)

pov-3.1.rar

Edited by ejtagle
Link to comment
Share on other sites

Guest fosser2

Ejtagle,

From your last post it sounds like LP0 is fixed for the Shuttle? If so do you think these changes could be backported to .39 and ported to Adam/smba1002 kernels? Thanks for all the hard work!

Link to comment
Share on other sites

Guest ejtagle

Ejtagle,

From your last post it sounds like LP0 is fixed for the Shuttle? If so do you think these changes could be backported to .39 and ported to Adam/smba1002 kernels? Thanks for all the hard work!

Yes, they can be backported. But, it would be better to port the 3.1 to those devices. There are no driver changes required to compile a 2.6.39 driver in the 3.1 kernel ... And most of the required modifications to get a 3.1 kernel running are trivial... As a base, you can compare the 2.6.39+ patches i supplied with the 3.1 patches i supplied. There is not a huge difference, and doing the same modifications to the adam kernel patches would let you compile a 3.1 kernel for the Adam....

Link to comment
Share on other sites

Guest brucelee666

Eduardo,

Compiled kernel with the above new patch pov-3.1, unfortunately it results in a non-booting image, screen switches on and nothing else.

It does not exit nvflash as per previous boot.img when flashing just stays on the you are in nvflash mode screen even though it has flashed img, also it is a pain to get back into nvflash mode to flash a working boot.img maybe because screen seems to power on pretty quick you hardly have to hold the power button down.

edit - I see you added extra wakeup code to the keyboard and increased debounce value from 50 to 150 maybe reason for quick screen on ?

Edited by brucelee666
Link to comment
Share on other sites

Guest ejtagle

Eduardo,

Compiled kernel with the above new patch pov-3.1, unfortunately it results in a non-booting image, screen switches on and nothing else.

It does not exit nvflash as per previous boot.img when flashing just stays on the you are in nvflash mode screen even though it has flashed img, also it is a pain to get back into nvflash mode to flash a working boot.img maybe because screen seems to power on pretty quick you hardly have to hold the power button down.

edit - I see you added extra wakeup code to the keyboard and increased debounce value from 50 to 150 maybe reason for quick screen on ?

I will try to test the kernel ... But, in the meantime, i'll give you some advice on how to debug this... The trick is the ramconsole... Erase the linux kernel mtd partition (#7, if my memory serves me well, using nvflash format or from the console itself), and the tegra bootloader will always go into fastboot mode. Fastboot is a mode where the bootloader gets the kernel to boot from your PC using the USB fastboot protocol. That makes things much easier.

Then, everytime you turn on the tablet, you can send a test kernel using the fastboot program. That will save you a lot of time, and also will avoid the mtd to be reprogrammed , that always risks to create new bad blocks.

What i do is to keep 2 kernel images: A booting one (2.6.39+) and the test kernel (3.1) ...

Using fastboot, boot the test kernel image (boot.img)... You must supply the right kernel command line and the boot.img to the fastboot program. If the kernel works, you will see android bott without issues

If the kernel crashes, there are 2 possibilities:

>The device could reboot: In such case , without turning off the device, fastboot the working kernel, and you can access the _previous_ kernel log by doing a cat /proc/last_kmsg .. thanks to the ram console that recovers the logs of the previous ramconsole, even of a different kernel;)

>The device gets stuck... In such case, you must force a reboot ... As this is usually not possible, you have to turn off the device, and, as fast as you can, turn it on again... Usually, if the ram is unpowered for less than 3 seconds, it keeps its contents, and the ramconsole will be able to recover the kernel log if you boot a working kernel

Finally, my patch also adds a new option to the android logger, so android logs are also sent to the kernel log... Extremely useful to get android logs when android and/or adb does not work... Check for the new option in the drivers/staging/android/logger kernel config menu ;)

And, finally, you can also, with the 3.1 kernel , enable the Virtual Terminal and framebuffer console and see the booting process. That can also help a lot. Even with the framebuffer enabled, android WILL boot. That is a big plus of the 3.1 kernel, compared with the 2.6.39 kernel

As always, last_kmsg, kmsg and logcats posts are always welcome. I will try to do my best to help making the 3.1 kernel work :)

Eduardo

edit: Sorry, now i realize i did not include the android log to kernel log patch ... Attached that mod (android log to kernel log bridge). I guess that, combined witht he ram_console recover trick, it will very useful ;) -- But, once android starts to boot normally, don't forget to disable it :)

androidlog.rar

Edited by ejtagle
Link to comment
Share on other sites

Guest Daedric1383

Quick dirty question: on simple benchmarks, why is our IO so low ? against for example, a Optimus 2X ? Is our nand slow? Is it because i'm using Links2sd ? (Quadrant on this case)

Link to comment
Share on other sites

Hi all,

I came to say goodbye. I dropped my tablet a few days ago and the screen is now cracked.

I justed wanted to say good job on this tablet. I hope you do well in the future.

If youwant a spare tablet or dock, i have it on sale here on modaco.

good luck to all of you.

Kind Regards,

Areo

Link to comment
Share on other sites

Guest Oldbarzo
Hi all,

I came to say goodbye. I dropped my tablet a few days ago and the screen is now cracked.

I justed wanted to say good job on this tablet. I hope you do well in the future.

If youwant a spare tablet or dock, i have it on sale here on modaco.

good luck to all of you.

Kind Regards,

Areo

Hi Areo

Very sorry to see you go, great pity, your Chimera is a brilliant piece of work and

your input to ICS Beta and the more recent iterations is greatly appreciated. I think

that I can probably speak for all forum members, both here and on Tabletroms

on this. Hope you do well in whatever you are going to do in the future.

Oldrbarzo

(Stransky)

Edited by Oldbarzo
Link to comment
Share on other sites

Guest GedBlake

Hi all,

I came to say goodbye. I dropped my tablet a few days ago and the screen is now cracked.

I justed wanted to say good job on this tablet. I hope you do well in the future.

If you want a spare tablet or dock, i have it on sale here on modaco.

good luck to all of you.

Kind Regards,

Areo

This is sad news indeed.

Areo, your contribution to the community both here and on TabletRoms cannot be overstated.

HoneyIce Chimera, as Stransky says, is a brilliant piece of work and the most stable of ROMs I have ever flashed. My Dad still runs it on his Vega and has nothing but praise for it.

Your absence will be sorely felt, and the community will be the poorer for it.

Good luck to you Areo in all of your future endeavours... and Thank You.

GED.

Link to comment
Share on other sites

Guest JHAres

Hi all,

I came to say goodbye. I dropped my tablet a few days ago and the screen is now cracked.

I justed wanted to say good job on this tablet. I hope you do well in the future.

If youwant a spare tablet or dock, i have it on sale here on modaco.

good luck to all of you.

Kind Regards,

Areo

Oh my....!!!! Well I'm sure about the sad feelings from all of us around the Vega projects, contributors or users... :-(

Good luck in all what you do in the future !!!

Kind regards,

Javier.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.