[Kernel][Ref] Samsung Gravity Smart SGH-T589 Technical info & custom kernel project
The Samsung Gravity SMART is a low-midrange Froyo-based Android phone. It hasn't gotten a lot of attention because it's on an unpopular carrier (T-Mobile) and LOL QWERTY KEYBOARD. I intend to change that.
Technical Specifications
Below is information I've gleaned from spec sheets, Internet research, and judicious use of a loupe on my wife's broken phone.
Platform: Qualcomm S1 Snapdragon 7227 @ 800Mhz
CPU: ARM1136EJ-S
Touchscreen: ATMEL mXT224E
WiFi: Broadcom 4329
GPU: Adreno 200
RAM: 320MB, 275MB accessible
Bluetooth: ???
[more later--I'm at work and don't have all my notes]
Kernel development
I don't have anything to release yet. As a proof-of-concept, I've successfully compiled the sources provided by Samsung. It boots, but two big issues prevent me from releasing anything:
The coordinates on the digitizer are inverted--i.e. tapping the top left corner activates the bottom right, and vice versa.
The menu, back, and search capacitive buttons don't work at all.
Upcoming Features
Here's what I'm planning to add to the kernel once driver issues are resolved:
More CPU frequency scaling options
More scheduler/governor options
What's not planned
Gingerbread/ICS (phone needs updated boot loader to support 2.6.35 or later Linux kernels so we are stuck w/ Froyo for now)
I managed to hack the touchscreen driver to kinda-sorta work (at least the axes are correct now), but it's still not quite right. It's very inaccurate, which makes drawing anything (i.e. trying to play Draw Something) not work at all.
ATMEL has released drivers for the mXT series (including the 224E) but I'm having trouble getting it to work properly. Going to compare it against the kinda-working driver and see if I can fix it.
I found part of the problem, but I'm still having trouble with getting the driver to even load. Still, I discovered that the stock touchscreen driver only supports 2 simultaneous touches--the chip actually supports up to 10 simultaneous. I'm hoping to get the driver working so it's actually usable.
I have a friend with this phone i'm curious to see what you can do with it!
Man, this touchscreen driver is kicking my butt.
The official Atmel drivers don't work at all--the i2c call(s) fail during initialization and you get no touchscreen input.
The driver in the kernel released by Samsung is broken, too. In the default configuration, both axis are inverted so you have to tap the top-right of the screen to tap on something that's actually in the bottom-left. And the navigation buttons at the bottom don't work at all (menu/back/search).
So far all I've managed to do is at least get the orientation fixed, but the driver's still broken--you can't tap on anything on the edges (left/right), and the scaling is wrong so taps are mis-aligned in different parts of the screen. It's hard to describe, but comparing the output of YAMTT on stock kernel vs. compiled kernel shows glaring problems.
At this point I am trying to fix the Samsung driver, since it at least partially works. In the process, I'm doing a pretty massive code cleanup, mainly code organization and complete debug info that will make it easier to dissect exactly how the driver works and hopefully find the cause of the freaky behavior.
I've overhauled the debug output of the Samsung driver so that it's easier to parse via grep. The next trick will be actually fixing the driver.. but I'm going to be gone for annual training for the next two weeks, so things will be on hold until I get back.
I'm very excited to see what can be done with this for the phone.
This is my girlfriend's first android phone and while she's enjoying it, I want the experience to be better for her.
Good luck with your training!
SefEXE said:
I'm very excited to see what can be done with this for the phone.
This is my girlfriend's first android phone and while she's enjoying it, I want the experience to be better for her.
Good luck with your training!
Click to expand...
Click to collapse
Nice choice
This is a powerful device but unfourtuneally is an unpopular one, so there is not many developers with the Gravity
I strongly recommend you to install to follow and install this ROM on your girlfriend's phone: http://forum.xda-developers.com/showthread.php?t=1320187
Well, I've managed to get a 3.6.35.7 kernel to boot on the phone.
Samsung released the kernel source for the SGH-T589W which seems to be a Gingerbread edition of the Gravity Smart. The kernel builds successfully and manages to boot, but it gets stuck on a black screen. However, it does show up in the 'adb devices' list, so it's a start.
I believe the problem is the lack of both the OneNAND driver (AKA LinuStoreIII) and the RFS filesystem support. The modules from the stock kernel are compiled against 3.6.32.x so they don't work with the newer kernel.
My Google-Fu has turned up partial source for the same version of LinuStoreIII for the 3.6.35.7 kernel, and it successfully compiled. However, I haven't had any luck finding an RFS module.
EDIT: I think I found what I need, but I won't know until I get home!
gblues said:
Well, I've managed to get a 3.6.35.7 kernel to boot on the phone.
Samsung released the kernel source for the SGH-T589W which seems to be a Gingerbread edition of the Gravity Smart. The kernel builds successfully and manages to boot, but it gets stuck on a black screen. However, it does show up in the 'adb devices' list, so it's a start.
I believe the problem is the lack of both the OneNAND driver (AKA LinuStoreIII) and the RFS filesystem support. The modules from the stock kernel are compiled against 3.6.32.x so they don't work with the newer kernel.
My Google-Fu has turned up partial source for the same version of LinuStoreIII for the 3.6.35.7 kernel, and it successfully compiled. However, I haven't had any luck finding an RFS module.
EDIT: I think I found what I need, but I won't know until I get home!
Click to expand...
Click to collapse
NICE, keep us with update with the news :highfive:
Well, I thought I had something, but it's still not working quite right. I've got the parts for my debug cable on order. Should get here within the next week.
Well, I haven't yet gotten the serial output yet, but I do have a much more detailed output from dmesg now. I'm attaching it below.
Ugh. Samsung's OSRC is being a pain in the butt.
I contacted them requesting the correct driver. Their response: "That is the correct driver."
I responded, "Did you actually test it? Because when I compile the code you provided, the x/y axes are inverted." Their response: "Herp derp Samsung Proprietary."
My most recent response: "Don't give me that proprietary BS. The driver is GPL. If you used any of the code that's in that driver, you need to publish your modifications to it."
We'll see what happens next...
Your dedication to this project continues to provide me with a glimmer of hope for the 589. I thank you sir. Down with herp derp.
Sent from my SGH-T589 using xda app-developers app
Well, now they're claiming that the driver is the one they used in the shipping kernel. Oy!
In other news... I successfully booted Gingerbread on the phone using a stock kernel. I cheated a bit, though. I'll describe how I did it, in case anyone doubts me. The post is intentionally vague because it's not fully usable, wifi doesn't work at all, and I'm not currently at home and able to fully document the process. If anyone is actually interested in trying this out, I'll consider writing a script to automate it.
Known issues with this method:
- network time doesn't seem to work right
- wifi definitely doesn't work right
- usb mode doesn't appear at all
- The phone reports itself as a Galaxy Ace in the Settings screen.
OK, the steps:
First, the things you will need:
1) Stock SGH-T589 firmware (samfirmware.com has it)
2) Stock Galaxy Ace firmware (again on samfirmware.com)
3) unpack-bootimg.pl (google it). This is used to extract the kernel and ramdisk from boot.img
4) mkbootimg (google, or build from source). This is used to re-create the boot.img file
Steps:
- Start by unpacking each firmware package into its own folder.
- From the SGH-T589 folder, delete everything except boot.img
- From the Ace folder, delete everything except boot.img and system.rfs (MAKE SURE YOU DELETE arm11boot.img)
- Now, make an empty folder and copy the stock boot.img into it. Unpack it with unpack-boot.img.pl
- Make another empty folder and put the Ace's boot.img into it. Unpack it also.
- delete the boot.img-kernel.gz from the Ace's folder
- delete boot.img-ramdisk/lib/modules/*.ko
- copy boot.img-kernel.gz from the stock folder to the ace one.
- copy boot.img-ramdisk/lib/modules/*.ko from stock folder to corresponding dir of the ace one.
- copy boot.img-ramdisk/COOPER.rle from stock folder to ace one (optional, preserves the Gravity Smart boot splash screen)
- now, repack the boot.img-ramdisk folder into the CPIO archive
- next rebuild the boot.img file
- lastly, create ODIN archive with the rebuilt boot.img and the Ace's system.rfs
Flash the resulting tar.md5 file using Odin 4.40 USA.
Hi gblues. Very good work so far! Are you planning on porting CWM recovery? It's been ported to very similar phones, like the Ace, Gio, and Mini.
ShaunOfTheLive said:
Hi gblues. Very good work so far! Are you planning on porting CWM recovery? It's been ported to very similar phones, like the Ace, Gio, and Mini.
Click to expand...
Click to collapse
I used a similar technique (unpack, replace kernel/kernel drivers, repack) on the Galaxy Ace CWM recovery and it seems to work. Unfortunately, when I tried to use it to flash the Ace's ICS port, I get a black screen with "A N D R O I D" in the middle (note: this is after extracting the boot.img and doing the unpack/swap/repack process and flashing with ODIN). I suspect that ICS requires kernel features that simply aren't in the stock 2.6.32 kernel.
After doing some more long-term tests, my accomplishment above is a good proof-of-concept but it's not ready for prime time. Landscape mode is completely broken. Games like "Cut the Rope" only give you a black screen. The QWERTY keyboard is borked (mainly alt-keys). The SD card disappeared completely until a reboot. USB mode doesn't work. The accelerometer doesn't seem to work. The stock web browser crashes. Wifi doesn't work. The list goes on.
So that gets back to getting a custom kernel working...
Related
USE THIS AT YOUR OWN RISK.
I am not installing this kernel on your device. I've even gone out of my way to not give clear directions on how to install it yourself. If you decide to install this kernel, you are assuming all risks involved with it.
WARNING: THIS KERNEL IS NOT FULLY COMPATIBLE WITH THE LA3 FIRMWARE UPDATE. USING THIS KERNEL WITH THE UPDATED VERSION WILL RESULT IN WIRELESS ETHERNET BEING DISABLED.
Welcome to my custom compiled kernel for the Samsung Galaxy Tab 7.0 (wifi only.) This kernel will ONLY work for the GT-P6210 model.
The kernel should be compatible with any stock firmware or anything custom that's derived from the stock firmware. (I refuse to call it a ROM. It's not Read Only.)
First, proper credit should go to Entropy512 and his SGH-i777 kernels. It's from that work I was inspired to do this, and from that work where I'm pulling ideas and changes (when compatible.) I'd give some credit to Samsung, but they only bothered to post partial source code, and didn't even bother to post it with the proper config flags.
The idea behind this kernel is and will be to make the device more efficient. Longer battery life while running more smoothly is a Good Thing. I don't care about benchmark scores. In case someone missed that, I DO NOT CARE ABOUT BENCHMARK SCORES. Anyone can tweak a system to get a better benchmark, but that doesn't mean it'll actually work better. Concern #1 is and should always be stability. While some tweaks will be added that allow a user to make the system unstable, they won't be the default.
Differences from stock currently include:
Very slight speed increase in bootup, possibly in other areas
Support for init.d script parsing on bootup
A real busybox (with proper links) installed to /sbin (and therefore available to the system)
Undervolting and minor overclocking support (via SetCPU)
android ram_console support (useful for post-mortem of crashes.)
standard boot animation support
quicker charging with iphone chargers
Voltage and Clock Adjustments:
If you choose to tinker with the processor voltages and/or clock speeds, there will be no support in this thread. None. Yes, I'm using it myself, but I won't even support myself if I screw things up. If you find an issue with this kernel, BEFORE you post about it here, re-test after reverting all the voltage and clock speeds back to default. If it works with the default clocks/voltages, then don't waste your time or mine by posting about it to this thread. It's not supported. You can destroy your tablet by messing with the voltages and clocks.
You'll need a separate tool for voltage and clock adjustments. The one I see most frequently used is "SetCPU" (http://forum.xda-developers.com/showthread.php?t=505419.) I'm in no way affiliated with the author of that tool. You should be warned that SetCPU does not seem to be fully compatible with our tablets: There seems to be no way to bring up the menu in the program. If the program is "honeycomb compatible", this is likely due to the author making assumptions about screen dimensions on tablet devices (fairly common error.) Don't tell me about it. It's not my program.
ToDo:
Find source for the ethernet module and replace it (which will also allow adding more generic optimizations to the kernel.)
ethernet adhoc support (not really kernel specific, but not possible without the ethernet module...)
Figure out what samsung changed in the LA3 kernel (and didn't publish) so I can get the kernel working with the firmware update.
Known Issues:
Probably not compatible with stock firmware updates. (won't fix.)
NOT COMPATIBLE WITH LA3 FIRMWARE UPDATE!!
Flashing Instructions:
This is being released as an installable "update.zip" style installer. Stick the .zip file on your device, reboot into recovery, and install it from there. If this isn't enough information, please search and read the forums before changing your device kernel. (Flashing a .zip in recovery is a very basic skill that should be mastered early.)
Firmware Developers:
If you want to use it, please link to this thread and give clear indication of which version of the kernel you are including.
Legal:
This is based on the linux kernel, and therefore I'm including links to the modified source for the kernel (https://github.com/garyd9/linux_kernel_GT-P6210) and contents of initramfs (https://github.com/garyd9/initramfs_normal_GT-P6210)
PLEASE DO NOT MIRROR THE DOWNLOADS. IF YOU WANT TO REFERENCE THE KERNELS, PLEASE ONLY LINK TO THIS THREAD.
Change Log
20120128:
Support for iphone charger detection - pull up to 750mA from detected iphone chargers (1500mA from the samsung charger, and 500mA from everything else including a computer USB port.)
Testing USB "high current" charging. This is currently not enabled by default (and until I'm happy that it's stable and safe, I won't be documenting it.)
20120123: (actually posted on the 24th)
Minor adjustments related to the MMC and SD card interfaces (which includes the wifi interface)
Starting to pull in mainline kernel fixes (including fixes for some kernel panics/reboots.)
20120107:
disable mali state tracking. Doesn't seem to have any actual impact, but should reduce a small amount of overhead
add support for "reboot bootloader." Actually, the support was already there if the command sent to reboot was "download", but several android tools (such as "Quick Boot") want to send the command as "bootloader." This is only useful if you have a desire to reboot your device into "Download Mode" (aka "ODIN mode")
Replaced samsung j4fs.ko binary module with one built from sources. No impact other than easier to maintain.
20120105:
added standard bootanimation support (if bootanimation.zip is found in /system/media, it's used. Otherwise, the default samsung animation is used. Standard samsung music is played either way.)
It's now possible to tweak the conservative governor sampling rate down to 50,000 (default is still 100,000.) If done, this may make the tablet more responsive in some situations (however, there may also be a negative impact to battery life - everything is a trade-off.)
20120102:
added android ram_console support. After installing this kernel, if you reboot/crash, it should leave a file in /proc called "last_kmsg" that will show the last several kernel messages from before the reboot/crash.
20120101:
undervolting and overclocking support (only up to 1.4GHz)
If you decide that you want to overclock or undervolt your tablet, you are 100% on your own. You can easily fry your tablet's processor by messing with voltages and clock speeds. If you have issues with this kernel, remove all overclocking and voltage adjustments before you even bother posting on this thread.
Use "SetCPU" to change voltages, clocks, and governors. SetCPU can be found on the market and on XDA at the following link: http://forum.xda-developers.com/showthread.php?t=505419 (I am in no way affiliated with the author of that program.)
20111231 (initial release):
build compatible with stock ar6000.ko module
init.d script support
busybox in /sbin
cleanup of kernel config to remove excess debugging (when possible)
Frequently Asked and Anticipated Questions
Q: Will this work with the GT-P6200, GT-P6200L, or SGH-T869?
A: No
Q: Can you make a kernel for the GT-P6200, GT-P6200L, or SGH-T869?
A: I probably could if I had the hardware to test with. Without a sample of hardware, I can't even begin to guess if what I've done already will work, or what it might take to make it work. If you really want me to do one of those devices, please feel free to send me one. (Making a recovery kernel is quite a bit easier as it doesn't have to work with the ethernet, sound, modem or any other drivers.)
Q: Why doesn't this kernel include CWM Recovery?
A: On the GT7+ devices, the recovery boots from a completely seperate partition than the normal boot. When the device boots recovery, the normal boot kernel isn't ever loaded (and vice versa.) Therefore, it doesn't make sense to package them together.
Q: Why is the sky blue?
A: Please refer to: http://www.sciencemadesimple.com/sky_blue.html
reserved for even more future use
Nice.... I installed just fine. Will Play around and let you know. Thanks further kernel....
Sent from my GT-P6210 using xda premium
Nice to see! Now have a good reason to install clockwork recovery! Thanks Gary!
PLEASE IGNORE THE SIGNATURE!
BEST DAMN PHONE BECAUSE WE HAVE THE BEST DAMN DEVELOPERS!
mike216 said:
PLEASE IGNORE THE SIGNATURE!
Click to expand...
Click to collapse
Wow, that actually made me laugh out loud. (My wife just ran in to ask if I was alright.) Thank you.
I've got a new and improved signature modified especially for you! Glad to have made you laugh! Happy New year Gary and fellow community members! I wish you and your families happiness and good health!
BEST DAMN PHONE/TABLET BECAUSE WE HAVE THE BEST DAMN DEVELOPERS!
I know kernels can have an effect on colors. Gary does your kernel improve color and if not could you possible hack that part of the kernel to improve in future releases, thanks
BEST DAMN PHONE/TABLET BECAUSE WE HAVE THE BEST DAMN DEVELOPERS!
I'm updating my tab in kies rite now before I flash this kernel. Your kernel should work fine? I know we can't update in kies once clockwork recovery is installed but I was wondering if kies will still recognize that I have a firmware update? I know that we have to odin back before we can update in kies but not sure about the other two questions, any help would be appreciated, thanks
BEST DAMN PHONE/TABLET BECAUSE WE HAVE THE BEST DAMN DEVELOPERS!
mike216 said:
I'm updating my tab in kies rite now before I flash this kernel. Your kernel should work fine? I know we can't update in kies once clockwork recovery is installed but I was wondering if kies will still recognize that I have a firmware update?
Click to expand...
Click to collapse
Probably, but I didn't try it. Let us know how it works out.
Thanks Gary! Recovery is up and running and even made a nandroid. I located it to make sure everything worked (took a really long time). I see your framework zip wipes the dalvik cache and I was wondering if we have to wipe both caches before flashing the kernel? Thanks for your development! Much appreciated
Sent from my GT-P6210 using xda premium
Just flashed and it feels very smooth so far thanks!
Sent from my GT-P6210 using xda premium
mike216 said:
I see your framework zip wipes the dalvik cache and I was wondering if we have to wipe both caches before flashing the kernel?
Click to expand...
Click to collapse
What framework are you referring to? I try very hard to make the stuff I do "self contained", so if a cache should be wiped, it either gets wiped automatically, or there's a message displayed telling you to do it manually.
In context of this thread, there's no need to wipe any caches before installing this kernel.
Perhaps your question is in reference to something in another thread?
It was always a big suggested instruction on wiping both the cache and dalvik cache when installing roms and other things on my nexus s and vibrant so just thought it would be the same on my tablet
BEST DAMN PHONE/TABLET BECAUSE WE HAVE THE BEST DAMN DEVELOPERS!
The framework zip I was talking about was the flashable zip you put together for the theme here in the development section.
BEST DAMN PHONE/TABLET BECAUSE WE HAVE THE BEST DAMN DEVELOPERS!
mike216 said:
It was always a big suggested instruction on wiping both the cache and dalvik cache when installing roms and other things on my nexus s and vibrant so just thought it would be the same on my tablet
BEST DAMN PHONE/TABLET BECAUSE WE HAVE THE BEST DAMN DEVELOPERS!
Click to expand...
Click to collapse
A kernel is not a ROM, two totally different things and you don't need to wipe to install one. An easy explanation of the difference is a kernel is what runs the hardware (cpu, memory, etc.) and a ROM is just a UI (user interface).
With ROMs the general concensus on wiping is you need to do a full system wipe as well as wipe the dalvik cache if you are switching between ROMs, say from ROM A to ROM B but do not need to wipe if it's just an incremental update say ROM A to ROM A.1 unless advised to do so by the dev.
Awesome work Gary. If I had the knowledge to do this I would. Tab feels great.
Just glad to see some little development finally kicking off.
Sent from my ICS'd themed Galaxy Tab 7+
Glad you finally got things working.
Closed-source modules piss me off... Module versioning enforcement can get even some of the best devs (netarchy and I kept missing each other on IRC, it took a week before we figured out why his Infuse kernels wouldn't boot.)
Samsung is good about releasing kernel source in a timely fashion, but they SUCK at fixing broken source releases.
(Edit: WTF? They included BCM4330 source code in your release but NOT the Atheros 6k drivers?)
Edit: This might be useful, not sure - http://linuxwireless.org/en/users/Drivers/ath6kl
After lots of testing I do find its a little quicker! Don't know if its placebo but it sure feels fast. Nice work Gary. Recovery working great but the only odd thing I noticed was how long it took to do a nandroid backup. For a minute there I thought it froze up. All is good thought
BEST DAMN PHONE/TABLET BECAUSE WE HAVE THE BEST DAMN DEVELOPERS!
Yeah yeah, noob question! Prepare to verbally pants me.
Just bought a iView 756TPC tablet from the egg. Works pretty well some issues and chinese bloatware. Anyhow, want to flash this rom: http://forum.xda-developers.com/showthread.php?t=1760929
Only problem is I don't know whether to try the MOMO9 compatibility patch or the LY-F1 patch. Only differences I can find are I have 1GB DDR3 not 512MB DDR2. Both are almost identical hardware. I am leaning towards the LY-F1 b/c my buildprop shows Broncho which is listed as a clone of the LY-F1. I have googled a ton but it seems this thing is pretty new. You'll prolly find a few of my threads when you search and not much else! There is some info on the 760TPC which is from the same manufacturer. So basically I am confused as possible. I pasted some specs I exported from the systeminfo app. Hope that's enough to go on. Go ahead and rip me a new one.
Specs:
CPU
Processor ARMv7 Processor rev 2 (v7l)
BogoMIPS 1001.88
Features swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer 0x41
CPU architecture 7
CPU variant 0x3
CPU part 0xc08
CPU revision 2
Hardware sun4i
BuildInfos
Android version : 4.0.3
Release Codename : REL
API LEVEL : 15
CPU ABI : armeabi-v7a
Manufacturer : unknown
Bootloader : unknown
CPU ABI2 : armeabi
Hardware : sun4i
Radio : unknown
Board : crane
Brand : BRONCHO
Device : crane-a710
Display : 20120612-A721
Fingerprint : BRONCHO/crane_a710/crane-a710:4.0.3/IML74K/20120604:eng/test-keys
Host : ryan
ID : IML74K
Model : 756TPC
Product : crane_a710
Tags : test-keys
Type : eng
User : ryan
Why yes, yes you can!
Got ClockworkMod Recovery working. Only issue is my buttons don't work. I have to use adb to initialize the recovery as well. Cannot hit the "back" key while in recovery mode but as long as you do everything right that's ok! I just flashed the LY-F1 version and it is SWEET so much faster than the stock ICS rom that came with the 756 from iView. However, my back, menu and home buttons don't work. They are not hard buttons but rather on the touchscreen part, probably related to why I can't use them to boot into CWM recovery too. The screen flickers a bit as well, but looks like with some tweaking I can get this baby running CyanogenMod9 :victory: Any other iView 756TPC users need some help getting going, it was not easy... let me know!
I'll just keep talking to myself!
OK, well neither of the compatibility patches will work with this tab so I guess I'm on my own. Oh well, I think I have the key mapping figured out and know i can easily change the lcd density so I can fix those no problem. It's including all the modules in the system/vendor/modules/ folder I am concerned about. There are a ton of those and I guess I am just not sure how they work and if I will have to customize the install script to include them in the existing patch. A lil' help would be splendid. I modified the existing Momo9 patch to include the updated key mapping and modified the script that changes the default cm9 lcd density, but I cannot get clockwork to execute my zip. Do i have to zip it up a certain way? I also added the vendor modules in the appropriate location inside the new zip, but I was not sure if I needed to add some scripting to copy them since there is no vendor folder in the existing patch i am modifying?? again if anyone is reading this I would really appreciate some kind of response!:fingers-crossed:
Thanks!
update
any update? how's it working?
boytoreckonwith said:
any update? how's it working?
Click to expand...
Click to collapse
Yeah, I had bought 2 of them.One of them suddenly had a pixel die, then the screen became unresponsive so I RMA'd them and bought a Samsung Galaxy 2. I could not figure out how to get the extra buttons on the touchscreen to work. I successfully remapped the volume buttons to serve as menu and back until I figured out the touch buttons. It must have something to do with a module for the touchscreen itself. I was going to try and insmod some modules (there are a zillion of them in the vendor module folder in the stock rom) and see what happened, then the pixel died and I said forget it. One thing I wanted to try was using a gingerbread rom for the 760TPC and see if it improved performance, but obviously never got around to it. The stock ICS Rom from iview was sluggish, especially compared to CM9 which the tablet ran admirably I must say. Anyways good luck!
One more note, to answer my own question just in case anyone else had it....
For some reason CWM did not like my winRAR zip files. Zipping them with 7zip default zip settings seemed to remedy the situation. I was able unzip the patch modify files using Notepad ++ and re zip with 7zip. CWM then would execute my patch just fine.
@RedForestStudios. Thanked you for each of your posts. You have given me some hope that I will be able to get CM9 on this little tablet. I didn't need it. I only bought it because I couldn't say no to the price. Any chance of detailing how you got CWM and CM9 on this? Did you use the method for the 760TPC?
I see you said you didn't get the buttons working. I'm assuming that was in CM9, correct? If I can get CWM on it I would be happy using ADB or QuickBoot to initiate it.
Does anyone happen to have a backup of the stock rom? i have searched the corners of the internet trying to find it as mine died on my second day of owning it but could be fixed with a flash of the stock rom. If anyone could help i would be very thankful
Stock image
allmightykraken said:
Does anyone happen to have a backup of the stock rom? i have searched the corners of the internet trying to find it as mine died on my second day of owning it but could be fixed with a flash of the stock rom. If anyone could help i would be very thankful
Click to expand...
Click to collapse
Iview has posted this full update on their site. Although I have yet to make it work. If you can get it to work let me know.
Their website is www<dot>iviewus<dot>com. Go to the dowloads page. Replace my <dot> with .
Spoke too soon
It looks like IviewUS has pulled the image. That may have explained the problem I was having after getting LiveSuit 1.09 to work.
From Iview
Iview says they are rebuilding their image file and the rewriting the instructions to the CyPad 756TPC. It should be posted in a few days.
---------- Post added at 10:02 AM ---------- Previous post was at 09:50 AM ----------
Good to see some activity here in this thread. In case anybody wants/needs it RedForestStudios kindly gave me what he had before he returned his tablet. Sadly, I am too busy/lazy to learn what to do with it. If anybody wants it let me know. Meanwhile I'll reach out to him and make sure its ok.
What his zip included:
• cm9 – CyanogemMod 9 from XDA for AllWinner A10s
• CWM Recovery 5 ICS – CWM for AllWinner A10s (I think there might be some stray .ko and .kl files in their you can just delete)
• iview ICS – The stock rom from iView
• momo9_compatibility_1.2.0 – Don’t know if this is my modded version or not, cannot recall, you can easily find out by comparing to the original
I contacted the OP a while back and he provided me with some stuff he had and accomplished. Perhaps somebody who has one of these could use this to aid in dev? I am to busy/lazy to learn how to do this at this time.
I contacted him again today and he has agreed to allow me to pass it on should someone want it.
Included in zip:
• cm9 – CyanogemMod 9 from XDA for AllWinner A10s
• CWM Recovery 5 ICS – CWM for AllWinner A10s (I think there might be some stray .ko and .kl files in their you can just delete)
• iview ICS – The stock rom from iView
• momo9_compatibility_1.2.0 – Don’t know if this is my modded version or not, cannot recall, you can easily find out by comparing to the original
Also some notes from RedForestStudios:
Couple of notes, first make sure to use a text editor like notepad++ to edit the files unix/linux do not like the extra linebreaks or spaces windows typically inserts. If you happen to be using a program like dreamweaver to edit these make sure to turn on the unix compatibility mode in preferences, default is windows I believe. I think I was about to start insmod’ing modules via adb since I could not get the softkeys to work via mapping the the sun4i files. The key must be in one of the many vendor modules included in the stock iView rom.
Do you know if that stock image from Iview is the one they pulled?
Okay, Iview has posted the new image. I am still getting the same error. I am guessing these things are going to have to go back to the seller.
756TPC Firmware
I downloaded the firmware image and LiveSuite with instructions but was unable to get it to work. LiveSuite would come up with a box with a yellow triangle with an exclamation point. The instructions include a step to press the "back" button which doesn't exist on the 756. I had flashed a 760 to ICS a while back so I tried that version of LiveSuite. It included button captions in English. It also came up with the yellow triangle but the caption said "Invalid image file". I sent this info to one of the IView techs and am waiting for a reply. If anyone has any updated info I'd be grateful to hear it. Thanks to all for all the info.
That is what I am getting. Iview had posted they were updating the intructions. I have yet to see them.
---------- Post added at 08:47 AM ---------- Previous post was at 08:39 AM ----------
I think I am giving up. I had sent in an RMA to 'nova unhatched chickens' when the thing originally died. They peeled off part of the serial number on the back of the tablet and broke the charger dongle. Then they shipped the broken thing back saying they could not verify the serial number on the tablet even though the serial number was also on the back of the glossy Iview box. After that, I contacted the credit card company to cancel the transaction.
Hey, I have this tablet also and it runs so horribly slow. I was looking for a way to get cm10 on it but after reading this thread it seems like that won't happen, let alone cm9. Most of these chinese tablets are clones. Does anyone know what 756 is a clone of?
I found that this tablet may be similar but I can't find any files for it on the web.
"Mach Speed stealth-pro-7"
http://www.triomp3.com/media-players/tablets/stealth-pro-7/
Edit:
Actually I discovered that it is a clone of a tablet called LY-F1.
Don't have time to look it up now but apparently there are several roms for it.
I actually got cm10 running on my 756tpc! But then I bricked it trying to fix the auto rotation lol. Everything worked except auto rotation and the touch buttons. I'll post how I got it running if someone asks.
im making this post for those that have 756tpc issues, and cant yet find much support. ( like me)
around 34(4 days out of warantee) days ago, i purchased 2 756tpc. they worked great, however one day, while my tablet was just plugged in to charge, i held the power button to power it down. After it came back up, the 1g of internal memory appeared totally full, and it said 0%. Also it said the apps on this space were like 80 megs or so. i must add that at one point i used system tuner to freeze a few apps, prevented a few user installed apps from auto firing, and moved a few apps to sd. as a final circumstance, the tablet appeared reset - nothing was installed, etc.
So, im thinking wow, i guess ill start over, well, no apk would install, because it thought the internal memory was full or non existant. when i went to hard reset, it would show the updating android screen, than go instantly to the laying down android with red exclamation point.
the tablet worked perfectly except for this. thats when i got on the livesuit path - well, at the time, not long ago, there was an image for the 756 on the iview website, which i pulled, along with livesuit. after figuring out that this image was fail(756TPC-20120903.img), i pulled the one they had listed for the 760, and flashed it on the tablet. this was how i discovered my image was bad, i initially just wanted to see if the 760 image would initiate -- it did, and it flashed. --for the record the image i had would just give a yellow exclamation popup with no text when i connected the tablet.
with the 760 image, the ram issue i was having was apparently fixed, and i had more hope. it was slightly different, rotation, nor cap buttons worked, but the tablet worked more than it did with the original issue.
so, after a few days, i called iview and an asian sounding tech answered - i explained the issue, and that i wanted the firmware. he told me that in 2-3 days the new one would be up on the site to download. he chuckled at the fact that i flashed the 760 image, and asked me what happened, and that they hadnt tried it yet. he chuckled.
so - after this, to continue on the "mission" -i saw kingofmyworld324 mentioned the LY-F1. after i saw them looking idential almost, and the same for specs - i didnt have to spend long before trying these images.
---
first i used ICS-Seby_8.04.7z - which flashed and showed an ugly boot screen before failing to load. i tried twice.
next i flashed :
4.0______20120315-a721-LF-y1.rar -its 4.0.3 ICS
works perfectly! -maybe even faster and better than the original firmware. theres a few small things that may differ, but -- niice.
problem solved.
i may or may not try the 756 rom if and when they add it back.
thanks!
------------
I actually got cm10 running on my 756tpc! But then I bricked it trying to fix the auto rotation lol. Everything worked except auto rotation and the touch buttons. I'll post how I got it running if someone asks.
Click to expand...
Click to collapse
lyf1_compatibility_1.2.0.zip ?
--
hehe i can see that even in this thread initially. they had these firmwares, i missed that obviously - but hopefully have made it more clear. - and there is compat patch atm.
It seems that finally I was able to boot custom kernel with working radio
It's not very stable yet(it stops/crashes at bootanimation quite frequently), and is quite laggy just after boot, but once it boots it seems to be almost usable. Wifi works, sdcard also. Haven't checked bluetooth.
Credits for this goes to:
* milestone1 devs... for sharing 2ndboot source code and providing so much info regarding milestone1/2 phones
* Motorola ... for providing source code(not fully working, but was a great help anyway) for enabling UART over micro usb for debugging purposes(without this I woudn't make any progress)
* tezet... for making quite good roms used by 2ndboot
If you wish to try it(BEWARE THAT IT MIGHT BRICK YOUR PHONE, SO DON'T SAY THAT I HAVEN'T WARNED YOU ), then do as follows:
1. Install tezet's JB10(if you don't have one already).
2. extract 2ndboot.tar(attached) into /data folder, check that /data/2ndboot/hbootuser file has execute permissions.
3. overwrite /system/bootmenu/script/2nd-boot.sh(DON'T TOUCH 2nd-init.sh!!!) with the one from tar(2nd-boot.sh.tar) and check it has execute permissions.
4. reboot into bootmenu
5. change the default boot method to 2ndboot
6. Restart your phone. Most likely it will crash few times at bootlogo, but be patiant, it finally should boot
7. If you wish to get back to 2nd-init, then enter bootmenu again and change default boot method back to 2nd-init, or manually boot 2nd-init
Click to expand...
Click to collapse
Please let me know if someone actually run it and was able to boot(so that to find out if I haven't forgot to include some more files(see changelog for 03.10.2012)
KNOWN LIMITATIONS
Boots very sloooowly
Its' quite laggy just after boot.
GPS does not seem to work yet
Click to expand...
Click to collapse
CHANGELOG
01.10.2012 - corrected battery problems(thanks to Quarx and kabaldan)
03.10.2012 - corrected ramdisk(previous one was calling some script which I forgot to attach to this post, new one has this script inside), so that now you should be able to boot it; updated instructions how to install it; enabled TLS in the kernel(thanks to kabaldan)
04.10.2012 - touch driver updated, now should work with lastest JB(thanks to Eleanor_Ir, Quarx), adb fixed(I hope, stability fix(thanks to Quarx)
Click to expand...
Click to collapse
NOTES for devs
In milestone2(as probably in many others UMTS phones made by Motorola) the BP is somehow very sensible and does not like to be disconnected/reenumerated. The main goal of this 2ndboot is then to not allow it to be disconnected. To do this, in the new kernel I've skipped a few resets(EHCI, TLL, individual port resets), and instead of enumerating BP, I've used the hardcoded usb device address(which for milestone2 seems to be equal to 2).
I attach patch(radio.patch) with the changes I've done to the kernel sources from here:
http://sourceforge.net/projects/milestone.motorola/files/MILS2_U6_4.1-22/
This seems to work(sometime) for both milestone2 and defy.
For other motorola phones:
1. First of all, check with lsusb what's the address and vendor/product id of your BP(for milestone2 it's 0x22b8 and 0x40e6).
2. If the BP usb device address is 2, then just apply the patch(probably it will need some small modifications), and check if it works.
3. If the BP usb device address is not 2, then edit usb/core/hub.c function hub_port_init(providing that it's there for your kernel), and replace 0x02 in the place where usb_control_msg to get descriptors is sent with address of your device
If it does not work, then you can try the following:
Create a procedure to send usb GetDescriptors request using omap3 ehci registers, and call it at different boot stages/usb initialization stages to find out how long the radio remains attached, and comment/change appropriate fragments of kernel code, to preserve this until usb port is initialized. If you wish, I can share the procedure I've written(in the patch file this is that czecho_get_descriptors called in many places) for milestone2, but it probably would need some modification to work with your device).
2ndboot module sources are here:
https://github.com/czechop/2ndboot
Wow, thats perfect This could bring M2 development to another level.
Holding thumbs up and keep it up!
Great news! Thx for your work. I've just bought an OTG cable to start playing with kernel stuff and here's a surprise
Fabulous! That means it starts a new era in the development of our MS2 Roms!
Wonderful job man
Brilliant
Sent from my A953 using Tapatalk 2
I'm gonna try on the Motorola Bravo as soon as PA is done uploading. Hopefully this'll work on Froyo kernels as well :fingers-crossed:
What kernel are you using? A recompiled MS2 GB kernel unmodified?
Awesome job man. This could possibly be the start of a new generation of roms for our common platform if this works on other similar phones like the Defy\Bravo. Only time will tell .
Well good work OP, can this be implemented on other Moto phones like Defy?
Great work !
I see that your work is based on Moto's Linux kernel (2.6 branch as far as I remember...)
Any hope of using another kernel source one day ?
Great News!, Thanks
Waiting for source code
Wow! Tezet and Quarx on the same thread?! I feel like up on the Mount Olypmus lol
Great job, man!...been following your work from General section.
P.S. add Kabaldan to the list Clash of the Moto Titans
skeevy420 said:
I'm gonna try on the Motorola Bravo as soon as PA is done uploading. Hopefully this'll work on Froyo kernels as well :fingers-crossed:
What kernel are you using? A recompiled MS2 GB kernel unmodified?
Awesome job man. This could possibly be the start of a new generation of roms for our common platform if this works on other similar phones like the Defy\Bravo. Only time will tell .
Click to expand...
Click to collapse
Yes, I use MS2 GB U6_4.1-22(http://sourceforge.net/projects/milestone.motorola/files/MILS2_U6_4.1-22/) kernel... but with modified usb host driver.
nidhish91 said:
Well good work OP, can this be implemented on other Moto phones like Defy?
Click to expand...
Click to collapse
I think it can be.
With defy it probably should be easy, as I've seen there was 2ndboot(without radio) already build for it, so most likely only new kernel would need some tuning
czechop said:
I think it can be.
With defy it probably should be easy, as I've seen there was 2ndboot(without radio) already build for it, so most likely only new kernel would need some tuning
Click to expand...
Click to collapse
XT720 users also waiting for instructions for new kernel tuning, cause we have working 2ndboot without radio. =)
boorce.com said:
Great work !
I see that your work is based on Moto's Linux kernel (2.6 branch as far as I remember...)
Any hope of using another kernel source one day ?
Click to expand...
Click to collapse
It should be easy to apply some(perhaps most) 2.6.32 upstream patches to the motorola kernel sources.
Don't know however how difficult it would be to start from another kernel version. Don't know also how motorola proprietary modules/libs would behave with newever kernel version. But, as they say, impossible is nothing
czechop said:
I think it can be.
With defy it probably should be easy, as I've seen there was 2ndboot(without radio) already build for it, so most likely only new kernel would need some tuning
Click to expand...
Click to collapse
In kernel only modified usb driver or some more changes for boot?
fjfalcon said:
XT720 users also waiting for instructions for new kernel tuning, cause we have working 2ndboot without radio. =)
Click to expand...
Click to collapse
Will share source code probably early next week(currently am at work, and during weekend most likely won't be sober enough
Quarx said:
In kernel only modified usb driver or some more changes for boot?
Click to expand...
Click to collapse
In 2ndboot module I've added code to disable lcd before starting new kernel(otherwise new kernel could not initialise properly dss), and in new kernel I've only modified usb driver(perhaps more things will need to be modified, as I'm facing problem with BATTD sayins something about power ic fail, BTW, does someone know what that could mean?), so that it skips restaring EHCI, TLL and don't start enumeration, but just used the old usb device address(assigned by the original kernel), which for M2 is always 2(at least during my tests).
I2c Fail can be caused by wrong permissions for /dev/cpp*
I tried your prebuilt binaries on defy http://pastebin.com/jKjQ2ykn
Black screen + buttons lights and reboot after ~20sec
Quarx said:
I2c Fail can be caused by wrong permissions for /dev/cpp*
I tried your prebuilt binaries on defy http://pastebin.com/jKjQ2ykn
Black screen + buttons lights and reboot after ~20sec
Click to expand...
Click to collapse
Thanks for hint regarding permissions...will check that
Regarding prebuilt binaries on defy, hard to say what's wrong(not sure how much the phones differ). Anyway, you probably would need to use devtree from your device. Also you could unpack ramdisk, and check the init.*.rc scripts if they are ok(e.g. I mount system partion using p21, not sure if that's the same for defy, and staff like that).
SEE 4TH POST FOR ROM LINK
DISCLAIMER
As per always im not responsible for any problems that may or may not arrise from this UNOFFICIAL build, i am in no way responsible for any flash issues using SP flash tool, What you do here you do of your own accorrd i never forced you to flash anything, now the legal part is out of the way.
______________Device_specification____________
Model : 5044T
Chip type : eMMC
Fs type : Ext4
Mtk chip type : MTK6737M
Mtk chip type : MTK6735M
Kernel version : 3.18.19+
........Welcome to CR Droid 3.8.7 UNOFFICIAL.......
** NOTE **
This firmware is for Alcatel U5/Optus x Spirit 5044T models ONLY,
NOT WORKING
• Front Camera DOES NOT work
____________________________________________
PRE REQUISITE'S
• OEM unlocked in developer options
• Flash TWRP with SP flash tool.
• Format data in wipe menu before flashing rom & Gapps
• Install Rom first then install Gapps straight after
• Wipe cache/Dalvik & reboot
___________________________________________
LINKS
TWRP 3.2.3-0
https://drive.google.com/file/d/1YMfYp4z1tgdjvlK6KRlMsGLmkW_oikZz/view?usp=drivesdk
GAPPS
https://opengapps.org
SP FLASH TOOL
https://spflashtool.com
MEDIATEK VCOM FLASH DRIVER
https://spflashtool.com/download/MediaTek_USB_VCOM_drivers.zip
Pics of build
Links been pulled temporarily due to a modem issue.
Currently rectifying the situation now link will be back up asap.
See links on first post for GAPPS, TWRP, & SP flash tool.
CR droid 3.8.7 2019-02-24
https://drive.google.com/file/d/1S78TeH-8rHXAhqmSZS_h1PyoEGhSxUE0/view?usp=drivesdk
DISCLAIMER
As per always im not responsible for any problems that may or may not arrise from this UNOFFICIAL build, i am in no way responsible for any flash issues using SP flash tool, What you do here you do of your own accorrd i never forced you to flash anything, now the legal part is out of the way.
CHANGELOG
• RIL error is now resolved
• Minor changes to UI,
• Removed substratum until i can fix
• changed to TCL fingerprint for the play store,
• Added low ram optimiastion
• Added Volte to /etc /bin /lib & boot.img
• Added Vilte to /etc /bin /lib & boot.img
• Added hd voice calling
• Added Dual mic support
• Added NFC compatabilty
• Changed some cam libs to clean the picture up, touch to focus works camera quality is on par with stock if not better.
• Ril optimisations, call quality is now same as stock
NOT WORKING
• Vilte, driver compatabilty issue trying to fix may work partially
• NFC, im working on it for now everything but the running app has been placed.
• FRONT CAMERA DOES NOT WORK
dont ask me to fix it, i will decompile the kernel when i get free time to do so to try and fix,
ive already chowned & chmod'ed init.rc & init.mt6735 with drivers from stock, switched to running through mediaserver instead of cameraserver in service_contexts as it does on stock, created an init.camera.rc to enforce the stock camera permissions, switched each lib out individually leaving only those that dont break the camera, switched camera.mt6735m out in HW aswell as the mtk_camera_clientand it still dosent work i will continue to work on this problem until resolved
Nice job with the ROM, mate. I presume you're Australian, right? Had to mention it based on the Optus reference so yeah.
And care to expound on decompiling the kernel? I presume you can deduce what's going on with it so you could build an equivalent kernel using extant sources, yes?
blakegriplingph said:
Nice job with the ROM, mate. I presume you're Australian, right? Had to mention it based on the Optus reference so yeah.
And care to expound on decompiling the kernel? I presume you can deduce what's going on with it so you could build an equivalent kernel using extant sources, yes?
Click to expand...
Click to collapse
Hey mate sorry for late reply, been finishing a ubifs cyanogenmod 11 build ive jjust released,
Cheers for the feedback yeah this one is for alcatel 5044T using kernel 3.18.19+ great rom though just havent gotten round to decompiling kernel to fix the front camera managed to interpolate the back though to be better than stock
I use a .sh file called kernel-decompile.sh usually but havent decompiled a kernel in a while i try to use stock untouched as it saves the headache of getting kernel readable to make changes,
Did you make any progress on your build yet ? Managed to take a breif look at your device tree i noticed in one of the files it was screeming at the init.environ.rc is this present in your boot.img as its stating that the paths are missing for it if you have the init.environ.rc present you just need to add the paths listed into there corresponding path being either BOOTCLASSPATH or SYSTEMCLASSPATH
I noticed you init.rc is not right at all there is no information within to run any of the /bin resources required to execute gui, post fs-data section is also missing aswell as setting up the global evironment was also wrong i beleive as there was no info for chowning or chmodding below the mkdir asserts,
Ive still not looked at alot but everything else that i have managed to look at seems to be pretty good
I should be hopefully getting my Lineage 14.1 build up for the alcatel pixi 3 using stock 3.4.67 kernel soon so you may be able to see how i made the boot.img and compare it yours if you want or i have my LineageOS 13.0 build already up for the Pixi 3 already which uses the same setup pretty much because afaik the way the fs setup is set it out in the fstab and init.rc is all the same from 5.0+ onwards as it uses encrypted footers and what not, i had to vold manage the 900Mb /custpack partition to be used as user accessible data for file transfers and general storage of photos videos etc as it would not mount any other way and would cause me infinite boot loop i had to also set the 3.6GB /internal storage as a voldmanaged user inaccessible partition reserved for system storage as the /system partition is only 512mb so ive been struggling for space to make everything work but its nearly done
Matty1993 said:
Hey mate sorry for late reply, been finishing a ubifs cyanogenmod 11 build ive jjust released,
Cheers for the feedback yeah this one is for alcatel 5044T using kernel 3.18.19+ great rom though just havent gotten round to decompiling kernel to fix the front camera managed to interpolate the back though to be better than stock
I use a .sh file called kernel-decompile.sh usually but havent decompiled a kernel in a while i try to use stock untouched as it saves the headache of getting kernel readable to make changes,
Did you make any progress on your build yet ? Managed to take a breif look at your device tree i noticed in one of the files it was screeming at the init.environ.rc is this present in your boot.img as its stating that the paths are missing for it if you have the init.environ.rc present you just need to add the paths listed into there corresponding path being either BOOTCLASSPATH or SYSTEMCLASSPATH
I noticed you init.rc is not right at all there is no information within to run any of the /bin resources required to execute gui, post fs-data section is also missing aswell as setting up the global evironment was also wrong i beleive as there was no info for chowning or chmodding below the mkdir asserts,
Ive still not looked at alot but everything else that i have managed to look at seems to be pretty good
I should be hopefully getting my Lineage 14.1 build up for the alcatel pixi 3 using stock 3.4.67 kernel soon so you may be able to see how i made the boot.img and compare it yours if you want or i have my LineageOS 13.0 build already up for the Pixi 3 already which uses the same setup pretty much because afaik the way the fs setup is set it out in the fstab and init.rc is all the same from 5.0+ onwards as it uses encrypted footers and what not, i had to vold manage the 900Mb /custpack partition to be used as user accessible data for file transfers and general storage of photos videos etc as it would not mount any other way and would cause me infinite boot loop i had to also set the 3.6GB /internal storage as a voldmanaged user inaccessible partition reserved for system storage as the /system partition is only 512mb so ive been struggling for space to make everything work but its nearly done
Click to expand...
Click to collapse
You're welcome, glad you had things sorted out on your end. I do have an init.environ.rc on my /out folder but I am not sure if it's right at all lol:
Code:
# set up the global environment
on init
export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
export ANDROID_BOOTLOGO 1
export ANDROID_ROOT /system
export ANDROID_ASSETS /system/app
export ANDROID_DATA /data
export ANDROID_STORAGE /storage
export ASEC_MOUNTPOINT /mnt/asec
export LOOP_MOUNTPOINT /mnt/obb
export BOOTCLASSPATH /system/framework/core-libart.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/apache-xml.jar
export SYSTEMSERVERCLASSPATH /system/framework/org.cyanogenmod.platform.jar:/system/framework/org.cyanogenmod.hardware.jar:/system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/wifi-service.jar
export LD_PRELOAD libsigchain.so:libxlog.so
On the stock ramdisk it looks like this:
Code:
# set up the global environment
on init
export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
export LD_LIBRARY_PATH /vendor/lib:/system/lib
export ANDROID_BOOTLOGO 1
export ANDROID_ROOT /system
export ANDROID_ASSETS /system/app
export ANDROID_DATA /data
export ANDROID_STORAGE /storage
export ASEC_MOUNTPOINT /mnt/asec
export LOOP_MOUNTPOINT /mnt/obb
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/webviewchromium.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-tablet.jar
And by init.rc do you mean init.mt8127.rc? Could you tell me which parts are wrong please, as I've based this off @Stricted's MT8127 repo. I doubt that the missing "LD_LIBRARY_PATH" is at fault too. Also, I am getting a missing "__umodsi3" symbol error prior to introducing a (rather pointless imo) shim just to sort of make hwcomposer happy, even though I still end up not getting the GUI to show up.
You mind if we continue on discussing this on the LeapFrog development thread though? I don't want to stray off your original topic here anyway.
blakegriplingph said:
You're welcome, glad you had things sorted out on your end. I do have an init.environ.rc on my /out folder but I am not sure if it's right at all lol:
On the stock ramdisk it looks like this:
And by init.rc do you mean init.mt8127.rc? Could you tell me which parts are wrong please, as I've based this off @Stricted's MT8127 repo. I doubt that the missing "LD_LIBRARY_PATH" is at fault too. Also, I am getting a missing "__umodsi3" symbol error prior to introducing a (rather pointless imo) shim just to sort of make hwcomposer happy, even though I still end up not getting the GUI to show up.
You mind if we continue on discussing this on the LeapFrog development thread though? I don't want to stray off your original topic here anyway.
Click to expand...
Click to collapse
Hey mate sorry for late replty been helping a friend out building a twrp for them,
Yeah ill go through your init now on your guthub and ill type out into a notepad++ what i can visually see is wrong with it and any other files also,
LD_LIBRARY_PATH i beleive wont break a system and shouldn't stoo GUI loading up, also with HW composer could you notjust disabling it to run native 2D graphics ?
Anyhow yeah ill jump on the leapfrog forum when i get some time
user154 said:
Hey buddy, hows things going?
I was able to fix the front camera in my rom a few weeks ago,
There is no need to touch the boot image or kernel, I also experimented with changing permissions of camera drivers in the init files to no avail.
To fix we must ignore the advice of every porting guide and replace more than one lib.
In the end I looked at similar mtk kernel sources and was able to trace the error back to libcam.hal3a.v3.so however just changing this lib is not enough, we must also change some of its dependencies. Attached is a list of 12 libs that I changed to solve the problem
EDIT:
It may not be necessary to change all of these libs, you may be able to get away with just changing the hal3a libs and featureio and featureiodrv as these were the last ones I changed, I didnt try taking away any of the other libs I replaced as I found 720p recording was better and general camera quality had improved
Click to expand...
Click to collapse
Hey mate,
Yeah im not to bad sorry for late reply ahh sweet that means i dont have to decompile my kernel now that may have been one of the libs id changed that time id gotten it working and didnt even know id changed it, how did you figure tthat one out, as usually for cam the mains are camalgo, camdrv, gralloc & featureio i couldnt wrap my head round why i couldnt get it working again lol
Yeah 720p i found was the best optimal setting as SS 480p seemed to be a bit grainy and 1080p isnt device supportive so is so slow i havent released an update to CRdroid so may end up getting it done in the next few weeks 5044T users will be happy great work on figuring it out
Matty1993 said:
Hey mate sorry for late replty been helping a friend out building a twrp for them,
Yeah ill go through your init now on your guthub and ill type out into a notepad++ what i can visually see is wrong with it and any other files also,
LD_LIBRARY_PATH i beleive wont break a system and shouldn't stoo GUI loading up, also with HW composer could you notjust disabling it to run native 2D graphics ?
Anyhow yeah ill jump on the leapfrog forum when i get some time
Click to expand...
Click to collapse
I am not sure, something's keeping the loading animations from showing up, maybe I might have missed a few more blobs or whatnot. I'll have to upload an unsigned dump of the Epic for you to peruse some time. You mind if we get you a donor Epic whilst I wait for mac2612 at /r/OpenLF to get his own Epic being he's had Linux development experience before.
user154 said:
So I looked at logcat and saw that the issue was lensdrv looking in the wrong place for the lens. so I looked at some mtk kernel sources to see if I could trace lensdrv back to a specific lib. It appeared to be part of hal3a however changing this lib would make the camera app disappear, so I tried installing a different camera app which failed to install. when I looked at logcat the install failed because native libs were missing so I used a dependency viewer to see what libs were dependencies of hal3a and began changing them one by one, focussing on drv libs and then testing. Looking at logcat after I had changed a few I saw a reference to a problem with featureio so I opened featureio and featureiodrv in a hex viewer and one of them (cant remember which) had a string specifying the lens location, so I added these two and the front camera worked. This is what makes me think you could maybe get away with just changing hal3a and the 2 featureio libs to get the front camera working, however I was happy with how the camera was working so didnt try to take away any of the other depdencies I had changed
Click to expand...
Click to collapse
Dependency viewer? Which one are you using if you don't mind telling?
user154 said:
This is the one I use:
https://forum.xda-developers.com/android/software-hacking/tool-read-elf-gui-android-libs-t3717016
Click to expand...
Click to collapse
Hey bud sorry for the very late reply i feel quite rude i somehow managed to unmark my own thread just scoured my mentions section looking for a comment on it lol,
Had troubles with pc also blowing just got it fixed today so looking forward to getting camera all working well with it managed to make some progress with my rom before it did though
Ive turned my build into a vendor image as im also trying to incorporate all the test tools from the stock rom aswell as the VOLTE modem thats been attached to custpack in stock,
Managed to get most test tools working well but something wrong with the modem not engaging properly it says YES OPTUS but has no signal or service and imei is also blank not invalid but blank & gone lol yet sim still registers optus so i think im gonne be doing some debugging on it to see whats going wrong ive got a feeling i may need to reverse engineer the modem libs hoepfully not other than that ive only got a small bug when it first boots up that states "a vendor image mismatch has been detected, typically this means your vendor image is out of date please ensure your vendor image matches NJH47F"
Got me stumped a bit on it as i cant spot anything obvi wrong but ill persevere as having it as a vendor build seems to use at least 60-100mb less ram, first boot is quicker & there is virtually no lag at all compared to a traditional build and i was able to add all the SLPencryption and Fpsv files and libs without getting a bootloop as im trying to get encryption to work with it, not sure if its working though as i didnt get a chance to test yet.
Ill keep you updated on progress anyhow as i go when i get round to it i gotta help blake first though as i promised him id help him get his CM 12.1 working when i got my computer working again as hes been dying to get it working on his leapfrog epic
Hows things on your end with your rom ? Did you manage to make any progress with getting IMS, VOLTE or VILTE anywhere near working im struggling to say the least with it lol
MTK source code
Hi @Matty1993
Not sure if this will help but I have found the FULL Mediatek source code for the MT6737x.
The Android 8.1 sources can be found HERE along with some other useful things like the Android SDK source (This is the full 6.0 source code). :good:
I have downloaded the 8.1 source and it seems to be complete.
There are also full build instructions although you will need to create your own "Build Project" from what I understand or maybe you can just cherry pick what you need. :fingers-crossed:
Below are the officially maintained repository's on github.
OrangePi 4G-IOT
OrangePi 4G-IOT build on MTK6737 Soc, the officially maintained repository as follows:
kernel:
https://github.com/orangepi-xunlong/OrangePi4G-iot_kernel.git
u-boot:
https://github.com/orangepi-xunlong/OrangePi4G-iot_bootloader.git
build scripts
https://github.com/orangepi-xunlong/OrangePi4G-iot_scripts.git
external binary file
https://github.com/orangepi-xunlong/OrangePi4G-iot_external.git
toolchain
https://github.com/orangepi-xunlong/OrangePi4G-iot_toolchain.git
:fingers-crossed:
user154 said:
Hey, dont feel rude we cant all always reply straight away I've just welcomed my 2nd son into the world so not really been on here very much over the last month or so.
How is turning your build into a vendor image going? I didnt think this device had a seperate vendor partition just a sub folder of the system partition. If youve managed to give this device a vendor partition that would be quite a feat, theoretically it would mean it would be able to boot a GSI although I dont know how much mileage you would get out of this in reality.
I would imagine some of the problems you are having would be due to the system expecting files to be in one place but you have them in another, you should be able to work this out from the logs though if this is the case.
Good luck to the pair of you on the leapfrog epic front, sounds like a very fun project
I havent done much more on my ROM the only thing left to fix is IMS/VOLTE but I cannot test this so without having someone to test it and provide logs there isnt much I can do. I've been looking round for an oreo rom to port from but thanks to TCL deciding to compile the stock rom as 32 bit and not 64 this is proving rather difficult. I have looked at the possibility of porting 64 bit rom to 32 but from what I can tell the chances of ending up with a decent port rom with no major bugs is pretty slim.
At the moment my main project has been making a game for/with my eldest son, he is obsessed with kirby so made a simple platformer using sprites ripped from various kirby games.
Click to expand...
Click to collapse
Havent worked on the build in a while been in hosptial with pneumonia horrible just horrible wouldnt wish it upon anyone, before hand though yeah vendor build was going great so much more can be added and works where it dosent in /system, such as the slp encryption and cloud test suites etc would all give me bootloop when added to /bin /etc and /lib so what i did is made the system think its got an emulated /vendor partiton instead of me going to all the trouble to create a logical /vendor partitiion by editing a few things in the boot.img .rc files and slinking it in the cpiolist so that the dir is set in the rootfs with 0644 permission but still using 0755 permissions in /system/vendor took me a while to figure it out but even makes system boot and run faster and smoother dont know how thats possible though as it even uses 100mb less ram deffo works as /vendor but as the message i stated in the earlier post just wont go TF away no matter what i do lol,
Still fixing front camera trying to compile my own camera lib for the front but havent gotten round to it yet
bigrammy said:
Hi @Matty1993
Not sure if this will help but I have found the FULL Mediatek source code for the MT6737x.
The Android 8.1 sources can be found HERE along with some other useful things like the Android SDK source (This is the full 6.0 source code). :good:
I have downloaded the 8.1 source and it seems to be complete.
There are also full build instructions although you will need to create your own "Build Project" from what I understand or maybe you can just cherry pick what you need. :fingers-crossed:
Below are the officially maintained repository's on github.
OrangePi 4G-IOT
OrangePi 4G-IOT build on MTK6737 Soc, the officially maintained repository as follows:
kernel:
https://github.com/orangepi-xunlong/OrangePi4G-iot_kernel.git
u-boot:
https://github.com/orangepi-xunlong/OrangePi4G-iot_bootloader.git
build scripts
https://github.com/orangepi-xunlong/OrangePi4G-iot_scripts.git
external binary file
https://github.com/orangepi-xunlong/OrangePi4G-iot_external.git
toolchain
https://github.com/orangepi-xunlong/OrangePi4G-iot_toolchain.git
:fingers-crossed:
Click to expand...
Click to collapse
Big rammy my friend how have you been and thank you so much for linking me to some proper oreo source for these SoCs as i was trying to port lineage 15.0 32bit rom i found for Moto G4 MT6373M but just cant get it past the logo no natter what i do, being complete or near complete sources though i should be able to make something works cant thank you enough for the links again
Matty1993 said:
Big rammy my friend how have you been and thank you so much for linking me to some proper oreo source for these SoCs as i was trying to port lineage 15.0 32bit rom i found for Moto G4 MT6373M but just cant get it past the logo no natter what i do, being complete or near complete sources though i should be able to make something works cant thank you enough for the links again
Click to expand...
Click to collapse
Sorry to hear you have been seriously ill with pneumonia
I thought you had gone kind of quite on the forum, I do hope your all sorted now and feeling better. :fingers-crossed:
Yes the source is probably the best I have seen thus far and providing you have the necessary drivers and a little know how I am pretty sure you could bring up a new Project for your own device. :fingers-crossed:
Not sure about your booting issue as it could be just about anything but I am sure you will hunt down the problem. :fingers-crossed:
bigrammy said:
Sorry to hear you have been seriously ill with pneumonia
I thought you had gone kind of quite on the forum, I do hope your all sorted now and feeling better. :fingers-crossed:
Yes the source is probably the best I have seen thus far and providing you have the necessary drivers and a little know how I am pretty sure you could bring up a new Project for your own device. :fingers-crossed:
Not sure about your booting issue as it could be just about anything but I am sure you will hunt down the problem. :fingers-crossed:
Click to expand...
Click to collapse
All good dude yeah lots of nasty stuff in my lungs i got the privledge to know what a tube being stuck down your throat to make you breathe felt like yeah ill be sure to check it out as ive looked at a few but none of them were by far near complete which is probs why i couldnt get oreo to boot,
optus have finally switched to Qualcomm's snapdragon so they can run 8.1.0 on there new updated Optus x spirit 2 so they even have abandoned mtk i on the other hand prefer the overjoyable mess that mediatek is haha yeah thats what i figured about the boot issue to could be an init.xx.rc or se_contexts or even the init possibily everything else is perfect in bootimg, either that or could be one of the binaries in /bin or .jars in /framework could even be in /lib ill just keep picking away while i go through the oreo source until some magic happens :laugh:
Matty1993 said:
All good dude yeah lots of nasty stuff in my lungs i got the privledge to know what a tube being stuck down your throat to make you breathe felt like yeah ill be sure to check it out as ive looked at a few but none of them were by far near complete which is probs why i couldnt get oreo to boot,
optus have finally switched to Qualcomm's snapdragon so they can run 8.1.0 on there new updated Optus x spirit 2 so they even have abandoned mtk i on the other hand prefer the overjoyable mess that mediatek is haha yeah thats what i figured about the boot issue to could be an init.xx.rc or se_contexts or even the init possibily everything else is perfect in bootimg, either that or could be one of the binaries in /bin or .jars in /framework could even be in /lib ill just keep picking away while i go through the oreo source until some magic happens :laugh:
Click to expand...
Click to collapse
Yes most definitely not a good experience I am sure. :crying:
Hope you work out your booting issue :good:
I may need to pick your brains later on regarding the Lenovo TAB2 A10-70F/L I managed to get the KK 3.10.65 kernel source to build without any real errors but I think it maybe arm rather than arm64 IDK the old style MediaTek layout is very confusing and I am not sure how it all works eg which parts come from the actual kernel and what comes from the Mediatek project which config's it use or how to make config changes even etc etc.
I have had a lot on recently so not really had time to fully explore it Github lenovo_kernel_a10-70f
I can't seem find any good guides for working with this old style layout unless you know of any. :fingers-crossed:
bigrammy said:
Yes most definitely not a good experience I am sure. :crying:
Hope you work out your booting issue :good:
I may need to pick your brains later on regarding the Lenovo TAB2 A10-70F/L I managed to get the KK 3.10.65 kernel source to build without any real errors but I think it maybe arm rather than arm64 IDK the old style MediaTek layout is very confusing and I am not sure how it all works eg which parts come from the actual kernel and what comes from the Mediatek project which config's it use or how to make config changes even etc etc.
I have had a lot on recently so not really had time to fully explore it Github lenovo_kernel_a10-70f
I can't seem find any good guides for working with this old style layout unless you know of any. :fingers-crossed:
Click to expand...
Click to collapse
Yeah was horrible, made some minor progress on the boot issue dosent switch straight off now is sitting on logo for about 30 seconds before it switches off so getting there bit by bit haha,
Never worked on a lenovo Tab 2 what MTK specs is it running ?
your correct to also about it being confusing the word id use is uniqe experience to say the least last time i worked on older style mtk sources however i did make some notes as i got stuck a fair amount of times aswell not knowing where to put things but it varies from source to source where things go and configs etc etc so i dont know if the layouts would be the same
Matty1993 said:
Yeah was horrible, made some minor progress on the boot issue dosent switch straight off now is sitting on logo for about 30 seconds before it switches off so getting there bit by bit haha,
Never worked on a lenovo Tab 2 what MTK specs is it running ?
your correct to also about it being confusing the word id use is uniqe experience to say the least last time i worked on older style mtk sources however i did make some notes as i got stuck a fair amount of times aswell not knowing where to put things but it varies from source to source where things go and configs etc etc so i dont know if the layouts would be the same
Click to expand...
Click to collapse
The tablet is based on the mt6752/6732 chip set (Quad Core) although Lenovo's specs say HERE
WiFi: MediaTek® MT8165 64-bit 1.7 GHz Quad Core
4G LTE: MediaTek® MT8732 64-bit 1.7 GHz Quad Core
The kernel will boot on either device WiFi or 4G so clearly not much difference between them and seems to be more of a naming thing and possibly some minor tweaking.
The Lenovo K3 kernel source is called the aio (All in One) so I am thinking it may well build for this Tablet too as all the drivers seem to be present in that source. android_kernel_lenovo_aio_otfp I just need to workout the defconfig and what device specific parts I need from the tablets KK source code.
:fingers-crossed:
3.0
given up using peoples dirty code, so downloaded nvidias dirty code instead lol
cleaned the code up best i could, things ive noticed while playing games on the tablet is -
when i play "nitro nation" the first race no longer stutters
when popups appear they dont take a while to appear..
when i play "word mind" it doesnt take ages to load with crackling sound
when using "kernel auditor" if you set the GPU max and min values high (i only did this trying to keep the values standard), when the GPU gets hot, it cant scale down the GPU frequency so it starts trying to kill tasks.
i dont think you need to download/flash blobs as they are for flashing binary stuff, but i cant find a need for it, think its more of a precaution to ensure the kernel boots.. but dont think i have flashed them
-----------------------------------------------------------------------------------------
3.1 : FINAL,
dunno what changes i made but ive recently upgraded my tablet so figured id upload my latest and last
obveously i have had to start again running 3.10.96 but done alot of work to make it as fast as i can so far, but i deleted all references to my old code and cant find them anymore,
GPU is now at 914 MAX as ive found its the GPU that generates a lot of heat, which causes it to throttle, and found values higher than this just degraded performance.
ive known for a long time that "DT2W" works great while connected to USB, due to the custom USB wakelock, i know the app "wakelock revamp - power manager" would resolve it. but ive found tapping where "notifications" would be wakes the screen (ive found bottom right where the camera would be is a good spot) im trying to figure out how to apply the wake lock better.
scores on PCMARK are above the scale on most values
scores on 3DMARK are around 3250 ~ 3320
=========================================
if you want to create your own, i created a guide, also the website i used to help me understand
https://************/how-to-build-android-kernel-on-windows-10/ appuals . com
-----------------------------------------------------------------
Thanks to :
-----------------------------------------------------------------
"hazel nut" for his support, as if he never said "cant wait for it to come out" i dont think it would of pushed me so much
----------------------------------------------------------------
"BitOBSessiOn" for his source code
https://github.com/BitOBsessiOn/android_kernel_nvidia_shieldtablet
-----------------------------------------------------------------
"laufersteppenwolf" for his source code and commits to overclocking and DT2W/STW
https://github.com/laufersteppenwolf/android_kernel_nvidia_shieldtablet
-----------------------------------------------------------------
"Christopher83" for his cross compiler
https://github.com/Christopher83/arm-cortex_a15-linux-gnueabihf-linaro_4.9
-----------------------------------------------------------------
Microsoft, if i didnt hate windows 10 so much, and didnt get a message regarding dropping support for windows 7,
i would still be using a virtual machine which due to it being so slow, i would of probably given up a long time ago
----------------------------------------------------------------
thanks to everyone that has said thank you
Nice to see that you open a thread.
Appreciate a bit companionship here.
In your guide didn't you specify how you create thr zip file.
I used the nethunter installer, which is based on lazy flashed in regard of the external modules, this come in handy, but I found relatively little among the Shield kernel support.
I noticed that you set the make command with the addition of the specifications of the number of CPUs, which are to be used, before every command.
Is this a typo, or is this the correct procedure when you compile with Windows?
Did you mean with
"bin-bash-command"
Click to expand...
Click to collapse
-
cd ~
Click to expand...
Click to collapse
?
PS
1
response
That's just how I make the command, as if you tap the up key, you can scroll through previous inputs, if it makes it faster- that's a bonus.. but you're right about being very little support.
With regards to the zip file - you could use mine or any other zip that is a kernel flash - as long as you drop it into the kernel folder.. I believe there is an "anykernel.zip" somewhere if you prefer to use that.. also if you wish to add your own personal touch, you can modify the script file in the metadata folder
Response
I also chose different colours in the guide and placed it in a separate line so people could understand the exact typing.. or they could copy and paste..
But with regards to support it is one of the reasons I made the guide, in hopes the Nvidia community could follow it, understand how to achieve their own kernel, and improve the tablet. As there seems to be a serious lack of support..
I had to learn on my own, through Google and YouTube, but hopefully this will speed up what took me a month of trial and error..
Is it compatible with stock based fw (5.4)? Just need to flash blobs, then kernel and reboot?
Respond
Yeah, extract the blobs before flashing.. only available for stock/stock+ rom
Reply
Oh, by the way, you can’t compile with windows unless you’re using a virtual machine.. has to be Linux/terminal
Bleeblun said:
Yeah, extract the blobs before flashing.. only available for stock/stock+ rom
Click to expand...
Click to collapse
Thank you, I will try out as soon as I can get to my computer. I have downloaded the wakelock v3 app and kernel adiutor an I can't enable wakelock in kernel adiutor (I can't see any option for it). Only this new kernel will support this option, am I right?
Reply
attom93 said:
Thank you, I will try out as soon as I can get to my computer. I have downloaded the wakelock v3 app and kernel adiutor an I can't enable wakelock in kernel adiutor (I can't see any option for it). Only this new kernel will support this option, am I right?
Click to expand...
Click to collapse
You must of done something wrong as “wake” is below “gpu”
You extract> then flash the blob at the fastboot menu via typing - fastboot flash staging <blobfilename>
Then via TWRP recovery you install the “OC K1” kernel without extracting.. I have 3 tablets and it’s worked on them all.. hope this helps,
Bleeblun said:
You must of done something wrong as “wake” is below “gpu”
You extract> then flash the blob at the fastboot menu via typing - fastboot flash staging <blobfilename>
Then via TWRP recovery you install the “OC K1” kernel without extracting.. I have 3 tablets and it’s worked on them all.. hope this helps,
Click to expand...
Click to collapse
Yeah, everything worked, awesome, thank you!!
Response
attom93 said:
Yeah, everything worked, awesome, thank you!!
Click to expand...
Click to collapse
Thanks for letting me know, originally you wouldn’t of needed the “wake v3” app, but I started fresh, which gained performance, and I decided to look for an easier way to stop the tablet “deep sleeping” on me.. less of a headache this way :laugh: