LightBlog

mercredi 28 septembre 2016

How to Discover Hidden Fastboot Commands

In my quest to discover as much about Android customization as I possibly could, I've made many obscure, yet interesting discoveries. I've shown you how to access hidden menus on your device by sifting through all of the hidden application activities on your phone. More recently, I've shown you how to access the hidden hardware diagnostic tool on certain smartphones. Now, I realize that some of you were disappointed in the fact that your smartphone was not covered in the previous article, and I apologize for that.

To make up for it, I'm going to walk you through something far, far more advanced and exciting: dumping your device's bootloader to discover hidden fastboot commands. This guide, although done on my Nexus 6P, is most definitely replicable on the majority of smartphones. However, what commands you will have access to will vary significantly between devices. Most commands will not really help you in any real situation, but nevertheless it's pretty interesting to dive this deep into your phone's settings. Let's get started.

Disclaimer: So long as you know what you're doing and can follow instructions appropriately, nothing bad should happen to your device. But, we are still messing around with our device partitions and the bootloader, so there is no telling what could happen if you enter the wrong command. Make sure you have an off-device backup ready!


Preparation

Before we get started, there's one really, really important thing to note. In order to extract your device's bootloader, you will need root access on your phone. If you do not have root access, you can continue reading this guide for educational purposes, but you will not be able to perform any of the necessary commands. Got that? Good. Another prerequisite you will need to meet is ensuring that your computer has all of the proper ADB/fastboot drivers. If you don't have the ADB/fastboot binaries, then I recommend installing Minimal ADB & Fastboot from our forums. As for the drivers, you can grab the necessary drivers for Google Nexus devices here and for all other devices from here. How do you know if you're good to go? Plug in your device, enable USB Debugging under Developer Settings, open up a command prompt, and type:

  adb devices  

adb-devices

If you see your device's serial number pop up, then you've got the right drivers.


Dumping the Bootloader

Our first step is to open a shell on our device so we can run commands over ADB. It's best that we run commands over ADB because we're much more prone to making mistakes when typing on a virtual keyboard, and making mistakes is not something you want to do here. The first command you should run in your command prompt is:

  adb shell  

If you see the command prompt change from displaying the ADB binary directory to showing the codename for your Android device, then you've successfully entered your device's local command line shell. Now, in order to access the partitions we need to dump, you will need superuser access. To do so, type the following:

  su  

The symbol in front of your device's codename should change from $ to # indicating that you can now run commands with elevated privileges. Be careful now!

adb-shell

Next, we will figure out the exact location of your device's bootloader image. In order to find the exact directory, we will print out a list of all of the partitions and their directories by name, and look for one in particular called 'aboot.' You will need to enter two commands as follows:

  cd /dev/block/bootdevice/by-name  ls -all  

adb-partitionsAs you can see above, a giant list of partition directories are printed out. These partitions are sorted by name, so we can easily discern the location of our bootloader partition. In my case, the bootloader, which is 'aboot' in the above image, can be found at /dev/block/mmcblk0p10. This will vary depending on your device, so it's important that you follow these instructions to figure out the true directory where your bootloader is located. Take note of this directory, however, as we will reference it in the following command to dump the bootloader:

  dd if=/dev/block/{YOUR ABOOT PARTITION} of=/sdcard/aboot.img  

adb-dump-bootloader

Once successful, you should find a file called 'aboot.img' located on the root of your internal storage. Now that we've dumped the bootloader, we need to examine it to determine what hidden commands we can find.


Hidden Fastboot Commands and their Uses

You might be familiar with some of the more common fastboot commands, such as fastboot flash or fastboot boot. There are many more fastboot commands as defined in the open source fastboot protocol. Here is a list of the fastboot commands available on every device with a bootloader based off of the latest AOSP code:

fastboot-aosp

What's missing in this list are fastboot oem commands. These commands are specific to Android device manufacturers, and there is no comprehensive list or documentation anywhere for what fastboot oem commands are available. Now, if your device manufacturer was kind enough to provide a fastboot command that lists all oem commands (try fastboot oem ? and see if that works), then you won't need to do anything further. If there isn't any command that prints a list of available fastboot oem commands, then you'll need to print a list of strings from the aboot.img and search for the oem commands manually.

'strings' is a linux command, the documentation for which is available here. As you can tell, I'm personally using a Windows machine, so instead I've been using a program that mimics 'strings' from Linux. The raw output of the 'strings' command on an aboot.img file will be quite messy, but if you simply CTRL+F for 'oem' you should find what you need. If you want to refine your search, you can try this command (for the Windows version I linked):

  strings * | findstr /i oem  

For the Nexus 6P, I compiled the following list of fastboot oem commands:

  fastboot oem unlock-go  fastboot oem frp-unlock  fastboot oem frp-erase  fastboot oem enable reduced-version  fastboot oem device-info  fastboot oem enable-charger-screen  fastboot oem disable-charger-screen  fastboot oem enable-bp-tools  fastboot oem disable-bp-tools  fastboot oem enable-hw-factory  fastboot oem disable-hw-factory  fastboot oem select-display-panel  fastboot oem off-mode-charge enable  fastboot oem off-mode-charge disable  fastboot oem ramdump enable  fastboot oem ramdump disable  fastboot oem uart enable  fastboot oem uart disable  fastboot oem hwdog certify begin  fastboot oem hwdog certify close  fastboot oem get-imei1  fastboot oem get-meid  fastboot oem get-sn  fastboot oem get-bsn  fastboot oem get_verify_boot_status  

Be warned that you should not attempt any of the above commands, or any of the commands that you discover on your device, unless you are willing to accept the risks. There is a reason these commands are hidden from the user.

That being said, I've thought of some neat uses for some of these fastboot commands I've found (that may or may not be present on your device, so follow the instructions above to check!) that should fancy the most hardcore Android enthusiast. There are two commands here that could have some practical use.

First up is the fastboot oem (enable|disable)-charger-screen command. What this does is disables the charging screen that pops up when your device is turned off. If you aren't a fan of the blinding brightness of the charging screen when your phone is off, then you can disable it via this hidden fastboot command!

Next, there's the fastboot oem off-mode-charge (enable|disable) command. This command determines whether or not your device will automatically turn on when a power source is detected. By default, it is set to 'disable.' I will admit that this command does not have much use for phones, but if you're planning on mounting your tablet into your car's dashboard, you will find this command incredibly useful. You will be able to set your device to immediately power on when the tablet receives power, such as when your car battery starts up. Conversely, it's quite easy to power down the tablet when power is lost by using an automation app such as Tasker. This command, by the way, works exactly as written on the Nexus 7 (2013).


That's it for this lesson in Android customizability. Share the commands that you discover (ideally in a pastebin link) in the comments below!

Thanks to XDA Senior Recognized Developer Dees_Troy for his assistance in the making of this article!



from xda-developers http://ift.tt/2df7f44
via IFTTT

Mozilla is Removing the Gecko Engine from Firefox OS

Firefox was first introduced back in 2012 and a lot of us here at XDA have had a soft spot for the platform. We are very passionate about open source software and Firefox OS offered a very open source mobile platform and it had some momentum for a while. By late 2014, 14 different carriers in over 25 countries around the world were offering smartphones that ran Firefox OS, but this didn't last very long.

Less than a year later, Mozilla had announced they would stop selling commercial Firefox OS smartphones. The company said they would discontinue the development of the platform for smartphones in May of this year. This was only for smartphones though, as in January of this year we saw Firefox OS being used in Panasonic 4K televisions. The company had thought that pivoting to connected devices was the way forward but even this didn't work out how Mozilla had wanted.

It's now been confirmed that development on Firefox OS has ceased so they can focus more on their browser, and the engine that runs it. In a Mozilla developer newsgroup, the company has announced they will pull all Firefox OS related code from the Gecko engine. The developers say this is needed in order to continue evolving the "underlying code that comprises Gecko" as it being attached to Firefox OS was hindering the development process.

While this isn't technically the end of Firefox OS as a whole, remember it's still an open source project, the community developers who are passionate about it can pick up where the project was abandoned. Mozilla says the community will need to fork Gecko and maintain the code base so that it is still compatible with Firefox OS. Time will tell if there will be enough people to not only start and complete the project, but also keep it going so that Firefox OS can continue on.

Source: Mozilla



from xda-developers http://ift.tt/2cVtTg6
via IFTTT

Replaced Galaxy Note 7 Reportedly Catches Fire

Samsung just hasn't had much luck with the Galaxy Note 7 this year, and this latest report suggests that things might not be changing anytime soon. Samsung has been dealing with their voluntary replacement program for the device since the start of this month. The South Korean conglomerate was hoping this program was all that they needed to do, but they were forced into doing an official recall just a couple of weeks ago.

It was estimated that this Galaxy Note 7 battery defect would cost the company upwards of $1 billion in parts and labor alone. This isn't even factoring in the negative perception the public has about the device after the scratch test, and even after the multiple fires that were started from the Note 7. A device that was called the best smartphone available today by many Android publications, and one that our own Daniel Marchena called a remarkable phone for life.

So Samsung has been replacing and refunding defective Galaxy Note 7 devices for a couple of weeks now. Just yesterday we talked about how replaced Galaxy Note 7 units were continuing to have battery issues. At the time, it was reported that some units were being charged while they were plugged in, while others were having overheating issues when the device was plugged in. Still, at that time there weren't any reports of replaced units catching fire or exploding. . .until now.

Hui Renjie is a 25-year-old from China who received a replacement Galaxy Note 7 Sunday afternoon that was delivered to him from the JD.com commerce website. Less than 24 hours after receiving the unit, the new Galaxy Note 7 reportedly caught fire and caused minor burns on a couple of his fingers while also burning his MacBook. The man says he has refused an additional replacement and simply does not trust the company anymore.

Samsung has received the defective unit and is currently examining the device to find out what happened.

Source: Bloomberg



from xda-developers http://ift.tt/2d4aage
via IFTTT

mardi 27 septembre 2016

Give Your App a Free Health Check Up At Droidcon UK

There are exciting news for app developers heading to Droidcon UK this year. Skills Matter have partnered with Novoda and NimbleDroid to bring two app clinics, one centered around design and one focusing on performance with prizes for the best of each.

The Performance Clinic – Thursday 27th October from 14:00 till 15.30

NimbleDroid is an automated performance analysis service for apps, and they are offering to give your app a free check up aimed at making your app as fast as possible. There will be two categories of prizes:

1) Best Startup Time
2) Most Improved Startup Time

For the Best Startup Time prizes, the NimbleDroid team will consider the official version of your app downloaded from Google Play on October 27th (you can upload your app to Google Play up until Thursday October 27th midnight London time).

For the Most Improved Startup Time prizes, the NimbleDroid team will use the official version downloaded from Google Play on Thursday September 29th AND Thursday October 27th, provided that the app must register before Thursday September 29th midnight London time. Each app needs to be registered only once. The prizes will be 3 months of NimbleDroid premium service such as custom user flows and premium support.

screenshot-2016-09-28-at-04-10-34

You can upload your app in advance here and read more about this clinic over at Skills Matter.

The Design Clinic – Thursday 27th October from 15.30 – 17:00

Whether your app has been developed since the days of Cupcake or hasn't yet hit the a final release, it can never hurt to have fresh insight in to your app's UX. This clinic will allow your app to be reviewed by a team of designers and developers including Google Developer Experts and some of the best developers in the industry. They will share their thoughts on your app and advise you on methods to improve your UX, answering any questions you may have.

We believe motion brings an app to life, and creates a compelling, enjoyable user experience. It can make the difference between a good or a great design in your app.

We are looking for the work you are most proud of, that extra attention to detail that creates the highest quality experience for your users using motion.

Rules

• The motion design MUST be implemented in a mobile app that conforms to Material Design guidelines
• The app MUST run on phone, tablet, TV or other Android-powered devices
• You MUST be an employee of the company, or the developer/designer of, the app you're submitting
• You MUST have a valid droidcon ticket and be attending the closing ceremony (when prizes will be awarded)
• The entry MUST be original work. Its implementation MUST be published on the Play Store or other app stores that are publicly listing the app (Amazon, etc)
• ONE entry per person
• By submitting your entry you grant Novoda and Skills Matter the right to use all the submitted informations and material for promoting the contest and its winners
• Entries MUST be submitted by October 17th, 23:59:59.999 UK time

You can upload your app in advance here and read more about this clinic over at Skills Matter.

Will you be uploading your app? Leave a comment below!



from xda-developers http://ift.tt/2d8y5dF
via IFTTT

BlackBerry DTEK60 passes by the FCC

The BlackBerry DTEK60's FCC filings were just released, confirming what frequency bands BlackBerry intends to support on their U.S. model, as well as some more information about the device itself.

The DTEK60 is the successor to the Android based DTEK50 that was launched earlier this year, which resulted in some head scratching for its questionable naming scheme and small battery.

BlackBerry DTEK50 VerticalThat being said, the DTEK60 is expected to be aimed at a substantially different market than the mid-range DTEK50 was, with leaked specifications from BlackBerry's website pointing to it having a 5.5″ 2560×1440 display, a Snapdragon 820 SoC, 4GB of RAM, 32 GB of storage with MicroSD support, USB Type-C 2.0 with Quick Charge 3.0, a 21 MP PDAF rear camera with an f2.0 lens and dual tone flash, 4k 30 Hz recording and 720p 120 Hz slowmo, an 8 MP front camera with an f2.2 lens, 1.125 μm pixels, and an 84˚ field of view, a front mounted fingerprint sensor, NFC, dual-band WiFi, and a 3000 mAh battery. The specifications also list it as being 153.9 x 75.4 x 7 mm, weighing in at 165 g, having a red notification LED, and having four physical buttons (volume up/down, lock, and the BlackBerry Convenience Key). It is listed as having an accelerometer, magnetometer, gyroscope, proximity sensor, ambient light sensor, and hall effect sensor, like the DTEK50.

BlackBerry also lists it as coming pre-loaded with the standard Android apps, plus BlackBerry Keyboard, BlackBerry Hub, BlackBerry Calendar, Contacts by BlackBerry, Notes by BlackBerry, Tasks by BlackBerry, BlackBerry Camera, BBM, DTEK by BlackBerry, BlackBerry Device Search, BlackBerry Launcher, BlackBerry Services, BlackBerry Help, BlackBerry Password Keeper, Microsoft exFAT Technology for BlackBerry, BlackBerry Content Transfer, and Yahoo! Finance.

The FCC Filings confirm that the DTEK60 will support UMTS bands 2/4/5, and LTE bands 2/4/5/7/12 (hopefully indicating support for T-Mobile VoLTE).

On BlackBerry's website, the North American and Latin American DTEK60 was listed as supporting UMTS bands 1/2/4/5/8, and LTE bands 1/2/3/4/5/7/12/17/20/29. The Europe, Middle East, Africa, and Asia Pacific model is listed as supporting UMTS bands 1/2/4/5/6/8 and LTE bands 1/2/3/4/5/7/8/19/20/28A/38/40/41.

What are your thoughts on the BlackBerry DTEK60? Let us know in the comments below!

Source: FCC



from xda-developers http://ift.tt/2d1VIpc
via IFTTT

Aukey Qualcomm Quick Charge Giveaway Winners Announced!

10 days ago, we posted a review+giveaway article featuring 4 Qualcomm Quick Charge compatible charging products from Aukey. We randomly selected a set of winners for each product after verifying their entry eligibility, and within hours of the giveaway closing we began sending out the first batch of private messages over our forums.

We waited approximately 48 hours for winners to respond, and if the winner failed to respond we randomly selected another participant from our pool of entries and sent them a private message while giving these new winners approximately 48 hours to respond.

Many participants answered as they received a message, but some participants failed to do so. Rather than continuing to delay announcing the giveaway, we've decided to go ahead and announce the giveaway winners we've confirmed while continuing to search for the final few winners! The winners listed below have all had the necessary information collected into a spreadsheet that we have forwarded along to Aukey. Within the next couple of days, you should be receiving an e-mail message from Aukey with shipping confirmation. But since we have yet to fill up all of the giveaway slots, stay on the lookout because there's still a chance you may win!


Giveaway Winners

So far, we've confirmed 17 out of 20 winners. We still have two more winners to confirm for the Aukey 16,000 PowerAll QC 2.0 External Battery as well as one winner for the Aukey QC 3.0 Dual Port USB Car Charger, so you will see a '?' in place of a username for some of these slots.

Congratulations to all of the winners, and thank you for participating in the giveaway! We've gotten lots of valuable feedback over the course of this giveaway (and will especially be tweaking our battery measuring methodology to collect far more sample points), and we hope to implement them in our future reviews/giveaways.


Follow Aukey on Facebook, Twitter or Google+.

Follow XDA-Developers on TwitterGoogle+, YouTube, or Facebook.



from xda-developers http://ift.tt/2dpJ6Lh
via IFTTT

SuperSU Privacy Policy Updated Under CCMT

Just about a year ago, Chainfire had announced that he will be passing on his projects to Coding Code Mobile technology LLC (abbreviated to CCMT). The end user would not see changes to the apps they loved, but the change was happening nonetheless.

Until now, SuperSU's privacy policy continued to exist under Chainfire's name. Some users expressed concern over this mismatch, so as an update, Chainfire has informed us of the privacy policy being published under CCMT. Content-wise, the privacy policy remains virtually the same according to Chainfire, but the parent body for the same is now rightly reflected as CCMT.

If you have concerns about what the new privacy policy could be hiding, you can read it here.

Source: Google+ – Chainfire



from xda-developers http://ift.tt/2dp451d
via IFTTT