Skip to content

Support for the Kobo Clara 2E (goldfinch) #9552

Description

@Bartvelp

Does your feature request involve difficulty completing a task? Please describe.
As @NiLuJe requested we should have a tester for the new Kobo Clara 2E, since I looked into KOReader recently and have this device I am looking to help here.

I'm currently installing the nightly build from this link https://build.koreader.rocks/download/nightly/v2022.08-36-g46cdf8ed_2022-09-22/koreader-kobo-v2022.08-36-g46cdf8ed_2022-09-22.zip
by manually overwriting the .adds/koreader files that are added using the KOReader install script from here https://www.mobileread.com/forums/showthread.php?t=314220.

Unfortunatly KOReader does not launch yet. It errors with the following code when clicked in NickelMenu:
"[KFMon] PID 1496 exited unexpectedly: 2!"

EDIT:
No idea what I did wrong the first time, but after installing again and overwriting the original files instead of deleting and pasting, KOReader seems to work.

The following things I've noticed do not work as of yet:

  • The sleep/power off button does nothing

    • Details/fix One can listen for the button press using `/dev/input/event2`, see the following output
      [root@kobo input]# hexdump /dev/input/event2 # or /dev/input/by-path/platform-bd71828-pwrkey-event
      # Before any press
      0000000 fb68 632d aaba 000b 0001 0074 0001 0000
      0000010 fb68 632d aaba 000b 0000 0000 0000 0000
      0000020 fb68 632d cd47 000b 0001 0074 0000 0000
      0000030 fb68 632d cd47 000b 0000 0000 0000 0000
      # after first button down + up
      0000040 fbeb 632d 05a5 0009 0001 0074 0001 0000
      0000050 fbeb 632d 05a5 0009 0000 0000 0000 0000
      # After button down
      0000060 fbeb 632d ad0b 000b 0001 0074 0000 0000
      0000070 fbeb 632d ad0b 000b 0000 0000 0000 0000
      # After button up
      0000080 fbee 632d 0cff 0000 0001 0074 0001 0000
      0000090 fbee 632d 0cff 0000 0000 0000 0000 0000
      # After button down
      00000a0 fbee 632d 701b 000b 0001 0074 0000 0000
      00000b0 fbee 632d 701b 000b 0000 0000 0000 0000
      # After button up
      

      This should allow a developer to listen for these events right?

  • The front light warmth setting does not work, it appears to be stuck a certain warmth.

    • Details/fix It appears the frontlight warmth is managed by 2 types of LED, white ones, and yellow/orange ones. The brightness of these can be managed individually by setting them like the following:
       echo "0" > /sys/class/leds/aw99703-bl_FL1/brightness # Set white led's to 0 brightness, aka off
       echo "2047" > /sys/class/leds/aw99703-bl_FL2/brightness # Set yellowish leds to max brightness

      in both the aw99703-bl_FL1 and aw99703-bl_FL2 directories there is a color file, along with a max_color file, but these appear to do nothing. The Nickel software also appears to use a different method to control the frontlight intensity and warmth.
      using the above commands however, KOReader could mix both values to the desired warmth and intensity.

  • For some reason the top right LED stays on unless in standby mode

    • Details/fix Simply set the LED output device to 0 like this:
       echo "0" > /sys/class/leds/GLED/brightness
  • Battery is not working, stays at 0% and in "charging" while unplugged

    • Details/fix Should be easily fixable with the following files/output
      [root@kobo battery]# pwd
      /sys/class/power_supply/battery
      [root@kobo battery]# tail -n +1 ./*
      ==> ./capacity <==
      100
      
      ==> ./charge_full <==
      1405000
      
      ==> ./charge_full_design <==
      1406000
      
      ==> ./charge_now <==
      1406000
      
      ==> ./charge_type <==
      N/A
      
      ==> ./charging <==
      0
      
      ==> ./current_avg <==
      -133533
      
      ==> ./current_max <==
      890000
      
      ==> ./current_now <==
      -179820
      
      ==> ./device <==
      tail: read error: Is a directory
      
      ==> ./gauge <==
      Gauge schedule in 3000
      
      ==> ./health <==
      Good
      
      ==> ./online <==
      1
      
      ==> ./power <==
      tail: read error: Is a directory
      
      ==> ./present <==
      1
      
      ==> ./register <==
      00: 22 11 82 04 00 00 00 09 0e 00 06 70 40 7c 00 00 
      01: 00 00 0e 00 06 80 6a 7c 00 00 00 00 0e 00 0c 0e 
      02: 00 0a 0e 00 10 00 00 06 40 40 40 00 00 00 00 00 
      03: 00 06 30 10 40 00 00 00 00 00 14 00 08 00 32 0e 
      04: 06 0e 32 32 00 0e 32 00 02 00 10 00 27 14 98 05 
      05: 23 09 22 09 46 a2 05 23 09 22 00 00 12 00 01 01 
      06: 00 00 00 00 00 00 00 30 00 03 00 00 00 00 00 01 
      07: c0 36 04 37 2f 2e 10 1d 64 a2 44 09 94 30 30 30 
      08: 00 14 42 03 10 2c 0f 22 0f 21 0f 1e 10 31 10 31 
      09: 10 74 00 00 10 1d 10 29 10 29 11 34 00 03 80 08 
      10: ea 0a f1 08 b8 00 8c 28 c8 28 00 de 6a 0f 00 00 
      11: 82 1c 81 91 00 06 99 08 0a 00 00 00 00 00 00 00 
      12: 00 04 16 01 40 7f 64 71 8c 5e a5 0a 03 61 00 3f 
      13: 00 1f 00 00 03 3c 00 0a 00 00 03 00 00 ff 01 50 
      14: 00 0c 02 00 80 00 00 00 00 00 00 00 00 00 00 00 
      15: d0 1c 3b 00 00 00 00 00 00 00 00 00 00 00 00 00 
      
      ==> ./status <==
      Discharging
      
      ==> ./subsystem <==
      tail: read error: Is a directory
      
      ==> ./technology <==
      Li-ion
      
      ==> ./temperature <==
      bd71828 battery temperature 24
      
      ==> ./type <==
      Battery
      
      ==> ./uevent <==
      POWER_SUPPLY_NAME=battery
      POWER_SUPPLY_STATUS=Discharging
      POWER_SUPPLY_HEALTH=Good
      POWER_SUPPLY_CHARGE_TYPE=N/A
      POWER_SUPPLY_ONLINE=1
      POWER_SUPPLY_VOLTAGE_NOW=4146500
      POWER_SUPPLY_CAPACITY=100
      POWER_SUPPLY_HEALTH=Good
      POWER_SUPPLY_PRESENT=1
      POWER_SUPPLY_TECHNOLOGY=Li-ion
      POWER_SUPPLY_CHARGE_NOW=1406000
      POWER_SUPPLY_CHARGE_FULL_DESIGN=1406000
      POWER_SUPPLY_CHARGE_FULL=1405000
      POWER_SUPPLY_CURRENT_AVG=-133533
      POWER_SUPPLY_CURRENT_NOW=-179820
      POWER_SUPPLY_VOLTAGE_MAX=4200000
      POWER_SUPPLY_VOLTAGE_MIN=3600000
      POWER_SUPPLY_CURRENT_MAX=890000
      
      ==> ./voltage_max <==
      4200000
      
      ==> ./voltage_min <==
      3600000
      
      ==> ./voltage_now <==
      4146500
  • WiFi is not working (Failed to connect to wpa_supplicant control socked /var/run/wpa_supplicant/mlan0)

    • Turning off WiFi can freeze KOReader and needs a hard restart with the back power button
    • I needed to do a full reset back to factory after 1 freeze when turning off WiFi, so above is pretty bad...
  • Auto-suspend (set to 1m but not in sleep after more than 2m)

The following things I've noticed do work already:

  • Basic usage, navigating the FS and opening files
  • Auto standby probably (since it disables the LED)

Describe the solution you'd like
A fully working implementation of course :)

crash.log Crash log from when I did some tests
crash.log Very verbose log of me messing around with some broken features

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions