Jump to content
PaulOBrien

Advent Vega kernel source code now available!

Recommended Posts

Cass, Rebel1. Newbe5 - are we likely to see an Update4 anytime with these new HDMI, Wifi/BT, GPS and Tethering changes?

Yes, of course. I work on it, but we are all little bit busy in the moment. :rolleyes:

It should be released soon. :D

rebel1

Share this post


Link to post
Share on other sites

Well, i am still unable to make a working version of abtfilter... Butt i did other things ...

>Added proper power management to the wifi driver. Now it is able to power up/down the adapter, so this should solve some issues regarding wifi connections that stop working after suspend...

I also wrote a new libgps. This new library allows to use the internal GPS part of the UTMS modem EM770W as a location source ... I have tested it, and loads, seems to work ...

Well, thats all for now,

Eduardo

Great work at all as anytime. ;)

Unfortunately i run out of time in the moment, but i have tested your libgps.

It works, but i have 2 issues with it:

1. It seems that HC don´t see the gps data, it doesnt work for me when i can see valid nmea data on ttyUSB3

2. after suspend, the gps ports changes to ttyUSB6 and 7, but i know this problem, because i wrote a little app that

works with the mock locations api and when the serial lines are not closed before suspend they will be enumerated as 6 and 7 ;)

rebel1

Share this post


Link to post
Share on other sites

Great work at all as anytime. ;)

Unfortunately i run out of time in the moment, but i have tested your libgps.

It works, but i have 2 issues with it:

1. It seems that HC don´t see the gps data, it doesnt work for me when i can see valid nmea data on ttyUSB3

2. after suspend, the gps ports changes to ttyUSB6 and 7, but i know this problem, because i wrote a little app that

works with the mock locations api and when the serial lines are not closed before suspend they will be enumerated as 6 and 7 ;)

rebel1

Yes, you are right... When the GPS suspends, the UTMS/GPS module is powered down, appearing as if it was unplugged from the USB internal port where it is connected to. But the GPS library does not close the ttyUSB3/4 ... as it does not get a notification on the suspension. Now, when the system resumes, the GPS is powered up again, and then , udev creates new ttyUSB for it, as the previous ones are still "in use" ... There are 2 possible solutions to it: Either avoid GPS suspension when the system goes to the suspend state (echo -e 0\n > /sys/devices/platform/shuttle-pm-gps/keep_on_in_suspend ...) or, try to detect the removal situation and release the ports by closing the ttyUSB files. I am not sure on the right approach to follow... Would it be more correct to leave the GPS on while system suspended ... ? , or it would be better to turn it off? -- Opinions?

Regarding HC not seeing the data... well, i'll try to figure out why... Perhaps something else has to be done to make it work...

Eduardo

Share this post


Link to post
Share on other sites

Great work at all as anytime. ;)

Unfortunately i run out of time in the moment, but i have tested your libgps.

It works, but i have 2 issues with it:

1. It seems that HC don´t see the gps data, it doesnt work for me when i can see valid nmea data on ttyUSB3

2. after suspend, the gps ports changes to ttyUSB6 and 7, but i know this problem, because i wrote a little app that

works with the mock locations api and when the serial lines are not closed before suspend they will be enumerated as 6 and 7 ;)

rebel1

Well, i have modified the libgps to try to address 1) and 2) ... Now, after resuming, things are OK (the GPS ttyUSBx are only used when not suspended... And the GPS is open only when there is an active app using it... I think it should work right now... At least HC callbacks are called with GPS data ... Please, if you can, try it and tell me if any problems still persist :D

Eduardo

libgps.rar

Share this post


Link to post
Share on other sites

Well, i found some very interesting information on the AR6002 chipset... Seems it supports Wifi hotspot mode, after all ;) -- And we don't need special fw for that. The 2.2 series driver is supporting AP mode... The only thing remaining would be to implement some ioctls (required by Android) on the Atheros wifi driver that call the custom Atheros ioctls (on the same driver!) to enable and disable AP mode... Attached something i found about the Atheros SDK (yes, documentation! ) :D

Regards.

Eduardo

AR6000 Family Programmer\'s Guide v2.2.pdf

Share this post


Link to post
Share on other sites

Well... I have done some more experiments. I can confirm that the Atheros Wifi with the driver we have (2.2.1.151) supports AP mode. I was able to activate it by doing a:

insmod ar6000.ko fwmode=2

To enable AP mode (AP=Access Point, Wifi Hotspot)

And then doing the steps outlined in the PDF to configure the AP

To return to normal STA mode (Wifi station)

rmmod ar6000

insmod ar6000.ko

(you don't need the fwmode command, as it defaults to 1, and 1 is STA mode

Regards,

Eduardo

Share this post


Link to post
Share on other sites

Well, after some extra work, i found out that we can use Gingerbread sources to rebuild the netd daemon with special support for Atheros, something that is required to properly support AP mode with Atheros AR6002. That, coupled to the latest Wifi driver i already posted, and some modifications to the init.rc startup script to allow required services to be started up, finally allowed us to enable Wifi AP mode.

That, added to the my previous post of mods to the kernel to support USB RNDIS wired tethering, finally allowed us to claim that the HC3.2 is feature complete and all Vega features are supported!

I attached the required mods to enable Wifi AP mode, and the source code of the netd daemon ...

Regards

Eduardo

PS: From now on, there will probably be just bugfixes , i do expect no significant features added.

compiled.rar

Share this post


Link to post
Share on other sites

Eduardo!

Can you perhaps compile a kernel which has the touch screen calibration parameter set to 0?

Some of us are still experiencing touchscreen problems.

Thanks,

Z

Share this post


Link to post
Share on other sites
1319434618' post=1830694']

Well, after some extra work, i found out that we can use Gingerbread sources to rebuild the netd daemon with special support for Atheros, something that is required to properly support AP mode with Atheros AR6002. That, coupled to the latest Wifi driver i already posted, and some modifications to the init.rc startup script to allow required services to be started up, finally allowed us to enable Wifi AP mode.

That, added to the my previous post of mods to the kernel to support USB RNDIS wired tethering, finally allowed us to claim that the HC3.2 is feature complete and all Vega features are supported!

I attached the required mods to enable Wifi AP mode, and the source code of the netd daemon ...

Regards

Eduardo

PS: From now on, there will probably be just bugfixes , i do expect no significant features added.

so, we are getting full wi-fi funcionality?

I mean, peap connections will be suported?

Thanks for your effort

P.D: eres español eduardo?

Share this post


Link to post
Share on other sites

Well, after some extra work, i found out that we can use Gingerbread sources to rebuild the netd daemon with special support for Atheros, something that is required to properly support AP mode with Atheros AR6002. That, coupled to the latest Wifi driver i already posted, and some modifications to the init.rc startup script to allow required services to be started up, finally allowed us to enable Wifi AP mode.

That, added to the my previous post of mods to the kernel to support USB RNDIS wired tethering, finally allowed us to claim that the HC3.2 is feature complete and all Vega features are supported!

I attached the required mods to enable Wifi AP mode, and the source code of the netd daemon ...

Regards

Eduardo

PS: From now on, there will probably be just bugfixes , i do expect no significant features added.

Hi, Ejtagle,

Great job!

Does this mean that we are going to have a new release soon?

Cannot help waiting for that!

Share this post


Link to post
Share on other sites

so, we are getting full wi-fi funcionality?

I mean, peap connections will be suported?

Thanks for your effort

P.D: eres español eduardo?

Android uses wpa_supplicant to handle all network related wifi authentication. So, PEAP should be possible: http://ubuntuforums.org/showthread.php?t=249654 . I have no access to a PEAP network (and don't plan to setup one!) , but, using root explorer, you should check Android is creating a proper wpa_supplicant.conf (in the /etc/ folder... i can't recall exactly where it is stored, but you will find it) ... If it is not, then probably by hand editing it could be done ...

Regards,

Eduardo

PS: Soy de Argentina...

Share this post


Link to post
Share on other sites

Android uses wpa_supplicant to handle all network related wifi authentication. So, PEAP should be possible: http://ubuntuforums....ad.php?t=249654 . I have no access to a PEAP network (and don't plan to setup one!) , but, using root explorer, you should check Android is creating a proper wpa_supplicant.conf (in the /etc/ folder... i can't recall exactly where it is stored, but you will find it) ... If it is not, then probably by hand editing it could be done ...

Regards,

Eduardo

PS: Soy de Argentina...

Cass67 told me about wpa_suplicant, and thanks to him i know a little bit about it, just confirmed everything i know, looking at the link you gave me. The problem was that Vegacomb was not saving correctly the 2nd authentification phase (i use MVSCHAP V2) and (of course) it was not saving it on the wpa_supplicant file.

Anyway, i will wait until your wifi update gets a ZIP release, because i don't know how to get it on the tablet(maybe is easy, i have basics knowledge of linux), once i get it i will try to fix it with you (if you want to, of course), because i actually have access to EAP networks. Or maybe is already fixed with your new modifications.

Well, i have to say, Wifi EAP use to work on Vegacomb 1.7 so, is there anyway i can mix the wifi libraries or the wifi files with Vegacomb 3.2? or we lost compatibilty because Vegacomb 3.2 is on another kernel?

P.D: Gracias por todo lo que haces, que sepas que aqui tienes un admirador. Me gustaria poder manejar el SDK de Android como lo dominas tu. Actualmente sé bastante del lenguaje Java y ahora estoy adentrandome en C y Linux (estudio Informatica) , tarde o temprano me gustaria empezar a hacerme mis cositas con el SDK o modificar el kernel o modificar librerias, añadir funciones, etc...

Edited by WWEpsp

Share this post


Link to post
Share on other sites

Hi Guys!

Can someone please take a look at the touchscreen drivers for Vegacomb and compare it to the kernel source released for the Advent Vega?

Perhaps find out what the differences might be?

I'm sure something is different, because myself and lots of others are suffering from touchscreen problems, which disappear when going back to moddedstock v2 and doing a recalibration.

I would be willing to do beta testing for any modifications you might throw at me, because I would like to use Honeycomb VERY much, but this touchscreen problem is preventing me from using it.

Unfortunately I can't even return my POV Mobii Tegra, because the problems doesn't happen on the official (crap) firmware (this is why I think it's a Honeycomb driver issue).

Eduardo:

I remember that the parameter for the Command 0x13: Mass Production Calibration for auto-tune is 0 in the original driver, and 1 in VegaComb. Can this be a problem?

Is the Command 0x1C: Auto Tune Function used now? Can this be a problem? I think CDC means clock domain crossing in the IT7260 pdf.

Thanks to anyone for any help.

Share this post


Link to post
Share on other sites

Hi all,

Eduardo has made a lot of very good improvements to the kernel of the vega / mobii. As far as i can see there is no repository where all the changes are. Perhaps it would be a good idea to put these changes on github or something simular.

If this is already the case then please ignore this. I gues a central reposotory of the kernel and drivers would make it easier for rom developers to include these important improvements in their roms.

Edited by Scanno

Share this post


Link to post
Share on other sites

For a long time I was able to resist the urge to post in this thread, because I think that mere users like me should not interrupt a development thread like this with requests and compliments.

However, I felt the need to say this:

I really admire all the work done by everyone involved in this kernel development thread.

Especially all the magnificent work by Eduardo (ejtaggle).

Therefore it's a bit of a shame that we, mere users, can't benefit from the things he achieved the last couple of weeks...

Since Newbe5's son was born, he has obviously done the right thing by spending some quality time with his family...

...

Long story short:

Is there someone else who can add the last couple of (kernel)changes from this thread to a new vegacomb release/update?

I think a lot of users would be very thankful!

(Not saying anybody should, or we deserve it... Just asking politely)

Edited by rvdgeer

Share this post


Link to post
Share on other sites
For a long time I was able to resist the urge to post in this thread, because I think that mere users like me should not interrupt a development thread like this with requests and compliments.

However, I felt the need to say this:

I really admire all the work done by everyone involved in this kernel development thread.

Especially all the magnificent work by Eduardo (ejtaggle).

Therefore it's a bit of a shame that we, mere users, can't benefit from the things he achieved the last couple of weeks...

Since Newbe5's son was born, he has obviously done the right thing by spending some quality time with his family...

...

Long story short:

Is there someone else who can add the last couple of (kernel)changes from this thread to a new vegacomb release/update?

I think a lot of users would be very thankful!

(Not saying anybody should, or we deserve it... Just asking politely)

I wish i have the knowledge to build the kernel with all the changes posted here.

But to answer your question. On tabletroms there is a thread where people are trying to improve VegaComb. The upcomin version will have the updated wifi driver with the filter, so the wifi / bluetooth problem when using both is solved. They are also trying to build the kernel with all the patches. So if there are people who can help them there, i guess that would be appriciated :-)

Also a good guide how to build the kernel and drivers and/or a good repository could help. With a good guide perhaps even i can build the kernel.

I mean if i can setup a good cross-compile enverinment to build everything on my ubuntu box and there is a good working configure script it should not be very hard to build. Then knowing how to make the kernel image .....

I guess the following could help:

- Create a github respository (public) with all the sources and patches

- Guide how to build the kernel and drivers (do we need a cross-compile environment, config of the kernel, making an image)

- Someone to maintain the repository - preferrable more rhen one person

- This way it us easier to maintain the kernel and driver for the vega - one stop shop.

Share this post


Link to post
Share on other sites

For a long time I was able to resist the urge to post in this thread, because I think that mere users like me should not interrupt a development thread like this with requests and compliments.

However, I felt the need to say this:

I really admire all the work done by everyone involved in this kernel development thread.

Especially all the magnificent work by Eduardo (ejtaggle).

Therefore it's a bit of a shame that we, mere users, can't benefit from the things he achieved the last couple of weeks...

Since Newbe5's son was born, he has obviously done the right thing by spending some quality time with his family...

...

Long story short:

Is there someone else who can add the last couple of (kernel)changes from this thread to a new vegacomb release/update?

I think a lot of users would be very thankful!

(Not saying anybody should, or we deserve it... Just asking politely)

I share your opinion, i always check this thread for new things but since the devs are busy, i've been waiting for simple users updates.

In tabletrom --> http://tabletroms.com/forums/vega-rom-development/3084-%5Brom%5D-honey-ice.html

aero is doing a great job!, always giving credits to newbe5 and all the devs behind Vegacomb

Share this post


Link to post
Share on other sites

I share your opinion, i always check this thread for new things but since the devs are busy, i've been waiting for simple users updates.

In tabletrom --> http://tabletroms.co...-honey-ice.html

aero is doing a great job!, always giving credits to newbe5 and all the devs behind Vegacomb

Well, there's not much left regarding kernel development ... Building the kernel itself is not so difficult. You just get the latest NVidia kernel for the Tegra (11.2.13) and apply the patches i supplied. You also need the config file with all the features required (you can pull it from a running vega) ... But much better to use the one i provided ... And then you need the Android NDK , setup some environment variables... And you can compile it. It is not a big deal ;)

Share this post


Link to post
Share on other sites

Well, there's not much left regarding kernel development ... Building the kernel itself is not so difficult. You just get the latest NVidia kernel for the Tegra (11.2.13) and apply the patches i supplied. You also need the config file with all the features required (you can pull it from a running vega) ... But much better to use the one i provided ... And then you need the Android NDK , setup some environment variables... And you can compile it. It is not a big deal ;)

Hi Eduardo,

Could you please help me out? I am trying to compile the kernel for the 10th time and I still get errors :S Maybe I didn't use the right git but still.

I logged everything from the terminal this time. Would you please take a look at it and help me out?

Thanks in advance,

Areo

Link to logged file:

http://www.multiupload.com/5UFL6JUJBP

PS: uploaded to multiupload because it didn't want to upload as attachement.

Share this post


Link to post
Share on other sites

Hi Eduardo,

Could you please help me out? I am trying to compile the kernel for the 10th time and I still get errors :S Maybe I didn't use the right git but still.

I logged everything from the terminal this time. Would you please take a look at it and help me out?

Thanks in advance,

Areo

Link to logged file:

http://www.multiupload.com/5UFL6JUJBP

PS: uploaded to multiupload because it didn't want to upload as attachement.

You are not using the right base kernel. Either use nvidia 11.2.13 (http://nv-tegra.nvid...70cf169f8cb223f) . or just use https://github.com/rebel1 , but don't forget to apply the patches i did, as rebels 11.2.13 is not completely up to date.

As a convenience, i attached all my latest patches to the kernel, so you don't have to start digging to find out the latest versions ...

Eduardo

PS: Please, dont forget to enable RNDIS USB gadget support, as that support is not enabled in VC, but would allow tethering via USB!

Also, the other thing that can be adjusted (in board-shuttle.h) is the amount of memory dedicated to the GPU. More GPU mem means less main memory. Flash seems to require 128MB at least, otherwise the browser crashes with complex Flash content based pages. But, also the browser crashes if running out of main memory, so this is a complex game and tradeoff...

Also, you could include the libgps i posted at post 729, that should allow to use the internal GPS present on EM770W 3G modem... No promises it will work, but it was my best attempt to do it ... Receives GPS data and should relay it to Android...

patch.rar

Edited by ejtagle

Share this post


Link to post
Share on other sites

You are not using the right base kernel. Either use nvidia 11.2.13 (http://nv-tegra.nvid...70cf169f8cb223f) . or just use https://github.com/rebel1 , but don't forget to apply the patches i did, as rebels 11.2.13 is not completely up to date.

As a convenience, i attached all my latest patches to the kernel, so you don't have to start digging to find out the latest versions ...

Eduardo

PS: Please, dont forget to enable RNDIS USB gadget support, as that support is not enabled in VC, but would allow tethering via USB!

Also, the other thing that can be adjusted (in board-shuttle.h) is the amount of memory dedicated to the GPU. More GPU mem means less main memory. Flash seems to require 128MB at least, otherwise the browser crashes with complex Flash content based pages. But, also the browser crashes if running out of main memory, so this is a complex game and tradeoff...

Also, you could include the libgps i posted at post 729, that should allow to use the internal GPS present on EM770W 3G modem... No promises it will work, but it was my best attempt to do it ... Receives GPS data and should relay it to Android...

Hi,

Thanks for helping. Compiled the kernel, made it into boot.img and flashed but the device won't boot. Also tried through adb. Could you maybe send a copy of your kernel or boot.img? You wil get the credit ofcourse.

Kind Regards,

Areo

PS: Really appreciate your work on this tablet!!!

Share this post


Link to post
Share on other sites

Hi,

Thanks for helping. Compiled the kernel, made it into boot.img and flashed but the device won't boot. Also tried through adb. Could you maybe send a copy of your kernel or boot.img? You wil get the credit ofcourse.

Kind Regards,

Areo

PS: Really appreciate your work on this tablet!!!

Did you pull the kernel configuration from a running kernel ?

adb pull /proc/config.gz .config

cp .config $(KERNEL_ROOT)

cd $(KERNEL_ROOT)

make CC= ... >> dont forget we are compiling to ARM. And , use 4.4.0 GCC. 4.4.3 won't give you a booting kernel, even if it succeeds building it

I am not at my computer right now. If you want, i can upload the script i use to build the kernel. Obviously, you'd have to adjust paths to make it work...

Share this post


Link to post
Share on other sites

Did you pull the kernel configuration from a running kernel ?

adb pull /proc/config.gz .config

cp .config $(KERNEL_ROOT)

cd $(KERNEL_ROOT)

make CC= ... >> dont forget we are compiling to ARM. And , use 4.4.0 GCC. 4.4.3 won't give you a booting kernel, even if it succeeds building it

I am not at my computer right now. If you want, i can upload the script i use to build the kernel. Obviously, you'd have to adjust paths to make it work...

I will pull it once more and compile again and test it.

And yes please upload the script you use to build the kernel, thanks

Areo

Share this post


Link to post
Share on other sites

I will pull it once more and compile again and test it.

And yes please upload the script you use to build the kernel, thanks

Areo

you need java jdk installed and in your path

then android sdk

then install tegra android development kit note where you install this

git clone git://github.com/rebel1/kernel_2.6.36_nvidia_base

cd kernel_2.6.36_nvidia_base/

git checkout -b nv-11.2.13 remotes/origin/nv-11.2.13

then pull config and put in kernel_2.6.36_nvidia_base/

you will need to alter the path below to match your install path of tegra android development kit

export CCOMPILER=/home/richard/NVPACK/android-ndk-r5c/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi-

make ARCH=arm CROSS_COMPILE=$CCOMPILER

wait for compilation

mkbootimg zimage and ramdisk with something similar to this command line

./mkbootimg-H --cmdline '[email protected] vmalloc=192M usbcore.old_scheme_first=1 mtdparts=tegra_nand:[email protected](misc),[email protected](recovery),[email protected](boot),[email protected](system),[email protected](cache),[email protected](staging),[email protected](userdata)' --kernel zImage --ramdisk newramdisk.cpio.gz -o boot.img

then alter paths in /home/richard/kernel_2.6.36_nvidia_base/atheros/AR6kSDK.2.2.1.151/build.sh

ATH_LINUXPATH=/home/richard/kernel_2.6.36_nvidia_base ATH_CROSS_COMPILE_TYPE=/home/richard/NVPACK/android-ndk-r5c/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi-

then double click and run to build the wifi driver.

then boot vega to CWM recovery and format boot and mount system and wipe dalvik cache etc

adjust path below to match your user

adb push /home/richard/kernel_2.6.36_nvidia_base/atheros/AR6kSDK.2.2.1.151/bin /system/lib/hw/wlan

adb shell chmod 644 /system/lib/hw/wlan/*

then reboot out of recovery you should get fastboot usb download or similar

./fastboot -i 0x955 -b 0x10000000 boot boot.img

above command to test your kernel then after next reboot

./fastboot -i 0x955 -b 0x10000000 flash boot boot.img

to flash your kernel

that lot give me a booting kernel with DIET 3.2.5 and working wifi

sorry this is abit messy but should give you some pointers.

Edited by wooshy1
  • Upvote 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

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