[WIP,ROM] Spark (ICS Port)

Search This thread

XsceneXhippieX

Senior Member
Oct 17, 2010
1,056
125
What's stopping someone with the know-how from making a cwm flashable .zip file? Those who never touch their PC but download and flash directly on the tab (like myself) may want to see the progress, and try out trebuchet or Nova launcher

Sent from cyanogen mod 7
 
  • Like
Reactions: nuovodna

wildestpixel

Senior Member
Aug 25, 2011
1,016
548
London
@xscenexhippiex

Feel free to do so. A cwm flash can be made with the contained boot and system images as they are.

Sent from my Nexus S using xda premium
 

XsceneXhippieX

Senior Member
Oct 17, 2010
1,056
125
@xscenexhippiex

Feel free to do so. A cwm flash can be made with the contained boot and system images as they are.

Sent from my Nexus S using xda premium

I referred to someone with the know-how because I personally have never done it before, I could probably grab any random rom -kernel cwm zip and replace the images but copying and pasting and rezipping is pretty much where my knowledge ends and I don't want to put something out with the potential of hurting devices

Sent from cyanogen mod 7
 

Sharpe351

Senior Member
Jul 3, 2011
1,282
316
Central Florida
I'm making one, i'll upload later.

Thats cool, but you may want to ask the OP if it's okay with him first. The reason I say this is because we may end up with alot of borked tablets trying to get an early ICS. Sbk2's can't be NVflashed yet to recover. Asus will hopefully hold up their end of the bargain and make their unlock tool available.

sent from my ASUS Transformer running Prime 2.1.1 using Tapatalk
 
Last edited:
  • Like
Reactions: neofreek01

ricardopvz

Senior Member
Feb 5, 2011
653
981
Póvoa de Varzim
Thats cool, but you may want to ask the OP if it's okay with him first. The reason I say this is because we may end up with alot of borked tablets trying to get an early ICS. Sbk2's can't be NVflashed yet to recover. Asus will hopefully hold up their end of the bargain and make their unlock tool available.

sent from my ASUS Transformer running Prime 2.1.1 using Tapatalk

I have a b80 with SBKv2 and it works, i'll upload 5:00pm
 

*Detection*

Senior Member
Dec 5, 2011
10,512
2,862
Durham
I think things will take the fast track in a few days with this and other builds, once the Prime gets its ICS update on the 12th people will be able to pick that FW to pieces and use drivers and other files to create TF101 ROMs ;)
 

paulburton

Senior Member
Jan 5, 2012
74
444
Manchester
www.paulburton.eu
Thats cool, but you may want to ask the OP if it's okay with him first. The reason I say this is because we may end up with alot of borked tablets trying to get an early ICS. Sbk2's can't be NVflashed yet to recover. Asus will hopefully hold up their end of the bargain and make their unlock tool available.

I have a b80 with SBKv2 and it works, i'll upload 5:00pm

I'm OK with you uploading that so long as you make it clear that it's just a repackaging of my build, that it shares all the same caveats and that I in no way endorse or support it. To anyone thinking of running it, I'll make clear once more: the current build shows that ICS can run smoothly but nothing more, it lacks some hardware support and has bugs. You don't want to run this as your main ROM, it's something you flash to see it if you're curious then flash back to honeycomb. Make sure you can do that second part.
 
  • Like
Reactions: Sean-El

Sharpe351

Senior Member
Jul 3, 2011
1,282
316
Central Florida
I'm OK with you uploading that so long as you make it clear that it's just a repackaging of my build, that it shares all the same caveats and that I in no way endorse or support it. To anyone thinking of running it, I'll make clear once more: the current build shows that ICS can run smoothly but nothing more, it lacks some hardware support and has bugs. You don't want to run this as your main ROM, it's something you flash to see it if you're curious then flash back to honeycomb. Make sure you can do that second part.

I may try it out, as you said, but I won't run anything as a daily until it is more functional. Your making good progress Paul. Keep up the good work.

sent from my ASUS Transformer running Prime 2.1.1 using Tapatalk
 

fonix232

Senior Member
Jun 20, 2009
1,222
735
London
Samsung Galaxy Tab S6
It is... I think this might be a problem with the sensors library but haven't looked at it yet.

Referring to RaYmAn, Bumble-Bee, and some others on IRC, it is caused by some kind of a dock-related source code, but I can't recall the exact cause...

If you can come on IRC (@freenode, #asus-transformer) I'm sure someone could and will help you out about this!


About other stuff (can't try it as I'm using the TF for school, and I'd go crazy if all my settings, etc, were gone for just a second :D):
- What other things need work on? I see that you added libaudio, what we need is the GPS, gralloc, overlay and sensors library for full functionality.
- The rotation problem should be easy to solve, as said by RaYmAn on IRC.
- Are there any other known non-working parts?

It would be great if you could get things sorted in the first post, or open a new thread, and sort things into that (including links to the devtree, latest builds, list of functions non-working, being worked on, and working). This one step would fasten up everything ;)

Also good luck on the exams!
 

ricardopvz

Senior Member
Feb 5, 2011
653
981
Póvoa de Varzim
I'm OK with you uploading that so long as you make it clear that it's just a repackaging of my build, that it shares all the same caveats and that I in no way endorse or support it. To anyone thinking of running it, I'll make clear once more: the current build shows that ICS can run smoothly but nothing more, it lacks some hardware support and has bugs. You don't want to run this as your main ROM, it's something you flash to see it if you're curious then flash back to honeycomb. Make sure you can do that second part.

Tested with TF101 B80 SBKv2

CWM flashable package: http://www.multiupload.com/KBTGPV5T0H
MD5: AE9FE81096101C72C6538EDEC15C7FAF
--------------------------------------------------------
Google Apps (gapps): http://www.multiupload.com/Z9K54XTLWP
MD5: 08DBE0C36524306E4ACDAC01504BBA65

Superuser (root): http://www.multiupload.com/PDFDED5T1J
MD5: 228A544B07ADDC19B32207E224356700
 

.. IkOrE ..

Senior Member
May 14, 2010
117
23

paulburton

Senior Member
Jan 5, 2012
74
444
Manchester
www.paulburton.eu
Referring to RaYmAn, Bumble-Bee, and some others on IRC, it is caused by some kind of a dock-related source code, but I can't recall the exact cause...

I did notice frameworks/base has some stuff for fixing the orientation when docked, and that Launcher2 disables the sensor from rotating it. Still need to look into it more.

If you can come on IRC (@freenode, #asus-transformer) I'm sure someone could and will help you out about this!

I'll get round to that soon!

- What other things need work on? I see that you added libaudio, what we need is the GPS, gralloc, overlay and sensors library for full functionality.

The current build uses binaries for gralloc, overlay & sensor libraries. I intend to replace sensor at least, possibly gralloc & overlay if that aren't too tied to nVidias other blobs.

- Are there any other known non-working parts?

I haven't really tested all that much, so I don't know about USB devices, external SD etc. I imagine bluetooth isn't working. The dock will probably need some support work too.

It would be great if you could get things sorted in the first post, or open a new thread, and sort things into that (including links to the devtree, latest builds, list of functions non-working, being worked on, and working). This one step would fasten up everything ;)

I've updated the first post with links to the current builds. I'll put links to the source once I get the kernel up I think, though my device tree is on github at the moment I'll probably move it to my own server because I'm at github's soft disk space limit already.

Also good luck on the exams!

Thanks! If I keep working on this I'm going to need it ;)

Attached is an image of today's work, exciting as it looks. Debugging kernel init without JTAG or a UART is... fun. For the moment the new kernel's a step backwards in terms of use, I need to work on it a little longer, but it is based on nvidia's tegra kernel with the TF101 as a new board rather than hacking it into the stock ventana board - that should make it easier to update in future.
 

Attachments

  • IMG_20120109_175348.jpg
    IMG_20120109_175348.jpg
    101.8 KB · Views: 419
  • Like
Reactions: Christian Troy

fonix232

Senior Member
Jun 20, 2009
1,222
735
London
Samsung Galaxy Tab S6
I did notice frameworks/base has some stuff for fixing the orientation when docked, and that Launcher2 disables the sensor from rotating it. Still need to look into it more.

I did not dive into the framework that much, but recall RaYmAn saying something about a "dirty hack" to make it work (although it was around the beginning of December so it may have changed since).

I'll get round to that soon!

It'll be a pleasure to finally see some more dev talk there :D

The current build uses binaries for gralloc, overlay & sensor libraries. I intend to replace sensor at least, possibly gralloc & overlay if that aren't too tied to nVidias other blobs.

About that, this MIGHT help:
http://nv-tegra.nvidia.com/gitweb/?p=android/platform/hardware/libhardware.git;a=summary

Stock overlay and gralloc for nVidia Tegra2, needs a bit of a modding for ICS tho. Or use the proprietary gralloc interface, but that won't allow for full HW accel.
For sensors, I already began collecting files and mashing together a sensor library. As my C/C++ knowledge sucks, it might (and I'm sure it will) fail to build, but I'll share my knowledge (thanks for RaYmAn for it, many corrections and even quotes from him):
- Magnetic and orientation sensor: AK8975 sensor (in ueventd it describes AK8973 and AK8976)
- Orientation and MPU: MPU-3050
- Accelerometer: Kionix KXTF9
- Proximity and light: Intersil IL29028
"the accel is connected to the MPU-3050 directly"
"the accelerometer (kxtf9) and compass (ak8975) is connected to the mpu-3050"

I haven't really tested all that much, so I don't know about USB devices, external SD etc. I imagine bluetooth isn't working. The dock will probably need some support work too.

The USB and extSD are mostly depend on kernel and proper vold settings - they should not require more, as the base Linux system sets up the whole thing. BT needs the BOARD_HAVE_BLUETOOTH option to be set to true, and some more if the specific BT isn't supported (which, in case of the TF, is supported, fortunately). About the dock, that will need proper implementation, although a simple keylayout of it's keys should make it work (USB connections - refer to vold). Please note that even the initial first test build had the touchpad working - as in fact, it is recognized as a mouse-based touch interface.

I've updated the first post with links to the current builds. I'll put links to the source once I get the kernel up I think, though my device tree is on github at the moment I'll probably move it to my own server because I'm at github's soft disk space limit already.
Okay. If you make a pull-script for most of the blob files, the device tree won't require much more space. But an own server is always better (more separate and configurable. I hate github's restrictions sometimes).

Thanks! If I keep working on this I'm going to need it ;)

Attached is an image of today's work, exciting as it looks. Debugging kernel init without JTAG or a UART is... fun. For the moment the new kernel's a step backwards in terms of use, I need to work on it a little longer, but it is based on nvidia's tegra kernel with the TF101 as a new board rather than hacking it into the stock ventana board - that should make it easier to update in future.

Nice, I would like to see it out in the wild soon :D
Also, I'd like to ask for something. Since you got some libaudio sources up, could you enable the FM radio of the BCM4329? It is a combined WiFi-BT-FM chip, so adding the proper libaudio support plus some enabling in kernel should do the work. The Nexus One has the same chipset and they've enabled it in CM6-7 so it might work for us too.
 
Last edited:

paulburton

Senior Member
Jan 5, 2012
74
444
Manchester
www.paulburton.eu
About that, this MIGHT help:
http://nv-tegra.nvidia.com/gitweb/?p=android/platform/hardware/libhardware.git;a=summary

Stock overlay and gralloc for nVidia Tegra2, needs a bit of a modding for ICS tho. Or use the proprietary gralloc interface, but that won't allow for full HW accel.

Thanks, I had spotted that and had a glance - it looks like it's just the same as the standard AOSP default gralloc. I didn't look closely though, or perhaps it is just the same as the AOSP gralloc. I'll investigate the binary one at some point (which does allow for hardware acceleration BTW, at least of GLES, I'm not sure if you mean that or something else?).

For sensors, I already began collecting files and mashing together a sensor library. As my C/C++ knowledge sucks, it might (and I'm sure it will) fail to build, but I'll share my knowledge (thanks for RaYmAn for it, many corrections and even quotes from him):
- Magnetic and orientation sensor: AK8975 sensor (in ueventd it describes AK8973 and AK8976)
- Orientation and MPU: MPU-3050
- Accelerometer: Kionix KXTF9
- Proximity and light: Intersil IL29028
"the accel is connected to the MPU-3050 directly"
"the accelerometer (kxtf9) and compass (ak8975) is connected to the mpu-3050"

Thanks, yeah the kernel side sets all those up, and I have the drivers in the 2.6.39 kernel. Just need to get around to writing the library side to speak to those drivers. I do notice with the 2.6.39 kernel the binary sensors lib starts complaining a lot, seems like it expects some ioctl to be implemented that isn't - which is fine but suggests it was working afterall with 2.6.36. Need to dig more once the kernel's feeling usable.

The USB and extSD are mostly depend on kernel and proper vold settings - they should not require more, as the base Linux system sets up the whole thing. BT needs the BOARD_HAVE_BLUETOOTH option to be set to true, and some more if the specific BT isn't supported (which, in case of the TF, is supported, fortunately). About the dock, that will need proper implementation, although a simple keylayout of it's keys should make it work (USB connections - refer to vold). Please note that even the initial first test build had the touchpad working - as in fact, it is recognized as a mouse-based touch interface.

Yup, I know, I don't expect the USB, SD or bluetooth to be big tasks, they're just tasks I haven't gotten around to doing yet. The dock does work already, with both kernels, in fact I had it working before the USB on 2.6.39 so earlier I was using it to get at dmesg :)

Okay. If you make a pull-script for most of the blob files, the device tree won't require much more space. But an own server is always better (more separate and configurable. I hate github's restrictions sometimes).

It's more the kernel's size that worries me :) I do have git setup on my server already though, just need to make repos once it's ready.

Nice, I would like to see it out in the wild soon :D

There are a few things lacking/buggy at the moment, for example suspend==death. I might put the code out shortly and reserve the right to mess with git history, if that would be useful.

Also, I'd like to ask for something. Since you got some libaudio sources up, could you enable the FM radio of the BCM4329? It is a combined WiFi-BT-FM chip, so adding the proper libaudio support plus some enabling in kernel should do the work. The Nexus One has the same chipset and they've enabled it in CM6-7 so it might work for us too.

The libaudio code is literally just a copy of the crespo (galaxy nexus) code. What I'm thinking is that the 2.6.39 kernel is now fairly close to the wingray (xoom) kernel, so we can probably use the wingray libaudio and not require ALSA. If the nexus one has the same chip & FM as you say then I don't imagine it being too difficult to enable (assuming it can get a signal, I've no idea how the antenna would be hooked up, whether it'll use headphones like many phones and whether ASUS will have connected that etc.) - but let's get the standard things working first :)
 

munsterrr

Senior Member
Aug 17, 2008
566
103
Arlington
had a "dut dut duhhh" moment lol. pretty nice build here.

Im assuming "gapps" isnt available for this yet?
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 149
    Ice Cream Sandwich for the TF101

    Homepage
    Bug Tracker
    Source

    You might also like to read my blog post which started this and has some bad photos of it running.

    tf101-ics-20120219.png


    Usual disclaimer applies: if you brick your tablet, it's not my problem!

    Builds:

    20120219 - NvFlash or CWM
    Improve touchscreen responsiveness
    Gyro & accelerometer support
    Fix hardware video decode support
    Re-add calendar app
    Update GApps​
    20120211 - NvFlash or CWM
    Fix touchscreen hang/death/brokenness
    Remove mobile signal icon from system bar
    Fix superuser settings crash
    Revert a graphics hack no longer necessary with the newer nvidia drivers – potential speed up
    Update GApps​
    20120209 - NvFlash or CWM
    Fix tablet wakeup bug, it stays asleep now
    Fix screen corruption during early boot
    Battery meter returns
    CWM update zip clears caches, still do a factory reset (ie. format /data) if coming from honeycomb​
    20120201 - NvFlash or CWM
    Suspend improvements, now uses LP0, but still likes waking itself up
    Backlight fixed
    Storage settings no longer crashes
    USB device improvements, MTP indicator etc
    USB drives & micro SD cards mount, images visible in gallery etc.
    CWM update zip now just writes everything as a blob, should avoid all previous zip-related problems
    Graphics drivers updated to those from nVidia’s ventana devkit ICS release
    Includes Google apps​
    20120121 - NvFlash or CWM
    Suspend improvements (still needs work)
    Headphones should work properly
    Improve CWM update zip to cope with mounted /data​
    20120112 - NvFlash or CWM CWM, CWM mirror
    Initial audio support (still needs work)
    Bluetooth working
    WiFi MAC address fixed
    Rooted
    USB fixes
    Include a CWM update zip version (be careful, remember only use if you can flash back honeycomb)​
    20120110
    Using a 2.6.39 kernel
    Orientation defaulting to landscape
    RAM size fixed
    Hopefully fix suspend
    20120106
    Fixed WiFi​
    20120105
    Initial build​
    29
    To clarify, I am still working on Spark and I still want to avoid relying on binaries from ASUS. Short term I may make use of their GPS binaries. Long term I want as much as possible open so that when Jelly Bean comes around and ASUS don't care about the TF101 anymore I'm not stuck with outdated binaries. It will be useful when ASUS push out the 2.6.39 source from their ICS release, which I assume will be based on the same nVidia branch as mine. I did also notice nVidia have now pushed out a kernel branch based on 3.1 and I'm looking at rebasing on that.
    22
    When will be the next release ? :)

    About 5 minutes ago (for CWM, NvFlash version will be up in ~10 minutes). I will ask though that if you (or anyone else, please don't feel singled out) feel the need to ask any non-technical questions please do so over here in future. Thanks for your interest :)

    Everyone else: guys, when someone asks for an ETA can you please just ignore it? Thanks!

    Edit: Both CWM & NvFlash versions are now up.
    17
    This is the ROM im most excited about. I think Paul is waiting for source

    ASUS' kernel source will be handy, it's not a blocker though - I'm just quite busy... What I have been doing though is this:

    ics-20120227-kernel31.jpg
    17
    Alright guys, back to work. There's a new release in the first post. Lots to do, but now I have (a little) more time to do it in. I still don't recommend using it full time until at least the wifi on-off-on (or suspend) breakage is fixed - that's next on my list. I'm also thinking of setting up a bug tracker soon, so that I don't lose track of anything. Thanks to all who've been answering the many questions, and please everyone do keep the non-dev discussions elsewhere.