Has anyone switched to the userspace keyboard driver on Manjaro ARM?
#1
Question 
I admit to being a noob.  I am pretty good at researching before asking a question, and I follow directions well, but I am limited in my ability to troubleshoot on my own. 

Has anyone on Manjaro (Phosh, but that shouldn't matter) switched to the userspace driver (ppkb-i2c) for the keyboard case?  If so, can you post how you did it?

I was hoping maybe I could just use the instructions for Arch starting at step 3:

https://forum.pine64.org/showthread.php?tid=16156

Unfortunately, I can't even get out the  gate because Manjaro Arm does  not seem to have a mkscr command (The boot.txt file says at the top to run "pp-uboot-mkscr" but that fails to with a "command not found" message. and there is no ".scr" file with a similar name on the boot directory).  There is a boot.scr file in the boot directory, and, yes, I am in that directory when issuing the commands.

Any help from someone using Manjaro Arm would be appreciated.

TIA
  Reply
#2
Did you run the last couple of commands from Step 2?  In particular the second...
Quote:Update and upgrade with the following:
$ sudo pacman -Syu

Install some stuff you'll need...
$ sudo pacman -S nano terminus-font git gcc php make


For Step 4 I had to change:
Code:
git clone https://mff.cz/git/pinephone-keyboard/
for:
Code:
git clone https://megous.com/git/pinephone-keyboard
(The link in the first command gave a 404)
  Reply
#3
(03-17-2022, 12:01 AM)neil_swann80 Wrote: Did you run the last couple of commands from Step 2?  In particular the second...
Quote:Update and upgrade with the following:
$ sudo pacman -Syu

Install some stuff you'll need...
$ sudo pacman -S nano terminus-font git gcc php make


For Step 4 I had to change:
Code:
git clone https://mff.cz/git/pinephone-keyboard/
for:
Code:
git clone https://megous.com/git/pinephone-keyboard
(The link in the first command gave a 404)

Yes, I did do those two commands at the end of step 2, but I can't get past the first part of step 3 still because of what I described in my last paragraph above. I assume there is some fundamental difference in how an scr file is generated in Manjaro, but I don't know what that is and can't find it.

So, are you running ManjaroARM and were you able to do step 3?
  Reply
#4
Does the file:
/boot/mkscr
exist?  It should be with the files '/boot/boot.txt' and '/boot/boot.scr'
And is it executable (-rwxr-xr-x) ?

to list the files and their permissions in the '/boot' directory:
cd /boot
ls -l


If it doesn't exist, manually create it:
sudo nano /boot/mkscr

Code:
#!/bin/bash

if [[ ! -x /usr/bin/mkimage ]]; then
  echo "mkimage not found. Please install uboot-tools:"
  echo "  pacman -S uboot-tools"
  exit 1
fi

mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d boot.txt boot.scr
To save changes and close Nano, type CTRL-X, Y, and Enter.

and set permissions to executable:
sudo chmod 755 /boot/mkscr
  Reply
#5
Okay, here is what finally worked for me.  I started with MajaroArm with all updates.  I also installed from the software app (Phosh) pinephone-keyboard-git and pinephone-toolkit-git, which may have helped.  I did not have to do any building of the userland driver, so an update may have already provided it, or maybe one of the git files I mentioned. Whatever, it already existed at the proper location when I started this.



Here are all of the exact steps I took:

1. Create systemd file

  a. Navigate  to /etc/systemd/system

  b. sudo nano keeb2.service (use whatever name you like before the ".service")

  c.In file, type:

 

  [Unit]
  Description=PinePhone keyboard userspace daemon
 
  [Service]
  Type=simple
  ExecStart=/usr/bin/ppkb-i2c-inputd
 
  [Install]
  WantedBy=multi-user.target
 
 
d. Save and exit Nano

 
2. Enable service for next boot

  a. Run: sudo systemctl enable keeb2.service


3. Set up boot.txt file to disable kb151

  a. cd /boot

  b. sudo nano boot.txt

  c. Type kb151.disable_input at the end of setenev bootargs line (there should be one space between last parameter in the line and this addition).

  d. save and close.


4. Create the new boot.scr from the boot.txt file to apply disabling kb151 at next boot.

  a. Run: /usr/bin/pp-uboot-mkscr

 

5. Reboot

This worked for me with MajaroArm. I have F1-F10 working with the pine key, and Fn-num keys actually type what is printed on the lower part of the keys.

I potched this together from different sources, (the link in the first post and the very helpful comments in this thread) and a lot of exploring to see where files were actually located and if I had them.  Many thanks to @Megamemnon and @neil_swan80, as well as another not on this forum.  And, of course, thanks to the ManjaroArm devs.

Hope this helps someone else.
  Reply
#6
(03-25-2022, 12:32 PM)Hook Wrote: Okay, here is what finally worked for me.  I started with MajaroArm with all updates.  I also installed from the software app (Phosh) pinephone-keyboard-git and pinephone-toolkit-git, which may have helped.  I did not have to do any building of the userland driver, so an update may have already provided it, or maybe one of the git files I mentioned. Whatever, it already existed at the proper location when I started this.



Here are all of the exact steps I took:

1. Create systemd file

  a. Navigate  to /etc/systemd/system

  b. sudo nano keeb2.service (use whatever name you like before the ".service")

  c.In file, type:

 

  [Unit]
  Description=PinePhone keyboard userspace daemon
 
  [Service]
  Type=simple
  ExecStart=/usr/bin/ppkb-i2c-inputd
 
  [Install]
  WantedBy=multi-user.target
 
 
d. Save and exit Nano

 
2. Enable service for next boot

  a. Run: sudo systemctl enable keeb2.service


3. Set up boot.txt file to disable kb151

  a. cd /boot

  b. sudo nano boot.txt

  c. Type kb151.disable_input at the end of setenev bootargs line (there should be one space between last parameter in the line and this addition).

  d. save and close.


4. Create the new boot.scr from the boot.txt file to apply disabling kb151 at next boot.

  a. Run: /usr/bin/pp-uboot-mkscr

 

5. Reboot

This worked for me with MajaroArm. I have F1-F10 working with the pine key, and Fn-num keys actually type what is printed on the lower part of the keys.

I potched this together from different sources, (the link in the first post and the very helpful comments in this thread) and a lot of exploring to see where files were actually located and if I had them.  Many thanks to @Megamemnon and @neil_swan80, as well as another not on this forum.  And, of course, thanks to the ManjaroArm devs.

Hope this helps someone else.

Hi,

it was helpful, and it stopped working scince last manjaro update for me ... is it the same for you ?
  Reply
#7
(06-01-2022, 04:01 AM)lolgzs Wrote:
(03-25-2022, 12:32 PM)Hook Wrote: Okay, here is what finally worked for me.  I started with MajaroArm with all updates.  I also installed from the software app (Phosh) pinephone-keyboard-git and pinephone-toolkit-git, which may have helped.  I did not have to do any building of the userland driver, so an update may have already provided it, or maybe one of the git files I mentioned. Whatever, it already existed at the proper location when I started this.



Here are all of the exact steps I took:

1. Create systemd file

  a. Navigate  to /etc/systemd/system

  b. sudo nano keeb2.service (use whatever name you like before the ".service")

  c.In file, type:

 

  [Unit]
  Description=PinePhone keyboard userspace daemon
 
  [Service]
  Type=simple
  ExecStart=/usr/bin/ppkb-i2c-inputd
 
  [Install]
  WantedBy=multi-user.target
 
 
d. Save and exit Nano

 
2. Enable service for next boot

  a. Run: sudo systemctl enable keeb2.service


3. Set up boot.txt file to disable kb151

  a. cd /boot

  b. sudo nano boot.txt

  c. Type kb151.disable_input at the end of setenev bootargs line (there should be one space between last parameter in the line and this addition).

  d. save and close.


4. Create the new boot.scr from the boot.txt file to apply disabling kb151 at next boot.

  a. Run: /usr/bin/pp-uboot-mkscr

 

5. Reboot

This worked for me with MajaroArm. I have F1-F10 working with the pine key, and Fn-num keys actually type what is printed on the lower part of the keys.

I potched this together from different sources, (the link in the first post and the very helpful comments in this thread) and a lot of exploring to see where files were actually located and if I had them.  Many thanks to @Megamemnon and @neil_swan80, as well as another not on this forum.  And, of course, thanks to the ManjaroArm devs.

Hope this helps someone else.

Hi,

it was helpful, and it stopped working scince last manjaro update for me ... is it the same for you ?

No, still working fine here.
  Reply
#8
(06-01-2022, 07:35 AM)Hook Wrote:
(06-01-2022, 04:01 AM)lolgzs Wrote: Hi,

it was helpful, and it stopped working scince last manjaro update for me ... is it the same for you ?

No, still working fine here.

Whoops!  Just did a new update this morning and now the keyboard isn't responding at all. Huh    Will have to sort this out...
  Reply
#9
(06-02-2022, 07:53 AM)Hook Wrote:
(06-01-2022, 07:35 AM)Hook Wrote:
(06-01-2022, 04:01 AM)lolgzs Wrote: Hi,

it was helpful, and it stopped working scince last manjaro update for me ... is it the same for you ?

No, still working fine here.

Whoops!  Just did a new update this morning and now the keyboard isn't responding at all. Huh    Will have to sort this out...


I also use Manjaro ARM, with PinePhone (v1.2).

I recently updated it to the latest version, then KB151 fails to start, the following error is output.
   Jun 03 00:31:33 manjaro-arm systemd[1]: ppkb-i2c-inputd.service: Scheduled restart job, restart counter is at 5.
   Jun 03 00:31:33 manjaro-arm systemd[1]: Stopped PinePhone Keyboard I2C Input Daemon.
   Jun 03 00:31:33 manjaro-arm systemd[1]: ppkb-i2c-inputd.service: Start request repeated too quickly.
   Jun 03 00:31:33 manjaro-arm systemd[1]: ppkb-i2c-inputd.service: Failed with result 'exit-code'.
   Jun 03 00:31:33 manjaro-arm systemd[1]: Failed to start PinePhone Keyboard I2C Input Daemon.


The default kernel driver keyboard can be used by disabling KB151 and rebooting.
   sudo systemctl disable ppkb-i2c-inputd.service
   sudo systemctl stop     ppkb-i2c-inputd.service
   sudo systemctl reboot

I have investigated the cause, and it's still unknown.
  Reply
#10
(06-02-2022, 01:34 PM)presire Wrote:
(06-02-2022, 07:53 AM)Hook Wrote:
(06-01-2022, 07:35 AM)Hook Wrote:
(06-01-2022, 04:01 AM)lolgzs Wrote: Hi,

it was helpful, and it stopped working scince last manjaro update for me ... is it the same for you ?

No, still working fine here.

Whoops!  Just did a new update this morning and now the keyboard isn't responding at all. Huh    Will have to sort this out...


I also use Manjaro ARM, with PinePhone (v1.2).

I recently updated it to the latest version, then KB151 fails to start, the following error is output.
   Jun 03 00:31:33 manjaro-arm systemd[1]: ppkb-i2c-inputd.service: Scheduled restart job, restart counter is at 5.
   Jun 03 00:31:33 manjaro-arm systemd[1]: Stopped PinePhone Keyboard I2C Input Daemon.
   Jun 03 00:31:33 manjaro-arm systemd[1]: ppkb-i2c-inputd.service: Start request repeated too quickly.
   Jun 03 00:31:33 manjaro-arm systemd[1]: ppkb-i2c-inputd.service: Failed with result 'exit-code'.
   Jun 03 00:31:33 manjaro-arm systemd[1]: Failed to start PinePhone Keyboard I2C Input Daemon.


The default kernel driver keyboard can be used by disabling KB151 and rebooting.
   sudo systemctl disable ppkb-i2c-inputd.service
   sudo systemctl stop     ppkb-i2c-inputd.service
   sudo systemctl reboot

I have investigated the cause, and it's still unknown.


With the following settings, the default kernel driver keyboard could be disabled.
   sudo vi /boot/boot.txt

   # /boot/boot.txt file
   setenv bootargs 〜 pinephone-keyboard.disable_input

Then, Uboot update.
   sudo pp-uboot-mkscr

Restart PinePhone.
   sudo systemctl reboot

Start KB151.
   sudo systemctl enable ppkb-i2c-inputd.service
   sudo systemctl start    ppkb-i2c-inputd.service

I was able to start KB151 successfully,
but for some reason, I cannot KB151 keyboard input.
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  keyboard case charging but not typing new2pinephone 18 5,210 02-19-2024, 07:30 AM
Last Post: theResonant
  Keyboard doesn't charge my phone no matter what, so can I charge my phone directly ragreenburg 3 5,509 01-14-2024, 03:34 PM
Last Post: acid andy
  I've added an I2C connector to the PP keyboard eugenr 0 359 11-26-2023, 07:24 AM
Last Post: eugenr
  Update the PinePhone keyboard driver to support missing characters? Peter Gamma 8 7,902 10-22-2023, 08:43 PM
Last Post: Peter Gamma
  key repeat with pinephone keyboard rotwang 0 392 10-22-2023, 03:39 PM
Last Post: rotwang
Exclamation USB mouse isn't working when a PP keyboard is attached? mikeb 3 1,111 10-21-2023, 08:21 PM
Last Post: Peter Gamma
  Pinephone with mini keyboard, trackpad and large power bank? Peter Gamma 0 447 10-21-2023, 07:50 AM
Last Post: Peter Gamma
  Which mini keyboard and mouse to choose for the PP? Peter Gamma 0 562 10-21-2023, 02:55 AM
Last Post: Peter Gamma
  Use the Linux Console with the PinePhone Keyboard mburns 2 903 10-20-2023, 04:11 PM
Last Post: mburns
  How to disassemble Keyboard top and replace cables? elof 2 717 10-11-2023, 09:03 AM
Last Post: elof

Forum Jump:


Users browsing this thread: 1 Guest(s)