Skip to main content

How I upgraded the Lenovo 4 10 Plus to Android Pie/9 and passed SafetyNet

Before you do anything listed below Please Please Please understand that if done incorrectly you will break your tablet and make it unusable. It is also important to note that not all devices with this name is the same, I have only tested this on the X704L but it would probably work the same on X704F as well, do not try this on any other tablets without first verifying with the creators that it works on your tablet.

I am writing this guide mainly as a reference for my future self so it will be on a level where you already have to know the basics of these things. If you don’t understand the steps in my guide, please head over to the XDA thread instead and have a look at their instructions for installing the OS.

I have made backups of all the files I mention in this guide as I know this type of thing tends to disappear after a few years. If any of the files / sites I link to has disappeared let me know and I will share these files. I will only share my copy of the files once the official ones are gone as I want the creators/maintainers to get the credit they deserve. By going the official route you also make sure you always get the latest versions.

The following are the steps I followed when I did it earlier this week, please note that newer versions might require different steps.

I started by installing Minimal ADB and Fastboot on my computer, this was to allow me to send commands to the tablet easier.

Next I enabled developer options on the tablet and enabled OEM unlock and USB debugging, I connected the tablet to the computer and ran the following command

adb reboot bootloader

This put the tablet in the bootloader mode where you only see a Lenovo logo. Once I saw the logo I ran another command. Keep in mind that this command will factory reset the device.

fastboot oem unlock-go

As the device is now factory reset I had to enable USB debugging again and after that it was time to start downloading the stuff I was going to install.

First off was TWRP. One thing to keep in mind here is that the TWRP states that it is for X704F and not X704L. The version I used worked fine on the L but make sure to verify that newer versions do this as well before flashing. The version I used was twrp-3.3.1-0-X704F.img.

Next it was time to download the ROM, when I write this there is only one Pie ROM available for the tablet and that is an Unofficial version of Lineage OS 16 maintained by yener90. I used the version that was released 20190609

Since Lineage comes without any Google software I also downloaded the Micro GApps pack from The Open GApps Project. Make sure to check Arm64, Android 9 .0 and Micro before hitting download.

The last thing I needed to download for now was Magisk. I downloaded the latest stable version which at the time I write this is 19.3. When I was at it I also downloaded the Magisk Manager APK as that would be required later.

Once everything was downloaded I put a copy of everything both in the root of the internal storage and at the root of an external SD card. Then I ran the command

adb reboot bootloader

Once again, remember that this will only show you the Lenovo logo, when I saw it I ran the command

fastboot flash recovery twrp-3.3.1-0-X704F.img

Once flashed I used the volume buttons to navigate the menu at the top of the screen, wen it said Recovery Mode I used the power button to select it. This booted TWRP where I selected that I want to write to system.

The first thing I did now was make a backup of everything to an external SD card so I always have a way back if I want to.

Now it was time to clean out the old Android, hit wipe but don´t use the slide, instead hit format data and type yes. Once done, hit the back button and go to advanced wipe. Check Dalvik/ART Cache, System and Cache then swipe to wipe them. Go back to the main menu and reboot into recovery. If it asks if I want to install a TWRP app I always say no.

Once back in TWRP I began by flashing the ROM, then GAPPS and lastly Magisk, then I rebooted into system. Once again say no if it asks for installing a TWRP app.

Now I went through the setup of the tablet and once done I installed the Magisk Manager apk that I downloaded earlier.

Insie Magisk manager I headed to the settings and made sure Magisk Hide was enabled and also enabled that Magisk manager itself should be hidden (this is done by regenerating a package with a random name, cool!)

I headed to Google Play and installed the app “Termux”, in my case it was version 0.72.

Then I went back to magisk manager and installed the module “Busybox for Android NDK version 1.30.1. When it was installed I rebooted the device.

Now I headed over to XDA again and downloaded “MagiskHide Props Config” version 4.0.3. Then I went back to Magisk manager and installed this as a new module and rebooted the device.

When the tablet was back up I opened up Termux and typed su and hit enter, gave it root permissions and then typed props. I followed the menu that was started like this
Edit device fingerprint -> pick a certified fingerprint -> Lenovo -> Lenovo K6 Note (7.0) -> yes for reboot.

When the device was back up I ran the SafetyNet check inside Magisk Manager and saw that everything was green but when I tried to search for Netflix on Google Play it still didn’t show up. To fix this I headed in to the tablets settings, then apps, show system apps. Then clear all data for Google Play Services and Google Play. Now I rebooted the device one final time and then it was done.

The tablet is now running Android Pie and passes SafetyNet. One last thing to keep in mind is that SafetyNet is always updated so this will probably break in the future and then Magisk will probably update to fix it again etc etc. If always passing SafetyNet is really important to you I recommend looking for a new tablet with official updates.

Share

Using a network shared folder in Booksonic

I recently got a  question regarding using a network shared folder in Booksonic so I thought it would be a great idea to show how you can do this.

  1. Press the windows button and R at the same time
  2. Type services.msc and hit enter
  3. Look for the service called Subsonic, rightclick it anc click on properties
  4. Go to Log On and make sure the checkbox for This account is checked then enter the login information for an account that has access to the shared folder.
  5. Hit ok and then rightclick the Subsonic service and restart it.

Now you should be able to use your network share within Booksonic without problems.

 

UPDATE:

Obs, keep in mind that you can’t use a mapped location, you need to use the full path, as an example mine is \\PopeensDataServer\D\Audiobooks or \\192.168.1.4\D\Audiobooks

Share

How to stream audiobooks to your phone with Booksonic

If you are like me then you probably love audiobooks and services like Amazon’s Audible that lets you stream your books directly to your phone. Audible is great but what about all those other books that you buy on cd in the store or as mp3 downloads online, or how about those that you download for free from sites like Librivox? Those you need to put on your phone before you can listen to them right? No, you actually don’t anymore.

Until recently I used a software called Subsonic to stream audiobooks to my phone. Subsonic is a great piece of software but it’s aimed at music so there are some problems with using it for streaming audiobooks, for example you can’t get book descriptions in the app. Back in October 2015 this lead me to start looking for a replacement but surprisingly it seems there really aren’t any, or at least there wasn’t back then. Now there is Booksonic, the fork of Subsonic and DSub that I started working on when I realized that was going to be stuck with Subsonic for my streaming needs.

So what is Booksonic then, well the short version is that it’s Subsonic for audibooks. You install a server software on your home PC and then you connect to it with your android phone and it will allow you to stream all your audiobooks to your phone regardless of if you are at home or not. The server is completely free but the Android app will cost you a one time fee of $3, well worth it if you ask me but you probably should ask someone else since I’m a bit partial, being the developer and all.

Now that we know what Booksonic is lets get started installing it. In this guide we will be installing it on a windows machine but it’s also available for Debian based Linux like Ubuntu and Mint. For mac and other systems there is a war file so you can run it with tomcat. For more instructions about this, check out this guide by Luite posted in the comments

Step 1. Getting the server

The server is available for download at booksonic.org, since we are installing it on a windows machine we will be downloading the Windows Installer version

Step 2. Installing the server

Once the file has been downloaded you double click it to start the installation. The installer will start to look for java on your machine and if it can’t find it it will ask if you want to install it, hit yes. Once it finds java you will get a welcome screen, here you should click the next button. The next screen will allow you to change where to install booksonic, unless you have a specific reason for changing it you can leave it as it is and click Install. Now uncheck the view getting started document checkbox and hit finish. Congratulations, you have installed the Booksonic server!

Step 3. Setting up the audiobook files

Now it’s time to start setting your up audiobooks. Find somewhere on your computer where you want to store them and go there. I have a folder called Ljudbocker on an external drive called F so for me the location would be F:\Ljudbocker\. In your folder create a new folder for every author you have. It will look something like this

Now go into into the author folders and create new folders for every book. I like to use the format “year – Bookname”, that way I can quickly see what order they should be listened to directly in my file manager but you can use just the bookname as well if you want. Booksonic will get the year from the tags inside the files. As an example this is what my folder for Arthur Conan Doyle looks like this.

Now it’s time to put in your files. Booksonic can handle all major audio file formats. Put your audio files into the books folder, to add a cover put it in as a jpg called cover, if you want to add a book description create a file called desc.txt and put you description in that. To add a narrator you create a file called reader.txt and put in your narrator there. There is a third party tool called Booksonic Library Editor that can help you manage these txt files which has worked great for me.
As an example here is my directory for A Study in Scarlet.

As a last step we are going to set the tags of the music files. For editing those I am going to use a free piece of software called Mp3Tag, it can handle a lot of different formats including mp3, m4a and m4b. I should probably note here that while m4a and m4b usually works with Booksonic there have been some reports about weird bugs with them so I would recommend using mp3 files if possible.

How you prefer to tag the files is up to you but for me I do it like this. If I have a chapter name I set that as the title, if not I set the books name as the title. I set the Author as both Artist and Album artist. The Album is of course the book name, the year I prefer to set as the year the book was released but if you want to use the year the audiobook was released then go for it. Then I set the track number and the cover image. If you want to save some space you don’t have to set the cover in the tags since you already have the jpg in the folder but I recommend you set it anyway in case you want to use it somewhere else. To make it a bit easier for you here is what it looks like for my track 1 of A Study in Scarlet.

Step 4. Configuring the server

Now that you have the server and files in place we need to configure the server so it knows where to find your audiobooks and since we are going to make the server accessible from the Internet we are also going to change the default password. To do this click this URL and it will open Booksonic for you in a new tab. http://localhost:4040

Once the page has loaded you sign in with both the username and password admin

When you sign in for the first time you will be shown a getting started guide. The first thing on this guide is changing the password so lets do that, click on Change administrator password and it will take you to the manage users page. Make sure the user admin is selected and then check the change password box. Enter your new password in the textboxes that appear and hit save. You will be signed out, don’t worry about that, it is normal.

Sign back in with your new password and you will once again see the getting started guide. This time click on Set up media folders. You will see that there is already one folder added that is called music, you can rename that to whatever you want but I usually go Audiobooks, in the field for the folder put in the location to the folder containg your author folders, in my case this was F:\Ljudbocker\. Once that is done, scroll to the bottom and hit save. After this I recommend you do a scan, you can do this by clicking the link called Scan media folders now.

Click on home in the top navigation bar and you will be taken back to the getting started guide, at the bottom of the page you will see a link called Don’t show this again, click that. An alert box will pop up telling you how to get the guide again, click ok.

Step 5. Enable internet access

Congratulations, the server has been completely set up and if you only want to use it at home you are ready, if you want to use it from outside your own network you need to port forward port 4040. Since port forwarding is different on every router I am not going to shw you how to do that but you can find instructions for your router at this portforwarding.com page. You only need to forward port 4040 and should ignore port 80.

Step 6. Installing the Android app

Now it is time to install the Android app. You can find it by searching for Booksonic on Google Play or clicking this link

Step 7. Configuring the app

It’s time to configure the app yo use your server and doing so is very easy.

When you open the app you will see a login prompt. It is prefilled with the information for the demo server but since we have just set up our own server we want to use that instead. Change the address, username and password so they match your server and then click on sign in. If you don’t know the address of your server, click demo and move on to the next paragraph where we go in to more detail about this.

If you want to add more servers or change the server you just added you can do so by tapping the three lines at the top of the left, this will get you a sidemenu or a drawer as it is called in the android world. Click on settings. Now click on servers. You will already have your server or a Demo server here. You can either set up another server or modify the one you already have.

Before we set the server address we will need the IP of your server so on the machine you installed Booksonic go to popeen.com/tools/ip, this will show you your IP address. Now on your app hit server address and set it to http://IP:4040 where IP is the ip of your server. Remember to use both http:// and :4040 or it will not work.

Now set the username and password in the same way and hit Test connection. It should say Connection is OK, if you get anything else go back and redo step 5 and if you still can’t get it to work you can contact me and ask for help at [email protected] or leave a comment below. Once the tests sais Connection is OK you can hit the arrow at the top left corner a couple of times until you get the lines again, click them and the click home.

Congratulations, you are now ready to start streaming your own audiobooks.

I hope this guide has helped you understand how to use Booksonic and if you have any questions at all don’t hesitate to leave a comment below, send me an email at [email protected], visit /r/Booksonic on reddit or read the Booksonic FAQ. If you have any suggestions on how to make Booksonic better I would love to hear them (once again, here, email or reddit).

To end this post I would like to recommend you go and check out David Clarke at verysmallrocks.io. He is the reader of the free Sherlock Holmes books (LibriVox recordings) you saw in my collection and the quality of the recordings are just as good as the stories. If you are seeing this David, thank you once again for your amazing work!

Share

A walk-trough of setting up this blog

So I thought it would be nice to take you on a walk-trough on how this blog has been set up in case you might be might be interested in starting one yourself. In the post I will not go into details about the different configurations of the blog software but more into hosting, domain and how to actually get it online. In each step I will tell you a little about why I have chosen for example a specific service.

 

So lets get started.

1. Domain

For me, choosing a domain name for the blog was easy, actually I bought it long before this blog was even thought of. Popeen is my nickname both online and offline so it just feels natural to me that it should also be my home on the web. When I first wanted to register it back in 08 it was already taken but I kept my eye on it and when suddenly it became available I rushed to buy it. And here is the part you are probably here for, where did I buy it? I bought it from a company called Loopia and since then I have kept it there. A couple of other domains I had at Loopia I have actually moved over to GoDaddy, not because they are better in some way but because they where cheaper at the time the domain  needed renewal. So for buying a domain go for what is cheapest at the moment, just make that you pick a serious company and that they will allow you to change the nameservers yourself, if you are unsure go with Loopia. When its time for renewal, have a look and see if things have changed or keep using what you choose in the first place if you don’t care for a couple of bucks here and there and are happy with what you got. If you decide to switch just remember that there often is a transfer fee from your new registrar.

 

2. Hosting

When it comes to hosting there are a ton of alternatives out there and probably just as many opinions. But in my case I have one host that I use for everything and that I love, Inleed. The speed of the host is good and so is the price tag. At the moment prices start at 19SEK/month, that is less then $3. But speed and price in all honor, where Inleed really shines is the support. It’s not often that I have had to contact them about something but when it has happened the response has been blazing fast even at very uncomfortable office hours. An example of this was this new years eve when I contacted them by email in the evening, in three minutes I had a response and in five the problem was solved. They are always quick to help and you feel like they really care about you. I’m sure there are other hosts out there that are just as good but there are also a lot of them that are really bad so why take the chance, so I say go for Inleed. If you go for something other then Inleed make sure that they support PHP & mySQL and that you will have FTP access to the server.

 

3. DNS

DNS? What? Isn’t that included in my domain you may say, and yes, it usually is, although it actually costs extra for Loopia users if you want to use theirs (this is probably true for some other registrars as well). But the thing is, you don’t want to use their DNS. You want to use a service called CloudFlare. Why would I want to use that you are probably saying now, well there are a lot of reasons for it and it would take up at least a full blog post to mention them all so lets just summarize them with that CloudFlare makes your website faster, more secure and that the base plan is free. If you want to read more about it you should have a look at the CloudFlare overview page. When you have registered your domain at CloudFlare you will get two nameservers back, they look something like this:

betty.ns.cloudflare.com
sri.ns.cloudflare.com

Keep in mind that yours will probably not be the same as the ones above. Once you have yours you head over to where you registered your domain and head into the domain settings. Since this is a bit different for every registrar I can’t tell you exactly how it will look but what you want to do is find where to change the nameservers and then set them to the ones you got from CloudFlare, if you cant find the settings ask the support and they will help you.

 

4. Software

Now we are getting in to my favorite part, the software. First of all you will be needing an FTP Client so that you can upload your files to the server, I recommend the FileZilla Client, it’s really good and it’s free. Secondly you will be needing your blogging software, for this we will use WordPress. If your host comes with a One-Click Setup you could use that but to be sure that you get the latest version I would recommend you install it by yourself. Installing it is really easy and I will be putting together a blog post on how to do it soon and add a link here but for now if you need help you can have a look at the wordpress support site.

 

5. Themes and Plugins

If you have been reading this post to set up a blog on your own and following along then first of all shame on you, you should always be reading the complete instructions before starting, secondly congratulations on your new blog. While the blog is technically finished it might be a good idea to install a custom theme on it to make it look a little better. You can find a lot of both free and paid themes by using google or you can head to the theme section on the wordpress website

 

Thats it, now you know how this blog is set up and how to do it yourself should you ever want to set up your own blog.

 

Credits:
The top photo in this post was taken by Torkild Retvedt and is released under the CC-BY-SA Licence. It has been cropped a bit and the original is available on this flickr page.

Share