Onyx Boox – how to send files through WiFi to (or from) your e-Reader using samba server (on your PC) and Android application SMBSync2

The story of John the geek.

Let me tell you a story of John the geek. John decided that he don’t want to use flash drives, cables or emails to send his files from his PC to his e-Reader Onyx Boox. After several seconds, he decided to configure his Linux PC and his e-Reader to sent his files throw WiFi. It was the best solution he could find. No cables, no restrictions, just copy, paste and sync. That’s it! Nothing less, nothing more. Be like John! Well… there was that problematic part with configuration of Linux machine.

Linux machine

John opened his browser and found this awesome article which explained how to install and configure samba server on Linux machine (https://computingforgeeks.com/how-to-configure-samba-share-on-debian), after that he decided that all files will be shared from one place which will be:

/media/john/hdd_1/shares/

In this folder, John has created specific subfolders, which exists on his e-Reader:

  • Audiobooks
  • Books
  • dicts
  • Download
  • noteTemplate
  • Pictures
  • Screensaver

Of course, John could have created only one folder and run sync from PC to e-Reader every time, but he was smart enough to know that sometimes he will sync only specific folders which will take less time than sync all folders at once. Because of that he also decided that some folders will be synchronized only to e-Reader (Audiobooks, Books, dicts, noteTemplate), one from e-Reader to PC (Download) and one of them will be bidirectional (Pictures). That’s when it all started…

Samba

He has created his own samba configuration. First, he backed up his original file using command:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.ORG

Next, he has overwritten the original file using spell:

sudo echo -n "" > /etc/samba/smb.conf

And after that, John’s magic has started. He opened his samba file, executing this command:

sudo mcedit /etc/samba/smb.conf

And created this amazing simple configuration using below legend:

[Audiobooks] (Name of share – He named this share using name of folder)
path = /media/john/hdd_1/share/Audiobooks (John specified path to folder where his audiobooks will be placed)
quest ok = no (he decided that he doesn’t want to share his files with unknown users)
write list = john (he added his username, named john, to be able to save files to this folder)
valid users = john (and he specified list of valid users who can read this folder)

[global]
netbios name = computer_netbios_name
workgroup = WORKGROUP
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
security = user
map to quest = Bad user

[Audiobooks]
path = /media/john/hdd_1/share/Audiobooks
quest ok = no
write list = john
valid users = john

[Books]
path = /media/john/hdd_1/share/Books
quest ok = no
write list = john
valid users = john

[dicts]
path = /media/john/hdd_1/share/dicts
quest ok = no
write list = john
valid users = john

[Download]
path = /media/john/hdd_1/share/Download
quest ok = no
write list = john
valid users = john

[noteTemplate]
path = /media/john/hdd_1/share/noteTemplate
quest ok = no
write list = john
valid users = john

[Pictures]
path = /media/john/hdd_1/share/Pictures
quest ok = no
write list = john
valid users = john

[Screensaver]
path = /media/john/hdd_1/share/Screensaver
quest ok = no
write list = john
valid users = john

Then he added his user to samba and restarted its service using two commands:

sudo smbpasswd -a myusername
sudo service smbd restart

Finally, his computer was configured, so he copied his audiobooks, books and other files to previously created folders and power on his e-Reader.

e-Reader

It wasn’t an ordinary Android device. Not this time. This time, he knew that he had to do something different from other users. Something that has not been described yet, because there were so many other ways that didn’t suit him.

First, he had to check if he needs to activate Google Play. Like in the previous case of Samba, he found an article about that. This time it was so easy… Boox authors created article about activating Google Play (https://help.boox.com/hc/en-us/articles/360045388371-How-to-activate-the-Google-Play-).

John was so happy about that. He opened Google Play, entered app name “SMBSync2” (https://play.google.com/store/apps/details?id=com.sentaroh.android.SMBSync2) in search field and pushed enter. After that he pushed “install” button and after a while SMBSync2 application was installed on his e-Reader.

SMBSync2 – application installed from Google Play

He pushed “Open” button to start SMBSync2, and he got scared – the application has not been written for e-Readers. He turned off the SMBSync2 and thought, it would be better not to turn it on until he “hack” it first.

John the “Hacker”

John switched to the application tab:

Then he pressed the SMBSync2 icon for about 2 seconds until his eyes saw a secret menu, from which he chose the “Optimize” option:

Then, using the secret knowledge, he set all the parameters as shown in the screenshots below:

Display settings
Color settings
Other settings

He pressed outside the window and the menu magically disappeared…

SMBSync2

John started SMBSync2, and saw a main window with an empty list of tasks and some buttons below.

He stopped for a moment to think what type of tasks he needed. He decided that he only needed two type of tasks for those 3 types of operations which he invented.

First of tasks should pull files from PC to Boox, so they will be called like: Audiobooks2Boox, Books2Boox, dicts2Boox, noteTemplate2Boox, Picture2Boox and Screensaver2Boox.

The second type of tasks will push files from Boox to PC, so they will be called like: Download2PC and Pictures2PC.

So he should create 6 tasks to pull files from PC and 2 tasks which will push files to PC. 8 tasks in general.

He pressed “Add” button and started to create a new task “pull” type:

In a new window he added the task name, which was for this task: Audiobooks2Boox

Then he changed synchronization type from “Copy” to “Mirror”:

Pushed master folder to set source path:

And in a new window he added additional information:

192.168.1.150 – IP address of PC
john and ******** – user and password added to samba
Audiobooks – name of share from PC

After that, he pushed “Save” button and press OK button in new window:

Then he pressed “Target folder” position:

And in new window he added Boox folder name “Audiobooks” from main path “/” and pressed “Save” button.

After that, the task was completed and the only thing left was to press “OK” button.

The task window disappeared, and he saw his first position on the list:

He repeated the same steps for last 5 tasks: Books2Boox, dicts2Boox, noteTemplate2Boox, Picture2Boox and Screensaver2Boox of course adding specific name of shares or folders for specific task 🙂

After that, he had all pull tasks on his Boox (screen shows 4 of 6 tasks – without Picture2Boox and Screensaver2Boox)

He started to create the next type of task for “Download2PC” which was push type – most of the things were the same (i.e. Sync type) as for pull type except of master/target folder orders which was “reversed”.

For Master folder in new window, he had to choose “Internal storage” instead of “SMB Server”. He added folder name of Boox from main path “/” and in Target folder he had to select “SMB Server” instead of “Internal storage”. He needed to add share name, user and password. Then he pushed “Ok” button to save this task.

And here they are – all single type pull/push tasks (excluding those two tasks he has forgot).
He was able to pull and push his files from/to Boox using his Linux machine with samba now.

There was one additional task he wanted to create, but SMBSync2 wasn’t as good as he would like it to be. He couldn’t push and pull files using one task at the same time. In fact… He could have used option “Swap source and destination” (every time) but what if he had forgotten to swap destinations? He would have overwritten files! From a security point of view, a safer version would be to create two separated tasks (pull and push), so he has done it: Pictures2Boox and Pictures2PC using instruction from previous type of tasks.

And there it was the time to test it… John hit the sync button on each of the tasks and waited for them to finish.

After all this hard setup, he turned on file sync and waited for it to be completed. He was able to listen, read and write and sync again and again. And he found that sometimes the simplest things are the most enjoyable.

The End.

Leave a Reply

Your email address will not be published. Required fields are marked *