Enable speakup kernel modules to allow the speakup screen reader to function
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
High
|
Matthew Ruffell | ||
Jammy |
Fix Released
|
High
|
Matthew Ruffell |
Bug Description
BugLink: https:/
[Impact]
Blind system administrators rely on the speakup accessibility feature to be able to use screen readers in text mode, like "espeakup".
Ubuntu has enabled CONFIG_SPEAKUP for a significant amount of time, although in recent releases it keeps being disabled. In Hirsute and Impish, it was accidentally disabled due to it moving from drivers/staging/ to drivers/
When it was recently re-enabled, the patch was never applied to ubuntu-unstable, and thus was never picked up by Jammy.
We need to enable CONFIG_
[Fix]
We need to enable the following configuration items:
CONFIG_
CONFIG_SPEAKUP=m
and the additional modules:
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
[Testcase]
Install the speakup accessibility tool:
$ sudo apt install espeakup
Check journalctl to see if it is able to load kernel modules:
systemd[1]: Starting Software speech output for Speakup...
modprobe[27013]: modprobe: FATAL: Module speakup_soft not found in directory /lib/modules/
systemd[1]: espeakup.service: Control process exited, code=exited, status=1/FAILURE
systemd[1]: espeakup.service: Failed with result 'exit-code'.
systemd[1]: Failed to start Software speech output for Speakup.
systemd[1]: espeakup.service: Scheduled restart job, restart counter is at 1.
systemd[1]: Stopped Software speech output for Speakup.
systemd[1]: espeakup.service: Start request repeated too quickly.
systemd[1]: espeakup.service: Failed with result 'exit-code'.
systemd[1]: Failed to start Software speech output for Speakup.
We should see espeakup.service start correctly, instead of failing to load speakup_soft:
systemd[1]: Starting Software speech output for Speakup...
kernel: input: Speakup as /devices/
kernel: initialized device: /dev/synth, node (MAJOR 10, MINOR 123)
kernel: speakup 3.1.6: initialized
kernel: synth name on entry is: (null)
kernel: synth probe
kernel: initialized device: /dev/softsynth, node (MAJOR 10, MINOR 122)
kernel: initialized device: /dev/softsynthu, node (MAJOR 10, MINOR 121)
systemd[1]: Started Software speech output for Speakup.
You can also try load the modules manually:
$ sudo modprobe speakup_soft
There is a test package available in the following ppa:
https:/
If you install the test kernel, the speakup modules should load successfully.
[Where problems could occur]
We are enabling CONFIG_
Enabling CONFIG_SPEAKUP* should not have any impact on users that don't use screen reader accessibility software, as it will only be loaded by users of espeakup.
If a regression were to occur, users could unload the speakup modules.
CVE References
summary: |
- Accessibility features have been disabled, modules like speakup_soft and - others are missing + Enable speakup kernel modules to allow the speakup screen reader to + function |
Changed in linux (Ubuntu Jammy): | |
status: | Confirmed → In Progress |
importance: | Undecided → High |
assignee: | nobody → Matthew Ruffell (mruffell) |
description: | updated |
tags: | added: seg |
description: | updated |
tags: |
added: verification-done-jammy removed: verification-needed-jammy |
tags: |
added: verification-done-focal removed: verification-needed-focal |
This change was made by a bot.