site  contact  subhomenews

Testing LineageOS with picoGapps on Nexus 5

March 28, 2018 — BarryK

EDIT 20180402:
Conclusion about SafeInCloud
EDIT 20180330:
Went through install of LineageOS and picoGapps again, attempting to fix SafeInCloud. See dark-red text below.

So far, have been playing with LineageOS and microG. Follow the posts from here:

I decided that the testing is incomplete without trying OpenGapps, which installs the official Google Play Services, instead of microG.

This has to be installed in a certain specific way. OpenGapps must be installed immediately after LineagOS is installed, and before LineageOS first bootup. This summarises how I did it:

I downloaded the smallest Opengapps, 'picoGapps', to my computer (which only has the 'Play Store' app):

With computer connected to phone, and talking to each other by 'adb' (with USB cable):

Note: TWRP is already installed, with USB-debugging and APK-sideloading enabled in the Settings.
Install TWRP:

pc: # ./adb reboot recovery
ph: Wipe -> Format Data
ph: swipe -> Wipe -> Advance Wipe -> tick all checkboxes -> swipe
back, back, back -> Advanced --> ADB Sideload -> swipe
pc: # ./adb sideload
ph: back -> ADB Sideload -> swipe
pc: # ./adb sideload
ph: Reboot System -> swipe

This time, using my new Google account, I installed SafeInCloud from the Google Play Store -- and paid for it (again, because previous payment was on my main Google account).

SafeInCloud works, except for one important detail -- cannot save the database to local storage. This seems to be an issue with how LineageOS is setup. The error notification is from Privacy Guard:

"SafeInCloud will not be able to access personal data"

...and I was unable to bypass or disable that!!!

Another very interesting point: with LineageOS/microG, I just sideloaded the SafeInCloud .apk, and it already thought that it was the paid "Pro" version, has the extra Pro features and did not ask for money, and both online sync and local saving worked.

Another thing to consider is that microG is an open source non-commercial project, written for the users, with heaps of configuration options.

So, this experiment looks like it is coming to a halt. If I go back to microG, should be able to use YalpStore to install the paid-for SafeInCloud from my new Google account.

Sideloading the older SafeInCloud .apk from my Mlais phone, it works perfectly, local backup and restore works. The problem is with the latest version in the Google Play Store. Makes no difference whether using picoGapps or microG, the latest SIC from Play Store won't save locally. I am currently communicating with Andrey, the developer of SafeInCloud.

Andrey, the SafeInCloud developer, sent a special debug version, and I returned a test file. His conclusion:

I see no errors in the apps log. It seems that LineageOS does some "tricks" with the Android's content provider system, which causes the problem. Unfortunately, I cannot test it myself.
Well, the older version of SIC works! Perhaps time for me to look for another app.

Tags: tech

Google Maps on LineageOS microG

March 27, 2018 — BarryK

Continuing to have fun with LineageOS and microG on my Nexus 5. I posted about the installation yesterday:

The ROM image also contains 'F-Droid', which is an app store, with only free apps. I had already installed 'FFUpdater' to install Firefox.

I also installed 'Safe In Cloud', a paid app, by sideloading. I extracted the .apk from my Mlais phone, then installed it to my Nexus, as explained in the above link.


I then discovered that F-Droid has an app named 'YalpStore', which can install apps from Google Play Store. If the phone is not rooted, it requires that sideloading be turned on in the Setup, developer's section.

YalpStore can even install paid apps, however it requires logging into my Google account. One of the main things that I am aiming to avoid is any automatic login to Google on my phone. This is a huge security weakness if someone steals your phone (especially as I only have swipe-unlock!).

Anyway, YalpStore seems to have a problem with Google's 2-step authentication, which is what I have -- new login sends an sms to my phone, with a pin.

But, YalpStore downloads free apps from Google Play Store, that works great.

EDIT 20180328
The security weakness of the phone automatically accessing my Google account, is easy to avoid -- create another Google account. Which I did, using a different backup email address. Gmail on this new account is empty, so not bothered if anyone is able to get into it.
I also installed the 'Gmail' app, via YalpStore, as some apps, such as 'TurboScan', use it to send emails (in the case of TurboScan, to send scanned images).
Note, apparently it is possible to install Google Play Store on a LineageOS/microG system, haven't tried that yet.
It should also be possible for YalpStore to access paid apps, paid-for on the new Google account.


There are a lot of settings for microG, the replacement for Google Play Services. I discovered this website, with tutorials for configuring microG:

Also, it is very helpful to read the six-part "No Gapps" tutorials, starting here:

But, what about Google apps, such as 'Google Maps', can they run on microG?

Google Maps

That website has a compatibility chart for Google apps on microG, and lists alternatives:

There is a "?" against Google Maps compatibility. Hmmm, went ahead anyway, used YalpStore to install 'Google Maps', and it seems to be working.

Note, there is 'Google Maps Go', a light-weight alternative, however it is just a frontend to the web browser access to Google Maps, and requires Chrome browser. I am using Firefox.

I think though, Google Maps is only using GPS. microG setup can turn on location via the provider's network towers, but as I don't yet have a sim in the phone -- or rather, I do, an old expired one -- that is ok.

Next, need to go for a drive, see if can direct me....

Tags: tech

LineageOS with microG on Nexus 5

March 26, 2018 — BarryK

Wow, on a roll here!

I have been very concerned about the old version of Android (4.4.4) on my Mlais M52 Red Note phone. I bought this from China some years ago. Yes, 2015, here is a blog post:

And posted a short first-impressions:

As with most of these non-Google phones, Android doesn't get updated. There were some updates, then it stopped.

Hence, now looking at Unlegacy-Android and LineagOS, using my Nexus 5 to experiment on. I bought the Nexus 5 new, quite cheap as it is "old technology". It is a nice phone though. That was mid-2016:

Firstly tried Unlegacy-Android:

Then moved on to LineagOS:

Googling around, made a discovery. LineageOS is also available with microG. Now, microG is very interesting. It provides the Google infrastructure, but without any actual Google apps. Find out more:

And yep, it has the nexus 5 Hammerhead images, oh goody. Downloaded it and went through the same steps as in previous post (for LineageOS). One thing, the zip file was very difficult to download. I used 'wget -c' to continue download when it stopped (ctrl-c to kill wget, then rerun to continue download.

Safe In Cloud app

Now it gets extremely interesting. LineageOS with microG is installed on the Nexus 5, but I don't have, nor want, access to the Google Play Store. There is F-Droid, pre-installed, store for completely free apps only.

One of the most important apps for me is Safe In Cloud, a password manager, well, much more than that, stores anything, such as website logins. Even has its own web browser.

It is a paid-for product, and I have it on my Mlais M52. Android packages are .apk files, and all installed apk files of installed apps are kept in the phone. So, I want to get the Safe In Cloud apk out of the Mlais and install it in the Nexus 5.

Seems like a difficult task, however, I discovered the power of that 'adb' utility. This is how I did it:

good info here:

List all .apk files (Mlais connected to computer):
# ./adb shell pm list packages
Find where an .apk is:
# ./adb shell pm path com.safeincloud
Copy it to computer:
# ./adb pull /data/app/com.safeincloud-1.apk
In the mlais m52 phone, used file-manager to locate where have locally backed up safe-in-cloud. Copied database to computer:
# ./adb pull /storage/sdcard0/SafeInCloud_2018-03-26.db
610 KB/s (29655 bytes in 0.047s)
Now for the Nexus 5:
# ./adb kill-server
plugin nexus 5
# ./adb devices
Make sure Settings --> Security --> Unknown sources
is turned on.
# ./adb install com.safeincloud-1.apk
4198 KB/s (5023776 bytes in 1.168s)
Find out where most likely place to push the database file to:
# ./adb shell "ls /sdcard"
Alarms   DCIM       Download  Music          Pictures  Ringtones 
Android  Documents  Movies    Notifications  Podcasts  TWRP

# ./adb push SafeInCloud_2018-03-26.db /sdcard/
520 KB/s (29655 bytes in 0.055s)
However, Safe In Cloud syncs the database online as well. In my case on Google Drive. I pressed the "SafeInCloud" icon in the Nexus, and choose to sync with Google Drive ...we are about to see if microG works!

Yep, logged into Google Drive, safe In Cloud synced. and now running. Superb!

EDIT 20180328
I realised that one thing I do not want, is for the phone to access my main google account. Therefore, I created a new Google account, wiped all of the 'data' partition on the phone using TWRP, then re-installed Safe-In-Cloud and other apps.
Running Safe-In-Cloud, loaded the local database 'SafeInCloud_2018-03-26.db' (see above), then synced it to Google Drive on my new Google account.

I am very pleased about this. My Nexus is now good for years ahead, very secure and as Google-free as I can get it.

Oh, one extra thing. I have installed Firefox. F-Droid has 'FFUdater' app, which, apart from updating, will also do a first-time install.

Tags: tech

LineageOS 14.1 installed on Nexus 5

March 25, 2018 — BarryK

Yesterday I posted about installing Unlegacy-Android 8.1.0 on my Nexus 5 phone:

It's a bit buggy. Also, being stock Google Android, it has some limitations. For example, my wi-fi did not appear, it requires "country localization" to be set to Australia, which it seems there is no option to do. However, LineageOS does have that option.

I also tried Unlegacy-Android 7.1.2, same wi-fi problem.

So, downloaded LineageOS for the nexus 5:

Note, version 14.1 equates to Android 7.1.2 (Nougat).

My phone has TWRP installed, and USB-Debugging enable, so good to go. With USB cable connected to computer, typed on computer:

# ./adb reboot recovery

The phone rebooted and TWRP started. Saw the "Advanced" button, but when I pressed that and proceeded with a sideload, got an error message:

"Can't install this package on top of incompatible data"

So, pressed the "Back" button, and on the same screen that showed "Advanced" button, there is also "Wipe" button. Press "Wipe", then "Format data".

Then, went back until the "Advanced" button is on the screen, pressed it, then "ADB sideloading" then slide to start it, and over on the computer type:

# ./adb sideload
This works well. Most importantly, wi-fi works. generally, there are more configure options than with stock Google Android.

LineageOS is actually a fork of CyanogenMod, after it fell to pieces:

First time that I am using it.

Tags: tech

Nexus 5 updated to Android 8.1.0

March 24, 2018 — BarryK

I originally purchased the Nexus 5 to be able to play with MaruOS:

The most recent version of MaruOS is 0.4.1. This evening, decided to install a recent vanilla-flavoured Android. This is how it was done...

Download MaruOS image, to get the 'adb' and 'fastboot' binaries:

...get them out of the zip file.

Download Android 8.1.0 image for Nexus 5:

Download TWRP for Nexus 5:

How to install TWRP:

Place 'adb', 'fastboot', 'twrp.img' and the Android zip file in the same folder, open a terminal.

Plug USB cable from computer to phone. On the phone, turn on "USB debugging", as explained here:

Type "lsusb" in terminal to verify that computer sees phone.

What I did to install TWRP, in computer terminal:

# ./adb reboot bootloader
# ./fastboot flash recovery twrp.img

On phone, press Up-Volume physical button, until "Recovery" appears on phone screen, then press Power physical button.

On computer, reboot the phone in Recovery mode:

# ./adb reboot recovery

On phone, press "Advanced" button, then "ADB Sideload" button. There are a couple of checkboxes, "Wipe Dalvik cache" and "Wipe cache", tick those. Then there is a slider to start the sideload.

Back on the computer, type:

# ./adb sideload

This will install the Android image file from the computer to the phone. Then there will be a button on phone to reboot. TWRP will then display "Swipe to install TWRP app", do it (not sure if necessary). Yay, it worked!

Tags: tech

Cheap Be 16GB USB3 Flash drive is very fast

January 29, 2018 — BarryK

Putting this info out there, for anyone in Australia who is interested. Right now, Bigw is selling some USB Flash drives for half-price.

This includes the Be 16GB USB3 stick, at AU$11:


Be is Bigw's internal brand.

I bought one of these yesterday, and this morning used the 'easydd' utility to write an image file to the drive. This utility reports the write speed, and I got 27.8MB/s.

This is phenomenal. Another well-known brand cheap 16GB USB3 Flash drive that I bought a little while ago, gave only about 9MB/s.

Then there's some cheap USB2 drives that are as low as 3 - 5MB/s.

The reason that this is important is that if you are going to run Linux from a USB Flash drive, if the drive gives less than about 7MB/s write speed, you will have very unsatisfactory user experience, very sluggish.

Another important point, that I have reported many times, is that the theoretical read/write speeds of USB2 interfaces is above what these Flash drives are giving, so my Be 16GB USB3 drive will have almost the same speed in a USB2 socket.

Note, this Be drive has an Innostor chip. I have reported on these before. They are very fast, made in Taiwan.

Tags: tech

Totolink A2004NS fast wireless/ethernet router

December 20, 2017 — BarryK

A few days ago, I posted about setting up a local network, using an old-ish router:

The Totolink N100R+ has 150mb/s wi-fi and 100mb/s ethernet. OK, but these days we can do a lot better.

I don't recall the price of that N100R+, but I think that it was well under US$30, a few years ago.

I looked around local suppliers, and routers with "ac" class wi-fi and gigabit ethernet are not cheap.

I looked up Totolink online, and found that they sell through Aliexpress. The a2004NS looks great:

Fast wi-fi and ethernet. The usb port is only usb2 though.

It cost US$41.15 including delivery to Australia by "Aliexpress Standard Delivery", and they also have an AU (Australian) Power plug. I opted for the "full package", would have saved a couple of dollars without (the full package would be the retail box).

As I am embracing local networking, and getting into using Samba, looking forward to using this router.

Tags: tech

Toto Link wifi/ethernet router/repeater

December 11, 2017 — BarryK

In the Puppy Forum thread where we are testing Quirky Pyro64 0.6, it was reported that Samba is not working. I wasn't much help, as I had to admit that I have never used Samba. A bit embarrassing really, considering what I "do".

Yesterday, decided that the time has finally arrived when I would setup Samba. First though, I need a little local network. I access the Internet via my mobile phone, no land line. So, wifi tethering turned on in my Android phone, no problem connecting to the Internet for any of my PCs.

I did wonder whether the phone itself could be used as a local wifi network. That is, each of the PCs connected to the phone being able to share files between each other. I have read conflicting reports about whether that is possible.

Anyway, I have an old router, have put it back in service. This is a Toto Link N100R+ V2, picture here:


This is old technology, 150mb/s wifi, 100mb/s ethernet, but OK for now. My model is no longer sold, the latest is N100RE:

On my desk there are two PCs, my midi-tower and Mele mini-PC. The latter dual-boots Linux and Windows 10, so I plugged it into "LAN1" on the N100R and powered up, then went to the "" in my browser. Default login is "admin", "admin".

I clicked "Operation Mode" then the "Wireless ISP" radiobutton. Then clicked "Wireless" from left side, then "Basic Settings" and the "ScanAP" button. It detected my phone SSID and chose "WPA2-PSK" and "CCMP", and entered the password. That's it, had Internet access!

On the Win10 mini-PC, was now connected to the Internet via ethernet. In the "Setup", looked around a bit, but basically just enabled "Turn on network discovery" and "Turn on file and printer sharing".

For the midi-tower, plugged an ethernet cable into "LAN2" on the N100R, and fired up Quirky Xerus64. Fiddled around a bit, but essentially just ran 01micko's Samba Simple Management.

Over on the Win10 machine, in the file manager, there is "Network" on the left side. Clicked that, then right-clicked on the right-side and chose "Refresh". Yay, got "PUPPYPC11067", which is my midi-tower. Clicking on that, it asked for username and password, which is "root" and "woofwoof".

Next step is to get it going on Quirky Pyro64...

Tags: tech, quirky