[Q] [q] will flashing a different kernel improve call quality? - HTC EVO 3D

I've done some researching through XDA and Google. And from what I can tell (unless I read wrong), that the EVO 3D's handset mic settings are built into the android kernel. With that said, is there a way to modify the stock kernel so that the mic settings can be adjusted to improve call quality? And if so, can one of the devs who specialize in kernels, take a look into it and create a fix?

wbchristmas said:
I've done some researching through XDA and Google. And from what I can tell (unless I read wrong), that the EVO 3D's handset mic settings are built into the android kernel. With that said, is there a way to modify the stock kernel so that the mic settings can be adjusted to improve call quality? And if so, can one of the devs who specialize in kernels, take a look into it and create a fix?
Click to expand...
Click to collapse
the first step would be finding where in the kernel source the mic settings are "hard coded". finding the audio/sound drivers location and then the location for the mic would be a great starting point.
i don't have the source code in front of me, but grepping through it or looking thru the drivers directory would be where i'd start.
since you searched, which is very helpful, do you have any links to where in the kernel you read the handset mic settings are coded?
the more detailed information you can provide, the quicker a dev can pick it up and run!

joeykrim said:
the first step would be finding where in the kernel source the mic settings are "hard coded". finding the audio/sound drivers location and then the location for the mic would be a great starting point.
i don't have the source code in front of me, but grepping through it or looking thru the drivers directory would be where i'd start.
since you searched, which is very helpful, do you have any links to where in the kernel you read the handset mic settings are coded?
the more detailed information you can provide, the quicker a dev can pick it up and run!
Click to expand...
Click to collapse
I apologize, as I was in a hurry at work when I posted the topic... I meant to say android mic settings... not EVO 3D settings.. my bad.
Here are the links that I've found that made me conclude this theory:
1. This link is Android related - not EVO 3D based, but can it be applied to the 3D? - http://forum.xda-developers.com/archive/index.php/t-549837.html
2. This link is Nexus (which runs on Android) - not EVO 3D based, but are there any clues that can be applied to the 3D? The first paragraph does mention In-Call volume (and mic-sensitivity) and the author does mention that "(I now realise these 'stock' setting s are located within the Kernel)" http://androidaudiohacks.com/home/archives/121
3. This link mentions that Android communicates with the kernel, which then handles the hardware.. i.e. the kernel controlling the hardware - not EVO 3D, but is Android based - http://forum.ppcgeeks.com/android-tp2/141857-evil-mic-problems-devs-look-here-if-you-have-time.html#post2070440
4. This XDA thread - which appears to be an Android port running on a WinMo phone, LaTama mentions that the audio driver was in the kernel - http://forum.xda-developers.com/showthread.php?t=1162224
Another.. http://forum.xda-developers.com/archive/index.php/t-805002.html
5. This post - an Acer Liquid (Android based) although the user's English isn't very well - mentions that the mic sensitivity is too low with the custom kernel he (or she) just flashed - http://android.modaco.com/topic/338884-microphone-sensibility-too-low-with-custom-kernel/
6. This post - Cyanogen mod on HTC Dream/Magic (Android based) mentions some system files somewhere that enhanced the mic gain adjustmen http://http://forum.cyanogenmod.com/topic/7213-mic-gain-adjustment-60/
With these links that I've found so far, it makes me think that the kernel could be the solution to the call quality.
I did go to the dev section of HTC's site and download the kernel source for the EVO 3D, but I have no clue as to what I'm looking at, as I'm not a dev..

wbchristmas said:
1. http://forum.xda-developers.com/archive/index.php/t-549837.html
2. http://androidaudiohacks.com/home/archives/121
3. http://forum.ppcgeeks.com/android-tp2/141857-evil-mic-problems-devs-look-here-if-you-have-time.html#post2070440
4. http://forum.xda-developers.com/showthread.php?t=1162224
Another.. http://forum.xda-developers.com/archive/index.php/t-805002.html
5. http://android.modaco.com/topic/338884-microphone-sensibility-too-low-with-custom-kernel/
6. http://http://forum.cyanogenmod.com/topic/7213-mic-gain-adjustment-60/
Click to expand...
Click to collapse
well, two basic approaches:
1)links 1, 2, and 6 all seem to point at the same set of files in /system/etc. might want to check if these are present on our evo 3d. if so, might want to look into editing/replacing them. they are xml so they should be readable thru a text editor and hopefully they use fairly english common sense related tags.
2)i decided to take the liberal of pointing around the online kernel source at the android git, since i cant access anything else at the moment-link below.
i grep'd the source for the word microphone and you can see some scattered references in the kernel files. this is the approach i would take to look for the microphone volume settings in the kernel drivers...
http://android.git.kernel.org/?p=kernel/linux-2.6.git&a=search&h=HEAD&st=grep&s=microphone
figured the more information we can gather, the better off we should be!

How would I go about to view these files?

wbchristmas said:
How would I go about to view these files?
Click to expand...
Click to collapse
the files mentioned in the above posts you linked are .xml files in /system/etc. easiest way for me is to adb pull them off the phone and then use a text editor ..
adb pull /system/etc/blahblah.xml c:\android\blahblah.xml
the kernel source files you downloaded, should all be text files and can be viewed in a text editor also...
good luck! keep us updated on what you find and i'll keep my eyes open as well!

When you do the adb pull commands, what status does my phone have to be in.. fastboot, recovery, etc..
Also, when the adb pulls the files, will they still be intact on the phone or does it "cut" them out of the system?

wbchristmas said:
When you do the adb pull commands, what status does my phone have to be in.. fastboot, recovery, etc..
Also, when the adb pulls the files, will they still be intact on the phone or does it "cut" them out of the system?
Click to expand...
Click to collapse
adb is going to be a great tool to learn. i wrote a simple guide for the evo - http://forum.xda-developers.com/showthread.php?t=694250 . there are probably lots of other guides too.
google's info on adb - http://developer.android.com/guide/developing/tools/adb.html
when you pull the file, they stay on the phone and adb duplicates it to your local computer. it is probably easiest if you're in the normal booted android mode and have usb debugging toggled on.
adb is going to be a primary way of communicating and modifying the phone. it'll become your best friend!

Related

[Q] Enabling phone on Jetstream - S-OFF issue?

Hi all,
I recently acquired a Jetstream in the US (AT&T) to bring back to France.
I'm pretty new to Android but I got the bootloader unlocked through htcdev.com, then managed to apply DoomLoRD's root and CWM recovery succesfully (excellent tutorial, BTW).
I now want to unlock the phone and reconfigure BT so I can use my regular BT headset (Nokia BH-109, supports HFP & HSP but no A2DP) following the instructions on http://forum.xda-developers.com/showthread.php?t=1418235, but that fails to work as the /system/build.prop file remains read-only.
Is there anything I've missed? Would that be because my Jetstream is still S-ON?
thanks in advance for any hint that gets me going!
François
Hi,
Welcome to the Jetstream community.
1st off, for you to be able to edit the /system/build.prop file, you need Root Explorer, navigate to the file, before opening it with the text editor, make sure to click on the R-W/R-R which you can find around the top left side of screen- it will basically change from read to write functionality in the system files. You will then be able to enable the options.
2nd, after following the steps, you will be able to get the phone app to show and you will be able to use MMI codes of the *123# sort perfectly. Coming to the call however, you will be able to make calls but no sound on either side of the calls. Still some bugs to be figured out and fixed. Some have got some clue about how to solve it - mentioned in the post with the instructions.
3rd, after following those instructions, you will be able to send and receive messages using a 3rd part app like GO SMS. Works perfectly well.
4th, the S-ON to S-OFF transition needs a lot of help from developers which is not happening as of yet. Hoping that someone will be able to really achieve this for us. It has been done for many other devices as well and we all here hope it will happen for the Jetstream too.
Hope it helps you and hope to have more people join the community of this wonderful device like you have just joined us and get this device moving soon.
-Kaialsh.
Hi Kaialsh,
thanks for taking the time to share your experience. I will look into Root Explorer for sure, even though I actually managed to answer my question when writing my original post got me thinking.
I'll write down what I found as it may be of help to others.
As I understood the problem was with the /system partition being mounted R/O I looked on the Market and found mount /system (rw/ro) and it seemed to work giving me a successful status, but the build.prop file remained R/O in vi, and Astro would not save it properly.
I then saw that DoomLoRD's custom kernel included R/W system partition and looking into that I found the adb remount command which did what I wanted, except it failed on my system.
Last bit was to boot the tablet into DoomLoRD's insecure kernel image (as I did before to root the Jetstream), then issue "adb remount", then edit build.prop and reboot again.
As you can see, it's not really straightforward and I wish I saw your post before all of this!
I did see the Audio problems with making calls and will be following the forum for a potential fix to this problem, but I have another issue right now...
Noise cancellation does not work at all and any attempt to make a VoIP call (SIP or Google Talk for instance) results in terrible echo at the other end of the line. The only way out is to use a headset and Bluetooth seems a reasonable choice.
Before the build.prop change, my Nokia headset (with HFP and HSP) would be detected and paired but would remain disconnected and no profile was listed (only options are to delete pairing or rename device). A set of Bluetooth headphones with A2DP support worked fine.
After the change, the device is paired and the headset profile listed as expected, but it still remains disconnected even though when I select it I get a "connected" popup. Of course, the headset will not give audio in any application, and the speaker works normally.
I'd be interested if someone around here has any hints into getting a regular cell phone Bluetooth headset to work with the Jetstream, as well as maybe a fix on the echo cancellation problem.
In any case, this forum is a goldmine
I too face the problem with google talk and sort-noise cancellation is bad. I however circumvented the problem by using a wired headset-no echo with that but the gain on audio was a bit low. I don't own a Bluetooth device myself to check and am kind of busy studying for exams go out and get myself one.
However, the basic problem seems to lie in the Mic settings and as mentioned in the section on enabling gsm calls, we need to check the codec files and anything related to Mic and htc audio libs. I did sit once checking for any potential files that contain details regarding this, but I was dumb enough not to note things down then and there so don't remember very well and haven't found the time to check it again. Will do so the earliest possible and share my findings. There was something about a particular file missing in the devices lost which seemed to be necessary for phone functionality.
Also, just out of curiosity, what is your main application with the Jetstream?
Sent from my HTC PG09410 using XDA
It's a shame I don't know enough about the platform to look into it myself, but I'm ready to try out any suggestion that comes forward!
What I intend to use the tablet for is remote desktop/VNC access to remote systems through ssh tunnels and voice/video conferencing, but at the moment I'm still in the discovery stages.
François
Cool. Welcome aboard once again.
Sent from my HTC PG09410 using XDA

[CLOSED] Export Q Function to Any Android Device

Sorry Guys,
As there doesn't seem to be a whole lot of interest in this project and as no one stepped forward to assist, I'm afraid I'm going to have to abandon this project.
Thanks for following.
___________________________________
OK Guys,
I've run into a bit of a brick wall and need some input from other developers. One of the required APKs from the Q needs a class not included along with my CM9 or Samsung stock roms. The class appears to be called "android.os.UpdateLock". So how do I go about ripping the class out of the Nexus Q rom and injecting it into CM9? Any help would be very appreciated!$!
--------------------------------------------------------------------
Hello All,
The Project
I'm looking to embark on a project to rip out the cloud function from the Q and install it on any android device. I want the cloud streaming of "Google" music and movies without the $300 expense.
The Progress
As of today I have the Nexus Q Deodexed, ripped out several apk files including the Nexus Q "Launcher" HubBroker.apk. I've merged the apks along with the fonts and lib folders of /system and my Galaxy Tab now boots up and runs like a Q. Primary issue outstanding is, the Nexus Q app won't detect the "galaxy Q" through bluetooth. I assume that some functions of the Q are sitting either within the bluetooth libs or that the Nexus Q has a specific bluetooth address that the app needs to see before detection.
My next attempt will be to try taking apart the Nexus Q apk and either changing its bluetooth search criteria or removing it completely. Second to that if anyone out there has a Q and has it setup on their phone, I could use the /data/data folder to extract more information about how it works. Or even better if someone knows what config file is generated on the actual nexus Q when it's set up for that first time.
You can already do that on most android devices. The Q just takes it to the big screen conveniently.
The function of being able to control the Google queue of device A from device B, C, D etc does not exist. Or at least I'm not aware of an app that does that.
I believe that I've tracked down the apk that does it on the nexus but I need to deodex the apps and can't seem to find a tool that works. Anyone out there deodex this rom yet?
JoeJonnyBoy75 said:
Hello All,
The Project
I'm looking to embark on a project to rip out the cloud function from the Q and install it on any android device. I want the cloud streaming of "Google" music and movies without the $300 expense.
The Progress
As of today I have the Nexus Q Deodexed, ripped out several apk files including the Nexus Q "Launcher" HubBroker.apk. I've merged the apks along with the fonts and lib folders of /system and my Galaxy Tab now boots up and runs like a Q. Primary issue outstanding is, the Nexus Q app won't detect the "galaxy Q" through bluetooth. I assume that some functions of the Q are sitting either within the bluetooth libs or that the Nexus Q has a specific bluetooth address that the app needs to see before detection.
My next attempt will be to try taking apart the Nexus Q apk and either changing its bluetooth search criteria or removing it completely. Second to that if anyone out there has a Q and has it setup on their phone, I could use the /data/data folder to extract more information about how it works. Or even better if someone knows what config file is generated on the actual nexus Q when it's set up for that first time.
Click to expand...
Click to collapse
This is a pretty nice project and there is nothing like this happening in Android now, besides the nexus Q. I'd like to see a future port of it to Google TV devices
auad said:
I'd like to see a future port of it to Google TV devices
Click to expand...
Click to collapse
Would love to have this functionality in an APK for me Google TV. Don't see why it wouldn't work, well other then no bluetooth on the Revue....
Still very interested in this thread regardless of GTV. I will be following your progress. Thanks!
.
I'm looking for this as well.
I have 3 spare HTC EVO's, and they all have HDMI out. I would like to be able to just plug them into the TV and use my other phones to control them / play music / etc. Maybe even throw XBMC on them with the ability to control from another phone..
They're slower, and less memory..but it may be doable.
Did anyone dig into this? I'd like this for the latest port of Android for a Raspberry Pi and willing to do some of the (noob)stuff myself.
That would be awesome to use any HDMI equipped phone along with the Nexus Q functionalities. I'm really interested.
I guess the problem with the missing API is that the Nexus Q runs android JB and he tried with a cm9.
Vettekult said:
I guess the problem with the missing API is that the Nexus Q runs android JB and he tried with a cm9.
Click to expand...
Click to collapse
Not true, Q runs ICS...
Let me know...
what I can do to help. If you give me a run down on what you would like me to try as far as pulling files from the q or my connected devices just shoot me a PM and i'll give it a shot. I too would love to add this functionality to my spare devices laying around.
I've been interested in this since day one as well. IT is what has me almost ready to fork out the money on more then one occasion. I have a party coming up and it would be fun to have my N7 as the Jukebox.
The Class issue, I'm not sure about. Here is some info that might get it started.: http://www.itcsolutions.eu/2011/08/...te-a-new-activity-class-with-manifest-editor/
AND:
http://stackoverflow.com/questions/5012004/adding-a-new-class-to-android-project
It looks like it is something created with the app. Since you cut/pasted the apk into system it may not have been installed. But I'm thinking that it is something else. Some where in the android system lib's it is probably installed. Since this was a device dedicated to this purpose, they were able to install it into the system and the app calls it. I'm slowly learning to write apps (very slowly) so I am not sure beyond this, or even about this for that matter.
I do have a question. It looks like you pulled some system apps and put them in your galaxy tablet. I think a better test would be to basically replace all the /system contents of say a N7 (galaxy tab may work) with those from the Q. Then once it works, cut down the files until it stops. Then with a list of what is needed to make it work we could get down to the nitty gritty.
My guess is some more knowledgeable devs, like those who got Google Now working, would have a better idea.
I'd love to see a third party app do the jukebox function, I think a issue is license certificate (DRM) for the multiple users. I don't understand how the user is associated/authenticated for the music. One Question is if a user Ques up music then leaves does it cause that music to not be able to be played or will it still play once it's been que'd? My guess is the app just organizes the music/user who is next then when it's their turn it streams from their device in real time... but I'm really not sure about this.
joeavery2 said:
I've been interested in this since day one as well. IT is what has me almost ready to fork out the money on more then one occasion. I have a party coming up and it would be fun to have my N7 as the Jukebox.
The Class issue, I'm not sure about. Here is some info that might get it started.: http://www.itcsolutions.eu/2011/08/...te-a-new-activity-class-with-manifest-editor/
AND:
http://stackoverflow.com/questions/5012004/adding-a-new-class-to-android-project
It looks like it is something created with the app. Since you cut/pasted the apk into system it may not have been installed. But I'm thinking that it is something else. Some where in the android system lib's it is probably installed. Since this was a device dedicated to this purpose, they were able to install it into the system and the app calls it. I'm slowly learning to write apps (very slowly) so I am not sure beyond this, or even about this for that matter.
I do have a question. It looks like you pulled some system apps and put them in your galaxy tablet. I think a better test would be to basically replace all the /system contents of say a N7 (galaxy tab may work) with those from the Q. Then once it works, cut down the files until it stops. Then with a list of what is needed to make it work we could get down to the nitty gritty.
My guess is some more knowledgeable devs, like those who got Google Now working, would have a better idea.
I'd love to see a third party app do the jukebox function, I think a issue is license certificate (DRM) for the multiple users. I don't understand how the user is associated/authenticated for the music. One Question is if a user Ques up music then leaves does it cause that music to not be able to be played or will it still play once it's been que'd? My guess is the app just organizes the music/user who is next then when it's their turn it streams from their device in real time... but I'm really not sure about this.
Click to expand...
Click to collapse
Ok so here is some more detailed info for those of you still following the project.
HubBroker.apk is the app that is for all intents and purposes the "launcher" for the nexus Q. It will install on the Galaxy Tab and Nexus 7. It takes over your "home" and replaces it with a picture of the Nexus Q and a welcome sign. This app looks to be only the launcher as it doesn't do anything if you tap on it. Also having the app running doesn't allow the Nexus Q app (from your phone) to find the device.
So I assume that that the Q is controlled via bluetooth to get it setup and running. Including configuring the Wifi, network settings, etc. Oddly enough the app does send a request to android system to turn on the bluetooth and changes the bluetooth device name to Nexus Q.... The ... part is a odd string of characters that I assume is used in case you happen to have multiple Nexus Q's.
Now as just having the app doesn't seem to work (Phone finding the Q). I've replaced all the bluetooth libs with the ones from the Q. Still nothing. I've migrated all the other APK files and then I get FCs all over, and still no connection. I haven't tried replacing the whole system yet, but I assume the hardware differences would be to great. The only other piece of the puzzle I have yet to attempt it merging the kernels or at least the init parts of the kernel relating to bluetooth.
If you have any questions though let me know. I've been up and down this thing.
Why don't we just flash the img on an old phone and see if that works?
zAo_ said:
Why don't we just flash the img on an old phone and see if that works?
Click to expand...
Click to collapse
For that to work we'd need to get a device with similar hardware (CPU, Chipset, etc.) Not only that but it would need to have the same MTD setup unless I'm mistaken.
Actually I'm going to give that a try with the nexus 7. I'll let you know what happens, won't be till tonight though.
JoeJonnyBoy75 said:
For that to work we'd need to get a device with similar hardware (CPU, Chipset, etc.) Not only that but it would need to have the same MTD setup unless I'm mistaken.
Actually I'm going to give that a try with the nexus 7. I'll let you know what happens, won't be till tonight though.
Click to expand...
Click to collapse
Cool, Thanks.
Sent from my Galaxy Nexus using xda premium
JoeJonnyBoy75 said:
For that to work we'd need to get a device with similar hardware (CPU, Chipset, etc.) Not only that but it would need to have the same MTD setup unless I'm mistaken.
Actually I'm going to give that a try with the nexus 7. I'll let you know what happens, won't be till tonight though.
Click to expand...
Click to collapse
Galaxy nexus has very similar hardware. Someone should try porting it.
Sent from my Nexus 7 using xda premium
If someone still interested in the project, i'm very interested in it, i have a galaxy nexus (almost same hardware) so we can give it a try, im also a android developer, so if it need to build some apk for it to work, i could give a shot.
Anyway, if there is someone interested just post here and we do all we can to make that work.
edit: Only one problem, as I'm out of USA, i need the q apk to test if it will connect or not. I cant download from play store.
I'm sure there will be so many people interested in it. I just think that not to many of them enter this category on forum
I also need the nexus q image so I can flash it. I tried searching it but didnt find

[Q] [ROM][PORTING] - External SD Card and other anomalies, advice welcome.

Anyone that has ported a few roms before, specifcally from a similar architecture, in this case from another Qualcomm Snapdragon S4 to our LGOG from Nexus4 and Nexus7 (2013) {edit. or GalaxyS3}. They are both spot on as far as similar but for the life of me every generic porting guide is written with great intentions and horrible follow-through.
What files for our device specifically control each part of our phone in the ROM .Zip? Especially for External SD working, and anything else off hand you feel like mentioning from experience.
Lastly, any differences porting from 4.2.2 to 4.2.2 vs 4.3 to 4.3?
Thank you in advance.
I've been trying push illusion rom over from the nexus 4 source, after 10+ mostly working attempts I started changing multiple variables at once, purposely dirty flashing over slim-bean because it left some residual files, removing the format /sdcard part from the updater-script of illusion to piggy back off of slim. Somewhere in the midst of this I actually had the External SD show up in storage settings, FINALLY. But by that point I started getting lots of FC's on the launchers and just about every app. Prior to that my main bug was that I couldn't control brightness, it was stuck on 100%. Somewhere in the middle of screwing with fstab's and the 4.2 exfat patch I could read the external card from the symlinks but it wouldn't show under storage or MTP/USB, only internal.
I'm going to have another go from 4.3 base to 4.3 from scratch. Feel free to chime in with anything.
It is fairly easy to go from n4 device repo to our repo. If you want to see what others do, just look at someone else's Repo's. I have my tree for aosp here, which is a basic n4 -> lgog fix, with a few hacks for unsupported things in aosp like button backlights: https://github.com/jbott/aosp_android_device_lge_geeb_att_us/commits/jb-mr2-dev
Not the cleanest thing, but shows what basically needs to be done.
I find dvhexer also keeps fairly clean repos that are easy to follow, if you want to check his out.
EDIT: Now I see that you mean literal porting directly. I would recommend building from scratch, even from a device as similar as the n4. It is not hard to do once you understand the basics. I actually find it is often easier than porting manually because the source layout makes sense. I believe the sdcard / mtp stuff is in framework-res as storage_list.xml though. It should match that in the overlay directory of my repo to work correctly.
Sent from my LG Optimus G using xda app-developers app
SnowLeopardJB said:
It is fairly easy to go from n4 device repo to our repo. If you want to see what others do, just look at someone else's Repo's. I have my tree for aosp here, which is a basic n4 -> lgog fix, with a few hacks for unsupported things in aosp like button backlights: https://github.com/jbott/aosp_android_device_lge_geeb_att_us/commits/jb-mr2-dev
Not the cleanest thing, but shows what basically needs to be done.
I find dvhexer also keeps fairly clean repos that are easy to follow, if you want to check his out.
EDIT: Now I see that you mean literal porting directly. I would recommend building from scratch, even from a device as similar as the n4. It is not hard to do once you understand the basics. I actually find it is often easier than porting manually because the source layout makes sense. I believe the sdcard / mtp stuff is in framework-res as storage_list.xml though. It should match that in the overlay directory of my repo to work correctly.
Sent from my LG Optimus G using xda app-developers app
Click to expand...
Click to collapse
I agree, I actually like reading through the source, and I have a good copy of ubuntu plus vm software, or I could dual boot, but unless you have explicit instructions on how to download the absolute minimum amount of data to compile from two different sources, I don't want to attempt it with this free hotel wifi. As it stands now I have more than one wifi card connected at the same time and a python script always running in the background changing the metric for my adapters, as each connection is limited to about 97KB/sec.
Does git know to sync across multiple interfaces? might not be too bad if it does.
Otherwise thanks for the link, reading that side by side with the MAKO source from googlesource.com you are correct about the location in frameworks. I'm pretty sure I can split that apart with an APK explorer and make the adjustments without breaking the rest of the rom(s).

[ROM][Development] Started work on G530W CM 12.1 Custom ROM

EDIT: Please direct any development questions, queries, etc. to the new thread in the Development Forum, concerning all development-y things.
http://forum.xda-developers.com/grand-prime/development/unofficial-cyanogenmod-12-1-g530w-t3424761
============================================================
I've recently started working on a custom ROM for the Samsung Grand Prime G530W [gprimeltevl/gprimeltecan], and so far I have built a somewhat working ROM (without any radio/wireless capability or audio for now).
If there is interest in this project (which I think there is; the lack of any kind of love shown for the G530W is annoying), I'll continue hacking away at it until I (hopefully) have a working ROM.
I'm new to Android ROM building in general, and there have been several bumps along the way, so any help would be appreciated.
Thanks.
I will be uploading images daily to my Drive storage, in folders named by date (if the date today is not there, then the image had not been built or uploaded yet), and will be compressing the system.tar images with either gzip or xz to reduce the image size.
I will also be updating this area with issues and fixes as necessary.
What I have managed to get working so far (23/07/2016)
Limited mobile connectivity [ sending/receiving texts ].
- Calls can be received or made but there is no audio (speaker or microphone).
- Mobile data is not working.
- Currently the system does not show the mobile connection as active, but texts can still be sent and received.
Bluetooth is working
Audio is working (microphone, speaker)
Multimedia playback working
GPS is working
Wifi is working
Screen brightness controls working
Sensors are working (magnetic, rotation/gyro,proximity)
App installation is now working
Camera is kinda working - only back camera works, and the image is distorted.
Issues
Radio [ modem ] is not working properly
NFC is not working
MTP is not working
Cameras are not working
Here is a link to the system.tar, boot.tar and recovery.tar flashable by ODIN or fastboot (when unpacked).
https://drive.google.com/open?id=0B-bYwctD_MoDaWJGcUQ4eWtzRTQ
Project GitHub Repositories:
https://github.com/vince2678/android_device_samsung_gprimeltecan
https://github.com/vince2678/android_vendor_samsung_gprimeltecan
If there are any other issues I missed, let me know.
Great effort
vince2678 said:
I managed to compile and get an image working for the G530W.
What I have managed to get working so far
Bluetooth is working
Audio is working (microphone, speaker)
Multimedia playback working
GPS is working
Sensors are working (magnetic, rotation/gyro,proximity)
Issues
Device fails to unlock and heats up [only once, so far]
Wifi is not working
Radio [ modem ] is not working
User interface crashes periodically
Screen brightness controls not working
MTP is not working
Cameras are not working
Here is a link to the system.tar, boot.tar and recovery.tar flashable by ODIN or fastboot (when unpacked).
https://drive.google.com/folderview?id=0B-bYwctD_MoDVzd0eS1aaDV6RW8&usp=sharing
I'll be working at it to get at least the Wifi working, if there are any other issues I missed, let me know.
Click to expand...
Click to collapse
Good work so far!
I recently purchased a g530w and I would love to boot the stock ROM.
However, I am still busy researching and reading up on this device before I attempt to flash anything. Actually, I did create an update zip file to remove Skype and tried applying it while not rooted but it failed because it was not properly signed.
Anyway, I will watch your progress with keen interest!
Zippy Dufus said:
Good work so far!
I recently purchased a g530w and I would love to boot the stock ROM.
However, I am still busy researching and reading up on this device before I attempt to flash anything. Actually, I did create an update zip file to remove Skype and tried applying it while not rooted but it failed because it was not properly signed.
Anyway, I will watch your progress with keen interest!
Click to expand...
Click to collapse
Sounds interesting. Did you try rooting your phone and using Link2SSD to remove the app(s)? It works pretty well, and you don't have to go through the whole effort of packing and unpacking the ROM.
vince2678 said:
Sounds interesting. Did you try rooting your phone and using Link2SSD to remove the app(s)? It works pretty well, and you don't have to go through the whole effort of packing and unpacking the ROM.
Click to expand...
Click to collapse
Here's my plan for my new phone:
Reading and research (in progress)
Setting up Odin on a virtual machine (I am a Linux user) and testing a restore of the stock ROM. Do you have a good link to such a ROM? I briefly looked at http://www.sammobile.com/firmwares/ and this site looks a little sketchy to me.
Root the device. I believe the method described in this G530T thread has worked for our G530W.
Debloat the crapware. Surprisingly, there is not all that much on the device - mostly some Micro$oft crap, Skype, and an old, old version of Chrome which I cannot uninstall. As root, I'll just go in and delete the unwanted stuff from /system/app using a terminal emulator.
Once it get this far, I can probably live with stock Lollipop. Question, if you are learning how to port a ROM, have you considered starting with Marshmallow? I'm keen to move up.
Build the ROM myself and then attempt to build it with my Linaro toolchain which I built from scratch myself.
Questions, with what you know so far, will the G530H ROM in this thread work on our phone? Is this what you started from? What differences between the 2 devices what preclude it from working on ours - different hardware? software - i.e. different bootloader?, etc?
Zippy Dufus said:
Here's my plan for my new phone:
Reading and research (in progress)
Setting up Odin on a virtual machine (I am a Linux user) and testing a restore of the stock ROM. Do you have a good link to such a ROM? I briefly looked at http://www.sammobile.com/firmwares/ and this site looks a little sketchy to me.
Root the device. I believe the method described in this G530T thread has worked for our G530W.
Debloat the crapware. Surprisingly, there is not all that much on the device - mostly some Micro$oft crap, Skype, and an old, old version of Chrome which I cannot uninstall. As root, I'll just go in and delete the unwanted stuff from /system/app using a terminal emulator.
Once it get this far, I can probably live with stock Lollipop. Question, if you are learning how to port a ROM, have you considered starting with Marshmallow? I'm keen to move up.
Build the ROM myself and then attempt to build it with my Linaro toolchain which I built from scratch myself.
Questions, with what you know so far, will the G530H ROM in this thread work on our phone? Is this what you started from? What differences between the 2 devices what preclude it from working on ours - different hardware? software - i.e. different bootloader?, etc?
Click to expand...
Click to collapse
Hey Zippy,
That sounds like a good idea.
That website does seem kinda sketchy, and their downloads take millenia, but it's the only option available and their images actually work (just make sure to get the correct one).
Setting up a virtual machine is a good idea, because heimdall doesn't work with this device and I'm not keen on bricking my device trying to force it.
Rebooting between builds to test firmwares because of a lack of a good recovery was becoming a pain. (CyanogenMod Recovery is still missing critical features but it's better than stock).
You can use CF-Auto-Root to root the device (so simple) at:
https://download.chainfire.eu/774/C...uto-Root-gprimeltecan-gprimeltevl-smg530w.zip
Yup, debloating is good, i wanted to do so at first but I wanted to be done away with KNOX and have an su binary which worked flawlessly for good so I decided to start from scratch.
I've considered starting from M, but that will be a task for later. It is troublesome to start from a fimware above what your device is at when you're porting, because the vendor libraries and binaries you copy might not work in the newer version of Android because of linking errors.
You can copy the binaries fine but obscure errors due to missing references will pop up in the logs which will stop the modules from loading or binaries from running.
I'm having these issues with a build ID that is just a few apart from the one used on the stock ROM - LMY49J on the cm build versus LMY47X on the stock).
My Git repos are above - you can get yourself a cm12.1 source tree, pull my device_ and vendor_ trees, pull proprietary files using the scripts in the vendor tree, build from source and then flash the resultant images to your device.
The G530H ROM might, in theory flash without issue and actually boot, but whether it will be usable is another thing.
The thing that differs between the devices, as far as I'm aware, is mostly the baseband, some other device hardware (e.g the G530W has 1.5GB RAM instead of 1GB as most G530 devices), and the device bootloader. As such, the kernels and modules used might differ slightly in terms of modules compiled in, even though they're built from the same kernel source.
And yes, indeed, I started from a G530 device and vendor tree, though whether it was that one, or perhaps one for the G530FZ, I don't remember (though I think it's the G530FZ, it's the device closest to the G530W).
Finally something for this variant, I've been waiting for ages. Huge thumbs up dude, from a thankful Canadian. I don't use this phone as my daily driver so I'll be flashing this without delay. Mind if I trouble you for the order of operations? I've never used Odin to flash a custom ROM before.
Some more questions ...
Hi again @vince2678, I have more questions:
Do you have a local_manifest.xml that drives your build? ... I have a single-purpose Fedora24 virtual machine which I use to build android ROMs.
Does your build actually produce a CM12.1 zip installation package? ... And do you simply harvest the system.img, etc afterwards to put into a flashable this tar file?
What is the command line that do you use to create the flashable tar files? ... I'm just curious.
What version of the firmware does your device have? ... Mine has G530WVLU1AOFB. Apparently, this is the Tanzanian version! WTF? I purchased my phone from a Costco in Oakville, Ontario, Canada. It was purported to be unlocked for all Canadian carriers. My carrier is Virgin Mobile (owned by Bell) and it works fine. But, my understanding is that device actually locks to your SIM card upon first use so you can't use it for other SIM cards, but I haven't proven this yet. BTW, I got over half of the stock ROM DL'ed from SamMobile before it stopped due to a "network error". Yeah right! I'll try again later.
Have you (or are you) cherry-picking patches from the G530H CM12.1 ROM? ... android_device_samsung_fortuna3g I suggest DL'ing their key files and comparing them to yours. They appear to be in the final exhilarating phase of perfecting their ROM.
So you have totally removed the KNOX software without in deleterious consequences? ... I thought that I read in an XDA thread where somebody did this and then had issues such as connecting to WIFI, etc. It appeared that there may be a dependency in the BIOS.
Did you trip the KNOX e-fuse hence void the warranty? ... Not that I care about the warranty, I only worry about bricking the device.
Unlike @Pbotelho, this is my daily driver so I will be proceeding slowly and cautiously and look forward to his experience flashing it.
Pbotelho said:
Finally something for this variant, I've been waiting for ages. Huge thumbs up dude, from a thankful Canadian. I don't use this phone as my daily driver so I'll be flashing this without delay. Mind if I trouble you for the order of operations? I've never used Odin to flash a custom ROM before.
Click to expand...
Click to collapse
Hi Pbotelho, thanks man. You will have to enable Developer Mode on your phone and unlock the bootloader from the settings. I don't remember what exactly in the settings that option is, but it should be in the Debugging area for sure.
Once done, reboot into Download Mode [Press Power+Volume Down+Home].
Once you've done that, grab the boot.tar, system.tar.xz and recovery.tar from the links above. Extract the system.tar.xz with 7zip or `xz -d system.tar.xz` if under Linux to get a system.tar file, and flash the recovery, boot, and system, one after the other, in whatever order, by booting into download mode as soon as it is done flashing a file.
You will need to wipe your cache and data partitions, which can be done by rebooting into recovery [Power+Volume Up+Home].
The button options are built into the hardware so they can be used at any point after the phone is on.
When all that is done, you can report any problems here [or on the github page] and post logcats and I'll look at them if there's any issue I've missed.
Zippy Dufus said:
Hi again @vince2678, I have more questions:
Do you have a local_manifest.xml that drives your build? ... I have a single-purpose Fedora24 virtual machine which I use to build android ROMs.
Does your build actually produce a CM12.1 zip installation package? ... And do you simply harvest the system.img, etc afterwards to put into a flashable this tar file?
What is the command line that do you use to create the flashable tar files? ... I'm just curious.
What version of the firmware does your device have? ... Mine has G530WVLU1AOFB. Apparently, this is the Tanzanian version! WTF? I purchased my phone from a Costco in Oakville, Ontario, Canada. It was purported to be unlocked for all Canadian carriers. My carrier is Virgin Mobile (owned by Bell) and it works fine. But, my understanding is that device actually locks to your SIM card upon first use so you can't use it for other SIM cards, but I haven't proven this yet. BTW, I got over half of the stock ROM DL'ed from SamMobile before it stopped due to a "network error". Yeah right! I'll try again later.
Have you (or are you) cherry-picking patches from the G530H CM12.1 ROM? ... android_device_samsung_fortuna3g I suggest DL'ing their key files and comparing them to yours. They appear to be in the final exhilarating phase of perfecting their ROM.
So you have totally removed the KNOX software without in deleterious consequences? ... I thought that I read in an XDA thread where somebody did this and then had issues such as connecting to WIFI, etc. It appeared that there may be a dependency in the BIOS.
Did you trip the KNOX e-fuse hence void the warranty? ... Not that I care about the warranty, I only worry about bricking the device.
Unlike @Pbotelho, this is my daily driver so I will be proceeding slowly and cautiously and look forward to his experience flashing it.
Click to expand...
Click to collapse
Hi Zippy,
I do not have a local_manifest, if you want you can just manually pull the device and vendor trees into your build area, or you can make one yourself if you wish.
I will probably make one though, because the build has dependencies on some qcom sources.
I just use 'make -j8' to build everything, though you can use 'make otapackage' to build a flashable zip [You'll need the CMR recovery from here though, the images can't be flashed by stock recovery]
For creating flashable tar files, you can just use `tar`. You don't need to make .md5 verifiable archives, those are just to ensure a download wasn't corrupted [I provide md5sums for checking].
The system.img in the output directory will have to be renamed to 'system.img.ext4' and then archived, as so:
Code:
cd out/target/product/gprimeltecan
ln system.img system.img.ext4
tar cf system.tar system.img.ext4
tar cf boot.tar boot.img
tar cf recovery.tar recovery.img
Then you can move the files wherever and flash them with Odin.
Yes the gprimeltevl/gprimeltecan baseband is indeed G530WVLU1AOFB, though this should work with all G530WXXXXXXXs (not sure how many different ones are out there].
I'm not sure about the SIM locking thing, I cannot confirm this, someone might have to try to check.
I did consider sourcing from that repository, though ultimately i ended up using another one [I don't remember the name]. I might take a look at their source to see what I can do about mine though.
I did trip KNOX, though that was back when I was still trying to root my phone with CF-Root, so I'm not sure if flashing this will trip KNOX. And yes, KNOX is completely gone from this device, with no problems from the phone.
vince2678 said:
Hi Pbotelho, thanks man. You will have to enable Developer Mode on your phone and unlock the bootloader from the settings. I don't remember what exactly in the settings that option is, but it should be in the Debugging area for sure.
Once done, reboot into Download Mode [Press Power+Volume Down+Home].
Once you've done that, grab the boot.tar, system.tar.xz and recovery.tar from the links above. Extract the system.tar.xz with 7zip or `xz -d system.tar.xz` if under Linux to get a system.tar file, and flash the recovery, boot, and system, one after the other, in whatever order, by booting into download mode as soon as it is done flashing a file.
You will need to wipe your cache and data partitions, which can be done by rebooting into recovery [Power+Volume Up+Home].
The button options are built into the hardware so they can be used at any point after the phone is on.
When all that is done, you can report any problems here [or on the github page] and post logcats and I'll look at them if there's any issue I've missed.
Click to expand...
Click to collapse
I got impatient with it so I took a gamble and inferred with some background knowledge. Got it up and running several hours ago. Performance wise, it seems dead on perfect. There's no lag, no force closing of apps. Everything runs as snappy as it should. Its fast as f***. Now I even installed xposed framework and added in a few modules, one of those being the Android N-ify project, and it works really well with it, so kudos on this area. I'll be sure to uninstall xposed when it comes to error reporting and logcats.
The only issues I'm seeing besides the ones you've already outlined are graphical in nature. I'm not home at the moment but I'll upload some logcats when I get the chance.
1) What I'm seeing is a blackout out lock screen. I have a theme installed and used it to apply a custom lock wallpaper to test this out. The wallpaper only shows once you've accessed the Pattern input by swiping up. Haven't tried it with a pin. If you're only using swipe, it'll stay black until unlocked.
2) When unlocked and swiping down to access the notifications panel and quick settings, the same blackout effect is present. This is present only while you're looking at your notifications or tiles, and returns to normal when swiped back up.
3) The first half of this part is only noticed when using the material glass theme. When swiping down to access the notification panel without notifications, the "no notifications" text will be present as it should be, however, when swiped down again to access the quicksettings tiles, the "no notifications" text isn't cleared away. It sits behind the brightness slider. This isn't noticeable on the stock theme because its opaque, while material glass features transparency as their main selling card. If using the battery saver, the text from this persistent notification will appear instead.
Edit: Upon further analysis, it seems that the notification content is linked to the bottom of the header instead of the bottom of the quicksettings tiles, and that's why it works this way. When expanding or shrinking the header, the notification also moves directly with it.
Second half: whether on the stock theme or not, the "no notifications" text will continue to stick and be viewable on the lockscreen, retaining its position that is viewed in the notification panel. It sits directly above the clock. The persistent battery saver notification works the same way. I'm no expert, but I believe that since the notification panel and lockscreen both go to black, that this might be linked in some way.
4) Sometimes when using the stock theme and toggling options in the quick settings tiles, it'll glitch out and turn into what I can only describe as a zombie menu. The pixels of the status bar are replaced by that proportionate area of the quick settings menu, and when swiping down to use the menu, access is disabled (it can't be touched) and it closes itself when attempted. Only way I've been able to fix it was to toggle the theme to material glass and all was restored, still subject to the above three points.
Edit: 5) when using kernel adiutor to try to adjust the CPU frequencies, the only option that comes up for both minimum and maximum is 0MHz. The button seems to work as well, bringing the clock max speed down to 0 for a split second before it reverts to a a maximum of 200MHz. Adjusting the governor after the fact won't restore the maximum, seems only a reboot will get it done. I'm slightly amazed to be honest as before on Touchwiz, it was impossible to get it to hold onto a lower maximum. It would jump all over the place as it pleased.
Edit: 6) The recents hardware button is disabled. Touching it, holding it, nor double tapping brings up a function. It also isn't present in settings when trying to map the button functions. Its the only one that's missing. Power, home, back, and volume are all there.
That's all I got for the moment, I tried to be as descriptive as possible as I won't be able to get the logcats up for awhile. Let me know if you have any questions about what I've said here.
And also, are you taking feature requests?
Pbotelho said:
I got impatient with it so I took a gamble and inferred with some background knowledge. Got it up and running several hours ago. Performance wise, it seems dead on perfect. There's no lag, no force closing of apps. Everything runs as snappy as it should. Its fast as f***. Now I even installed xposed framework and added in a few modules, one of those being the Android N-ify project, and it works really well with it, so kudos on this area. I'll be sure to uninstall xposed when it comes to error reporting and logcats.
The only issues I'm seeing besides the ones you've already outlined are graphical in nature. I'm not home at the moment but I'll upload some logcats when I get the chance.
1) What I'm seeing is a blackout out lock screen. I have a theme installed and used it to apply a custom lock wallpaper to test this out. The wallpaper only shows once you've accessed the Pattern input by swiping up. Haven't tried it with a pin. If you're only using swipe, it'll stay black until unlocked.
2) When unlocked and swiping down to access the notifications panel and quick settings, the same blackout effect is present. This is present only while you're looking at your notifications or tiles, and returns to normal when swiped back up.
3) The first half of this part is only noticed when using the material glass theme. When swiping down to access the notification panel without notifications, the "no notifications" text will be present as it should be, however, when swiped down again to access the quicksettings tiles, the "no notifications" text isn't cleared away. It sits behind the brightness slider. This isn't noticeable on the stock theme because its opaque, while material glass features transparency as their main selling card. If using the battery saver, the text from this persistent notification will appear instead.
Click to expand...
Click to collapse
Hi Pbotelho,
I'll try to answer everything as completely as I can.
The blackout lock screen thing seems to be an issue with Trebuchet. I found that using a different lock screen app solves this issue.
As for the blackout on the notification area, I'm not sure what exactly is causing this, though I think this may be a problem with the cm-12.1 source and not necessarily the device port itself.
Second half: whether on the stock theme or not, the "no notifications" text will continue to stick and be viewable on the lockscreen, retaining its position that is viewed in the notification panel. It sits directly above the clock. The persistent battery saver notification works the same way. I'm no expert, but I believe that since the notification panel and lockscreen both go to black, that this might be linked in some way.
Click to expand...
Click to collapse
This seems to be an issue with Trebuchet again, and using a different lock application fixes this.
Sometimes when using the stock theme and toggling options in the quick settings tiles, it'll glitch out and turn into what I can only describe as a zombie menu. The pixels of the status bar are replaced by that proportionate area of the quick settings menu, and when swiping down to use the menu, access is disabled (it can't be touched) and it closes itself when attempted. Only way I've been able to fix it was to toggle the theme to material glass and all was restored, still subject to the above three points.
Click to expand...
Click to collapse
I'm aware of this one, for now you can fix this by disabling Brightness Control in the settings ( Settings->Status Bar->Brightness Control).
This again might be an issue with the cm-12.1 source, though it'll need some checking to confirm.
Edit: when using kernel adiutor to try to adjust the CPU frequencies, the only option that comes up for both minimum and maximum is 0MHz. The button seems to work as well, bringing the clock max speed down to 0 for a split second before it reverts to a a maximum of 200MHz. Adjusting the governor after the fact won't restore the maximum, seems only a reboot will get it done. I'm slightly amazed to be honest as before on Touchwiz, it was impossible to get it to hold onto a lower maximum. It would jump all over the place as it pleased.
Click to expand...
Click to collapse
I'm using Kernel Adiutor and frequency setting is fine. Did you try using a tunable governor like interactive? That may be the issue.
Edit: 6) The recents hardware button is disabled. Touching it, holding it, nor double tapping brings up a function. It also isn't present in settings when trying to map the button functions. Its the only one that's missing. Power, home, back, and volume are all there.
Click to expand...
Click to collapse
I'm aware of this, you can blame this on my bad arithmetic skills . I had set the wrong bit field mask for the button settings in the device frameworks.
I'll be pushing a fix addressing this shortly.
And also, are you taking feature requests?
Click to expand...
Click to collapse
That depends on what the features are, if they're reasonable and within my capabilities, then yeah .
PS: I would appreciate any help I can get, and if you have any coding skills and time to compile builds, you can help me polish up the device port.
Thanks!
vince2678 said:
Hi Pbotelho,
I'll try to answer everything as completely as I can.
The blackout lock screen thing seems to be an issue with Trebuchet. I found that using a different lock screen app solves this issue.
As for the blackout on the notification area, I'm not sure what exactly is causing this, though I think this may be a problem with the cm-12.1 source and not necessarily the device port itself.
This seems to be an issue with Trebuchet again, and using a different lock application fixes this.
I'm aware of this one, for now you can fix this by disabling Brightness Control in the settings ( Settings->Status Bar->Brightness Control).
This again might be an issue with the cm-12.1 source, though it'll need some checking to confirm.
I'm using Kernel Adiutor and frequency setting is fine. Did you try using a tunable governor like interactive? That may be the issue.
I'm aware of this, you can blame this on my bad arithmetic skills . I had set the wrong bit field mask for the button settings in the device frameworks.
I'll be pushing a fix addressing this shortly.
That depends on what the features are, if they're reasonable and within my capabilities, then yeah .
PS: I would appreciate any help I can get, and if you have any coding skills and time to compile builds, you can help me polish up the device port.
Thanks!
Click to expand...
Click to collapse
1) Aww man I love using Trebuchet, I like to keep my install as small as possible so I'm not one for installing additional apps. I'm a resource junkie though, so its just a matter of personal preference.
2) Again, I'm not an expert, but I suspect it might be the device port. Previously, I've had an unofficial version of CM12.1 installed on a Galaxy Tab 3 as well as a CM12.1 based Pac-rom installed on a Galaxy S4. I'm not sure if this is something those developers corrected on their own or not when building their ROMs, so it could be the source. That's the best of my knowledge on the topic.
3) Will do for the brightness slider, but again, it isn't something I experienced on the other devices with CM12.1 and the sister project.
4) Yeah I played around with the governors and tried all of them. They all list 0MHz as the only option. Maybe its a CPU hotplug issue? I didn't try playing around with those so I'll have to get back to you on that one.
5) Look forward to the update I have a question regarding it though. I'm really familiar with updating custom ROMs through recovery using the zip file format, but this is the first time I'm using Odin to do the job. Will flashing an update with Odin this way cause a factory reset? Or will it update as expected?
6) A couple more graphical hiccups I remembered. The blackout also happens when going to About Phone>Status. In About Phone, the device field says unknown (doesn't bother me, I just don't know if its significant or not), the illumination for the hardware buttons isn't working (I usually keep them off to save battery anyways, but someone out there probably uses it). And finally, when switching recents by holding the home button, only the title bars of the individual apps are viewable. The content of the windows themselves is completely transparent so it looks like a series of floating title bars.
(Apologies if some of these features are already included, I didn't get the opportunity to check, I just think they're awesome)
Feature requests:
1) When phone is off and charging, percentage is displayed inside battery symbol.
2) CPU and GPU undervolting built into the kernel. These custom ROMs are much better than the stock ROM in terms of functionality, but the battery life on the stock Samsung experience is no joke.
3) If possible, more steps for CPU frequency adjustments, every 100MHz or so. I remember the stock ROM had limited options. My S4 is the example I'm going to use here, it has a step for every 108MHz.
4) USB fast charging, aka setting USB to "charge only".
5) Wakelock Blocker. Its built into the latest Resurrection Remix for the S4, not sure if that could be of viable use to you. It'll certainly help out with battery improvements.
6) Boot Manager. Decide which apps get to start at boot. Its built into Marshmallow and an xposed module also exists for this purpose, so really low priority on this one, for me at least.
7) This one is a doozy. Absolutely the one I care most about, but most likely asking for too much. USB tethering. Already exists, I know, but not the way I hope it to. I have an old WRT54G router with DD-WRT installed. My goal is basically this: Phone's network connection>USB Tether>Micro-USB-LAN adapter>WAN port of router. In this sense, the phone would be acting as the modem in a regular home network. I know its possible to do this if the router has a USB port, but mine doesn't, and I also know its possible if you have an intermediate device that bridges the connections for you. Like a laptop, PC, or raspberry pi. Cost efficiency as a student is what I'm working towards though, so this one is a wishlist request.
Ps. The only coding skills I have are from high school's Visual Basic and HTML, truly beginner stuff, and that was about 10 years ago. I'm running Ubuntu on a core i5-2500k with 16GB of RAM and about a terabyte of space though, so compiling is definitely a possibility with some instructions.
Pbotelho said:
5) Look forward to the update I have a question regarding it though. I'm really familiar with updating custom ROMs through recovery using the zip file format, but this is the first time I'm using Odin to do the job. Will flashing an update with Odin this way cause a factory reset? Or will it update as expected?
Click to expand...
Click to collapse
Nope, this should be pretty much the same as flashing a zip from recovery. If you modified the system partition though (like by flashing GApps for example) your changes will be lost.
Pbotelho said:
6) A couple more graphical hiccups I remembered. The blackout also happens when going to About Phone>Status. In About Phone, the device field says unknown (doesn't bother me, I just don't know if its significant or not), the illumination for the hardware buttons isn't working (I usually keep them off to save battery anyways, but someone out there probably uses it). And finally, when switching recents by holding the home button, only the title bars of the individual apps are viewable. The content of the windows themselves is completely transparent so it looks like a series of floating title bars.
Click to expand...
Click to collapse
I fixed this in the device tree, once I've built a new image this should be corrected.
Pbotelho said:
(Apologies if some of these features are already included, I didn't get the opportunity to check, I just think they're awesome)
Feature requests:
1) When phone is off and charging, percentage is displayed inside battery symbol.
Click to expand...
Click to collapse
I'll be looking into this one.
Pbotelho said:
2) CPU and GPU undervolting built into the kernel. These custom ROMs are much better than the stock ROM in terms of functionality, but the battery life on the stock Samsung experience is no joke.
Click to expand...
Click to collapse
I'm still using the stock kernel in my builds, once the builds are stable I'll start compiling the kernel from source and I'll see if I can do something about this.
Pbotelho said:
3) If possible, more steps for CPU frequency adjustments, every 100MHz or so. I remember the stock ROM had limited options. My S4 is the example I'm going to use here, it has a step for every 108MHz.
Click to expand...
Click to collapse
According to the configurations, this is already how it is.
PS: I changed the governor under Kernel Adiutor to performance from interactive and switched back, and became unable to change the frequencies (like you were experiencing). I'll need to play around more with this to see why.
Pbotelho said:
4) USB fast charging, aka setting USB to "charge only".
Click to expand...
Click to collapse
This is already available under the Settings->Storage->USB Computer Connection menu
Pbotelho said:
5) Wakelock Blocker. Its built into the latest Resurrection Remix for the S4, not sure if that could be of viable use to you. It'll certainly help out with battery improvements.
6) Boot Manager. Decide which apps get to start at boot. Its built into Marshmallow and an xposed module also exists for this purpose, so really low priority on this one, for me at least.
Click to expand...
Click to collapse
Not sure I could do this, I'll check.
Pbotelho said:
7) This one is a doozy. Absolutely the one I care most about, but most likely asking for too much. USB tethering. Already exists, I know, but not the way I hope it to. I have an old WRT54G router with DD-WRT installed. My goal is basically this: Phone's network connection>USB Tether>Micro-USB-LAN adapter>WAN port of router. In this sense, the phone would be acting as the modem in a regular home network. I know its possible to do this if the router has a USB port, but mine doesn't, and I also know its possible if you have an intermediate device that bridges the connections for you. Like a laptop, PC, or raspberry pi. Cost efficiency as a student is what I'm working towards though, so this one is a wishlist request.
Click to expand...
Click to collapse
I don't quite understand what you mean by this, how does it differ from the normal USB tethering?
Pbotelho said:
Ps. The only coding skills I have are from high school's Visual Basic and HTML, truly beginner stuff, and that was about 10 years ago. I'm running Ubuntu on a core i5-2500k with 16GB of RAM and about a terabyte of space though, so compiling is definitely a possibility with some instructions.
Click to expand...
Click to collapse
If you can't code, that's fine, you could set up a build environment on your computer for creating images from the source.
vince2678 said:
Nope, this should be pretty much the same as flashing a zip from recovery. If you modified the system partition though (like by flashing GApps for example) your changes will be lost.
I fixed this in the device tree, once I've built a new image this should be corrected.
I'll be looking into this one.
I'm still using the stock kernel in my builds, once the builds are stable I'll start compiling the kernel from source and I'll see if I can do something about this.
According to the configurations, this is already how it is.
PS: I changed the governor under Kernel Adiutor to performance from interactive and switched back, and became unable to change the frequencies (like you were experiencing). I'll need to play around more with this to see why.
This is already available under the Settings->Storage->USB Computer Connection menu
Not sure I could do this, I'll check.
I don't quite understand what you mean by this, how does it differ from the normal USB tethering?
If you can't code, that's fine, you could set up a build environment on your computer for creating images from the source.
Click to expand...
Click to collapse
Sounds awesome, I'll flash it as soon as possible and continue testing it for you.
I uploaded a logcat to the other thread in development. The performance governor is set up as the default for me so I'm set up with that situation from the get go.
It technically isn't different from regular USB tethering, but it seems that no one has done it successfully before. There are adapters that you can use to provide a wired Ethernet connection to an android device over micro USB, but no one has been able to do it the other way around. Google results don't turn up any answers.
And I'm willing to learn how to code, but I fear that I may slow you down with this project as I get past the learning curve. That being said, I can definitely set up a build environment and compile it from source for you. That'll be a learning experience on its own. Just point me towards a noob guide and I'll get it done.
Pbotelho said:
Sounds awesome, I'll flash it as soon as possible and continue testing it for you.
I uploaded a logcat to the other thread in development. The performance governor is set up as the default for me so I'm set up with that situation from the get go.
It technically isn't different from regular USB tethering, but it seems that no one has done it successfully before. There are adapters that you can use to provide a wired Ethernet connection to an android device over micro USB, but no one has been able to do it the other way around. Google results don't turn up any answers.
And I'm willing to learn how to code, but I fear that I may slow you down with this project as I get past the learning curve. That being said, I can definitely set up a build environment and compile it from source for you. That'll be a learning experience on its own. Just point me towards a noob guide and I'll get it done.
Click to expand...
Click to collapse
The USB tethering thing sounds interesting, though I would need to have one of the adapters to test that, and time at hand as well.
As for the build environment, the best source of information is the CM wiki. You can look at these links below on how to get started:
https://wiki.cyanogenmod.org/w/Development#Learning_To_Build_CM
https://wiki.cyanogenmod.org/w/Doc:_Building_Basics
https://docs.omnirom.org/Setting_Up_A_Compile_Environment
https://wiki.cyanogenmod.org/w/Build_for_captivatemtd
http://jira.omnirom.org/browse/OMNI-1263
http://forum.xda-developers.com/showthread.php?t=2329228​
The guides above are just outlines to detail the general build process - you will need to do things slightly differently from the steps above to get the proper source and device trees.
The attached local_manifest can be used with repo when obtaining the cm-12.1 source.
Remember you'll be getting the cm-12.1 source - not anything else.
vince2678 said:
The attached local_manifest can be used with repo when obtaining the cm-12.1 source.
Remember you'll be getting the cm-12.1 source - not anything else.
Click to expand...
Click to collapse
So if I add in your device tree and provide a toolchain, I should be good to go? (I think so.)
Thanks!!
EDIT: Not so fast! I'll have to find a kernel as well.
Pbotelho said:
Edit: 5) when using kernel adiutor to try to adjust the CPU frequencies, the only option that comes up for both minimum and maximum is 0MHz. The button seems to work as well, bringing the clock max speed down to 0 for a split second before it reverts to a a maximum of 200MHz. Adjusting the governor after the fact won't restore the maximum, seems only a reboot will get it done. I'm slightly amazed to be honest as before on Touchwiz, it was impossible to get it to hold onto a lower maximum. It would jump all over the place as it pleased.
Click to expand...
Click to collapse
I've test Kernel Adiutor and I too got the O MHz only window for both as the only option. Though Now I wonder if it is because I used the latest beta Kernel Adiutor, I'll further check with the normal stable version. Pretty sure it'll fix it if it worked normally for Vinc. --- Update; As strange as it might look while re opening kernel adi to take a screenshot, the list of normal MHz values is there and working properly.. Strange.. Magic? Huh technology, you're so unpredictable.
Zippy Dufus said:
So if I add in your device tree and provide a toolchain, I should be good to go? (I think so.)
Thanks!!
EDIT: Not so fast! I'll have to find a kernel as well.
Click to expand...
Click to collapse
Hi Zippy,
The kernel source was included there as well (it's just a dummy source so that the build can get the necessary source files for libraries which need them). The build still uses the default prebuilt kernel though.
vince2678 said:
Hi Zippy,
The kernel source was included there as well (it's just a dummy source so that the build can get the necessary source files for libraries which need them). The build still uses the default prebuilt kernel though.
Click to expand...
Click to collapse
As an experiment, why don't you try downloading the G530H ROM, unzip, take the boot.img, and flash it over top of your stock kernel? See if it boots and how it performs.
Meanwhile, I plan to hack at putting together complete manifest, possibly with the G530H kernel and my Linaro 4.9 toolchain and see if I can build a complete ROM.
Have you extracted the firmware?
However, I don't want to flash anything until I see your ROM's modem working because it is my daily driver. But I'm keen though!!
I've managed to download the stock ROM from SamMobile but I'm now thinking of going straight to your ROM once it is a bit more complete and stable.

[02/05/17][HUB] Megathread

Hello, everyone!
If you aren't an expert - that's okay. Everyone is welcome and you're free to ask questions.
Make sure to check the date this post was updated (I may forget to update the date in the title) which is located at the bottom of this post. If this post hasn't been updated in more than a month, contact me and I'll refresh everything.​
Quick Introduction:
I'm new to the Yoga Book squad, and I've noticed one major downside.... the forums are a total mess. So what I'm hoping to do, is to keep this thread as up-to-date as possible, with links to guides, development progress and anything else.
I figure to make this more... tidy, I will enforce a colour-coding system for each sub-thread-guide-thingy, so you can instantly tell whether a guide or method to do something to your Yoga Book is risky, and most likely experimental, or is well tested. These will probably be done via experiments on my own Book (the wifi-only version), but of course I will hope via this community thread I will be able to provide more detailed statistics and such as everyone does their own thing to their device.
If you have anything to add to this thread, or would like to help out with anything; please feel free to contact me or just tell me what you're thinking - I'll do my best to read everyone's replies.
General Yoga Book Information
To my knowledge, there are two versions of the Yoga Book, each with two sub-versions for the OS:
1.) YB1-X9aF - this is the Wi-Fi version
2.) YB1-X9aL - this is the LTE/4G version
Where the "a" between the 9 and the F/L is either a zero or a one, depending on the installed OS (Android: 0, Windows 10: 1)
The SIM card is a Nano-SIM with 3G capability.
Other than that, all Yoga Book devices share the following specifications:
- 10.1 inch IPS display, of resolution 1920x1200
- Intel Atom x5-Z8550 processor, which:
----+ Has an architecture of x86_64
----+ Core base clock of 1.44 gigahertz
----+ Core boost clock of 2.4 gigahertz
----+ 4 cores and 4 threads
- Battery capacity of 8500 milliampere hours
- On-board storage of 64 gigabytes of solid-state storage (SSD)
- 4 gigabytes of random-access memory (RAM)
- A microSD card slot capable of up to 128 gigabytes of storage
- Two camera's, one above the display and one on the keyboard
- Wi-Fi (802.11 ac) and Bluetooth (v4)
- 3.5 millimetre headphone jack
- Micro-USB 2.0 OTG port
- Micro-HDMI port
Colour (or color) Codes and Tags:
For those who like using grey-scale display filters or whom are colour blind, I've added a "level" to each of them, where level 3 is like... crazy meltdown experimentation mode, and 1 is stable-ish (probably as stable as it'll get unless a REAL developer takes on the challenge).
[X] - Means that you will have to delete some or all of your data for it to work
[R] - Means that it requires a Rooted device
[Level 3] VERY EXPERIMENTAL - Use with caution, and with the knowledge that you may boot-loop, brick your device or lose your data!!! OR ALL OF THOSE THINGS!! Make sure to backup everything you hold dear, and just for good measure you'll have something to fallback on.
[Level 2] NOT WELL-TESTED - This will probably work for most people, but things may be unstable at the best of times. Again, make sure you have a backup before trying level 2 items.
[Level 1] 99% FINE - If there's an issue, it's probably your own fault... but again, I can't guarantee that everything I or anyone else does is perfect and will work for everyone! You should probably still have a backup, but if you're lazy like myself it's okay, I forgive you.
Android M/6.0
Rooting, backups, and more!​
[1][X] Unlocking the Bootloader
earthCallingAngela wrote a really nice guide for unlocking the bootloader. The original thread is here, but for those who are too lazy to open the link in a new tab I've quoted the information.
IF YOU APPRECIATE THEIR EFFORTS GO AND THANK THEIR ORIGINAL POST!!!
Remember, unlocking your devices bootloader will format your storage (meaning you'll lose all of your data), so backup anything important before proceeding.
earthCallingAngela's OP: https://forum.xda-developers.com/yoga-book/how-to/how-to-unlock-bootloader-t3502216
I hope this is useful information. It took me a bit to figure it out due to a lot of conflicting information, since the procedure has changed, perhaps several times, since the first version of Android. Also, I'll probably forget myself.
Please note that I've performed these steps on Linux (Specifically Arch Linux). Others have pointed out that if you have issues executing step 7 from Windows, you may need to follow this post.
1. Install Android Studio, or otherwise obtain the latest versions of the adb and fastboot programs. I think Windows users also need to install a USB driver, but I run Linux, so I am not sure about that procedure.
2. Gain access to the developer options on the tablet. Go to the settings, and find the "about tablet" section. Scroll down to the "Software version" section and tap on that several times until it says that you are now a developer. Feel special.
3. Go to the new "Developer options" setting. Select "OEM unlocking." Also, I selected "USB debugging" as a straightforward way to reboot into the boot loader.
4. Connect to the computer on which you've installed adb and fastboot.
5. Type 'adb devices' to see your device listed. The tablet will ask you if you're sure you want to allow the computer access to it. Answer in the affirmative, and save that option.
6. Type 'adb reboot-bootloader' to do just that.
7. After you see the innards of your 'droid, type 'fastboot flashing unlock' . On Linux, you may need root permissions to do this. The tablet will ask you to confirm (select with up/down volume, and accept with the power button), and will then erase all of your data! I didn't worry about this as I'm all on Google services, and so they can be restored easily enough.
Click to expand...
Click to collapse
[3] TWRP Custom Recovery
danjac has written a post about his attempt at getting a modified version of TWRP running on his Yoga Book. From what I can tell it was a success, besides a few bugs (which are avoidable... I think).
WARNING! MAKE SURE YOU READ THESE!!
Before you go ahead and just flash his version, make sure you know the consequences that could arise if something goes wrong. If the recovery of your device screws up, you don't really have much to bring it back to life with. Even though there shouldn't be many things to worry about, it's still very risky.
In fact, it is recommended you ONLY temporarily boot into TWRP, instead of just flashing it like you would on another device. danjac's OP gives more information for you to use.
If you think you are willing to take the risk and know what you're doing, I highly suggest you make a complete backup of your device if possible. So far there isn't really a way to get your stock recovery back (since we don't have a custom ROM or a way to download Lenovo's modified version online).
danjac's OP: https://forum.xda-developers.com/yoga-book/development/recovery-twrp-t3533980
[2] Rooting (via Magisk)
danjac wrote the first guide to rooting the Yoga Book, and you should, again, go and thank his original post. However, his OP is now a bit outdated, Magisk (currently v12.0) now includes a root module (MagiskSU) based on phh's SuperUser.
Please note: If you are already rooted via a different method (and maybe you want to change because it didn't work... or something like that) you have to go into your super-user manager and uninstall it. If you have a previous version of Magisk installed, there is an uninstall ZIP that you can flash, which will remove any Magisk version, including MagiskSU. Again, more details on the main Magisk thread.
Do I NEED to unlock my bootloader to Root my device?
The short answer is yes, and the long answer is sort-of. You only need to unlock your bootloader if your ROM doesn't support Rooting out-of-the-box (which in Lenovo's case, it isn't supported). However, you can lock your bootloader afterwards if it's such a concern to you. Yeah, you probably will stop receiving over-the-air updates from Lenovo, but they're probably not going to push out another update for a long while, so in my opinion it's nothing to worry about.
Follow the instructions on the main Magisk page to install it if you're new to Magisk, but if you know a thing or two then I'll paraphrase:
- Flash the latest Magisk ZIP file via the TWRP Recovery (if you have it) or just flash it over ADB
- You should also download the Magisk Manager from the Play Store to make sure you're always up-to-date
danjac's OT: https://forum.xda-developers.com/yoga-book/how-to/root-yb1-x90l-how-to-t3534268
Magisk's main thread: https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445
[2] Dual-booting Android and Windows 10
Since there isn't a place to get the Android side of things, I won't put too much info here.
Although if you're already running the Android version and want to know how to put Windows 10 on your device too, look at this thread.
Dual-booting OT: https://forum.xda-developers.com/yoga-book/help/android-to-windows-hack-dual-boot-option-t3475733
[3][X] Custom ROM
Currently there is no custom ROM which supports the Yoga Book, mainly for the simple fact not many people own the device. However, if we make enough noise in the community I'm sure someone will crack under the pressure ;P
Although, I'm doing my best efforts to merge the device drivers and such into the Android Source code, but you shouldn't get your hopes up. If I ever get it working, it will probably be unstable and not that great (I don't have much experience with the details of the Android OS), I'm running off my knowledge of the Linux OS.
If you're using the Windows 10 version of the Yoga Book (I'm sorry you paid the extra $50!!), hopefully Lenovo will at least release a version of their own ROM soon (or put it back from what I've heard). I've also heard that they're upgrading to Nougat in October (of 2017)... so we've got plenty of time to find another solution to our sorrows.
Information for Developers:
Someone has also posted a backup of their working Lenovo-customised Android OS, but I won't post a link here because:
- It's only a backup
- May draw un-wanted attention to the link
But if you're a developer and you think that will help you, you can easily find it somewhere in these forums.
EDIT: The link has now been removed (I can't find it)
If you're trying to
Code:
repo sync
the AOSP and you're getting stuck syncing the work tree, try doing this (from the folder you're trying to sync to):
Code:
rm -rf frameworks/compile/slang/
mkdir /home/<user>/slang_helper
sudo ln -s /home/<user>/slang_helper frameworks/compile/slang
Please be careful when typing commands into your terminal, especially from the internet, and especially when you don't understand what the commands are doing.
Lenovo's source code download: http://pcsupport.lenovo.com/au/en/products/tablets/yoga-series/yoga-book/za0v/downloads
[2] Linux without removing Android
Thanks to @Tiggi2017 for making the first guide. His OT here is a good one to read through if you're interested in this.
Via a few apps and some commands, you're able to have a "Linux" OS running on your Android device with the Halo Keyboard and such still working perfectly.
His original method doesn't need Root access apparently. However, there are other methods that may be easier for some people if they have a Rooted device. Look through the comments in that thread for more information.
OT: https://forum.xda-developers.com/yoga-book/how-to/yoga-book-gnuroot-debian-t3580358
Apps, tips and tricks!​
[1] Apps That Support Multi-Window
Thanks to sashlon1138 for doing most of the hard work by putting this list together (may not be complete, if you know of more apps that work let me know so I can add them!).
Thanks to uuang for getting the ball rolling.
Thanks to Csilla4 for finding the first calculator app that works.
Thanks to docoli for also finding a huge list of compatible apps.
Csilla4:
- iDo Calculator
uuang:
- RAR
- Google Photos
sashlon1138:
- Chrome (but not beta)
- Facebook
- Messenger (Facebook)
- Gmail
- Outlook
- Youtube
- VLC
- Google Search
- Home
- Instagram
- Pinterest
- Dolphin Browser
- Ebay
- Paypal
- Flow Free
- Google Maps
- Google Earth
- OneNote
- Wikipedia
- ES File Manager
- Twitter
- Evernote
- Reddit
- Skype
- Candy Crush Saga
- Candy Crush Soda
- Candy Crush Jelly
- Spotify
- Soundcloud
- Opera
- Opera Mini
- Yahoo Mail
- Viber Messenger
- MX Player
- Google Translate
- Shazam
- AliExpress
- Tumblr
- Twitch
- Mega
docoli:
- Microsoft Word, Excel and Powerpoint
- Softmaker Textmaker HD, Planmaker HD and Presentations HD
- RealCalc
- Adobe Acrobat
- CamScanner
- MindjetMaps
- LinkedIn
- ezPDF Reader
- Detexify
- HERE WeGo
- Google Street View
- Öffi (German Public Transportation Schedule app)
- DB Navigator (German Railroad Schedule app)
- Kindle
- Amazon Prime Video
- Maxdome
- Barnes & Noble Nook
- Audible
- TuneIn Radio
- TED
- Babbel
- dict.cc. plus
- Amazon
- Nine (you can even have any number of items in parallel on the screen, e.g., inbox, calender, contacts, notes)
- OneDrive
Link to OT: https://forum.xda-developers.com/yoga-book/help/multi-window-apps-t3565253/post71494066#post71494066
[2] Changing the DPI
WARNING! Do not change your DPI to extreme values! You may render your device useless (unless you already have set up ADB and know how to revert the changes)!
Thanks to melando for bringing up the actual default DPI values.
Just so you are aware, if you're running Android 7 (Nougat) or later, you can adjust the "DPI" to some preset values from the settings app.
Using this site, I calculated that the Yoga Book has a technical DPI of 224 pixels per inch, with a resolution of 1920 by 1200 pixels, over a 10.1" screen (diagonal). However, the default Lenovo has set it to may be actually 280. They suggest that you may find it better if the DPI is set to 240.
This is a trivial modification if your device is Rooted. All you have to do is open the Play Store, and search for something along the lines of "DPI changer", and find an app that has good reviews.
An example app would be "Easy DPI Changer [Root]"
If your device does not have Root, then you will have to have a computer with ADB installed.
To install ADB, do a quick Google. There's bound to be a guide there somewhere (I'll put one here soon).
Once you have ADB installed, you can follow this easy guide to change your DPI to whatever you like.
DPI Calculator: http://dpi.lv/
Non-Root Method: http://www.androidbeat.com/2015/07/how-to-change-dpi-of-android-device-without-root/
[1] Recommended Apps...?
There isn't anything here as of yet, because I haven't gotten far enough to look for any good apps that work well with the Yoga Book. So right now I'm going to rely on everyone else for that. I'll get there eventually.
However, you should at least download Magisk Manager from the Play Store, to manage your Root and other neato Magisk features.
If you're a developer, and need guinea pigs to test your stuff on, I am happy to help anyway I can (and I'm sure much of the community is too).
If anyone needs help, I'll do my best to assist, but if it's anything too tedious (such as teaching you how TWRP works or something along those lines), you should probably have a look on the internet for tutorials and guides for that stuff. There are plenty of people out there who can explain concepts better than myself.
Windows 10
Simple customisations!​
[1] Touch-pad Customiser
This program was first put into the spotlight by dinosauria123, so go to their original post and thank them for finding this.
This small program lets you modify some simple variables associated with your touch pad, only requiring a reboot after you change something.
Features:
- Setting extended right click area
- Setting unlock area
- Setting mouse pointer acceleration
- Setting scroll direction
- Disable Touchpad clicking (added in version 1.4)
Click to expand...
Click to collapse
OT: https://forum.xda-developers.com/yoga-book/themes/yoga-book-touch-pad-setting-application-t3569836
[1] Minor Halo KB Customisations
If you were wondering if there was a simple and easy way to lower the brightness of the Halo Keyboard, or just get rid of those pesky battery-draining touch vibrations for every key press, there is a way!!
Best of all, you don't have to download it! It's already installed!!
To find this not-so-well-hidden app, you have to either go to your Program Files, or open the good-old Control Panel (thanks to urayandro for pointing out that it's in the Control Panel!).
Control Panel method: Once you're in the Control Panel, just click on "Appearance and Personalisation", and you will find the "Halo Keyboard" program right at the bottom.
Program Files method: For 99.9% of people this is on your Local Drive (C: ). It may be located in your normal Program Files or it may be in your x86 Program Files, I'm assuming it depends on whether you're using the Windows 10 your device originally came with, or you have re-installed it (thanks to sawyerbenjamin for informing me that for them, it was in the normal Program Files folder). Assuming it's in your normal program files; go to Program Files/Lenovo/ and there it is. The application name is "ControlApp.exe". You can also make a shortcut to this application - I put a shortcut on my Desktop.
It allows you to:
- Toggle the touch tone/sound
- Toggle the vibration on keypress
- Adjust the time it takes for the keyboard lights to turn off
- Adjust the backlight (or whatever that is called) brightness for the whole keyboard
Risky or experimental customisations!​
[2] Using AMIDuOS (Android Emu)
Update: I've spent a bit of time trying to use this, and in my opinion it's not worth the time. But if you need a development environment for something, it's pretty good at that. :/
In my attempt at replacing my Windows 10 installation with any version of Android I could find, I ran across this program called AMIDuOS. It's similar to emulating an Android system while you're in Windows, but instead of running it in a virtual environment, it runs directly on your x86 hardware (which is what the Yoga Book uses).
If you're cool with having a Windows 10 version of the Yoga Book, but still want to use some Android applications (possibly for drawing, or maybe just because the Android ecosystem is miles better compared to the Windows one) this may be a good solution for you.
Currently, they support Lollipop and Jellybean (not Marshmallow). However, this program is not free. You can trial it for free though. I'm fairly certain the full price is $10 USD.
It's not a difficult thing to set up (apparently), so if you wanna try something out and know how to deal with possible emulation problems (although unlikely) it may be worth it.
AMIDuOS Website: http://www.amiduos.com/
[2] Process Lasso
Huh? Process what-now? Yep, Process Lasso is a very complex program filled to the brim with algorithms tailored mainly towards getting the best performance and responsiveness, and to control those pesky rogue background processes that slow down your device when you don't need them to.
This program is completely free (but it does have a Pro version if you want a few extra customisation's and want to support the developers) and I've found it works pretty well, especially with a low-power device like the Yoga Book.
Since the Yoga Book is meant to be a very portable device, I'm not using Process Lasso to get maximum performance (as that would obviously drain the battery life quickly), I'm using it to make sure that if there's a program that needs to use power and deplete my battery life, then it's something I want - not some dodgy Windows background processes or other stuff like that.
It's pretty easy to set up. I've got a few of the main features enabled, and I recommend that you use similar settings.
I've enabled:
- ProBalance; this will keep the background processes in check, and allow the foreground processes to take the reigns of your CPU, insuring you experience minimal stutters.
- SmartTrim; this is an optional one, since I'm constantly micro-managing the applications I've got installed on my 64GB internal drive, this should help to prolong the performance of my drive, making sure it's well pruned (that's a pretty good analogy actually)
I've turned off the tray-icon showing me the CPU utilisation, so that doesn't need to waste any of my precious battery life (I'm usually a battery-life extremest), but you don't need to do that.
So if you're experiencing major delays when just doing simple things like moving around the Windows 10 user interface due to rogue background processes, I highly recommend you give this program a try.
Also, if you're a pro-ish-user like myself, feel free to dive deeper into the program. It's filled with toggles and adjustable's for you to play with and tailor the program to your needs, and almost everything you can change is accompanied with a tool-tip explaining what it does. Enjoy! But of course, as always, be careful of what you change - there are some things that could make your system really slow and or unstable.
P.S. The Yoga Book uses the 64-bit system, so choose that version of the program.
Website: https://bitsum.com/
Reserved
Does anybody know, whether bootloader unlocking is necessary for magisk root?
Con_Sole said:
Does anybody know, whether bootloader unlocking is necessary for magisk root?
Click to expand...
Click to collapse
I'm not entirely sure, however flashing something to your device (via TWRP at least) does require an unlocked bootloader. So without an unlocked bootloader, I don't think there's a way to install MagiskSU. Sorry about that... :/
I will have a look around and see what I can find, though.
Con_Sole said:
Does anybody know, whether bootloader unlocking is necessary for magisk root?
Click to expand...
Click to collapse
So I've done more looking around and here is your answer: Yyyyeeeeaaaahhhhhh......?
Magisk itself does not require an unlocked bootloader, however, it does require root access. Usually to get root access you need to unlock your bootloader, unless it comes already rooted in a custom ROM (but in our case, it doesn't). Unlocking the bootloader is a relatively safe procedure to perform, so [in my opinion] you shouldn't have anything to worry about!
nan0s7 said:
[1] Minor Halo KB Customisations
If you were wondering if there was a simple and easy way to lower the brightness of the Halo Keyboard, or just get rid of those pesky battery-draining touch vibrations for every key press, there is a way!!
Best of all, you don't have to download it! It's already installed!!
To find this not-so-well-hidden app, you have to go to your Program Files. For 99.9% of people this is on your Local Drive (C. So to get to it, go to Program Files (x86)/Lenovo/ and there it is. Its very helpful and informative name is ControlApp.exe.
It allows you to:
- Toggle the touch tone/sound
- Toggle the vibration on keypress
- Adjust the time it takes for the keyboard lights to turn off
- Adjust the backlight (or whatever that is called) brightness for the whole keyboard
Click to expand...
Click to collapse
it's not not-so-well-hidden app.... it's not hidden at all. you can found it under "appearance and personalization" section of retro control panel.
urayandro said:
it's not not-so-well-hidden app.... it's not hidden at all. you can found it under "appearance and personalization" section of retro control panel.
Click to expand...
Click to collapse
Indeed it is! Consider that noted ;P
urayandro said:
it's not not-so-well-hidden app.... it's not hidden at all. you can found it under "appearance and personalization" section of retro control panel.
Click to expand...
Click to collapse
I found it in my normal Program Files folder. (x86) only contained a folder for LenovoPaper.
sawyerbenjamin said:
I found it in my normal Program Files folder. (x86) only contained a folder for LenovoPaper.
Click to expand...
Click to collapse
Huh, well it must depend on whether you kept the original installation of Windows that came on the device, or whether you reinstalled it (or came from Android). I'll add that information. Thanks!
sawyerbenjamin said:
I found it in my normal Program Files folder. (x86) only contained a folder for LenovoPaper.
Click to expand...
Click to collapse
Same here. In my device is also only contain LenovoPaper under \Program Files (x86)\LenovoPaper
What i mean with retro control panel is old window's control panel. not the win10 setting. You can access it by:
1. Click start and type "control panel" then press enter.
2. You should see control panel window that similar to older version of windows.
3. Go to "Appearance and Personalization
4. Under there you should see "HaloKeyboard" shortcut.
You can also create another shortcut of this app by right-clicking it then choose create shortcut. Windows will make another shortcut on the desktop. I did this to get easier access when need to adjust keyboard brightness.
Hey there,
i think there is a way to flash the win 10 image on my yb1-x90f. just don't wont to brick it and so i have a few questions to all of you experts. in other words, i need your help
there is a quide i found in internet, which i think could work. But there are words i've never read before like "RUSB". is this an important word? i attached as low quality pdf...
there is also the win 10 image online. but we have to pay for it because it's "exclusive" stuff. 50$
maybe we can put together, 50/50 so its 25$ for me and you?
i think you know which page is meant. if not pm me
like descriped in the guide, (part 3) we have to select "Boot Menu" and after that "EFI USB Device"
But my bootloader looks different (android version).
is there a way to flash the image via original android bootloader/recovery or do we need to find a way to get into the other bootloader?
in this post: https://forum.xda-developers.com/yoga-book/help/bricked-yoga-book-yb1-x90l-t3537048
 @mmusaad managed to get into this kind of "mode" but i think its a dangerous way and he had a big luck to "unbrick" his device. maybe onyone find an easy way to go into this "windows bootloader" or whatever?
so maybe we can work togehter
woodirk said:
there is also the win 10 image online. but we have to pay for it because it's "exclusive" stuff. 50$
Click to expand...
Click to collapse
Probably wrong translation from Chinese... Should read USB-R. There are USB Ports which don't support remote drives
woodirk said:
there is also the win 10 image online. but we have to pay for it because it's "exclusive" stuff. 50$
Click to expand...
Click to collapse
Windows was never free, that's why the Windows Yoga Book is $50 more expensive. A Win-Image will not help you either, as Lenovo brands the Product Key into the Bios.
jamespmi said:
Windows was never free, that's why the Windows Yoga Book is $50 more expensive. A Win-Image will not help you either, as Lenovo brands the Product Key into the Bios.
Click to expand...
Click to collapse
OMG sometimes i think "together" :highfive: is a heavy word... :crying:
what about this ? (see attachement)
and stop letting me look like an idiot...
I'm on the YB1-X91F, which is the Windows version. Unfortunately for us, the Android and Windows versions of the Yoga Book have totally different BIOS's. This is the main thing stopping us from being able to dual-boot.
Easy-firmware has both the Android and Windows' ROM's, but they only provide instructions on how to overwrite the current operating system, not the opposite ones. I have downloaded everything they have on the Android side of things, and everything except the Windows ROM on the Windows side.
While I was messing around with my device, I did brick it. But I was able to get an SD-card with a Windows bootable "USB" install on it, and went through the installation process on my external keyboard. Then from there was able to install the drivers and restore the Windows version with everything working after a bit of time. I don't know how different this would be if you don't mind getting rid of the Android bootloader totally, but that's not really recommended.
What we'd need for getting Android alongside the Windows version is a way to get a working Fastboot/ADB connection.
For the Android version getting Windows alongside it, you need a way to get the Android bootloader to point to and recognise the Windows installation. However, this is almost impossible unless you have a custom ROM, which we do not have that supports the Yoga Book. You could probably delete Android totally, and then install Windows from there, but I'm not 100% sure because I haven't messed around with the Android version of the tablet.
We'd need a way to get the Android BIOS and Fastboot off of it so we can then use it to our advantage.
nan0s7 said:
I have downloaded everything they have on the Android side of things, and everything except the Windows ROM on the Windows side.
Click to expand...
Click to collapse
that's good to know...
nan0s7 said:
You could probably delete Android totally, and then install Windows from there, but I'm not 100% sure because I haven't messed around with the Android version of the tablet.
Click to expand...
Click to collapse
this is exactly what i want to do and where i need your help
imo this will help us https://forum.xda-developers.com/showpost.php?p=70540959&postcount=7
woodirk said:
what about this ? (see attachement)
Click to expand...
Click to collapse
That probably flashes a valid Serial Number into the Bios...
DPI settings
I believe default DPI may actually be 280 - there's a Lenovo forum thread recommending setting it to 240 which I have found reduces the size of icons etc. so 224 does not seem right
melando said:
I believe default DPI may actually be 280 - there's a Lenovo forum thread recommending setting it to 240 which I have found reduces the size of icons etc. so 224 does not seem right
Click to expand...
Click to collapse
Thanks for the information! I've added a bit to the DPI section about the other values.
nan0s7 said:
Thanks for the information! I've added a bit to the DPI section about the other values.
Click to expand...
Click to collapse
However now that the Nougat update is out some adjustments can be made in Display Settings...
melando said:
However now that the Nougat update is out some adjustments can be made in Display Settings...
Click to expand...
Click to collapse
Oh yeah forgot that happened (I'm on the Windows version). Fixed it now!

Categories

Resources