Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android eink e-readers to add #4551

Closed
Frenzie opened this issue Feb 5, 2019 · 177 comments
Closed

Android eink e-readers to add #4551

Frenzie opened this issue Feb 5, 2019 · 177 comments

Comments

@Frenzie
Copy link
Member

@Frenzie Frenzie commented Feb 5, 2019

Intro

KOReader has support for some eink update routines. These routines are not device specific, but platform specific.

In order to add support for newer devices there's a tool included with the app. You can start the tool from KOReader file manager in "Tools" -> "More Tools" -> "Developer options" -> "Start eink test".

Usage

einkTest-1 2

If you get results with the "tolino" update please answer this question too:

does KOReader works normally (without full screen updates) or it seems stuck and not responding?

Questions

1. I did run all the tests but no one is working for me. Shall I report my results?

Well, you can but it will stay ignored until a developer adds support for a new routine compatible with your device.

2. One of the test works for me but (latest version of) KOReader does not refresh at all. Heeelp!!

You're in the right place. Please report your test results and we can add support on the next KOReader nightly.

3. I have an onyx device which seems to work with the eink test utility

Onyx e-ink devices have their own ticket in #5073. We can't add new supported devices until these issues are fixed.

original message

I've been testing the screen refresh on my android e-readers (v2019.02-8-g3f41560_2019-02-04). It works on the Onyx C67 but not on the InkBook Prime HD (Boyue clone). However, the "einkTest" application does run the screen refresh. This is the information that appears when you run einkTest:

Manufacturer: ARTATECH
Brand: inkBook
Model: Prime HD
Product: Prime HD
Hardware: rk30board

Originally posted by @Cellaris in #4517 (comment)

@Frenzie Frenzie added the Android label Feb 5, 2019
Frenzie added a commit to Frenzie/koreader that referenced this issue Feb 5, 2019
* add eink support for Inkbook Prime HD (koreader/android-luajit-launcher#110) @pazos (references koreader#4551)
* [fix] Exit after crashing to avoid unknown states (koreader/android-luajit-launcher#109) @pazos
Frenzie added a commit that referenced this issue Feb 5, 2019
…4552)

* add eink support for Inkbook Prime HD (koreader/android-luajit-launcher#110) @pazos (references #4551)
* [fix] Exit after crashing to avoid unknown states (koreader/android-luajit-launcher#109) @pazos
@Frenzie
Copy link
Member Author

@Frenzie Frenzie commented Feb 5, 2019

I was trying out GitHub's relatively new "create issue from comment" feature btw, hence the slightly odd look for the OP.

@Cellaris Tomorrow's nightly will include support. Nightlies can be found at http://build.koreader.rocks/download/nightly/

@ptrm
Copy link

@ptrm ptrm commented Feb 7, 2019

I have some curious spieces of InkBook Prime HD, with space missing in the model name:

Normal and forced updates work fine, 5d21990 commit release nightly build fails to do refreshes, though.

EDIT: Might be I've got the 2.0 version of their firmware, release in the last two months or so.

edit: removed image with old UI.

@ptrm
Copy link

@ptrm ptrm commented Feb 7, 2019

Which leads me to a question, why isn't the rk30xx support inferred from hardware name, since the eink test app is able to get it as well? Different implementations / revisions across hardwares?

@pazos
Copy link
Member

@pazos pazos commented Feb 7, 2019

Normal and forced updates work fine, 5d21990 commit release nightly build fails to do refreshes, though.

It is easy to know what happens. If you can see the menu to do full refreshes (Settings->screen->eink settings) and even then the device doesn't refresh the screen is a problem with the driver and needs work. If you can't see that menu then the nightly you are using is not updated enough to recognize the driver and you'll need to wait.

Which leads me to a question, why isn't the rk30xx support inferred from hardware name, since the eink test app is able to get it as well? Different implementations / revisions across hardwares?

Seems a bad idea:

  1. RK31xx, RK32xx share the same hardware "rk30board".
  2. Not all devices based on rk30board are e-ink devices.
  3. If someone wants to add support for newer e-ink devices (say Nook, Tolino, rk29xx) he/she needs to add a new driver. For the e-ink test it is as simple as hook the driver on a new button onClickListener. We can hook as many drivers as we want, but the same idea doesn't apply to KOReader, where just one driver must stay.

@pazos
Copy link
Member

@pazos pazos commented Feb 7, 2019

@ptrm: Your device it is the same as @Cellaris, but he reported model: "Prime HD" and yours says "PrimeHD". Maybe it is a matter of which firmware is running, but we can add support for both model names. Will fix that when I have time.

I have some curious spieces of InkBook Prime HD, with space missing in the model name:

Sorry, I didn't notice that you said that.

@Cellaris
Copy link

@Cellaris Cellaris commented Feb 7, 2019

@ptrm: Your device it is the same as @Cellaris, but he reported model: "Prime HD" and yours says "PrimeHD". Maybe it is a matter of which firmware is running, but we can add support for both model names. Will fix that when I have time.

Unfortunately, it was a transcription error. I'm sorry. I took a screenshot but couldn't include it in the comment. The correct information is shown in the screenshot: inkBook (first lowercase letter); PrimeHD, all together ("Model").

I apologize again for lost work time.

edit: removed image with old UI.

@pazos
Copy link
Member

@pazos pazos commented Feb 8, 2019

Unfortunately, it was a transcription error. I'm sorry. I took a screenshot but couldn't include it in the comment. The correct information is shown in the screenshot: inkBook (first lowercase letter); PrimeHD, all together ("Model").

Don't worry, Thanks for the feedback 👍

@ilyats
Copy link

@ilyats ilyats commented Feb 8, 2019

Boyue Likebook Plus, firmwarev2.0.0-2018081714 (it is unofficial pre-release firmware, IIRC with official v1.0.2 version there were problems with backlight support in Koreader). Test results:
Manufacturer: Boeye
Brand: Boeye
Model: BOYUE
Product: T80S
Hardware: rk30board
Both "rk30xx normal update" and "rk30xx forced update" buttons make screen invert colors for a fraction of second, then screen returns to the old view

edit: removed image with old UI.

@sunnyeyebpi
Copy link

@sunnyeyebpi sunnyeyebpi commented Feb 13, 2019

Hanvon 960 plus,
Manufacturer: Freescale
Brand: Freescale
Model: EVK_MX6SL
Product: evk_6sl_elink
Hardware: freescale
I use the Orinon Viewer to view the PDFs, It's works fine, but the KOreader is not refresh

@pazos
Copy link
Member

@pazos pazos commented Feb 13, 2019

@sunnyeyebpi: that seems an Onyx N96 clone. I would be more than surprised if this device worked with current driver. Did you test if Rk30xx buttons refeesh the screen? If not we need to wait until someone with the device implements a compatible driver.

@koreader koreader deleted a comment from ilyats Feb 13, 2019
@Frenzie
Copy link
Member Author

@Frenzie Frenzie commented Feb 15, 2019

There's another Energy Sistem model, see https://www.mobileread.com/forums/showpost.php?p=3811066&postcount=219

Manufacturer : Energy_Sistem
Brand : Energy_Sistem
Model : eReaderProPlus
Product : Energy_eReaderProP
Hardware : rk30board

@silberzwiebel
Copy link
Contributor

@silberzwiebel silberzwiebel commented Mar 6, 2019

The inkbook prime without HD is also working fine with the e-ink test app:

Manufacturer: ARTATECH
Brand: inkBook
Model: Prime
Product: Prime
Hardware: rk30board

Edit: I just saw that the support for the non-HD model seems to be already baked in. Great, I'll wait for the next release. Thanks!

@dimitarpenev
Copy link

@dimitarpenev dimitarpenev commented Mar 11, 2019

Hello,
I have started einkTest.apk on Likebook Muses
It reported as rk3368 platform.
All the buttons was doing nothing as far as I can tell except rk33xx normal update which refreshed the screen.

@pazos
Copy link
Member

@pazos pazos commented Mar 11, 2019

@dimitarpenev: please provide the following information, thanks

Manufacturer: ??
Brand: ??
Model: ??
Product: ??
Hardware: ??

@AsukaLangleyfag
Copy link

@AsukaLangleyfag AsukaLangleyfag commented Sep 28, 2021

@pazos can you add Onyx Darwin 7?
in android.lua i changed to wf_regal = 6 (only modification i did, ui updates kinda slow but i dont think i can imporve it more, the rest works great, as well as on my android phone)
detection code is
ONYX_DARWIN7 = (MANUFACTURER.contentEquals("onyx") && PRODUCT.contentEquals("mc_darwin7") && DEVICE.contentEquals("mc_darwin7"))

for lights OnyxWarmthController() works just fine
for EPD i used TolinoEPDController()
controlling the lights as well as warmth works (kinda breaks onyx os controls but i dont mind tbh) and eink screen refreshes correctly via koreader.

@pazos
Copy link
Member

@pazos pazos commented Sep 28, 2021

@AsukaLangleyfag: please send a PR against android-luajit-laucher. These days I have little time to review stuff but no time to do things myself :p.

in android.lua i changed to wf_regal = 6

Didn't work with current settting?. Is it an old device (pre regal era?)

for lights OnyxWarmthController() works just fine

Great!

for EPD i used TolinoEPDController()

Please use NookEPDController, which is mostly the same as Tolinos but only takes care of fullscreen refreshes. The rest relies on the system.

@AsukaLangleyfag
Copy link

@AsukaLangleyfag AsukaLangleyfag commented Sep 29, 2021

Please use NookEPDController, which is mostly the same as Tolinos but only takes care of fullscreen refreshes.

Weirdly doesnt work at all with NookEPDController.

Didn't work with current settting?. Is it an old device (pre regal era?)

The current android.lua settings didnt worked, everything reacts like in #4551 (comment) . I dont know about Regal, Onyx calls their panel "E Ink Carta Plus" and device supposedly came out... exactly one year ago (kinda shame on onyx that it still uses 3.10 kernel and 4.4 android with rk31xx)? In theory it should support Regal because cool reader 3 does exactly that. Btw, can you please explain what the line does?

please send a PR against android-luajit-laucher. These days I have little time to review stuff but no time to do things myself :p.

Thank you for your time, it's perfectly understandable, I just dont feel right with posting that poor job as PR for now.

@arooni
Copy link

@arooni arooni commented Sep 30, 2021

Manufacturer: onyx
Brand: onyx
Model: novaair
Device: novaair
Product: novaair
Hardware: qcom
Platform: sdm660
run test for tolino: fail
run test for qualcomm: ok
run test for rk30xx: fail
run test for rk33xx: fail
run test for qualcomm: ok

Not sure if regal mode is currently supported because when I seem to enable it ko-reader needs a full refresh for every page

@AsukaLangleyfag
Copy link

@AsukaLangleyfag AsukaLangleyfag commented Sep 30, 2021

@arooni try adding your device to DeviceInfo.kt (you can copy detection code from Nova 2, obv change it to nova air). Add yur device to EPDFactory.kt to OnyxEPDController() . For frontlight to work try adding to OnyxWarmthController() in LightsFactory.kt. This in theory should be it for supporting, try building it yourself (honestly not that hard, i used ubuntu vm with 25gb of space and 4 cores of 2700 with 8gb of memory if you're on not linux platform, took like 1-2 hours).

@pazos
Copy link
Member

@pazos pazos commented Sep 30, 2021

Weirdly doesnt work at all with NookEPDController.

Now I know the answer to OP question:

If you get results with the "tolino" update please answer this question too:

does KOReader works normally (without full screen updates) or it seems stuck and not responding?

Btw, can you please explain what the line does?

By default it uses EINK_WAVEFORM_MODE_GLR16. If you change it to 6 it will use EINK_WAVEFORM_MODE_GL16 instead. The whole list of waveforms for your board is in https://github.com/koreader/android-luajit-launcher/blob/master/app/src/main/java/org/koreader/launcher/device/epd/freescale/NTXEPDController.kt

The nabuk regal hd was the first device I'm aware that uses this driver but doesn't work with regal waveforms. Yours is the second.

Thank you for your time, it's perfectly understandable, I just dont feel right with posting that poor job as PR for now.

You're welcome. It is very refreshing to see people trying to figure out things on their devices. I will make the changes in a few days. Until then you're perfectly fine with your own builds. 👍

@AsukaLangleyfag
Copy link

@AsukaLangleyfag AsukaLangleyfag commented Oct 1, 2021

@arooni if you still need koreader, try https://www.dropbox.com/s/y7x1le8vvi9bqfb/koreader-android-arm-v2021.09-22-build.apk?dl=1 and check if it works

@pazos thank you, that was really helpful.

@darvin
Copy link

@darvin darvin commented Oct 22, 2021

Manufacturer: onyx
Brand: onyx
Model: nova3color
Device: nova3color
Product: nova3color
Hardware: gcom
Platform: sdm660

Run test for: qualcomm: ok, screen flashes, other don't.

please add support!

ONYX Nova 3 color: Color is working! everything works great except for screen flash outside of the test

@deep-dark-blue
Copy link

@deep-dark-blue deep-dark-blue commented Nov 7, 2021

@arooni if you still need koreader, try https://www.dropbox.com/s/y7x1le8vvi9bqfb/koreader-android-arm-v2021.09-22-build.apk?dl=1 and check if it works

@AsukaLangleyfag I tried to install your built on my Nova Air - but installation does not work - Installation process starts, but it ends up with: "App not installed"

any hints how to install it would be really great!

Thanks!

@Frenzie
Copy link
Member Author

@Frenzie Frenzie commented Nov 7, 2021

Do you already have an existing KOReader installed? If so, you'll have to uninstall it first.

@deep-dark-blue
Copy link

@deep-dark-blue deep-dark-blue commented Nov 7, 2021

Thanks so much - I am new to android >> MAC-user since 30 years... feels still a little strange ;-)

Works perfectly now!

@Frenzie
Copy link
Member Author

@Frenzie Frenzie commented Nov 7, 2021

It's not your fault. :-) If you use ADB (Android Debug Bridge) to install a package then Android tells you why it failed (signed keys mismatch, newer version already installed, etc.), but for regular users "App not installed" is all it says without a clue as to why.

@DominikSchmidbauer
Copy link

@DominikSchmidbauer DominikSchmidbauer commented Nov 18, 2021

Tolino Vision 6:

Manufacturer: rakuten kobo inc.
Brand: rakutenkobo
Model: tolino vision 6
Device: e70p14_android
Product: e70p14_android
Hardware: sun8iw15p1
Platform: virgo
run test for tolino: ok
run test for qualcomm: fail
run test for rk30xx: fail
run test for rk33xx: fail

@deep-dark-blue
Copy link

@deep-dark-blue deep-dark-blue commented Nov 19, 2021

@arooni if you still need koreader, try https://www.dropbox.com/s/y7x1le8vvi9bqfb/koreader-android-arm-v2021.09-22-build.apk?dl=1 and check if it works

As I'm new to android and koreader: I installed this version and it works perfectly with my nova air - will the changes be part of the next update?
in other words: how to find out, if the nova air is supported with the next update?

Thanks in advance!

@pazos
Copy link
Member

@pazos pazos commented Nov 19, 2021

Soon ™️ (as in: between a couple of days and a couple of weeks). PRs welcome if you want to speed up things

@pazos
Copy link
Member

@pazos pazos commented Nov 25, 2021

Will continue in #8482

@pazos
Copy link
Member

@pazos pazos commented Nov 30, 2021

Sorry for the delay. Very busy :)

@AsukaLangleyfag: after last refactor your device will work with OldTolinoEPDController without any change in android.lua. Feel free to submit the change yourself :)

@darvin: I assume the onyx nova color lacks warmth lights and the generic controller works fine for you (ie: it changes the brightness when the activity is in the foreground, it doesn't touch system levels).

@DominikSchmidbauer, @deep-dark-blue, @arooni: your devices have custom lights too. Please follow #8482 (comment) on latest nightly and report back. We can add both drivers at the same time :)

@jonnyl2
Copy link

@jonnyl2 jonnyl2 commented Dec 3, 2021

My device is an Onyx clone from around 2018, branded as Tagus Gaia. KOReader isn't running correctly on it, although all other ereader apps I've tried on it work fine (but KOReader is the best hands down). Main issue seems to be that the screen is not refreshing. I could run the EInkTest and got the following results (to open the test tool I had to sleep and wake the device after each tap to make the screen refresh):

Manufacturer: onyx
Brand: tagus
Model: tagus_pokep
Device: tagus_pokep
Product: tagus_pokep
Hardware: rk30board
Platform: rk312x
run test for tolino: ok
run test for qualcomm: ok
run test for rk30xx: fail
run test for rk33xx: fail

Would it be possible to add support for this device?
Thank you for any help.

@Galunid
Copy link
Member

@Galunid Galunid commented Dec 4, 2021

@jonnyl2 if you don't see black screen refresh, then sadly no, it's not possible to add support for now.

@jonnyl2
Copy link

@jonnyl2 jonnyl2 commented Dec 4, 2021

@Galunid Yes, within the EInk test utility the screen refreshes normally and I do see the black flashes. Thank you

@AsukaLangleyfag
Copy link

@AsukaLangleyfag AsukaLangleyfag commented Dec 5, 2021

@deep-dark-blue, i merely added device to DeviceInfo.kt by following same idea as Nova 2, added device to OnyxEPDController in EPDFactory.kt and added it to OnyxWarmthController in LightsFactory.kt. It was enough to make it work but @arooni says it's not as good as regal and backlight percentages displays some weird values. You can look at commit for my device koreader/android-luajit-launcher#343 how to do it (remember to use OnyxEPDController, everything else is basically the same) and maybe even submit one yourself if you think it's good enough, I straight up don't have the device to check myself.
@darvin your device very likely would work with OnyxEPDController, your device dont have warmth so you can use generic. Just try and add in DeviceInfo.kt and LightsFactory.kt and see if it works.
@jonnyl2 You can try and test OldTolinoEPDController for EPD and check if it works because from what i can find your device is clone of C67 but usage of rk312x makes me wonder that they use same controller as on my Darwin 7. If it doesnt work try either NookEPDController or TolinoEPDController and see if it produces any results.

@deep-dark-blue
Copy link

@deep-dark-blue deep-dark-blue commented Dec 5, 2021

@AsukaLangleyfag unfortunately I can't help here as I am just a regular user and absolutely new to android and not even a coder... > I can't even find/enable the developer options :(
so sorry ... I think I have to wait until someone else jumps in and helps.

They lights behave a little strange in the version from arooni that I use: sometimes the warmlight is switched off without any reason - only the cold-light stays on... sometimes this happens while reading or turning pages...
But the screen refresh works perfectly on my NovaAir.

@AsukaLangleyfag
Copy link

@AsukaLangleyfag AsukaLangleyfag commented Dec 5, 2021

@deep-dark-blue

sometimes this happens while reading or turning pages

is it not related to time of day? because previous version that I built this version on was based had time based backlight changing, current release doesn't have it. I guess you can either wait or build your own based on this pull request koreader/android-luajit-launcher#342 with changes to add your device to see if something different.

I am just a regular user

well i'm somewhat regular user myself, just building koreader and changing some lines. Getting usb debugging is the same as on every android, you need to tap on either kernel version or build version in the info.

@pazos
Copy link
Member

@pazos pazos commented Dec 6, 2021

Hey, still litle time but waiting for feedback. Please re-read #4551 (comment)

@jonnyl2: we had some past reports of onyx devices built on top of rockchip that only worked with A2 enabled. They seem to work in the test activity but not in KOReader itself. Maybe this changed with the new onyx driver but I'm not sure. Maybe some good soul can build a test apk for you.

Closing this one, please append requested feedback in #8482

I plan to lock the conversation here in the near future, so please use the new ticket.

@pazos pazos closed this Dec 6, 2021
@koreader koreader locked as resolved and limited conversation to collaborators Dec 18, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet