[Q] massive logcat output on Fairphone - Fairphone

Since support can't help me I am turning to you guys. (also first post yay ;D)
I'd like to use the Fairphone as device to run my Apps I develop for android.
Since I own multiple android devices I can point out, that the FP1 is the only device suffering from this problem.
Problem:
The FP1 just spews hundreds of logcat messages per second, even Android Studio can't keep up with all the lines the FP1 produces. I'd provide a log, but I can't possibly sort through all the lines it produces, possibly leaking information I don't want public, because I can't even grasp what might be output. (2 Minutes of Logcat is 47272 lines of output)
I'm getting output for every single decoded and/or scaled media, SSL certificate checks, what the LED is doing, basically every little step my phone makes. I even get Log.wtf() outputs o_0
And the spam is so agressive I can't even find my debugging messages between all this.
Possible Cause/Replication:
I've tapped the "build number" (settings > about phone) quite a few times while playing around with the phone, problem is I don't know if it was like this by default or if this is a general problem with FP1.
I've tried until now:
I've written FP-Support twice now, first request got lost, the second pointed me here :/
I since reflashed it via SPFtool because I tried fixing this by deleting /system (don't ask -.- brain fart), but the output persists.
I have played around with the cmdline tool called xlog (/system/bin/xlog) which can filter some of the output of logcat, seems MediaTek specific, don't know if FP1 specific. That has toned it down quite a lot, but some of the vital Exceptions are also filtered out. That left me puzzled for a while because my App crashed and I did not get any output via logcat, what I did wrong. Also: some outputs seem to be caused by a binary called logwrapper which forwards stdout, stderr messages of cmdline tools to logcat. like netbsd-lib output for DNS resolving. It's started via init, so I can't do much about it and some messages won't even filter via xlog.
Has anybody experienced this and/or knows a fix? I'm stumped
If not, can you replicate so we can suffer together? o_0'
best regards
David

Hi,
einsweniger said:
Since support can't help me I am turning to you guys. (also first post yay ;D)
The FP1 just spews hundreds of logcat messages per second, even Android Studio can't keep up with all the lines the FP1 produces. I'd provide a log, but I can't possibly sort through all the lines it produces, possibly leaking information I don't want public, because I can't even grasp what might be output. (2 Minutes of Logcat is 47272 lines of output)
Click to expand...
Click to collapse
The thing to look for is how to lower the system log level. The loglevel is set in /init.rc using the loglevel syntax (in the ramdisk)
http://elinux.org/Android_Debugging#init_logging. Our next builds will have a lower logging level and you can not modify this easily until we can build our own kernels/repack the kernel.

Related

[UTIL] BattLog 0.2.3.130 (Beta)

There has been so much speculation on battery performance on the Sprint version that I wrote this logging program. This is the first stable Beta Version, Please PM me with bug reports (and as usual use at your own risk).
I know that it works for the CDMA version if someone wants to try it on the GSM version that would be great. Also Using the nuePower Battery driver for the Diamond give better resolution on the battery level.
What it logs:
1. a. Date and Time
b. Is AC Charger Attached
c. Battery Voltage
d. Battery Current (Discharge)
e. Battery Temperature
f. Battery level (%)
g. Pertinent System events:
a. Active Application
b. Speaker Phone Activity
c. Phone Radio Off/On
d. Phone Active Data Call (EVDO/1xRTT Activity)
e. No Phone Service
f. Phone Searching For Service
g. Bluetooth Power State On/off
h. Bluetooth Hands Free Audio in use (BT Headphones)
i. Bluetooth Hands Free Control in use (BT HF Headset)
j. WiFi Power On
k. WiFi Connected
l. Bluetooth Connections Count
m. Bluetooth Connections Descriptions
n. Cellular Connections Count
o. Cellular Connections Descriptions
p. Phone Call (Talking)
I have been unable to locate where HTC has hidden the charging current so if anyone could let me know that I would appreciate it.
Also, It dumps the data into a CSV file that you can pull into excel if you like. Please PM me with Bug Reports. There is a read.me version of the manual in the cab with a caution about logging to a storage card, please be aware of that if you plan on dumping your log to the storage card.
Version 0.2.3.130
New Features:
Support for Windows Mobile 5
Native QVGA Support (Properly Scales the Graph)
Can toggle between F and C for the Battery Temperature
Bug Fixes:
Properly deletes the downloaded file in the Benchmark test
Some additional Exception handling added
VERSION 0.2.1.105+ REQUIRES .NETCF 3.5!
I have uploaded a new version of the utility 0.1.1.58.
Includes the following Bug Fixes:
1) Now throws an update for every event. Previous Logic would drop events if another event occurred prior to the timed update.
2) Now allows the system to drop into Power mode D3 (sleep)
love the idea. will be reporting soon.
I have uploaded a new version with some reported bug fixes...
The following bug fixes are in place:
1) If multiple events occur while saving the log, a file in use exception would be thrown. It is now properly handled.
2) Visibility of the plots is now properly implemented.
After slugging through several long days of debugging and testing I have uploaded ver 0.2.1 of the battery log/diagnostics program.
What's new:
added mAH consumption counters for Data and Phone calls
Added a Battery Benchmark Module
Fixed a few miscellaneous bugs.
Benchmark Module details:
This module places the phone in a standard state (screen and backlight on, data connection active and Bluetooth radio on and discoverable). Then performs a 5 minute continuous data download, followed by a 20 minute telephone call. And saves a final report detailing power usage and AC adapter and charging times.
maybe my comments are silly but after those long discussions about battery draining in Raphael and diamond devices i find curious that nobody has said anything about this tool.
correct me if i'm wrong but this tool seems the best tool i've seen until know to check what the hell is draining our devices when in standby or calling or Data downloading or whatever.
i don't know too much about how it runs but i expect to learn it after some tests i will do.
I think that this tool will let me discover which running process is draining my battery, of course this tool won't tell it to me but after some testsenabling and disabling processes i will be able to see which one/s is/are the guilties.
I guess that the "ma" value that changes over time is per hour right? maybe PalladiumTD, could you explain me how to use this tool as if i would be a dummy, ( you can take out the "as if" if you want...
i don't understand the difference between "average current (ma)" and total usage (mah). The display doesn't change its contents when i switch between these options.
BTW it seems to run in my GSM device with unprotected Proven ROM 1.502. of course i can't install Nuepower driver.
is this tool trustable and accurate?
it doesn't seem to instantly react depending of what is running in the phone. it reacts after a while. ( of course i have it set to one second update)
and apparently it jumps from -78ma to -145ma and to -215ma without doing anything special. The Phone is just flashed with only battlog installed and running and it jumps between these values for no apparently reason.
Also i don't see any difference between having HDSP enabled or disabled (GPRS).
if i turn on Wifi, i see a big difference.
The benchmark test doesn't seem to run. it does not call and it does not download anything. (with wifi turned on)
fourcc said:
maybe my comments are silly but after those long discussions about battery draining in Raphael and diamond devices i find curious that nobody has said anything about this tool.
correct me if i'm wrong but this tool seems the best tool i've seen until know to check what the hell is draining our devices when in standby or calling or Data downloading or whatever.
i don't know too much about how it runs but i expect to learn it after some tests i will do.
I think that this tool will let me discover which running process is draining my battery, of course this tool won't tell it to me but after some testsenabling and disabling processes i will be able to see which one/s is/are the guilties.
I guess that the "ma" value that changes over time is per hour right? maybe PalladiumTD, could you explain me how to use this tool as if i would be a dummy, ( you can take out the "as if" if you want...
i don't understand the difference between "average current (ma)" and total usage (mah). The display doesn't change its contents when i switch between these options.
BTW it seems to run in my GSM device with unprotected Proven ROM 1.502. of course i can't install Nuepower driver.
is this tool trustable and accurate?
it doesn't seem to instantly react depending of what is running in the phone. it reacts after a while. ( of course i have it set to one second update)
and apparently it jumps from -78ma to -145ma and to -215ma without doing anything special. The Phone is just flashed with only battlog installed and running and it jumps between these values for no apparently reason.
Also i don't see any difference between having HDSP enabled or disabled (GPRS).
if i turn on Wifi, i see a big difference.
The benchmark test doesn't seem to run. it does not call and it does not download anything. (with wifi turned on)
Click to expand...
Click to collapse
I guess I really ought to write a manual?? Anyway the top for windows are live readings REPORTED by windows they are (left to right/top to bottom) Battery level, Battery Voltage, Battery Temperature, Current being drawn from the battery. These are realtime numbers.
The display average current and total Usage options on the update log menu apply to the Phone Current and Data Current boxes. (just below the 4 realtime boxes. These all total the current drawn during a voice or data call and allow you to see the average current drawn from the battery and the total power drawn from the battery (in mAH i.e. milliamp hours).
The fluctations in power draw may be real, I see them on the CDMA version when I am in a low signal area. the -78ma is close to what I have seen with the backlight off, the -120 - 150 ma when the backlight is on at 50%, the -215 may be an intermittent radio transmission (just speculation...)
With HDSP or GPRS enabled, you should only see a current draw when the radio is transmitting or receiving (i.e. when you are transfering data).
As far as accuracy, these numbers will be only as accurate as what the phone hardware is reporting. To keep it as generic as possible, I pull the values through the WinMo SystemStatus interface which makes it a bit sluggish in updating if other applications are running.
To run the test you must have .net Compact framework 3.5 loaded, it will not run without it. With that loaded, the benchmark should run (as it call only native WinMo functions). If you have .netCF3.5 loaded PM me and I'll see if we can troubleshoot..
One difference between the CDMA and GSM versions is that the CDMA hardware only reports current draw (as a positive number) I am guessing that The GSM phones report net current draw in the standard WinMo manner ,( i.e. negative for discharge, positive for charging and the number reported is the sum of the discharge and charging currents).
If there is interest (and someone could provide me with a log file from a GSM Phone while not connected to the charger, then when connected to the charger) I will make a GSM flavor of this utility, but will need some willing beta testers as I don't have a GSM Raphael...
Found via freewarepocketpc.net
Your Battlog utility is described on freewarepocketpc.net here: http://www.freewarepocketpc.net/ppc-download-battlog.html
Unfortunately, the download link points to Batti (another good utility) rather than Battlog.
I downloaded Battlog from your link here, and when trying to run Battlog the first time, I got the following error: BattLog.exe MissingMethodException Method not found: get_CellularSystemConnectedEvdo Microsoft.WindowsMobile.Status.SystemState. at System.Windows.Forms.Form.OnLoad(EventArgs e) at System.Windows.Forms.Form._SetVisibleNotify(Boolean fVis) at System.Windows.Forms.Control.set_Visible(Boolean value) at System.Windows.Forms.Application.Run(Form fm) at BatteryStatus.Program.Main() At the time when I ran this, my phone (PPC-6700 running WM5, .Net CF 2.0 & 3.5 installed) was connected to my computer via ActiveSync, the battery was fully charged, and the WiFi was turned on (and connected, I believe). the 1xRTT connection was not connected, as far as I know (no evdo on Cellular South in our area yet).
I'm no programmer (my expertise is in IT: remote access support, hardware, networking, etc.), but I hope this helps you. This looks like a worthwhile utility that has a lot of promise.
*edit*
I verified that I receive the same error if disconnected from ActiveSync, and after a soft reset. I also receive the error if WiFi is turned off and the 1xRTT connection is established.
Maybe I'm digging too deep; is this WM5 compatible, or WM6 only?
Sorry, I guess this could be a "bug report" and should have been PM'd to you. I didn't see that part until after I'd posted this.
*/edit*
TekServer said:
Your Battlog utility is described on freewarepocketpc.net here: http://www.freewarepocketpc.net/ppc-download-battlog.html
Unfortunately, the download link points to Batti (another good utility) rather than Battlog.
I downloaded Battlog from your link here, and when trying to run Battlog the first time, I got the following error: BattLog.exe MissingMethodException Method not found: get_CellularSystemConnectedEvdo Microsoft.WindowsMobile.Status.SystemState. at System.Windows.Forms.Form.OnLoad(EventArgs e) at System.Windows.Forms.Form._SetVisibleNotify(Boolean fVis) at System.Windows.Forms.Control.set_Visible(Boolean value) at System.Windows.Forms.Application.Run(Form fm) at BatteryStatus.Program.Main() At the time when I ran this, my phone (PPC-6700 running WM5, .Net CF 2.0 & 3.5 installed) was connected to my computer via ActiveSync, the battery was fully charged, and the WiFi was turned on (and connected, I believe). the 1xRTT connection was not connected, as far as I know (no evdo on Cellular South in our area yet).
I'm no programmer (my expertise is in IT: remote access support, hardware, networking, etc.), but I hope this helps you. This looks like a worthwhile utility that has a lot of promise.
Click to expand...
Click to collapse
Unfortunately, the many of the systemstate Classes that I use to detect the usage of the cellular radios aren't directly accessible from managed code in WM5. I will have see if I can code around it or remove some of the functionality when run on WM5. Thanks for the Info BTW.
You're welcome!
I know that I'm in a rapidly dwindling minority of WM5 users, but I love my PPC-6700, batter hog though it is, and I'm getting as much use as I can out of it before I choose a replacement from Cellular South's somewhat limited selection. (And I must admit, I am holding out hope that Google Android powered phones live up to their hype.)
Thank you for looking at this, and I'll be watching for a WM5 version!
Palladium, have you taken a look at the HTC-written TBattery app here?
http://forum.xda-developers.com/showthread.php?t=451646
It might help in your further development. Appreciate your work!
Da_G said:
Palladium, have you taken a look at the HTC-written TBattery app here?
http://forum.xda-developers.com/showthread.php?t=451646
It might help in your further development. Appreciate your work!
Click to expand...
Click to collapse
I will take a look at it (in detail that is) on the 7501A chipset it only reads battery level, temp and current. What is interesting is the from what I have read both the 75xx and 72xx chipsets use the PM7500 power management chip which is where those numbers should be coming from anyway. I'll see what I can learn from it... THANKS!!!
TekServer said:
You're welcome!
I know that I'm in a rapidly dwindling minority of WM5 users, but I love my PPC-6700, batter hog though it is, and I'm getting as much use as I can out of it before I choose a replacement from Cellular South's somewhat limited selection. (And I must admit, I am holding out hope that Google Android powered phones live up to their hype.)
Thank you for looking at this, and I'll be watching for a WM5 version!
Click to expand...
Click to collapse
I have just uploaded a new version. This version supports WinMo 5 as well as improved support for QVGA screens. there are a few other bug fixes and the ability to switch between deg F and C for the temperature display.
It works! Nice job; looks good.
A couple of points of constructive criticism (intended in the most positive and complimentary context!):
- I don't think the temperature is reporting correctly, at least on my Apache. It was reporting in C as 8.82 degrees, then when I switched to F it reported 16.94 degrees. As my phone is not currently in a freezer, I'm fairly certain this is off by a bit.
- The readme in the zip file is from the previous version.
I already love this program, and I've only scratched the surface. I've just started it logging and left it running; hopefully this will help me figure out which of the many apps I have is sucking my battery dry.
Thanks again!
TekServer said:
It works! Nice job; looks good.
A couple of points of constructive criticism (intended in the most positive and complimentary context!):
- I don't think the temperature is reporting correctly, at least on my Apache. It was reporting in C as 8.82 degrees, then when I switched to F it reported 16.94 degrees. As my phone is not currently in a freezer, I'm fairly certain this is off by a bit.
- The readme in the zip file is from the previous version.
I already love this program, and I've only scratched the surface. I've just started it logging and left it running; hopefully this will help me figure out which of the many apps I have is sucking my battery dry.
Thanks again!
Click to expand...
Click to collapse
Unfortunately this is a known bug, that has been low on my priority list. Basically the Standard WM Battery Dll report in degrees C*10, However, the Driver provided with the CDMA Touch Pro, reports in degrees C * 100. I just haven't gotten around to having the program check which platform it is running on and adjusting the calculation accordingly. So in the meantime your real temperature is the reported value * 10
on the readme, I'll re-upload with the updated Readme this afternoon.
Multiply by 10, got it. I can do that.
Thanks!
Thanks for this handy little program. I am used to the HTC WinMo battery drain devices but always like to see what might be aiding in the drainage.
HI Palladium,
Thumbs up for nice work.
However I'm not able to run the 0.2.3.130 release on my O2-Graphite w. WM 6. I get: "This app. requires a newer ver. of the microsoft.NET Compact Framework"
Hope this information is of any use to you
Regards
Steen
Sorry, My original post wasn't clear on this point, all versions from 2.1.105 forward require .NET CF 3.5. If you download it here Everything should work fine after you install that.
Palladium TD.....
Thanks to a post on another thread, I found your very nicely done program. I have some 'funny' out of the blue battery drains that your program may help me isolate.
I have v0.2.3.130 beta installed on my US ROM1.93 GSM Diamond. It installed fine, tracks current use and temp (/10) and logs the data. Very easy to pull into excel for analysis. I've only used it for a day now and do note the following issues (which may be me not executing correctly or the beta)
Voltage and temp graphs track exactly together and without a scale value
No response from the two Icons on the left (one looks like a help?)
I don't see any response to the "Display Total Usage mAh
Very excellent work, and if I can support, let me know.
Thanks

How to debug device or carrier bugs?

Hi,
I am experiencing a serious problem. I recently released an updated on my app "Funny Jokes" from modern creation. The update is meant to enhance the user experience by adding a few new cool features. However, since the update, there are a small number of users experiencing "Initialization Failure" when starting the app. According to my code, this error only happens when the internet connection is spotty. However, the users report that they have perfect good 3g or wifi. I have no idea what causes this error since it works perfectly fine on my own phone, the simulator and a few friends who have installed my app. However, since angry customers tend to leave reviews, the reviews since the update have been mostly negative. Its really hurting my app. Is there any way that Microsoft can help me debug this problem? since I don't have all the devices on all different carriers? I really don't know what to do at the moment.
Also can some of the developers help me on this problem? I am here attaching the xap file, will you please let me know if the app works on your phone and if it doesn't, can you please let me know what device you use, your carrier, and country. Thanks very much.
Works fine for me (Samsung Focus, HTC Surround, both ATT), no errors at all. BTW, you may check proper handling of advertising control (try-catch, check if null etc.)
P.S. As for your app design: you definitely should add an option to change text size! Default font is too small...
Also, button or item "Instant joke" (randomly selected but of course not repeated!) will be great.
Hi, sensboston,
Thanks for your help and suggestions. I will implement the two suggestions in the following updates. Are you from Boston area? Really appreciate your input. I am really bothered by some users not able to open the app correctly. I really want to help them, but don't know how.
Hi,
Looking at your code I think your real question is "Why is my Azure odata connection / query failing for some users"?
Do you know if it is *always* failing for those users - i.e. every single time - or does it occasionally happen?
If it's *always* failing for certain users:
- It may not be a connection error that your code is detecting, perhaps the error could also be a problem with the query you're issuing. I notice you dynamically build it in the LoadMessages() method (on the string.format line) using App.LastMessageID; is it possible that certain values will cause an invalid query? Is it possible for them to become corrupt, *or null*, etc. for some users? Write some code in to check they are valid values before using them (and use defaults if they are null or invalid) - i.e. just before the string.format line. A null won't cause string.format to fall over, but it will mess up your query.
- I see you are storing LastMessageID in IsolatedStorage on the phone - this makes me wonder if the settings from a previous version of the app are confusing the current version, or if it's become corrupt some other way. Remember that issuing an update to an app does not reset the application's settings (e.g. IsolatedStorage) back to defaults. E.g. Is there a scenario where for certain users since the update their App.LastMessageID has become null or set to an invalid value? It's an easy one to miss because the emulator always starts 'fresh', and when you ask friends to test it's usually just on the latest version (they might not have installed it over a previous version). Again, check your values before the string.format line for nulls or validity.
If it's occasionally failing:
- Your code isn't handling the fact well enough that Internet connections can drop at *any* moment - even for a micro-second - and users won't necessarily notice that (and tell you their signal was fine). Code always needs to handle that kind of eventuality any time you make a connection to a web service (such as Azure). At the moment you are just outputting a message box message and then just letting the app do nothing else which will frustrate users - you could instead have a screen with a 'retry' button, and maybe even something that will send/email you an error report if it keeps happening (you could include the error's message and inner exception etc.).
- It may be that Azure is returning an occasional error - even the best databases get occasional temporary errors for a variety of reasons (too many users, internal connection error,...). You need to detect and handle that in the same way as internet connection errors.
I don't think it's to do with carriers or phone type unless they are blocking access to the azure url / ports you are using - that sounds pretty unlikely as Azure is such a well known service, especially on WP7.
Just as a final thing (maybe not important) your code's logic doesn't handle the scenario of 'no error is returned but at the same time 0 messages are returned' and same for 0 categories (perhaps this isn't possible).
Hope that helps, and best of luck fixing it.
Ian
otherworld said:
Hi,
Looking at your code I think your real question is "Why is my Azure odata connection / query failing for some users"?
Do you know if it is *always* failing for those users - i.e. every single time - or does it occasionally happen?
If it's *always* failing for certain users:
- It may not be a connection error that your code is detecting in the completed event - perhaps the error could also be a problem with the query you're issuing. I notice you dynamically build it (on the string.format line) using App.LastMessageID; is it possible that certain values will cause an invalid query? Is it possible for them to become corrupt, *or null*, etc. for some users? Write some code in to check they are valid values before using them (and use defaults if they are null or invalid) - i.e. just before the string.format line. A null won't cause string.format to fall over, but it will mess up your query.
- I see you are storing LastMessageID in IsolatedStorage on the phone - this makes me wonder if the settings from a previous version of the app are confusing the current version, or if it's become corrupt some other way. Remember that issuing an update to an app does not reset the application's settings (e.g. IsolatedStorage) back to defaults. E.g. Is there a scenario where for certain users since the update their App.LastMessageID has become null or set to an invalid value? It's an easy one to miss because the emulator always starts 'fresh', and when you ask friends to test it's usually just on the latest version (they might not have installed it over a previous version). Again, check your values before the string.format line for nulls or validity.
If it's occasionally failing:
- Your code isn't handling the fact well enough that Internet connections can drop at *any* moment - even for a micro-second - and users won't necessarily notice that (and tell you their signal was fine). Code always needs to handle that kind of eventuality any time you make a connection to a web service (such as Azure). At the moment you are just outputting a message box message and then just letting the app do nothing else which will frustrate users - you could instead have a screen with a 'retry' button, and maybe even something that will send/email you an error report if it keeps happening (you could include the error's message and inner exception etc.).
- It may be that Azure is returning an occasional error - even the best databases get occasional temporary errors for a variety of reasons (too many users, internal connection error,...). You need to detect and handle that in the same way as internet connection errors.
I don't think it's to do with carriers or phone type unless they are blocking access to the azure url / ports you are using - that sounds pretty unlikely as Azure is such a well known service, especially on WP7.
Just as a final thing (maybe not important) your code's logic doesn't handle the scenario of 'no error is returned and at the same time 0 categories are returned' (perhaps this isn't possible).
Hope that helps, and best of luck fixing it.
Ian
Click to expand...
Click to collapse
Hi, Ian,
Wow, what a great reply. I am so grateful for your inputs.
From the reviews, it seems that the app is always failing, and even when users uninstall/reinstall doesn't solve the problem. However, the previous version didn't have this problem. Which leaves me to believe is not the problem with IsolatedSetting. However, its definitely a good idea to check if the LastMessageID is null before using it.
Another speculation is that my new version uses a WCF service hosted on azure, while my previous version only used odata connection. I am guessing the WCF service on azure is not available to all carrier and devices. But the question is that they should see a different error instead of the reported one. And I was hoping to reproduce this problem so I can be confident that its fixed in my next update. Without being able to reproduce it, it makes everything just a little bit harder.
Another suggestion: you may simulate "no connectivity/very slow connection/Azure service not responding" issues by using "tethered" PC connection (if your handset connected to PC via USB cable, it uses your PC connection). Install traffic shaper (like NetLimiter) and try to play...
sunxin8086 said:
Are you from Boston area?
Click to expand...
Click to collapse
Yep.
Thanks, I will try to play with it. however, its desirable to let the app quit when there is no connection. But some users report they experience this error when they have perfect connection.
I can recreate it (the error) on a device it would seem consistently (tried about five times)
Uninstall it if already installed and reboot
reinstalling it (I'm using the Application Deployment tool for this)
reboot the device
Run it: First time I run it I get the error, second time (and subsequent) it's fine.
Note that before running it (and getting the error) I have checked I have internet (e.g. by loading a page in IE). This happens using sim card, wifi, or tethered connection (with wifi off) - tethered should be pretty reliable so can't see that being a connection drop.
This is on an LG panther pre-nodo developer device.
Hope that gives some clues.
All the best,
Ian
Hi, Ian,
Thanks for your update. Were you able to recreate it on a post-nodo device? unfortunately, I don't have a pre-nodo device at my hand.
I don't have a post-nodo device handy to test it on unfortunately. It seems to be happening only soon after startup (it's ok if I leave it a while) as though something on the phone isn't ready yet. Maybe it's not the same therefore as what your users are experiencing (as it's not 'always') but if you think it will help do a version of the xap which outputs the exception message in the message box (just for testing purposes) and I'll see what it says.
Hi, Ian,
Thanks. Last night, I made a new version that generates an email with exception info when initialization failed. Also checks the LastMessageID to see if its null. Let me know if this fixes the problem, and if not, send me the exceptions, please. Thanks for your help.
Hi,
The error report you generate is at the bottom of this message. As you can probably see (if I'm reading it correctly) the error (for my device at least) is not actually the loading of the categories - it seems to be the when you open the push channel as you have no try catch around that.
Note the interesting .net behaviour (if I'm reading your code correctly) that when you first check the error in LoadCompletedEventArgs 'e' of categories_LoadCompleted it is null, but when you subsequently check it - after the open push channel attempt - it contains the push channel exception. It must just retrieve the latest async open error (i.e. that of the push channel not opening).
I would suggest you wrap your push channel open code with a try catch that does the following:
catch (InvalidOperationException e)
{
HandleInvalidOperationException(e);
return;
}
catch (Exception e)
{
// if you're here it's most likely an error in your code rather than one with the push channel
}
This is the sort of things I check for and handle appropriately (if you find a way of checking a code or enum rather than a string match on the message text let me know):
private void HandleInvalidOperationException(InvalidOperationException e)
{
if (e.Message == "Channel not opened")
{
//This exception is raised when a notification channel has not been opened yet for raw notifications.
}
else if (e.Message == "Failed to open channel")
{
//This exception is raised when the notification channel failed to open. Try opening the notification channel again.
}
else if (e.Message == "Channel quota exceeded")
{
//This exception is raised when either trying to open more than one notification channel per application, or when trying to open more than 15 notification channels per device.
}
//InvalidOperationException(Notification server temporarily unavailable)
else if (e.Message == "Notification server temporarily unavailable")
{
//The Microsoft Push Notification Service is unavailable.
}
// unknown if you reach here
}
I also check if there is a channel uri after opening (there sometimes isn't) and if there isn't I set a timer to check it every second until 60 seconds have passed. If it reaches 60 and the uri updated event hasn't fired I assume that the device's power level is too low for a push channel at the moment (about 25% battery will do this on some devices).
It sounds like you could just continue past your current issue though -i.e. your problem may well be the Push call, not the load categories, so with the right try catch etc. (with a revised/recoded check on whether the categories have loaded) you could always continue into the app with a gentle warning that push might be down. Have a play with that second error check in the load categories completed event - you might instead want to have that second 'if' as an 'else if' so that it doesn't get confused by subsequent errors (i.e. other than the categories loading service call).
Hope that's helped.
Cheers,
Ian
Your error report:
Query URL: /JokeCategories?$filter=Hidden eq 0
Outer Exception Message:
Failed to open channel
Outer Exception StackTrace:
at Microsoft.Phone.Notification.SafeNativeMethods.ThrowExceptionFromHResult(Int32 hr, Exception defaultException, NotificationType type)
at Microsoft.Phone.Notification.HttpNotificationChannel.Open()
at FunnyJokes.MainPage.SubscribeToPush()
at FunnyJokes.MainPage.categories_LoadCompleted(Object sender, LoadCompletedEventArgs e)
at System.Data.Services.Client.DataServiceCollection`1.<>c__DisplayClassd.<>c__DisplayClassf.<BeginLoadAsyncOperation>b__b()
at System.Reflection.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi, Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess, StackCrawlMark& stackMark)
at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, StackCrawlMark& stackMark)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at System.Delegate.DynamicInvokeOne(Object[] args)
at System.MulticastDelegate.DynamicInvokeImpl(Object[] args)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.Dispatch(DispatcherPriority priority)
at System.Windows.Threading.Dispatcher.OnInvoke(Object context)
at System.Windows.Hosting.CallbackCookie.Invoke(Object[] args)
at System.Windows.RuntimeHost.ManagedHost.InvokeDelegate(IntPtr pHandle, Int32 nParamCount, ScriptParam[] pParams, ScriptParam& pResult)
Hi, Ian,
I think that must be it. That totally explains why a small number of users would get this. However, where I am confused that categories_LoadCompleted is the handler for when categories load finishes, and takes LoadCompletedEventArgs, it should only be triggered in the above case. Why failing opening a channel also leads to this handler is puzzling me. Is it feature of .Net or a bug?
To be more specific, if open the channel failed, shouldn't the myPushChannel_ErrorOccurred method called instead of the categories_LoadCompleted? I am deeply confused now.
You just have to check for errors in two places (and you're currently only checking in one) - it would be nice if the error event handled everything but unfortunately it can't; e.g. take the 'InvalidOperationException ' case of no channels being left on the device (quota exceeded), if there's no channel ever created in the first place then there's nothing to assign the error event to anyway; hence why you need to check both on initialisation (with the try catch around the open - see above), and once you've set it going (with the error event).
In your error event you can check what the problem is using a nice enum:
switch (e.ErrorType)
{
case ChannelErrorType.ChannelOpenFailed:
break;
case ChannelErrorType.MessageBadContent:
break;
case ChannelErrorType.NotificationRateTooHigh:
break;
case ChannelErrorType.PayloadFormatError:
break;
case ChannelErrorType.PowerLevelChanged:
// 0 is normal, 1 is low, 2 is critical
if (e.ErrorAdditionalData == (int)ChannelPowerLevel.LowPowerLevel || e.ErrorAdditionalData == (int)ChannelPowerLevel.CriticalLowPowerLevel)
// note a value of 0 here is not an error
break;
}
Ian
Thanks Ian for the explanation. I got this part, however, what still puzzles me is why the InvalidOperationException got captured in the categories_LoadCompleted method. shouldn't this method only called from within the odata class? Is this a feature of .net or a bug??
I agree it doesn't seem to make sense You have no try catch, yet the exception is seemingly being bubbled up a level and then contained somehow within your categories_LoadCompleted method.
The reason is found by decompiling the DataServiceCollection class. Here's part of what happens when you call LoadAsync - notice that when an error occurs (i.e. the push channel exception) your completed event is actually being called a second time (as it is contained in the bolded try catch below), and this time it contains the new InvalidOperationException. Obviously you'll need to code around this behaviour. You'll probably be fine knowing that, but is there a way you can keep the code in the completed method just for completion of loading categories (and subscribe to push, load messages, etc. elsewhere)? It might be good to do that just to help avoid encountering the same confusing situation elsewhere.
Hope that helps!
Ian
Code:
private void BeginLoadAsyncOperation(Func<AsyncCallback, IAsyncResult> beginCall, Func<IAsyncResult, QueryOperationResponse> endCall)
{
this.asyncOperationInProgress = true;
try
{
beginCall.Invoke(delegate(IAsyncResult ar)
{
Deployment.get_Current().get_Dispatcher().BeginInvoke(delegate
{
try
{
QueryOperationResponse queryOperationResponse = endCall.Invoke(ar);
this.asyncOperationInProgress = false;
if (this.LoadCompleted != null)
{
this.LoadCompleted.Invoke(this, new LoadCompletedEventArgs(queryOperationResponse, null));
}
}
[B]catch (Exception error)
{
this.asyncOperationInProgress = false;
if (this.LoadCompleted != null)
{
this.LoadCompleted.Invoke(this, new LoadCompletedEventArgs(null, error));
}
}[/B]
}
);
}
);
}
catch (Exception)
{
this.asyncOperationInProgress = false;
throw;
}
}
You are the man. Yeah, I plan to keep the loadCompleted method clean, so I will try to catch the exception in the subscribeToPush method. Thank you so much for all your help. Couldn't do it without you.
Hi, Ian,
Hope you can see this. I pushed out an update with the error reporting for my app two days ago. The version was pushed before I realized the error has something to do with Push Channel failed to open. However, from the user report, I found another rather interesting and confusing error.
Query URL: /Messages?$filter=Hidden eq 0 and Version eq 1,5 and ID gt 0
Outer Exception Message:
An error occurred while processing this request.
Inner Exception Message:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code></code>
<message xml:lang="en-US">Syntax error at position 29.</message>
</error>
At first, its kinda shocking to me that why my Version was transformed to "1,5", instead of "1.5"(comma instead of period). After googling it, I found it has something to do with CultureInfo. Wow, I would never thought about this, if I don't get an error report. Supporting multi-region is a lot tougher than I thought.
You have to be careful anywhere you use dates, doubles, etc. as string.format (or most string methods) format them according to regional settings of the user - so unless you specify otherwise a user in Germany will see 1,5 whereas a UK user will see 1.5. This is a good thing usually as people get to see numbers and dates in the format they're used to.
You can get round it (when you need to have it a specific way e.g. for your query) using the InvariantCulture (which tells it to not use the current region's settings). E.g. for your versionid:
string.Format(CultureInfo.InvariantCulture.NumberFormat, "{0:0.0}", VersionID);
Will always (off the top of my head - make sure you test it) output using a decimal point rather than a comma.
A simpler way for you might be just to store the version ID as a string in the first place if that doesn't affect anything.
You can test all this in the emulator by e.g. changing the country to Germany and seeing if everything still works.

[TESTING] 3.3/3.4 kernels

Let's make life less complicated and start a new thread for people to provide feedback on 2.6.39, ... 3.3, 3.4 (NEW) RHODIUM kernels. The source repository is here. Note, older trees are not under active development.
By the way, these kernels are developed jointly with jonpry, WisTilt2, and bzo. In addition a lot of code is shared with people that maintain active msm kernel branches (emwe, acl, Alex). Finally, all Xdandroid Kernel developers have in one way or another contributed code.
1. Feel free to use any of these kernels, however DO NOT submit a post in this thread that amounts to "This feature does not work for me." If you wish to submit a bug report, make sure you are proficient at using ADB, AND have installed GetLogs. In your post you should:
a. Include GetLogs output of the problem (or it didn't happen).
b. Include Rhodium model (100, 210, etc).
c. Try to reproduce the problem on the other kernels.
All other bug reports will likely not receive full attention.
2. These kernels are to be used with GBX0B.
3. These are auto-built at:
Auto Built Service generously provided by WisTilt2
The autobuild is down. Please use these links, they were the final kernel builds that were on the autobuild site.
2.6.39.3
3.0.18
3.3.8
3.4.3
4. What works:
This list should look very similar to the current status of .27 with your device. Meaning, if you have a rhodium on which the camera does not work with .27 (for example), camera will not work with these kernels as well. Please do not report issues that are present on .27+your device.
- Only 3.0 has BT support. Would appreciate some feedback on this. I get the impression that pairing/connecting takes a bit of patience, but I am interested in how this compares to BT in .27. If we get some positive feedback we can enable BT support across all three kernels.
5. How do these three kernels differ: They are maintained by the same group of people, and consequently differ very little. There are slight variations in power management code, but other than that they are hard to distinguish in terms of functionality.
6. Kexec: To hot-swap the kernels (boot with a new kernel without rebooting into WinMo):
a. While in Android, copy the new kernel and modules to the same location (over-writing the zImage) as your current kernel (adb push).
b. Go to the shutdown menu in GB, and select "Kexec".
c. Phone will reboot within Android, using the new kernel.
7. Finally, I don't have too much time to hang around xda, so you shouldn't hope for "next-business day" response policy I am just hoping we can attract the advanced user to these kernels, that can do most of the troubleshooting on their own.
Enjoy, RHOD has to be one of only a handful of android devices that are pairing android with kernels as advanced as these.
This you should note:
I. If you are experiencing problems with turning Wi-Fi on, try the procedure outlined HERE before posting.
II. With regards to usb related functions and 3.4:
This kernel uses ICS style usb drivers and as a consequence, usb notifications in GBX no longer work. To work around this issue we wrote a little app XdaRndisToggler, which should allow you to turn on ADB, as well as USB Tethering (RNDIS).
Using this app is pretty self-explanatory:
0. Plug your phone in (No notification will appear in GBX).
1. Start the app.
2a. To start the ADB service, select "ADB only" and click apply. At this point you can use ADB to connect to the device.
2b. To start USB tethering, select "ADB+Rndis" and click apply. At this point go into Settings->Wireless->Tethering and check the box that says USB Tethering. The blue "USB Tethering" notification should appear in your taskbar and you should be all set to tether.
3. To stop using ADB and/or RNDIS, select "Disable USB" in the app and click Apply.
FOR ADVANCED USERS:
Alternatively, you can use ADB without the use of XdaRndisToggler (app is still needed for tethering), by making the following changes to init.cfg/init.gingerbread.rc (note, you will need to remount / as rw)
Code:
on property:persist.service.adb.enable=1
- start adbd
+ start adbd
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 0x0bb4
+ write /sys/class/android_usb/android0/idProduct 0x0c01
+ write /sys/class/android_usb/android0/functions adb
+ write /sys/class/android_usb/android0/enable 1
on property:persist.service.adb.enable=0
stop adbd
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/bDeviceClass 0
Above, minus/plus is used to denote delete/add line respectively.
Downloads:
XdaRndisToggler 06/19
Ts-calibration is not working on the 3.0.9 kernel.
I can't see the [+]'s.
I was forced to use my own calibration file.
I am using the temporary 3.0 kernel and till now, I have faced a few problems:
1) Whenever I make a call, the screen goes blank (I couldn't get the logs using Getlogs, don't know from where to pick it) possibly because of the proximity sensor, the screen won't back even if I use power button, however if I slide out the keyboard, the screen comes back.
2) On some random calls, the sound simply gets disappear and doesn't come. Normally this doesn't happen on every call (trust me, I called more than 7-8 phone no. for more than 1 hours today itself) but suddenly, but on one call, the sound just vanished and I couldn't hear anything from the caller on the other side. The problem remained there until I rebooted my phone.
apurohit said:
(I couldn't get the logs using Getlogs, don't know from where to pick it)
Click to expand...
Click to collapse
GetLogs
apurohit said:
1) Whenever I make a call, the screen goes blank (I couldn't get the logs using Getlogs, don't know from where to pick it) possibly because of the proximity sensor, the screen won't back even if I use power button, however if I slide out the keyboard, the screen comes back.
Click to expand...
Click to collapse
Also, since it seems this is an issue you can reproduce (which rhodium by the way?), can you try some of the other kernels .35, .39, 3.1 and try to reproduce it there as well.
Are you using 3.0 for its bluetooth capability - if so, how's that working for you?
detule said:
Also, since it seems this is an issue you can reproduce (which rhodium by the way?), can you try some of the other kernels .35, .39, 3.1 and try to reproduce it there as well.
Are you using 3.0 for its bluetooth capability - if so, how's that working for you?
Click to expand...
Click to collapse
Well, I tried pairing bluetooth with my laptop and a bluetooth headset, it takes forever however my laptop and the headset is always visible in the available device list. I have used .39 (wifi wasn't an issue on it but calls were problem) and .27 (provided with the bundle where voice issue was constant) and then used 3.0 (temporary provided by you), I am facing this problem on all of them. I have RHOD100, CSVs are attached with this post.
Also, I already have getlog installed on this build (it was provided in the Android App folder) but still, I cannot figure-out where exactly it is saving the file. Since you have provided the Getlog thread hence I will read it through and will provide you the same.
Update: Have attached logs taken from Getlogs. Thanks for the guidance.
apurohit said:
Update: Have attached logs taken from Getlogs. Thanks for the guidance.
Click to expand...
Click to collapse
You instincts were right, it is proximity related. In the file you attached if you search for "proximity" you will see a few "proximity 0" and no "proximity 1" -> meaning the proximity sensor is always reporting "user is near" and consequently the screen stays off.
Here is a silly question, do you have a case on your device, one that might be obstructing the sensor?
detule said:
question, do you have a case on your device, one that might be obstructing the sensor?
Click to expand...
Click to collapse
Nope, I don't have one. In fact I have been facing this problem in the Windows Mobile ROM also... but used some tweak. This problem was not there in the FRX07.1 and the screen was good however I am now facing this with GBX0B which is not a new thing.
The screen comes back the moment I pull hardware keyboard but goes off if the call is on or I press power button (general practice to turn the screen on) and then it won't come even if I pull the keyboard.
I have one more question which may sound off topic but thought it's good to ask an expert rather suffering forever.
I am wondering which key should I use to disconnect the call since the end key doesn't work in this case and throw me back on the home screen.
apurohit said:
Nope, I don't have one. In fact I have been facing this problem in the Windows Mobile ROM also... but used some tweak. This problem was not there in the FRX07.1 and the screen was good however I am now facing this with GBX0B which is not a new thing.
Click to expand...
Click to collapse
Yes, GBX0B is the first time (apart from NAND) that proximity-related functionality has been enabled.
If you are seeing the same problem in WinMo then you may be facing a hardware failure of your proximity sensor. On the other hand it could be that RHOD100 is somehow special, and we don't have the correct gpio setup in the kernel to handle your device. I just heard from a RHOD110 user saying that everything is fine, so I might be leaning towards the former.
Unfortunately I don't know of any quick tweaks to disable the sensor in Android.
detule said:
If you are seeing the same problem in WinMo then you may be facing a hardware failure of your proximity sensor. On the other hand it could be that RHOD100 is somehow special, and we don't have the correct gpio setup in the kernel to handle your device. I just heard from a RHOD110 user saying that everything is fine, so I might be leaning towards the former.
Unfortunately I don't know of any quick tweaks to disable the sensor in Android.
Click to expand...
Click to collapse
I'm definitely leaning towards that myself. If it's busted in WinMo, chances of it working correctly in Android are slim-to-none.
detule said:
Unfortunately I don't know of any quick tweaks to disable the sensor in Android.
Click to expand...
Click to collapse
I understand, though I will wait for a resolution in near future
Still, thanks for sparing your time answering me
For whatever reason, the link to the autobuild is opening like this
http://autobuild.wirelesstcp.net/<br />http://autobuild.wirelesstcp.net/<br />http://autobuild.wirelesstcp.net/
Not sure why (I know how to get to the page, I'm just pointing this out)
JDog2pt0 said:
For whatever reason, the link to the autobuild is opening like this
http://autobuild.wirelesstcp.net/<br />http://autobuild.wirelesstcp.net/<br />http://autobuild.wirelesstcp.net/
Not sure why (I know how to get to the page, I'm just pointing this out)
Click to expand...
Click to collapse
Works fine here... FF9/Chrome16.
JDog2pt0 said:
For whatever reason, the link to the autobuild is opening like this
Click to expand...
Click to collapse
arrrghhh said:
Works fine here... FF9/Chrome16.
Click to expand...
Click to collapse
Thanks for the heads up i fixed it earlier today.
Now to legitimently post something...
3.1 does not funtion well on my RHOD500 GBX0B. Enabling wifi caused a soft reset that never seemed to clear up. 3.0 works alright. I will probably post the logs in a bit as I've switched to 3.0, however it is incredibly easy to replicate.
JDog2pt0 said:
Now to legitimently post something...
3.1 does not funtion well on my RHOD500 GBX0B. Enabling wifi caused a soft reset that never seemed to clear up. 3.0 works alright. I will probably post the logs in a bit as I've switched to 3.0, however it is incredibly easy to replicate.
Click to expand...
Click to collapse
Can't reproduce on RHOD400 with 3.1, wifi functions flawlessly for me. Since 400 and 500 are basically the same device, I would expect the same to be the case on your device as well.
This is where logs would have been useful.
Not sure what a "soft reset that never seemed to clear up" means. Reset to bootanimation? This is usually a user-land miscue.
detule said:
Can't reproduce on RHOD400 with 3.1, wifi functions flawlessly for me. Since 400 and 500 are basically the same device, I would expect the same to be the case on your device as well.
This is where logs would have been useful.
Not sure what a "soft reset that never seemed to clear up" means. Reset to bootanimation? This is usually a user-land miscue.
Click to expand...
Click to collapse
Decided to create a new post rather than edit the previous one. Anyways I'm not familier with "user-land miscue" so you'll have to explain that one to me, and yes it is a reset to boot animation. Upon manually reseting the device nothing on the homescreen loads and under wifi in settings it says "error"
data.txt contains only one intersting line that I could see.
Code:
E/WifiService( 1325): Failed to load Wi-Fi driver.
In logcat.txt the first line related to wifi is
Code:
I/ActivityManager( 1324): Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.WirelessSettings } from pid 1457
It's late and adb shell is giving trouble with the whole cat /proc/kmesg > dmesg.txt. The included terminal emulator crashes whenever I run it, I have little to no cell signal where I now live, and the Market refuses to work over wifi. I'll dig up an apk after I get some sleep.
JDog2pt0 said:
Decided to create a new post rather than edit the previous one. Anyways I'm not familier with "user-land miscue" so you'll have to explain that one to me, and yes it is a reset to boot animation.
Click to expand...
Click to collapse
Critical kernel errors (so called panics) end in a full blown reset to win-mo. When the device resets to bootanimation, this is Android (userland) freaking out for whatever reason.
JDog2pt0 said:
data.txt contains only one intersting line that I could see.
Code:
E/WifiService( 1325): Failed to load Wi-Fi driver.
Click to expand...
Click to collapse
Usually this is indicative of kernel/modules magic mismatch. Have you tried this http://forum.xda-developers.com/showpost.php?p=20887127&postcount=20 ? If that doesn't work, what kind of output do you get if you type
Code:
insmod /lib/modules/bcm4329.ko
JDog2pt0 said:
It's late and adb shell is giving trouble with the whole cat /proc/kmesg > I'll dig up an apk after I get some sleep.
Click to expand...
Click to collapse
Use GetLogs.
Use GetLogs.
Use GetLogs.
Use GetLogs.
Use GetLogs.
Use GetLogs.
Use GetLogs.
...I feel like I am repeating myself.
detule said:
Use GetLogs.
Use GetLogs.
Use GetLogs.
Use GetLogs.
Use GetLogs.
Use GetLogs.
Use GetLogs.
...I feel like I am repeating myself.
Click to expand...
Click to collapse
You are, rather unecisarily too. How do you think I got data.txt?
Code:
rm -rf /lib/modules
Did not solve the issue. Phone still goes to boot animation. Not sure what to do next, not sure why it's happening considering we basically have the same phone.

[Q&A] [ROM][UNOFFICIAL][WIP] Cyanogenmod 11 (4.4.4 - kitkat) for fairphone FP1

Q&A for [ROM][UNOFFICIAL][WIP] Cyanogenmod 11 (4.4.4 - kitkat) for fairphone FP1
Some developers prefer that questions remain separate from their main development thread to help keep things organized. Placing your question within this thread will increase its chances of being answered by a member of the community or by the developer. Thanks for understanding and for helping to keep XDA neat and tidy! :smile:
Bluetooth functionality
Hi, Chris,
amazing work! I am so glad to see that finally someone managed to get CM 11 running on our Fairphones! One question: Is it correct that Bluetooth functionality is still missing? Just asking because the WIKO Stairways, which you also seem to take care of, has a very similar hardware architecture and as far as I understand, the CM 11 ROM provided by you already offers bluetooth functionality. Is there a big difference between these two devices?
Apart from the missing bluetooth functionality I am very tempted to try your ROM ...
Keep up the good work and thank you!
Next steps and what can we do?
Thanks, Chris, for your great work. It's awesome to see that CM on Fairphone is possible after all.
The list of known bugs/missing features still includes some items which are a show stopper for many users. I'm one of them. Therefore I'd like to see some progress in these regards. IMHO it would be of great help for potential contributors if there was some sort of coordination on what has to be done.
Chris, do you mind elaborating what the issues with the known bugs are? What are areas which you already work on? What are problems which someone else could tackle? And, most importantly, where should one start?
I'd like to try and give it a go. However I know already that I'm not likely to get very far unless I can discuss issues and get some help. So, what are you currently working on and what do you suggest to start with?
Regards,
jftr
Error during installation of Cyanogenmod11 on Fairphone 2nd batch
Hi,
I have a Fairphone 1 but the second batch (FP1U)
I follow the install process of Cyanogenmod11 here but I had this error during flashing :
HTML:
set_metadata_recusrive: some changes failed
E:Error in /external_sd/cm-11_FP1-ota-UNOFFICIAL-FULLOFBUGS-0.2.zip
(Status 7)
Installation aborded
(you can this the attachment)
I could restore a backup, but I'm ready to restart flashing if you have idea to pass this error
Spheerys said:
Hi,
I have a Fairphone 1 but the second batch (FP1U)
I follow the install process of Cyanogenmod11 here but I had this error during flashing :
HTML:
set_metadata_recusrive: some changes failed
E:Error in /external_sd/cm-11_FP1-ota-UNOFFICIAL-FULLOFBUGS-0.2.zip
(Status 7)
Installation aborded
(you can this the attachment)
I could restore a backup, but I'm ready to restart flashing if you have idea to pass this error
Click to expand...
Click to collapse
A short Google search suggests to update Clockworkmod to the latest version. Have you tried that?
Here is more information regarding the issue (Unfortunately I can't post any links yet, so you have to remove the space after http)
http ://android.stackexchange.com/questions/62982/flashing-cm-11-i-get-set-metadata-recursive-some-changes-failed
http ://stackoverflow.com/questions/19860479/set-metadata-recursive-failing-on-android-install
"set_metadata_recursive: some changes failed" : solution
I have found the solution in a french forum : remplace the "update-binary" file inside the ROM : /META-INF/com/google/android/update-binary with the version on the forum below
forum-generationmobiles.net/t73067-astuce-regler-le-probleme-du-message-d-erreur-dans-le-recovery-set_metadata_recursive-some-changes-failed-25112013
Settings crashing and other bugs following
I have a series of problems at hand with my FP1 that has Cyanogenmod. I would be very grateful if anyone here could help me out with any of them, as FP zendesk etc. couldn't.
Firstly, the Systems settings menu and now even Manage apps -menu don't open. When I try, they just flash quickly on the screen without allowing any time to even read them. This problem started smaller last winter and then disappeared, but now it has come back and is getting worse and causing other problems. First it was just the system settings menu. But now it concerns also manage apps. I can't even make a downloaded new app work because the phone doesn't let me allow them any superuser rights from the settings.
-The first time this happened I could reformat my phone. But the problem now is that I don't want to loose all my stuff, so I want to do backup first. However: - the phone doesn't detect the SD-card that is inside. -I have Cyanogenmod instead of Google, so backing up using cable+Google Plus is not an option. I downloaded MyBackupPro for this, but the phone doesn't allow me to grant it superuser rights so I can't use it. So is there any other way to backup my phone?
-Now another problem that costs me actual money (I hope that my operator will compensate it later) is that some bug is "sending" non-existent SMS to some Finnish numbers and to one number abroad. In reality there are no SMS sent but on the bill it shows as if I had sent for example 2-4 text messages at the same time. Avast! Mobile security virus scanner didn't find anything. I aimed to remove some of the apps I had lately installed, in case that some of them had brought a bug along, just to notice that I can't even access the apps menu anymore in order to do so.
After schecking detailed call reports from my operator, I also noticed that all the sms that are a couple of rows longer, are sent as 2< messages. So even when I think I sent one longer message, at the bill it is counted as two or more..
Fortunately I could create a bugreport, which I will try to attach here asap (apparently need to compress it first...). It is a few days old, but soon after that I took the simcard off so & haven't used the phone much offline, either, so I guess the report should still be quite up-to-date (?).
So it would be great if someone that can interpret the report/ othwerwise has a clue what this could be about, would tell me their advise in terms of where I might start solving this bunch of problems!
(Should be the last time when person like me who doesn't understand much about software buys an alternative phone and installs an even more alternative operating system for it..and then finds herself in a mess like this with no idea how to get out..)
I'm sorry to hear that. It seems you thoroughly infested your phone with malware. I strongly suggest you reflash to get rid of the malware in its entirety.
Regarding backups: If you feel comfortable using the command line, you could try to connect to your phone from your computer using adb. There is a backup command and you can just copy files directly.
Good luck
Thanks for your reply!
I only use command line when I have step by step-instructions for it, not independently. . . Fortunately the link you gave seems to have quite clear instructions. I'll check that soon!
Try with Helium
AinoV said:
Thanks for your reply!
I only use command line when I have step by step-instructions for it, not independently. . . Fortunately the link you gave seems to have quite clear instructions. I'll check that soon!
Click to expand...
Click to collapse
I would use Helium for you backup. It can use cloud storage as backup destination. This solves your SD card issue. You also can use your PC to enable the backup without having root. This solves your root issue.
Thankyou for your expert tips!
I couldn't install neither Helium nor Android SDK that is needed for ADB , because as I said the phone settings don't open so that I could have allowed any app superuser rights.
(Actually in safe mode the settings do open but that, in turn, doesn't show any appstore available so that I could download anything new.....)
But fortunately I could upload all my photos into Dropbox and eventually managed to download and use a simple app for SMS-backups --> Dropbox. All the rest doesn't matter so much, as the apps I'll need I can download again.
So, now the backup problem is solved and I can proceed to the reformatting phase. It's probably wiser that I choose the default platform (Google ) this time in order to avoid further headaches that easily come when going too alternative with too little skills for that!
Thanks for this nice work! I was waiting long for CM on my fairphone.
Unfortunately I had to change back because of issues with the SIM management. It was not possible to switch on or off a SIM card except by going via Airplane mode and there were issues with connecting to a data network on both SIM-slots. Smaller issues were the missing BT and worse battery life than before.
Impaired battery
Summing up my problems / experiences with the battery performance after using CyanogenMod for a couple of weeks on my fp1: Over time (especially after upgrading to m11) I noticed a steadily growing loss of battery performance over time. The rear part of the device often seems hotter, especially when charging or when extensively using my phone. I can compare with my gf fp1 who uses the original FP OS. Compared with hers, the battery now seems bloated, significantly lasts shorter, shows inaccurate battery percentages (at the beginning dropping from 20 % to 0 in no time. Now even dropping from 40 - 50 % to 0).
I tried to calibrate the battery a couple of times with various apps, but the main problem with that is that I am not able to charge the battery with the phone shut down, as the phone automatically switches on when connected to an active charger. A short search revealed, that it's probably due to a kernel issue with the costum rom. Trying out other types of chargers didn't solve the problem.
Another thing I noticed, is that FPOS as well as CyanogenMod display strange MV values (2 - 4 mV while a fully charges battery should display up to 4200 MV - again see attached picture) in the app Battery calibration.
In order to figure out whether the battery is really impaired, I switched batteries with my gfs FP1. Both have been in use for the same time and both were charged with the same charging cables as well as used in similar patterns.
My battery lasted significantly shorter in my gfs FP with FP OS compared with her normal battery. Her battery worked better in mine, still it didn't lasted as long as her phone.
Another strange thing I found was that sometimes the battery doesn't only drops dead, it sometimes also gets stucked at 1 % for quite a while (see attached files). With no way to resolve this by calibrating the battery.
In all likelyhood no problem with CM as it seems to have appeared with FP OS as well see https: // forum.fairphone.com/t/battery-problem-after-cherry-1-6-update-battery-might-be-dying/
I would be interested if we could issue a bounty for @chrmhoffmann to get him working in the port again?
Click to expand...
Click to collapse
from http://forum.xda-developers.com/showpost.php?p=56379896&postcount=19
I was just thinking the same thing.. maybe using www dot bountysource dot com ?
I too would be very glad to pay and/or to contribute with testing or code in order to get Android 4.3 or 4.4 on my Fairphone.
I need it because of the Low Energy Bluetooth feature, which would enable FP to talk with fitness tracker devices...
Is @chrmhoffmann or anybody else in here still interested in pursuing a full (or at least working) port of CM to FP?
Please note that at present days, there is not defined upgrade path for FP... so this would be quite an effort but also a very nice solution for the future of FP software.
Hi,
has anybody tried to build a custom rom using the SDK provided by Media-Tek?
I've downloaded the four SDK packages granted by Media-Tek. You get the SDK packages only on request from the MediaTek Support, if you are already registred at the MediaTek-Lab.
Kind regards

New Kindle Errors

Hi, I bought an 11th generation Kindle Fire HD10. The first issue I had was that none of my books would display as soon as I loaded my own content. I thought that there might be an issue with one of the books since it was newer and I don't worry about licensing when I'm converting. I had that issue on my 10th generation kindle.
I'm not really up to speed on Android. I've been an SQL Developer and Full Stack for over 20 years. More towards SQL at the end. I've learned Python and am working on dev ops training at the moment.
I reviewed how to enable developer mode and connect the device. Online I see people are using Android Studio to access the settings.
I've run several debug reports and they all start out the same way.
can't find the pid
Failed to find: /data/misc/anrd/
Skipping systrace because '/sys/kernel/debug/tracing/tracing_on' content is '0'
Adding dir /cache/recovery (recursive: 1)
Duration of '/cache/recovery': 0.285s
Adding dir /data/misc/recovery (recursive: 1)​
It skips over the entire framework and then starts working. The problem is that the files remain in one directory. When it starts up, all eight cores are running at 75%. I see display optimization errors and high temp warnings as well. I ran a full security scan with Eset, and no virus. I noticed when I purchased the device they had an option to preload all your data into the new device. I'm wondering if they did that to capture more big data rather than to help the user. I'm afraid to do a full reset because I haven't seen errors like this. Since I'm passed the thirty day mark, I don't want to wait several months for them to fix my tablet if I don't have to. Any thoughts would be appreciated.
PS I read the guide at the beginning of this thread, but its 10 years old. I can attach the whole log, but its pretty big. I saw a similar log on here, but didn't see any discussion or resolution.
sslsm said:
Hi, I bought an 11th generation Kindle Fire HD10. The first issue I had was that none of my books would display as soon as I loaded my own content. I thought that there might be an issue with one of the books since it was newer and I don't worry about licensing when I'm converting. I had that issue on my 10th generation kindle.
I'm not really up to speed on Android. I've been an SQL Developer and Full Stack for over 20 years. More towards SQL at the end. I've learned Python and am working on dev ops training at the moment.
I reviewed how to enable developer mode and connect the device. Online I see people are using Android Studio to access the settings.
I've run several debug reports and they all start out the same way.
can't find the pid
Failed to find: /data/misc/anrd/
Skipping systrace because '/sys/kernel/debug/tracing/tracing_on' content is '0'
Adding dir /cache/recovery (recursive: 1)
Duration of '/cache/recovery': 0.285s
Adding dir /data/misc/recovery (recursive: 1)​
It skips over the entire framework and then starts working. The problem is that the files remain in one directory. When it starts up, all eight cores are running at 75%. I see display optimization errors and high temp warnings as well. I ran a full security scan with Eset, and no virus. I noticed when I purchased the device they had an option to preload all your data into the new device. I'm wondering if they did that to capture more big data rather than to help the user. I'm afraid to do a full reset because I haven't seen errors like this. Since I'm passed the thirty day mark, I don't want to wait several months for them to fix my tablet if I don't have to. Any thoughts would be appreciated.
PS I read the guide at the beginning of this thread, but its 10 years old. I can attach the whole log, but its pretty big. I saw a similar log on here, but didn't see any discussion or resolution.
Click to expand...
Click to collapse
Try looking at the Fire forum that is where most discussions for your device will happen.
This forum is for the 1st gen fire from 2011

Categories

Resources