Google Play edition Moto G drops F2FS, but at what cost? - Moto G Q&A, Help & Troubleshooting

It has come to light that the GPe Moto G uses EXT4 for the userdata partition, rather than F2FS like other models. Something worth considering if you plan to buy this version, or flash it's ROM.
What's the big deal about F2FS?
Well, in a nutshell, it appears that it performs tremendously better than other traditional file systems, like EXT4, which (most) Android devices currently use.
Notably, the Moto G uses F2FS, and performs much better than other high-end devices, including the Moto X, the HTC One and One Max, the Nexus 4, etc. In fact, the Moto G is nearly as fast as the Nexus 5.
This is made even more significant because the Moto G does not have traditional NAND, but rather is using nothing more than the eMMC used in MicroSD cards.
This means that the Moto G's performance should be inferior to many devices, but instead is incredibly good, based upon how well F2FS operates.
Click to expand...
Click to collapse
http://www.reddit.com/r/GalaxyNexus/comments/1t7a17/can_we_discuss_f2fs_on_the_galaxy_nexus_seems​
It does appear to F2FS does offer about a 30% I/O perf improvement across the board, but in some cases, it can be as much as 300%, which is insane.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=48843902&postcount=3​

F2FS (Flash-Friendly File System)
One reason ANDROID become slow over time is the lack of instructions TRIMM before version 4.0.
The MotoG has the TRIMM and F2FS that allow a very good performance, lack of F2FS in GOOGLE version is bad news

Ps Moto x has f2fs too and f2fs was developed by samsung

I wonder why they choose EXT4 for the GPE :/

At this time; it looks like they deliberately reduced the performance of the GPe version. Unless they have changed from using eMMC to NAND for internal memory, tests should reflect the downgrade. Perhaps they have deliberately done this to minimize sales cannibalization of other GPe devices.

lost101 said:
Perhaps they have deliberately done this to minimize sales cannibalization of other GPe devices.
Click to expand...
Click to collapse
I cant' see many people checking what file-system the phone uses before deciding on which one to choose
I'm thinking/guessing it's maybe more a technology and/or developer reason,
But hey who knows
I flashed the GPE ROM today to my UK Moto G, and although i do like that it uses less RAM,
I think i have decided to go back to the UK Kitkat.

I was thinking more from the perspective that the GPe Moto G may now be clearly slower than the other devices in the range, whereas before (using f2fs) the difference wasn't so obvious. That would influence sales.

hrownar legisla
There is no difference in antutu. Both reach about 16850-17000 points.
I have used the normal one for 2 month, now after google sold Motorola to Lenovo i decided to flash it into a GP-edition.
( All Custom roms I tried, don't work well )
The Phone has about 300mb more space on sd and the feel is that it is faster than the normal version. Mayby because of about 60mb more free ram when it operates.

I'm running Nexus G+ which is based on GPE and the data/userdata partitions are still F2FS according to mount.

lmulli said:
I'm running Nexus G+ which is based on GPE and the data/userdata partitions are still F2FS according to mount.
Click to expand...
Click to collapse
That Means Best of Both worlds

Ran 4.4.2 ROM for a few weeks, now on GPE, performance wise it feels exactly the same. More storage and RAM though.

It should be easy enough to format the GPe's userdata partition to F2FS.

Well, I can tell after reading the drivel quoted in the OP that it's complete bull****.
1) eMMC smokes NAND in performance and has done so for years.
2) Every device on the market has used eMMC for years. The last time I saw a device with dedicated NAND instead of eMMC was the original Samsung Aries (Galaxy S1) family. The last Nexus to use NAND was the Nexus S. Galaxy S2 and all newer devices have been eMMC. (In the case of Nexus devices - the Galaxy Nexus was eMMC as have all Nexus devices since it. Galaxy Nexus was particularly notorious for the fact that Google first discovered the infamous "Samsung Superbrick" bug during prototype development. Google forced Samsung to fix their defective eMMC for the GNex, but Samsung continued to use the defective flash for months in their own devices and also provided it to other manufacturers.)
3) eMMC is far more than just a soldered-on MicroSD. While there is a common subset of functionality, eMMC supports transfer speeds and bus widths significantly wider/faster than MicroSD. (e.g. eMMC will always be SIGNIFICANTLY faster than MicroSD, unless possibly you compare 3-year-old eMMC against brand new MicroSD.)
It's questionable as to whether f2fs really provides that much benefit over ext4. It seems to depend partly on the performance of the underlying device - on MicroSDs it provides a performance benefit. On SATA SSDs it provides little to no performance benefit in most cases, and is slower in some. eMMC is somewhere in between these. In the one benchmark in http://www.phoronix.com/scan.php?page=article&item=linux_f2fs_benchmarks&num=1 where f2fs significantly outperformed everything else, there was clear evidence it was doing so by sacrificing data integrity. (Think along the lines of that horrific per-file fsync disable patch some kernels have. It's awesome for benchmark epeen but horrible for data integrity.)

Some more information:
Beyond the anecdotal evidence above that f2fs has data integrity issues, I can now personally confirm that f2fs is far poorer than ext4 at data integrity.
In the process of bringing up omni, a bug was causing frequent reboots of the device during bootup. This caused a large number of "ghost files" on the filesystem. They would appear if you did "ls *" but spit out an error that they didn't exist. Not good when that happens on your dalvik cache.
These files couldn't be created, nor could their directory entries be deleted. An attempt to run fsck.f2fs would just crash with an assertion error. To fix the issue I had to completely reformat the /data partition. (Not just a typical wipe/factory reset which leaves the "sdcard" contents in /data/media)
With ext4, those files would have been deletable and fsck would've actually done something.

I thought I would lose performance with gpe but no. Can't feel that. I like seeing more free ram but there is no feelable performance change
Gesendet von meinem XT1032 mit Tapatalk

Will it be more difficult to get CM11 running on the GPE version with the ext4 filesystem on /data? Flashing a ROM alone won't change the filesystem on /data (afaik), but will there be an option for format to ext4 on any of the recoveries?
I'd rather buy the GPE version, but my ultimate goal is to get CM11 running on it, so I hope it won't be a problem.

F2FS Put to the Test Against EXT4
F2FS proved to be faster on the Z1 than EXT4 in the vast majority of cases.
Storage write speeds were improved to an even greater degree for sequential and random writes in this synthetic benchmark, with both being greater than two orders of magnitude faster on F2FS.
Click to expand...
Click to collapse
www.xda-developers.com/android/f2fs-put-to-the-test-against-ext4​

Two things.
1) fsck.f2fs is currently more of a debug tool than a repair tool. It makes no attempt to fix errors that it finds and typically bails on the first major problem it sees.
2) The F2FS driver in the G and X has a number of differences compared to the upstream kernel. They are available in our git hub. The problems that you encountered would be expected with the upstream driver.
Russ

Entropy512 said:
1) eMMC smokes NAND in performance and has done so for years.
Click to expand...
Click to collapse
eMMC is NAND. A specific, particular implementation of NAND flash, but NAND nonetheless. I don't think any smartphone, to this date, has used NOR flash memory.

rknize said:
Two things.
1) fsck.f2fs is currently more of a debug tool than a repair tool. It makes no attempt to fix errors that it finds and typically bails on the first major problem it sees.
2) The F2FS driver in the G and X has a number of differences compared to the upstream kernel. They are available in our git hub. The problems that you encountered would be expected with the upstream driver.
Russ
Click to expand...
Click to collapse
Adding a reference the github russ mentions : https://github.com/MotorolaMobilityLLC , just in case the Omni folks want to have a look.

Related

Custom MTD

Are there any custom MTD's for the S. I have 400Mb System spare.
I was looking for that too.
what's MTD?
shrome99 said:
what's MTD?
Click to expand...
Click to collapse
Memory technology devices (MTD) are a new type of device file in Linux for interacting with flash memory. The MTD subsystem was created to provide an abstraction layer between the hardware-specific device drivers and higher-level applications. Although character and block device files already existed, their semantics don't map well to the way that flash memory devices operate.
Do not be confused by USB sticks, MMCs, SDs, CompactFlashes and other popular removable devices. Although they are also called "flash", they are not Memory Technology Devices. - Wiki
This was available on phones using the 1st Gen Snapdragon chips with MTD chips, but what from I know now HTC switched to EMMC for all 2nd Gen Snapdragon phones. And the partitions can't actually be re-sized now, unless someone has developed a method to do so. And this might too could be getting in the way...
http://tjworld.net/wiki/Android/HTC/EMMC/UnderstandingUserCapacity

I/O Issue - Is it really unique to transformer line?

EDITED as more information about other platforms were found.
Based on my reading here, it sounds like there are two theories exist currently.
1, ASUS using old kernel
2. Tegra chip issue
However, following information seems to challenge these hypothesis..
According to this http://forum.xda-developers.com/show....php?t=1722799, Iconia A700 has very similar result and also Kernel info shows 2.6.39.4+.
So based on this, I think we can hypothesize couple things:
Hypothesis 1: Kernel is the issue
One flag goes against this is that Nexus 7, which uses the latest kernel did not outperform transformer line by much. So it may boost some, but unlikely to be the sole cause of the problem.
Hypothesis 2: Tegra chipset is the issue
On the andropolice benchmark page, they included HTC One X with Tegra 3 version. It actually outperformed it counterpart and in fact was one of the best I/O benchmark result producing unit excluding Nexus Phone. So it is hard to believe Tegra 3 is the issue.
Hypothesis 3: ASUS is the issue
This well may be true, but when you look at Acer Iconia 700 Tegra 3 HD Screen model, it is as bad or perhaps slightly worse than the Transformer Infinity. So perhaps there is a part of kernel that they share or provided by someone?
Hypothesis 4: Tablet SSD/Flash or other common denominator hardware is the issue
Again this is something based on the Iconia vs. Infinity. Infinity has superior CPU and RAM yet the difference in IO is so subtle. This to me suggest bottleneck lies somewhere else. Such as SSD/Flash drive itself? Though I am not sure if that is major advantage of HTC One over Tablet as you would think smaller drives are tends to be slower and more expensive...
I know we still have not answered anything here, but at least, this result make a step further to suggest underlying issue is NOT unique to infinity but perhaps wider problem across the android tablet. If so, the chance of it getting fixed would either depend on the Google or individual manufactures to put unexpected amount of resource into this...
What do you all think?
HoushaSen said:
Based on my reading here, it sounds like there are two theories exist currently.
1, ASUS using old kernel
2. Tegra chip issue
However, following information seems to challenge these hypothesis..
According to this http://forum.xda-developers.com/show....php?t=1722799, Iconia A700 has very similar result and also Kernel info shows 2.6.39.4+.
So based on this, I think we can hypothesize couple things:
Hypothesis 1: Kernel is the issue
If so, who is actually making this kernel? Is it vendors of tablet or Google? i.e. Samsung doing its own customization which includes the newer Kernel? One thing that does not make sense here (at least to me) is that if you look at http://en.wikipedia.org/wiki/Android_version_history, the Kernel is based on the version of Android i.e. sounds like NOT dependent on the manufacture. However, clearly the picture above shows Iconia A700, which runs Ice Cream Sandwitch is not running on newer kernel as stated by the Wiki... So I am a bit confused here...
Hypothesis 2: Tablet SSD or other common denominator hardware is the issue
Considering the faster Tegra 3 (not by much but some), and better RAM (DDR3 vs. DDR2) and minimal differece between the two systems, my guess is Tegra 3 chip or memory is not the bottle neck, but rather SSD or other common component is the issue.
I know we still have not answered anything here, but at least, this result make a step further to suggest underlying issue is NOT unique to infinity but perhaps wider problem across the android tablet. If so, the chance of it getting fixed would either depend on the Google or individual manufactures to put unexpected amount of resource into this...
What do you all think?
Click to expand...
Click to collapse
Kernels are created by the manufacturer, they're what tell the OS about the hardware and how to use it. Google makes the Operating system, not the kernel. Each kernel is different on each device because each device has different hardware.
So I'm thinking it's just a software issue. I haven't really looked into it, but I haven't heard a ton of complaints about I/O issues from One X users. I think this whole issue is just normal Android stuff that people are blowing out of proportions because it may be a little worse on this right now. I know on my Bionic when a lot of I/O operations are happening, it slows down a bit. Especially with restoring Titanium Backup files and moving big files around. I'm thinking with a little help from Asus and/or indy devs this won't be a big issue.
If you use old software, you always miss out on some features. (Office 95 won't open OpenDocument-formatted documents, AFAIK. ) That being said, it is quite common for SSDs to use a number of controllers that is suboptimal for the number of memory units. That might be a problem.
Given that I perceive the TF700 to be quite a bit snappier with the SuperCharger, I think it's quite possible the issue is in fact caused by an interaction of multiple factors: standard Android policies (not being able to clear out finished-and-not-to-be-used-anytime-soon apps, filling RAM to the brim py preference), suboptimal hardware (crippled I/O controller(s)?) and software (kernel issues).
The second component obviously is out of reach in terms of solutions.The first component could be alleviated partly -- this going head-on with the considerations for earlier and less capable Android systems -- by using a task killer, or optimizing the system (SuperCharger), and the third component could be solved by some of the unbelievably able kernel enthusiasts we have in the XDA ecosystem.
I think we might have a case on hand here for arguing that the current versions of Android are not really optimal for these high-end devices. Scaling issues are not that rare: Windows scales like crap to less capable devices, whereas all *nix systems I've worked with ran beautifully on pretty much archaic systems, and the latter don't gain as much when upgrading hardware, in my experience. From a cynical point of view, you might argue that that's because they ran REALLY well initially anyway.
The policies in force for both scenarios are necessarily different. It might be beneficial to change some of them a little bit. If Google does not institute that by its mighty self, we can at the least take matters in our own hands.
KilerG said:
Kernels are created by the manufacturer, they're what tell the OS about the hardware and how to use it. Google makes the Operating system, not the kernel. Each kernel is different on each device because each device has different hardware.
Click to expand...
Click to collapse
So I guess Wiki is not correct... They often amazes me how much detail there are and quite frequently right. But I guess not this time as Wiki clearly assigns each Android OS version as based on XXX Linux Kernel. But what you say actual make sense as Kernel is like interface between the OS and underlying hardware so my understanding is Kernel just simply provides set of API that meets the OS demand.
But if this is indeed the case and Kernel is the real conundrum then the chance of it being fixed may be much lower, isn't it? Because fixing kernel or upgrading kernel to newer version probably requires extensive amount of work, which I am not sure any company is willing to do when the machines are already sold.
If it was Google, perhaps they could have indeed updated kernel along with Jellybean, but that's out of picture now except of XDA members.
MartyHulskemper said:
I think we might have a case on hand here for arguing that the current versions of Android are not really optimal for these high-end devices. Scaling issues are not that rare: Windows scales like crap to less capable devices, whereas all *nix systems I've worked with ran beautifully on pretty much archaic systems, and the latter don't gain as much when upgrading hardware, in my experience. From a cynical point of view, you might argue that that's because they ran REALLY well initially anyway.
Click to expand...
Click to collapse
Interesting argument there. One hope I have here is that if Nexus 7 succeeds, developers are more willing to put apps specific for tablets. yes. they may be 7 inch... but better than 4 or 5 inch scaling to 10.1 inch. Plus Nexus 7 has very similar spec as Transformer Prime, so supporting of such device seem to make ASUS ahead of packs and in fact, (if they decide to do so) they can easily port those knowledge and resources into Transformer line.
But this IO issue may be one reason why iOS avoids true multitasking. I can never download files or load files in a application in background on my iPAD2. It basically freezes the application where left off i.e. not really multitasking. But because of it, most application won't see any issue what other application is running in background (well actually nothing is running in background..but you know what I mean).
So I am not saying, Android should take this approach but perhaps we may have to take that into consideration and appreciate true multitasking in Android. and when the task becomes large (such as IO issue here), we may simply have to understand some tasks are not for multitask friendly...
Mostly interesting questions but when it comes to nvidia and i/o problems lets blame it on the kernel drivers.
Look at around 48 min mark.
www . youtube . com/watch?feature=player_embedded&v=MShbP3OpASA
Do you think Asus seriously cares about its customers??
HoushaSen said:
So I guess Wiki is not correct... They often amazes me how much detail there are and quite frequently right. But I guess not this time as Wiki clearly assigns each Android OS version as based on XXX Linux Kernel. But what you say actual make sense as Kernel is like interface between the OS and underlying hardware so my understanding is Kernel just simply provides set of API that meets the OS demand.
But if this is indeed the case and Kernel is the real conundrum then the chance of it being fixed may be much lower, isn't it? Because fixing kernel or upgrading kernel to newer version probably requires extensive amount of work, which I am not sure any company is willing to do when the machines are already sold.
If it was Google, perhaps they could have indeed updated kernel along with Jellybean, but that's out of picture now except of XDA members.
Interesting argument there. One hope I have here is that if Nexus 7 succeeds, developers are more willing to put apps specific for tablets. yes. they may be 7 inch... but better than 4 or 5 inch scaling to 10.1 inch. Plus Nexus 7 has very similar spec as Transformer Prime, so supporting of such device seem to make ASUS ahead of packs and in fact, (if they decide to do so) they can easily port those knowledge and resources into Transformer line.
But this IO issue may be one reason why iOS avoids true multitasking. I can never download files or load files in a application in background on my iPAD2. It basically freezes the application where left off i.e. not really multitasking. But because of it, most application won't see any issue what other application is running in background (well actually nothing is running in background..but you know what I mean).
So I am not saying, Android should take this approach but perhaps we may have to take that into consideration and appreciate true multitasking in Android. and when the task becomes large (such as IO issue here), we may simply have to understand some tasks are not for multitask friendly...
Click to expand...
Click to collapse
I hope (and actually expect) that JB will fix a lot of these issues, as it seems to tweak lot of elements that might be in the way of Android really deploying on capable hardware. As far as the Nexus 7 goes, it probably is a really nice device, but I am too much infatuated with the HD screen and the battery/keyboard/dock I currently have to even consider going over.
And yes, maybe we just have to accept that, for the time being, real mobile multitasking (i.e., relatively limitless) may be out of reach. According to your experience with the iPad2, it may show that Apple actually did some real-life testing and came to the same conclusion. That may have been the reason for the much criticised decision to not support multitasking.
Someone mentioned on our Infinity fora here that all the flash memory used in today's tablet is the same chip, so it's not somebody in ASUS or Acer didn't want to spend an extra 10$ per device, it must be something else.
I'm still wondering why I get ca. 10MB/s write and ca. 20MB/s read on internal storage and the other way around with (micro)SD or USB storage.
I think all of us are waiting for JB right now.
Its definitely a kernel issue. If you look in the Prime forum, there's a lot of people raving about the IO performance of Motley's kernel. In the TF300 forum, there's been some mention that CM9 improves the browser performance Once we get a bootloader unlock I'd be shocked if we didnt get a better kernel, if Asus hasn't fixed it already by then.
The old kernel is caused by NVidia because in every Tegra 3 device the kernel is the same: 2.6.... Nexus 7 seems to have 3.1 kernel and hopefully all Tegra 3 devices which get JB will get updated kernel. Old kernel isn't Asus' fault. It is NVidia's fault. Google built ICS with 3.0 kernel and that is why almost all other devices except Tegra 3 devices have Linux kernel version 3.0.
attelaut said:
The old kernel is caused by NVidia because in every Tegra 3 device the kernel is the same: 2.6.... Nexus 7 seems to have 3.1 kernel and hopefully all Tegra 3 devices which get JB will get updated kernel. Old kernel isn't Asus' fault. It is NVidia's fault. Google built ICS with 3.0 kernel and that is why almost all other devices except Tegra 3 devices have Linux kernel version 3.0.
Click to expand...
Click to collapse
Wait correct me if I am wrong. So you are saying, as stated in the Wiki when original Android OS is developed e.g. ICS it used Linux kernel version 3.0.x but then when ASUS or other manufactors using Tegra 3 chip only got access to Kernel 2.6 because it is what Nvida provided? So blame is actually on the Nvidia?
So how did Nexus 7 got new kernel? It uses Tegra 3, ASUS is involved... Is it google that forced NVida to upgrade to newer kernel? In any event, do Kernel usually get updated along with OS update?
One pessimistic comment though.. If we look at Andropolice benchmark Nexus 7 was included there, and their IO result was not much better than Transformer line.
HoushaSen said:
Wait correct me if I am wrong. So you are saying, as stated in the Wiki when original Android OS is developed e.g. ICS it used Linux kernel version 3.0.x but then when ASUS or other manufactors using Tegra 3 chip only got access to Kernel 2.6 because it is what Nvida provided? So blame is actually on the Nvidia?
So how did Nexus 7 got new kernel? It uses Tegra 3, ASUS is involved... Is it google that forced NVida to upgrade to newer kernel? In any event, do Kernel usually get updated along with OS update?
One pessimistic comment though.. If we look at Andropolice benchmark Nexus 7 was included there, and their IO result was not much better than Transformer line.
Click to expand...
Click to collapse
Its entirely possible that Asus decided backporting 3.X's features to a 2.6 kernel would be easier than to do a 3.X kernel from the ground up. Its the route many devices without official ICS have taken to get their community builds and for most of those devices it works just fine.
The Nexus 7 had the advantage of being being handled by Google for software, and as such had no legacy code to be based on. The 700, on the other hand, was close enough to the Prime that Asus probably decided to use the kernel of the later as a base.
This is just speculation though.
jdefi3ebuggdsf32 said:
Mostly interesting questions but when it comes to nvidia and i/o problems lets blame it on the kernel drivers.
Look at around 48 min mark.
www . youtube . com/watch?feature=player_embedded&v=MShbP3OpASA
Do you think Asus seriously cares about its customers??
Click to expand...
Click to collapse
So NVIDIA is the issue then? I like his comment, at the end. "So NVIDIA, F*CK YOU."
Jotokun said:
Its entirely possible that Asus decided backporting 3.X's features to a 2.6 kernel would be easier than to do a 3.X kernel from the ground up. Its the route many devices without official ICS have taken to get their community builds and for most of those devices it works just fine.
The Nexus 7 had the advantage of being being handled by Google for software, and as such had no legacy code to be based on. The 700, on the other hand, was close enough to the Prime that Asus probably decided to use the kernel of the later as a base.
This is just speculation though.
Click to expand...
Click to collapse
But reasonable speculation. I don't think you're far off with these assumptions.
Here's hoping that JB and maybe even some kernel updates and tweaks can at least alleviate the IO issues.
The kernel is a part of OS and can be updated when the OS is updated. I think the kernel is old because Nvidia hadn't lot of time to prepare the kernel to be compatible with new android. Now when nvidia have bee working with google and asus so maybe google have helped nvidia to make new kernel to work with tegra 3. If you want new kernel, find a working custom rom with new kernel and use it.
attelaut said:
The kernel is a part of OS and can be updated when the OS is updated. I think the kernel is old because Nvidia hadn't lot of time to prepare the kernel to be compatible with new android. Now when nvidia have bee working with google and asus so maybe google have helped nvidia to make new kernel to work with tegra 3. If you want new kernel, find a working custom rom with new kernel and use it.
Click to expand...
Click to collapse
Well at this point, we should be waiting for the bootloader to be unlockable. Once we can load custom kernels, the tablet will zooooooooooom.
KilerG said:
Well at this point, we should be waiting for the bootloader to be unlockable. Once we can load custom kernels, the tablet will zooooooooooom.
Click to expand...
Click to collapse
Did custom ROMs solve the I/O problems with the Prime entirely? (never owned one)
d14b0ll0s said:
Did custom ROMs solve the I/O problems with the Prime entirely? (never owned one)
Click to expand...
Click to collapse
According to this thread, it does.
http://forum.xda-developers.com/showthread.php?t=1768406
Jotokun said:
According to this thread, it does.
http://forum.xda-developers.com/showthread.php?t=1768406
Click to expand...
Click to collapse
no it doesnt help entirely. it helps a bit but it does not solve the problems.
for instance the browser still locks up a lot, some ANR messages every now now and then.
only way to get the browser stable is by using browser2ram.
Seems it can be a hard way out of the T3 path.
Have you tried Dolphin browser on your Prime btw? (if I assume correctly that you own one) It helps a lot on the Infinity (Chrome is slightly faster than the stock browser, but is said not to support H/W acceleration, which makes it slower on content-loaded pages)
Sent from my ASUS Transformer Pad TF700T using xda app-developers app
I am sure someone else has already noticed, but HTC One X which had one of top I/O result on Andropolice benchmark has a version with Tegra 3, which still performed well in fact often outperformed its counter part. I could not find which Kernel it uses though. But this may perhaps be one evidence goes against Tegra 3 is the actual issue, but rather something else. And also noting Nexus 7, which used Kernel 3.1 not doing that much better than transformer line also put a flag against Kernel being underlying issue. Could it really be the flash drive itself?
Now to put these in summary, I edited my opening post.

IO Troubles what's the progress on that?

After finally being able to unlock my bootloader (for those still having trouble: I mailed asus directly about it and after the basic tips of factory reset and stuff they elevated my call and suddenly I was able to unlock.. not sure if my mails helped but was quite funny it happened the day they elevated it), I started investigating more on the capabilities of this sweet device. Now basically I wanted to do more with PDF's and well here the IO troubles are a pain So yeh.. is there a firmware team working on it? or is this something we'd have to wait for on asus?
Sent from my ASUS Transformer Pad TF700T using Tapatalk 2
Completely on Asus's side. There is nothing we can do as users without either a better unlock or using flakey hackish workarounds to reduce (tho not eliminate) the problem.
Basically, consider this: You have a car with a corvette engine in it with the transmission of, say, a Ford Model T. You just can't get the power to where its needed.
The Tegra3 chipset is kind of like that. Boatloads of horsepower but it struggles to get that power to the wheels and you get lots of ANR's. Asus needs to find a way in the kernel which is locked tighter than Fort Knox to streamline the process while keeping stability up.
If you want the best experience for pdfs then download perfect viewer and the pdf plug in from Google play and all your io issues will be gone.
Seriously try it. No other pdf viewer can compete.
djmulder said:
After finally being able to unlock my bootloader (for those still having trouble: I mailed asus directly about it and after the basic tips of factory reset and stuff they elevated my call and suddenly I was able to unlock.. not sure if my mails helped but was quite funny it happened the day they elevated it), I started investigating more on the capabilities of this sweet device. Now basically I wanted to do more with PDF's and well here the IO troubles are a pain So yeh.. is there a firmware team working on it? or is this something we'd have to wait for on asus?
Sent from my ASUS Transformer Pad TF700T using Tapatalk 2
Click to expand...
Click to collapse
Since you're unlocked I suggest you try the Zeus rom v4, just out. Very fast, makes a big difference.
pileot said:
Completely on Asus's side. There is nothing we can do as users without either a better unlock or using flakey hackish workarounds to reduce (tho not eliminate) the problem.
Basically, consider this: You have a car with a corvette engine in it with the transmission of, say, a Ford Model T. You just can't get the power to where its needed.
The Tegra3 chipset is kind of like that. Boatloads of horsepower but it struggles to get that power to the wheels and you get lots of ANR's. Asus needs to find a way in the kernel which is locked tighter than Fort Knox to streamline the process while keeping stability up.
Click to expand...
Click to collapse
Odd, because my Tegra 3 HTC One X is significantly faster than both my TF201 and TF700. Either Asus had botched optimizing the kernel or they cheaped out on the internal memory, yet again.
okantomi said:
Since you're unlocked I suggest you try the Zeus rom v4, just out. Very fast, makes a big difference.
Click to expand...
Click to collapse
Yeh it's on the planning I am already running a Zeus rom. Just noticed 4 has been released.. can't do it now tho, on 3g and my provider caps the speed after 1gig >.<
REAVER117 said:
Odd, because my Tegra 3 HTC One X is significantly faster than both my TF201 and TF700. Either Asus had botched optimizing the kernel or they cheaped out on the internal memory, yet again.
Click to expand...
Click to collapse
Well part of it is the scheduler which far as i know (i could be wrong) is in the kernel. A custom kernel def could help tho we dont have access
Another problem could be cheap memory chips for the internal storage. Chances are they went with the lowest bidder and got crap quality. Why put class 2 chips in a device that demands class 10 or higher? WTG Asus. (speculation on this one, tho it makes sense)
Also, other teg 3 devices could run faster but what other things factor into it? Smaller resolution screen = much less pixels to update. Possibly faster / greater quantity of ram. Different kernel and rom optimizations. Different power managment settings. Different clock settings. Different voltage settings (chips can be undervolted and overclocked with varying results) LOOOOTS of factors go into "why X device might go faster even with the same processor).
Picture this: A semi truck and a smart fortwo are given the exact same engine. Which will go faster? The smartcar. And yet if this were android you would still have people say "But its the same engine! why does the semi go slower?" Same principal.
pileot said:
Well part of it is the scheduler which far as i know (i could be wrong) is in the kernel. A custom kernel def could help tho we dont have access
Another problem could be cheap memory chips for the internal storage. Chances are they went with the lowest bidder and got crap quality. Why put class 2 chips in a device that demands class 10 or higher? WTG Asus. (speculation on this one, tho it makes sense)
Also, other teg 3 devices could run faster but what other things factor into it? Smaller resolution screen = much less pixels to update. Possibly faster / greater quantity of ram. Different kernel and rom optimizations. Different power managment settings. Different clock settings. Different voltage settings (chips can be undervolted and overclocked with varying results) LOOOOTS of factors go into "why X device might go faster even with the same processor).
Picture this: A semi truck and a smart fortwo are given the exact same engine. Which will go faster? The smartcar. And yet if this were android you would still have people say "But its the same engine! why does the semi go slower?" Same principal.
Click to expand...
Click to collapse
Well ok that said, (also just speculation) wouldn't "most of the IO troubles" be solved by one brave guy who posts a "how to safely break open your $700 device and replace the internal sd card" ?
My first tablet was a ****ty dropad I picked off some chinese site for $100 .. it's internal memory was in fact a ****ty 4 gig card .. I believe it was class 2 even.. so some brave guy cracked it open and wrote how to do this. So I ended up doing the same and indeed solved alot of problems.
djmulder said:
Well ok that said, (also just speculation) wouldn't "most of the IO troubles" be solved by one brave guy who posts a "how to safely break open your $700 device and replace the internal sd card" ?
My first tablet was a ****ty dropad I picked off some chinese site for $100 .. it's internal memory was in fact a ****ty 4 gig card .. I believe it was class 2 even.. so some brave guy cracked it open and wrote how to do this. So I ended up doing the same and indeed solved alot of problems.
Click to expand...
Click to collapse
It would have been great if Asus chose to use an internal SD card!! Can you imagine the HACKABILITY?!?!?
Unfortunately no internal sd card in the infinity: http://guide-images.ifixit.net/igi/MHZKnMyJmRCfQwPn.large
oh well darn
tho not entirely sure what I am looking at I do recognise some chips on that pcb
Sent from my ASUS Transformer Pad TF700T using Tapatalk 2
jordanmw said:
It would have been great if Asus chose to use an internal SD card!! Can you imagine the HACKABILITY?!?!?
Unfortunately no internal sd card in the infinity: http://guide-images.ifixit.net/igi/MHZKnMyJmRCfQwPn.large
Click to expand...
Click to collapse
Based on the ifixit site these images were taken from there are memory chips there:
Hynix H26M64002BNR e-NAND and 2x Elpida memory J4216EBBG-GNL-F
Do you know which one is the culprit often mentioned as "cheap" RAM and partly the cause for the IO issues?
djmulder said:
oh well darn
tho not entirely sure what I am looking at I do recognise some chips on that pcb
Sent from my ASUS Transformer Pad TF700T using Tapatalk 2
Click to expand...
Click to collapse
I'm not a developer but closely follow the xda forums on all my devices and have learned a few things (but may not use correct terminology, so bear with me). It seems that when we have kernel source code (and ASUS TF700 binaries), kernel devs can use the linaro tool chain and produce some really amazing kernels which, together with the rendering enhancements in Jelly Bean, will improve performance a great deal, across the board. The GPU can be overclocked.. there's a lot that can be done with the hardware we have...just need source code/ASUS TF700 binaries.
rambling1 said:
Based on the ifixit site these images were taken from there are memory chips there:
Hynix H26M64002BNR e-NAND and 2x Elpida memory J4216EBBG-GNL-F
Do you know which one is the culprit often mentioned as "cheap" RAM and partly the cause for the IO issues?
Click to expand...
Click to collapse
Hmm ok so judging by a quick lookup it's comparable to a class 10 flash? (quick google tho, so I might be WAY off )
Sent from my ASUS Transformer Pad TF700T using Tapatalk 2
There's more information here: http://www.anandtech.com/show/6073/the-google-nexus-7-review/6 including some benchmarking of the Infinity, Nexus 7 and Samsung Galaxy Nexus. It does look like Asus cheaped out on the NAND in their tablets.
I'm not so sure that the problem lies in "cheap" components. I've been digging through the kernel source and the only NANDs that keep popping up are:
00491: case 0xD5: /* Hynix H27UAG8T2A, H27UBG8U5A or H27UCG8VFA */
00492: case 0xD7: /* Hynix H27UDG8VEM, H27UCG8UDM or H27UCG8V5A */
first 3 are from Hynix's Q4 2011 Databook and second 2 from the Q2 2009 Databook (couldn't find the last one) and none of them match the one seen in the teardown http://www.ifixit.com/Teardown/Asus-Transformer-Infinity-TF-700-Teardown/10306/1
(Sorry, formatting got ruined so I did a quick -- insert to make it readable)
Product -- Tech -- Density -- Block Size -- Stack -- Vcc/Org -- Package -- Avail. -- Remark
H27UAG8T2A-- 4ynm-- 16Gb -- 512KB(4KB Page)-- SDP --3.3v/X8-- TSOP-- EOL
H27UBG8U5A-- 4ynm-- 32Gb -- 512KB(4KB Page)-- DDP-- 3.3v/X8-- TSOP-- EOL
H27UCG8VFA-- 4ynm 64Gb-- 512KB(4KB Page)-- QDP-- 3.3v/X8-- TSOP-- EOL
H27UDG8VEM -- 41nm-- 128Gb -- 512KB(4KB Page) -- QDP -- 3.3v/X8 -- VLGA -- Mar. 09 -- 4CE,Dual CH.
H27UCG8UDM -- 41nm -- 64Gb -- 512KB(4KB Page) -- DDP --3.3v/X8 -- VLGA -- Mar. 09 -- Dual CH.
H27UCG8V5A-- ?-- ? -- ? -- ?-- ?-- ?-- ?-- ?
I honestly think that ASUS is just kicking these things out the door as fast as possible and not putting enough time into actually working on or even attempting to co-develop drivers. They just slap in a reference driver that works and go. Even the JB source for TF300 has the exact same NANDs referenced.
After seeing this I started looking through the Prime forum and see the devs there had came to this conclusion months ago. It seems we've put to much faith into this company. Yes, they've set the bar a little higher in terms of hardware, but they apparently are unwilling or unable to make it work well
As mentioned before with proper source code developers could fix a lot. We need to push for source code.
The io performance has something to do with the synching between tegra and sqlite. It's so bad or it was on tf201 that it can't possibly be all hardware as a cause.
Sent from my ADR6425LVW using xda app-developers app

[Q] TF300T - F2FS or ext4 when setting up with Kit Kat Kat Kiss

I have had my TF101 for just over three years, and had an opportunity to pick up the TF300T with dock pretty cheap. I'm planning to unlock and install Kit Kat Kat Kiss (Thanks TimDuru). I have read a bit about the F2FS being better than the ext4 setup on the TF300T.
Could some of you who have used both tell me what you think. Is it worth setting the tablet up with F2FS from the get go? Will I see noticeable improvements in operation day to day? I'm not really concerned with where the benchmark scores look, but much more with the day to day feel and usage.
Thanks in advance,
Donald
Dunno about Kat Kiss, but the tablet runs awesome with OmniROM, grimlock kernel and f2fs. The main problem of this tablet is cheap memory modules with horrible i/o speeds, it really bottlenecks the performance of the device and gives you hellish lag, so transition to f2fs will make your tablet noticeably snappier. It won't be ideal and totally butter-smooth anyway because thanks asus, but waaaaaay better than without it. So yes, I really do reccomend you to switch on f2fs as soon as you get the device
Thanks for the response. Actually was thinking of running a few benchmarks starting from stock ICS to stock jellybean both with ext4. After that root and ROM and repeat with f2fs. May be a few days till I get around to it.
Benchmarks are rubbish, they won't show you the real situation with performance. Although you can test i/o speeds on ext and f2fs, they should increase.
Also, I heard that tablet runs great with stock ICS but it's a bit of a pain in the ass to flash it.
"hellish lag"? Not seeing any hellish lag running KatKiss and ext4.
Depends on what you consider to be hellish You can make your tablet work just ok but for a device with a quad-core cpu overclockable up to 1.7Ghz it should work better. I remember tablet with stock 4.2 ROM giving me almost the same interface stutter as my old HTC Wildfire S with CM10. Now go to wikipedia and check out the hardware of the phone :silly:
Anyway, cheap ass memory really is the problem and there is nothing we can do about it. Just check your read-write speeds and compare them to other devices - they are low, disbalanced, and the memory performance can significantly drop over time.
Sviborg2241 said:
Depends on what you consider to be hellish You can make your tablet work just ok but for a device with a quad-core cpu overclockable up to 1.7Ghz it should work better. I remember tablet with stock 4.2 ROM giving me almost the same interface stutter as my old HTC Wildfire S with CM10. Now go to wikipedia and check out the hardware of the phone :silly:
Anyway, cheap ass memory really is the problem and there is nothing we can do about it. Just check your read-write speeds and compare them to other devices - they are low, disbalanced, and the memory performance can significantly drop over time.
Click to expand...
Click to collapse
I don't think there's any issue with "cheap memory". It's the first time I've heard someone claim this for the TF300. If there is any issue, it's the fact Tegra 3 is old technology, and was never great to begin with. I have a stack of tablets home, and the closest one I have to the TF300 is the 2012 Nexus 7. The hardware is almost identical, but the TF300 easily beats in in Antutu when clocked at the same speed. The DDR3 in the TF300 is also faster than the DDR2 in the higher end TF201.
just lou said:
I don't think there's any issue with "cheap memory". It's the first time I've heard someone claim this for the TF300. If there is any issue, it's the fact Tegra 3 is old technology, and was never great to begin with. I have a stack of tablets home, and the closest one I have to the TF300 is the 2012 Nexus 7. The hardware is almost identical, but the TF300 easily beats in in Antutu when clocked at the same speed. The DDR3 in the TF300 is also faster than the DDR2 in the higher end TF201.
Click to expand...
Click to collapse
It's not about RAM, it's about internal flash memory. Google it, the problem affects transformer prime as well. Some links with more info:
http://www.androidpolice.com/2012/0...hmark-11-modern-devices-compared-in-13-tests/
http://jaredleonmorgan.blogspot.com/2013/08/upgrading-emmc-in-transformer-tf300t-to.html
http://www.transformerforums.com/fo...n/32988-tf300t-jb-4-1-1-oficial-slow-i-o.html
I'll post a comparsion between i/o speeds on N5 and tf300 a bit later
Edit: ok, take a look. Both tests were made on 4.4.4 ROMs, ART, deadline scheduler. The results without f2fs on tf300 were a bit worse back that time i was on ext4
http://i.imgur.com/OgomltN.png
http://i.imgur.com/ENQZpBY.png
Am I supposed to be surprised an N5 smokes the T300?
just lou said:
Am I supposed to be surprised an N5 smokes the T300?
Click to expand...
Click to collapse
Dude, this test only measures internal storage speed, not overall performance
No kidding, The N5' s memory bandwidth is many times faster than the TF300. It still has nothing to do with "cheap ass memory".
just lou said:
No kidding, The N5' s memory bandwidth is many times faster than the TF300. It still has nothing to do with "cheap ass memory".
Click to expand...
Click to collapse
So maybe you should check the links I posted before, where it was tested along with other devices with more similar specs? Gosh you are a stubborn guy
I'm stubborn? lol. You're the one going out of your way to prove and an old tablet was built with "cheap ass memory".
Sent from my HTC6525LVW using XDA Premium 4 mobile app
I just try to prove my point of view with an actual information and tests, not just "I think so and I'm right"
anyway it's not the point of this thread and it's up to you to be ok with your tablet
Sviborg2241 said:
I just try to prove my point of view with an actual information and tests, not just "I think so and I'm right"
anyway it's not the point of this thread and it's up to you to be ok with your tablet
Click to expand...
Click to collapse
What happened to, and I quote:" Benchmarks are rubbish, they won't show you the real situation with performance"? You can't pick and choose only to post them when they support your point of view. My "real situation and performance" is that I don't have the " hellish lag " you claim to have. I accept the tablet for what it is. Old hardware built with the disappointing Tegra 3 architecture.
just lou said:
What happened to, and I quote:" Benchmarks are rubbish, they won't show you the real situation with performance"? You can't pick and choose only to post them when they support your point of view. My "real situation and performance" is that I don't have the " hellish lag " you claim to have. I accept the tablet for what it is. Old hardware built with the disappointing Tegra 3 architecture.
Click to expand...
Click to collapse
Oh man sorry, about benchmarks. I meant stuff like antutu or whatever, when people tend to think that points in such apps directly show you the level of the device performance, although a rom with ~17000 points in antutu could have the same level of performance with ~12000 points rom on the same device. I tried to use the app that directly measures i/o speeds of the memory chips and nothing else and prove that the device really has the problem with it compared to other devices. Sorry for misunderstanding
I just hope that someone will find something useful about our arguing, peace! :silly:
I'm not arguing. I'm having fun,
Sent from my Nexus 7 using XDA Premium 4 mobile app
Interesting conversation that has come up from my question. I understand that the RAM is older and that some people have complained about the write speed. I suppose I was looking for more about how the ext4 versus F2FS perform and how people feel about it.
That being said, My TF300T was delivered yesterday while I was at work. I put a full charge on the tablet and on the dock. Once that was done I powered everything up. It was shipped with the 4.1 flavor of Jellybean, So I couldn't do any testing of the ICS as benchmarking. In looking up the ICS release specs, I found the Antutu score to be 10,271. I took the 4.2 update and ran a couple benchmarks on it before doing the fun stuff. The 4.2 score on my TF300T showed at 10,417. After that I unlocked, pushed the F2FS TWRP 2.7 to it as the recovery and then installed the KatKiss Kit Kat ROM along with the appropriate F2FS kernel and the Banks Mininal GAPPS. I ran the Antutu again after rebooting and wiping cache and Dalvik. I came up with a score of 18,512. Interestingly I had a friends TF300T at the house which is also running the KatKiss Kit Kat ROM using the ext4 formatting. Hers scored 18,677.
All of that being said, I understand the benchmarks don't tell the whole story. I know that the write speed can be an important comparison. I know that in my case the ext4 did score just slightly higher. In sitting with both tablets in front of me, the one with F2FS just felt more snappy/quicker to respond to commands. Apps when pressed at the same time seem to load a bit faster on the F2FS. I don't think it is a matter of the tablet with ext4 being more bogged down or so on. It was set up roughly a week before my new one arrived. both tablets have roughly the same apps loaded on them.
All in all so far I am very pleased with the move from the TF101 to the TF300T, and especially for the price. I know it's not the newest/latest/greatest tablet out there and I was ok with that when I made the decision to snag it. I like the quadcore processor and the additional on board storage space (my TF101 was the 16gb variety).
As I play with it more, I'll see if there are lags or other annoyances.
BTW, does anyone have the stock TF300T Asus widgets like the weather and email ones? I enjoyed having them on the TF101, though the weather never seemed to work quite right.
Thanks,
Donald
USCJustice said:
BTW, does anyone have the stock TF300T Asus widgets like the weather and email ones? I enjoyed having them on the TF101, though the weather never seemed to work quite right.
Thanks,
Donald
Click to expand...
Click to collapse
You can try these, but they haven't been updated in a long time and I have no idea if they'll work. http://forum.xda-developers.com/showthread.php?t=1586517
Sent from my Nexus 7 using XDA Premium 4 mobile app
Thanks for the link. I will give them a try.

Upgrade RAM MOD *Under Construction*

Photon Q - Upgrade ram to 2GB
I have yesterday upgraded on one xt897 mainboard original Elpida 1GB LPDDR2 to new Samsung 2GB LPDDR2 K3PE0E000A-XGC2.
I have first carefully desoldered old ram from msm8960 SOC, then i make all balls on cpu flat, then cleaning and then soldering new RAM.
Phone boots normally without problem. BUT problem is, that is still visible only 1GB.
I am sure, that MSM8960 can support 2GB RAM (for example Blackberry Q5).
If anyone have idea , how to use full 2GB RAM, then please let me know
...tomorrow i will post some pictures
this would be really great.
maybe its all about the BSP?
https://en.wikipedia.org/wiki/Board_support_package
http://www.ti.com/devnet/docs/catalog/embeddedsoftwarefulldetails.tsp?productId=22800
Wow! I'd buy this if you can get it to work...
Does it need a kernel mod or something?
boofus said:
Wow! I'd buy this if you can get it to work...
Does it need a kernel mod or something?
Click to expand...
Click to collapse
I'm guessing you didn't read the entire post (which you also quoted...)
CornholioGSM said:
Phone boots normally without problem. BUT problem is, that is still visible only 1GB.
Click to expand...
Click to collapse
arrrghhh said:
I'm guessing you didn't read the entire post (which you also quoted...)
Click to expand...
Click to collapse
I read the whole post.
It might be that a kernel mod or boot option is needed to detect all the RAM. Some old linux systems had to have the kernel re-built for different amounts of RAM. That isn't likely here I'd guess, but it's possible that it is hard coded or need a menuconfig change or a boot option. I don't know anything about the kernel on the photon Q, so thought I'd ask.
CornholioGSM said:
Photon Q - Upgrade ram to 2GB
I have yesterday upgraded on one xt897 mainboard original Elpida 1GB LPDDR2 to new Samsung 2GB LPDDR2 K3PE0E000A-XGC2.
I have first carefully desoldered old ram from msm8960 SOC, then i make all balls on cpu flat, then cleaning and then soldering new RAM.
Phone boots normally without problem. BUT problem is, that is still visible only 1GB.
I am sure, that MSM8960 can support 2GB RAM (for example Blackberry Q5).
If anyone have idea , how to use full 2GB RAM, then please let me know
...tomorrow i will post some pictures
Click to expand...
Click to collapse
Do you have any news regarding 2GB mod? Have you tried contacting kabaldan?
---UFO--- said:
Do you have any news regarding 2GB mod? Have you tried contacting kabaldan?
Click to expand...
Click to collapse
Hello, still waiting for updates
Nadlabak heve one 2gb unit from me
Cornholio, if this works out, you're my hero - again. If I'm ever in CZ again I'll try to find you and buy you a keg. [I'd say a beer, but that doesn't express enough appreciation - even tho the Budweiser there is better than the US "beer" with the same name.] You already figured out the sim slot (and modded a couple phones for me), which allowed me to use PQ when I worked for a company (in US) that gave me free AT&T phone & sim (for which I move the sim to PQ). But, after many years arguing PQ is the best and can do it all, I'm finally getting to the point I was thinking about getting a new phone (moto z with keyboard mod)., not cuz I want a bigger screen or even cuz I want LTE (which I now have with freedompop anyway), but because of the limited memory (and desire to run new apps and switch between them faster). So more TP you to my friend.
Hi all,
If adding RAM is possible, my XT897 could work perfectly. I'm daily using it as the best phone ever for IT supporting with qwerty keyboard.
As someone mentioned above,
(1) In case of Kernel built with 1GB RAM option. It would not easy to get the kernel source to rebulit it.
(2) Boot option problem. In my understanding, linux kernel would auto recognize RAM size at boot. It might not the cause of issue.
(3) My guess some circuit modification is needed. such as address bus for the RAM chip A0...A19 for 1GB RAM and A0....A20 for 2GB RAM. Is there anything like jumper to ensure connecting the new A20 pin correctly?
Sorry for my English and hope this help
Ric
-------------------
Motorola Photon Q XT897 with Sim Mod , LineageOS 14.1
Thank You
i mean , that it is problem inside bootloader - bl is preprogrammed for 1gb ram.
i am able to solder to SOC processor new 2gb ram and it works without problem.
BUT .... visible is only 1GB.
I am only stupid HW technician, but this is "sw" problem and i dont know how to solve this problem
@CornholioGSM
Likely all you need is to pass a simple command to the kernel on the very early boot phase.
Probably something like mem=2G would be enough.
So pretty simple in theory and also pretty simple in linux on a PC (all you have to do is to add that command to grub.cfg assuming you use grub as bootloader).
In android is a bit more complicate because (I guess) you have to unpack and repack the boot.img and possibly the zimage (the kernel) which is inside the boot image.
And that procedure is slightly different across various devices, so experimentation and some work will be needed.
I could look in to that, but obviously a modded logic board in my hands would help a lot the process.
Did you try seeing if the bootloader can see it from fastboot with the "mfastboot getvar all" command?
Follow this guide: http://www.hardreset.info/devices/motorola/motorola-xt897-photon-q-4g-lte/faq/read-info-fastboot/
Also: I don't know about the bootloader in the XT897, but most ARM bootloaders use devicetree to tell the kernel about things like RAM configuration. I suspect that this will take priority over boot parameters, but I don't know for sure. What might be needed is a kernel that forces a specific RAM configuration.
Hi,
Great to see everyone contributing...I will take this opportunity to clear things up and focus on what actually needs to be done to get this working.
1. Those who mentioned getting hold of a BSP and SoC manuals are on the right track, but it is very difficult to get these from Qualcomm. It could only be through some back-channel via a dev at a big company that used the MSM8960. Getting access to this would be *huge*. Alternatively, a knowledgable person who has worked on an MSM8960 or similar Qualcomm SoC design.
2. boofus is correct in that the bootloader ordinarily passes memory map (and other) info to the kernel via devicetree. Either the bootloader needs modifying to pass a new memory map, or this has to be overridden in the platform code in the kernel (not difficult).
3. Changing commandline arges to the kernel is trivial (don't even need to rebuild anything, just extract the boot.img partition, edit and reflash--I have done this many times to tweak kernel args), but saying mem=2GB on the kernel commandline is unlikely to have any effect, because the kernel doesn't have a memory map describing at which physical address additional RAM is present.
4. Moreover, the DDR2 memory controller in the SoC has to be programmed to enable the 2nd chip select for the upper half of RAM. If this is not done, then the RAM is not even in the physical memory map. So any attempt to get this working must start here.
Currently, both nadlabak and I have 2 GB modded boards for testing. I'm stretched for time at the moment to look into this--much as I would *love* to have 2 GB--as someone else noted, 2 GB on the Photon Q would bring it back up to a usable level.
We would be *very* lucky if the Moto-supplied bootloader senses attached memory and configures the DDR2 controller accordingly, and even more lucky if this mapping was added to the device tree. It also has to be taken into account the baseband memory. This will fall somewhere in the physical memory map, and the memory made available to the kernel has to be outside the areas used by the baseband.
IF the xt897 bootloader is highly generic and used on other Moto phones with differing amounts of RAM, it *may* automatically detect and set everything up. If it does we would be *very* lucky. It's easy to see if this is being passed to the kernel via the devicetree, and presumably, in this case, the bootloader would also print the found memory size when booting into one or more of the bootloader stages using the key combos. Once I get my modded board into a phone I can at least check these trivial points. I have a handy comandline tool for probing physical memory, so I can easily get the existing memory map, and from that infer location of added memory. Then it is easy to attempt reading and writing where the extra memory would be if the DDR2 controller were appropriately configured, and see if memory is actually present.
More likely, the bootloader is hard-coded with the 1 GB memory map and programs the DDR2 controller accordingly. If so, to get additional RAM working requires:
1. Reprogram the DDR2 controller to enable 2nd CS. If we had the MSM8960 SoC manual and ability to extract and disassemble the relevant loader and replace it with a modified one, this would be almost trivial. However, I understand there may be encryption or signature verification preventing us from modifying early stage loaders. (This is also a fast way to permanently brick a phone, so we'd have to test changes on throwaway boards first.) If loader is protected, then we'd have to reprogram the controller on-the-fly. This probably can be done, possibly even within the kernel, if we don't have the ability to change the early loader(s), but may be a little complex, since reconfiguring the DDR2 controller may make memory temporarily inaccessible. Hence techniques such as locking the controller re-programming code into cache and waiting for the controller to come up again may be needed. However, this may crash the baseband. If the controller supports reprogramming without interruption, this would make things vastly simpler. All we need is the MSM8960 manual and specifically, the sections describing the memory map and DDR2 controller.
2. Once memory controller is reprogrammed, it's trivial to hack the new memory map into the kernel, whether or not we can change the devicetree passed from the loader.
TL;DR: yes we all want to get 2 GB working; it's almost certainly not trivial; it probably can be done, but likely requires extensive effort and knowledge from someone who has designed a product using the MSM8960, or access to manuals, or extensive reverse-engineering effort.
If anyone would like to step up please say so. I'll work on it myself as I have time and hope nadlabak will too. I personally can't wait to get a working 2 GB xt897.
---------- Post added at 04:19 AM ---------- Previous post was at 04:11 AM ----------
In sum, if anyone has access to any of the following, *please* let us know:
- MSM8960 SoC manuals;
- Knows someone who has developed MSM8960-based products or otherwise has knowledge of the MSM8960 architecture and especially the memory controller;
- Knows something about the xt897 or typical Moto bootloader structure, whether Moto often shares bootloaders across devices, and most importantly what loader stages there are, and whether each of these is encrypted/signature-verified, precluding making changes, or whether we can change it.
CornholioGSM said:
Photon Q - Upgrade ram to 2GB
I have yesterday upgraded on one xt897 mainboard original Elpida 1GB LPDDR2 to new Samsung 2GB LPDDR2 K3PE0E000A-XGC2.
I have first carefully desoldered old ram from msm8960 SOC, then i make all balls on cpu flat, then cleaning and then soldering new RAM.
Phone boots normally without problem. BUT problem is, that is still visible only 1GB.
I am sure, that MSM8960 can support 2GB RAM (for example Blackberry Q5).
If anyone have idea , how to use full 2GB RAM, then please let me know
...tomorrow i will post some pictures
Click to expand...
Click to collapse
You will need to make custom software to support this mod. I recently purchased this phone and the amount of hardware mods i has blows me away. I am excited and scared to do all these things, I spent 150$ USD on this sim modded Photon Q to replace my Droid 4 and the idea of losing it all freaks me out BAD.
Back to the software, the problem is that all the device/kernel configurations are built around 1GB ram, so they will only utilize 1GB of the 2GB of ram, assuming the system even detects it at all! Its neat that you have done this, now that you have modded the hardware, its time for you to mod the software
Once again, the main problem is that I need the MSM8960 application processor developer manual. Someone who has worked on this SoC could make the manual available to me (anonymously due to NDA).
I hope someone can help me here!
CornholioGSM said:
Thank You
i mean , that it is problem inside bootloader - bl is preprogrammed for 1gb ram.
i am able to solder to SOC processor new 2gb ram and it works without problem.
BUT .... visible is only 1GB.
I am only stupid HW technician, but this is "sw" problem and i dont know how to solve this problem
Click to expand...
Click to collapse
If we could grab a bootloader file and edit it (probably with hex edit grrr) we might be able to see if it just lists the hardware values, and in that case simply add 1024 to the ram value
Surprised no one has given this a peak. I'll give it a shot if I have any time but if I **** it up someone is getting their phone bricked.
CornholioGSM said:
Photon Q - Upgrade ram to 2GB
I have yesterday upgraded on one xt897 mainboard original Elpida 1GB LPDDR2 to new Samsung 2GB LPDDR2 K3PE0E000A-XGC2.
I have first carefully desoldered old ram from msm8960 SOC, then i make all balls on cpu flat, then cleaning and then soldering new RAM.
Phone boots normally without problem. BUT problem is, that is still visible only 1GB.
I am sure, that MSM8960 can support 2GB RAM (for example Blackberry Q5).
If anyone have idea , how to use full 2GB RAM, then please let me know
...tomorrow i will post some pictures
Click to expand...
Click to collapse
Have you solved this problem? I also encountered the same problem. The 2GB running memory chip I replaced was BA164B1PF. And the eSIM chip was removed, and the mini SIM card slot was installed. In addition, I replaced the CPU at the same time, and now the status code number has become 1.So it is became an engineering machine, and the BootLoader lock is completely invalid.
not solved...and i am now on fxtec phone. I have not changed whole cpu (why) i have changed only ram...whole problem is, that data on one emmc partition are paired with cpu...same problem happens if you change emmc from another mainboard.
CornholioGSM said:
not solved...and i am now on fxtec phone. I have not changed whole cpu (why) i have changed only ram...whole problem is, that data on one emmc partition are paired with cpu...same problem happens if you change emmc from another mainboard.
Click to expand...
Click to collapse
Very old mobile phones do not have the problem you mentioned. The reason I did this is that my technique is very poor and I cannot repaint the upper layer of the CPU with tin. I am just an DIY amateur. In addition, I tested other mobile phones using the same CPU and found that Motorola not only limits the RAM capacity, but also the speed, which is only about half of normal.
I replaced the emmc chip, and the test proved that 64GB of storage space can be successfully used, and faster, except for games. I have some additional questions that I need your help, and I have already emailed you.

Categories

Resources