Hello, to allow usage of a Slackware or Slint system on an USB hard disk plugged in on any PC, I have built an initrd with lot of USB drivers loaded early, tested with a kernel 4.4.157 with no speakup drivers built in. If I include just speakup-soft (modprobe loading also speakup), I get speech from espeak-ng just before login, as expected If I also include speakup-apollo I get the weird output in attached 'newbug' report, when trying to start espeakup, after these lines in /etc/rc.c/rc. espakup (also attached): # Create '/dev/(soft)synth' if not present (cd /dev if [ ! -c /dev/softsynth ]; then echo "Creating '/dev/softsynth'" mknod softsynth c 10 26 fi I attach the script 'load_kernel_modules' that loads the modules in the initrd, and the output of lsmod just after booting. Is this a known issue that could be solved just upgrading the kernel? However, a quick look at these logs didn't allow me to find a clue: https://github.com/torvalds/linux/commits/master/drivers/staging/speakup/speakup_soft.c https://github.com/torvalds/linux/commits/master/drivers/staging/speakup/speakup_apollo.c knowing that kernel 4.4 was released on 10 January 2016. Should I build some speakup drivers in the kernel, then which ones? Do you need additional information? Cheers, Didier
# This is a script used to load the kernel modules. # To use it, chmod it 755, and then add the insmod # lines needed to load your modules, like this: modprobe -v mmc_core modprobe -v pcmcia_core modprobe -v pcmcia modprobe -v ssb modprobe -v ehci-hcd modprobe -v ehci-pci modprobe -v ehci-platform modprobe -v fotg210-hcd modprobe -v isp116x-hcd modprobe -v isp1362-hcd modprobe -v ohci-hcd modprobe -v ohci-pci modprobe -v ohci-platform modprobe -v oxu210hp-hcd modprobe -v r8a66597-hcd modprobe -v sl811-hcd modprobe -v sl811_cs modprobe -v ssb-hcd modprobe -v uhci-hcd modprobe -v uwb modprobe -v wusbcore modprobe -v umc modprobe -v whci modprobe -v whci-hcd modprobe -v xhci-hcd modprobe -v xhci-pci modprobe -v xhci-plat-hcd modprobe -v usb-storage modprobe -v uas modprobe -v ums-freecom modprobe -v speakup modprobe -v speakup_soft modprobe -v speakup_apollo modprobe -v hid modprobe -v usbhid modprobe -v hid-generic modprobe -v jbd2 modprobe -v mbcache modprobe -v ext4
Module Size Used by ipv6 337574 32 bnep 11487 2 nls_iso8859_1 4905 1 nls_cp437 6623 1 vfat 10564 1 fat 56349 1 vfat fuse 85094 1 uinput 8794 1 joydev 10496 0 btusb 30305 0 i2c_dev 6252 0 btrtl 4402 1 btusb btbcm 7234 1 btusb btintel 8007 1 btusb bluetooth 315713 24 bnep,btbcm,btrtl,btusb,btintel coretemp 6780 0 intel_rapl 11044 0 iosf_mbi 3821 1 intel_rapl x86_pkg_temp_thermal 5665 0 intel_powerclamp 8978 0 kvm_intel 161137 0 iwldvm 128424 0 mac80211 612361 1 iwldvm kvm 510755 1 kvm_intel irqbypass 3583 1 kvm crct10dif_pclmul 5461 0 crc32_pclmul 3238 0 crc32c_intel 13583 0 firewire_ohci 32793 0 nouveau 1474958 0 evdev 13220 12 i915 1195903 1 mxm_wmi 2049 1 nouveau ttm 82705 1 nouveau psmouse 113450 0 i2c_i801 16973 0 drm_kms_helper 119698 2 i915,nouveau ghash_clmulni_intel 4701 0 serio_raw 5146 0 firewire_core 56655 1 firewire_ohci thinkpad_acpi 73546 1 wmi 9259 2 mxm_wmi,nouveau iwlwifi 119806 1 iwldvm e1000e 178316 0 drm 323926 5 ttm,i915,drm_kms_helper,nouveau cfg80211 527411 3 iwlwifi,mac80211,iwldvm fjes 21479 0 intel_gtt 14002 1 i915 agpgart 31988 4 drm,ttm,nouveau,intel_gtt i2c_algo_bit 6154 2 i915,nouveau fb_sys_fops 1730 1 drm_kms_helper syscopyarea 3458 1 drm_kms_helper sysfillrect 3950 1 drm_kms_helper sysimgblt 2608 1 drm_kms_helper sdhci_pci 17993 0 i2c_core 48117 7 drm,i915,i2c_i801,i2c_dev,drm_kms_helper,i2c_algo_bit,nouveau sdhci 29068 1 sdhci_pci nvram 6828 1 thinkpad_acpi hwmon 4199 3 coretemp,thinkpad_acpi,nouveau rfkill 18649 4 cfg80211,thinkpad_acpi,bluetooth video 30072 3 i915,thinkpad_acpi,nouveau snd_hda_codec_conexant 12549 1 snd_hda_codec_generic 61252 1 snd_hda_codec_conexant snd_hda_intel 30219 0 snd_hda_codec 108525 3 snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_intel snd_hda_core 53138 4 snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel snd_hwdep 6656 1 snd_hda_codec snd_pcm 93250 3 snd_hda_codec,snd_hda_intel,snd_hda_core mei_me 19075 0 mei 62863 1 mei_me battery 14760 0 ac 5440 0 thermal 11441 0 shpchp 26680 0 button 5943 2 i915,nouveau snd_timer 22402 1 snd_pcm ptp 12164 1 e1000e pps_core 7902 1 ptp snd 69563 8 snd_hwdep,snd_timer,snd_hda_codec_conexant,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,thinkpad_acpi lpc_ich 14738 0 soundcore 6876 1 snd tpm_tis 11588 0 tpm 36580 1 tpm_tis processor 29079 0 loop 21505 0 ext4 578159 1 mbcache 8563 1 ext4 jbd2 92882 1 ext4 hid_generic 1551 0 usbhid 38863 0 hid 108027 2 hid_generic,usbhid speakup_soft 5979 0 speakup 92695 1 speakup_soft ums_freecom 3444 0 uas 14162 0 usb_storage 56102 4 uas,ums_freecom xhci_plat_hcd 4056 0 xhci_pci 5065 0 xhci_hcd 118009 2 xhci_plat_hcd,xhci_pci whci_hcd 26890 0 whci 3620 1 whci_hcd umc 4876 2 whci,whci_hcd wusbcore 35287 1 whci_hcd uwb 65331 2 whci_hcd,wusbcore uhci_hcd 23452 0 ssb_hcd 3021 0 sl811_cs 3377 0 sl811_hcd 13515 1 sl811_cs r8a66597_hcd 26281 0 oxu210hp_hcd 24333 0 ohci_platform 5281 0 ohci_pci 3618 0 ohci_hcd 29428 2 ohci_platform,ohci_pci isp1362_hcd 32094 0 isp116x_hcd 19926 0 fotg210_hcd 36736 0 ehci_platform 6130 0 ehci_pci 4285 0 ehci_hcd 44114 2 ehci_pci,ehci_platform ssb 58527 1 ssb_hcd pcmcia 37397 2 ssb,sl811_cs pcmcia_core 16039 1 pcmcia mmc_core 107040 3 ssb,sdhci,sdhci_pci
Creating '/dev/softsynth' [ 38.345699] BUG: unable to handle kernel NULL pointer dereference at (null) [ 38.349137] IP: [<ffffffff8132077e>] strcmp+0xe/0x30 [ 38.352537] PGD 8000000234729067 PUD 23e098067 PMD 0 [ 38.355946] Oops: 0000 [#1] SMP [ 38.359331] Modules linked in: ipv6 bnep nls_iso8859_1 nls_cp437 vfat fat fuse uinput joydev btusb i2c_dev btrtl btbcm btintel bluetooth coretemp intel_rapl iosf_mbi x86_pkg_temp_thermal intel_powerclamp kvm_intel iwldvm mac80211 kvm irqbypass crct10dif_pclmul crc32_pclmul crc32c_intel firewire_ohci nouveau evdev i915 mxm_wmi ttm psmouse i2c_i801 drm_kms_helper ghash_clmulni_intel serio_raw firewire_core thinkpad_acpi wmi iwlwifi e1000e drm cfg80211 fjes intel_gtt agpgart i2c_algo_bit fb_sys_fops syscopyarea sysfillrect sysimgblt sdhci_pci i2c_core sdhci nvram hwmon rfkill video snd_hda_codec_conexant snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_pcm mei_me mei mbcache jbd2 hid_generic usbhid hid speakup_soft(C) speakup(C) ums_freecom uas usb_storage xhci_plat_hcd xhci_pci xhci_hcd whci_hcd whci umc wusbcore uwb uhci_hcd ssb_hcd sl811_cs sl811_hcd r8a66597_hcd oxu210hp_hcd ohci_platform ohci_pci ohci_hcd isp1362_hcd isp116x_hcd fotg210_hcd ehci_platform ehci_pci ehci_hcd ssb pcmcia pcmcia_core mmc_core [ 38.359441] CPU: 0 PID: 981 Comm: rc.M Tainted: G C 4.4.157 #1 [ 38.359443] Hardware name: LENOVO 4284CY1/4284CY1, BIOS 8BET62WW (1.42 ) 07/26/2013 [ 38.359445] task: ffff88006c0055c0 ti: ffff88023e324000 task.ti: ffff88023e324000 [ 38.359447] RIP: 0010:[<ffffffff8132077e>] [<ffffffff8132077e>] strcmp+0xe/0x30 [ 38.359452] RSP: 0018:ffff88023e327d70 EFLAGS: 00010202 [ 38.359454] RAX: 0000000000000000 RBX: ffffffffc0171a08 RCX: 0000000000000004 [ 38.359455] RDX: 0000000080000000 RSI: ffff88023e327db6 RDI: 0000000000000001 [ 38.359457] RBP: ffff88023e327d70 R08: 0000000000000074 R09: ffffffff818628d0 [ 38.359458] R10: 0000000000000004 R11: 0000000000000246 R12: ffffffffc01833a0 [ 38.359460] R13: ffffffffc017e860 R14: ffff88023e327db6 R15: ffff88006b85d218 [ 38.359462] FS: 00007f05a3db0700(0000) GS:ffff88023dc00000(0000) knlGS:0000000000000000 [ 38.359464] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 38.359466] CR2: 0000000000000000 CR3: 0000000233352000 CR4: 0000000000060670 [ 38.359466] Stack: [ 38.359468] ffff88023e327da0 ffffffffc0167151 0000000000000004 0000000000000004 [ 38.359471] 0000000000000005 ffff88006bb99618 ffff88023e327de8 ffffffffc016520b [ 38.359474] 6f73880234653c00 0000000000007466 0c56aa035622d2a4 ffff88006b85d200 [ 38.359478] Call Trace: [ 38.359492] [<ffffffffc0167151>] synth_init+0x91/0xd0 [speakup] [ 38.359499] [<ffffffffc016520b>] synth_store+0x9b/0xf0 [speakup] [ 38.359503] [<ffffffff8131a912>] kobj_attr_store+0x12/0x20 [ 38.359509] [<ffffffff81241bfc>] sysfs_kf_write+0x3c/0x50 [ 38.359513] [<ffffffff812411d3>] kernfs_fop_write+0x143/0x180 [ 38.359519] [<ffffffff811c99bb>] __vfs_write+0x2b/0x100 [ 38.359523] [<ffffffff811e6544>] ? __fd_install+0x24/0xc0 [ 38.359529] [<ffffffff810d2272>] ? percpu_down_read+0x12/0x50 [ 38.359533] [<ffffffff811ca099>] vfs_write+0xa9/0x1a0 [ 38.359536] [<ffffffff811c7599>] ? filp_close+0x59/0x80 [ 38.359541] [<ffffffff811cac96>] SyS_write+0x46/0xa0 [ 38.359547] [<ffffffff8169048e>] entry_SYSCALL_64_fastpath+0x22/0x92 [ 38.359548] Code: 80 3a 00 75 f7 48 83 c6 01 0f b6 4e ff 48 83 c2 01 84 c9 88 4a ff 75 ed 5d c3 0f 1f 00 55 48 89 e5 eb 04 84 c0 74 18 48 83 c7 01 <0f> b6 47 ff 48 83 c6 01 3a 46 ff 74 eb 19 c0 83 c8 01 5d c3 31 [ 38.359586] RIP [<ffffffff8132077e>] strcmp+0xe/0x30 [ 38.359590] RSP <ffff88023e327d70> [ 38.359591] CR2: 0000000000000000 [ 38.359611] ---[ end trace e86fcb21a80bd6f9 ]--- battery ac thermal shpchp button snd_timer ptp pps_core snd lpc_ich soundcore tpm_tis tpm processor loop ext4 Welcome to Linux 4.4.157 (tty1) USB4 login:
#!/bin/sh # Create '/dev/(soft)synth' if not present (cd /dev if [ ! -c /dev/softsynth ]; then echo "Creating '/dev/softsynth'" mknod softsynth c 10 26 fi if [ ! -c /dev/synth ]; then echo "Creating '/dev/synth'" mknod synth c 10 25 fi ) # Load the software synthesizer echo "soft" > /sys/accessibility/speakup/synth sleep 1 # Permissions chmod 666 /sys/accessibility/speakup/soft/* echo 1 > /sys/accessibility/speakup/soft/direct [ "$LANG" = "" ] && . /etc/profile.d/lang.sh if [ -f /etc/espeakup.conf ]; then . /etc/espeakup.conf [ ! "$rate" = "" ] && echo $rate > /sys/accessibility/speakup/soft/rate [ ! "$vol" = "" ] && echo $vol > /sys/accessibility/speakup/soft/vol [ ! "$pitch" = "" ] && echo $pitch > /sys/accessibility/speakup/soft/pitch if [ ! "$language" = "" ]; then setlanguage="$language" else setlanguage=${LANG%_*} fi else setlanguage=${LANG%_*} fi # Starts/stops/restarts espeakup espeakup_start() { if [ ! "`ps -C espeakup --noheaders|wc -l`" = "0" ]; then echo "espeakup is already started." espeakup_status exit fi if [ -x /usr/bin/espeakup ]; then echo "Starting espeakup" /usr/bin/espeakup -V $setlanguage else echo "/usr/bin/espeakup not found or non executable" fi } espeakup_stop() { NBPROC="`ps -C espeakup --noheaders|wc -l`" if [ ! "$NBPROC" = "0" ]; then echo "Stopping espeakup..." PID="`ps -C espeakup --noheaders -o pid`" kill $PID # Restore the defaults echo 2 > /sys/accessibility/speakup/soft/rate echo 5 > /sys/accessibility/speakup/soft/vol echo 5 > /sys/accessibility/speakup/soft/pitch fi } espeakup_restart() { espeakup_stop sleep 2 espeakup_start } espeakup_status() { NBPROC="`ps -C espeakup --noheaders|wc -l`" if [ "$NBPROC" = "0" ]; then echo "espeakup is not started" elif [ "$NBPROC" = "1" ]; then echo "An espeakup daemon is running, PID: `ps -C espeakup --no-headers -o pid`" else ps -C espeakup -o pid,args fi } case "$1" in start) espeakup_start;; stop) espeakup_stop;; restart) espeakup_restart;; status) espeakup_status;; *) echo "Usage: $0 {start|stop|restart|status}";; esac
_______________________________________________ Speakup mailing list Speakup@xxxxxxxxxxxxxxxxx http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup