SpeakUp in Raspberry Pi

Mike Ray mike at raspberryvi.org
Sun May 26 22:00:19 EDT 2013


Hello folks,

I have spent some considerable time trying to get SpeakUp to run with 
some degree of reliability on the Raspberry Pi.

I am getting a kernel oops which always reports the same thing. 
Unfortunately this appears to be some problem in a Broadcom driver in 
the RPI kernel source tree.

It has taken me several weeks to get this far because I have had to 
learn kernel hacking from the ground up to get this far.

I think somebody, it may have been you Chris B, asked for a stack trace.

Here it is:

-- snip --
pi at raspberrypi:~$ [ 2800.108144] Unable to handle kernel NULL pointer 
dereference at virtual address 00000008
[ 2800.117443] pgd = c0004000
[ 2800.120278] [00000008] *pgd=00000000
[ 2800.123972] Internal error: Oops: 5 [#1] PREEMPT ARM

Entering kdb (current=0xda9481c0, pid 28) Oops: (null)
due to oops @ 0xc024b634

Pid: 28, comm:              VCHIQ-0
CPU: 0    Tainted: G         C    (3.6.11-su+ #1)
PC is at vchiu_queue_is_empty+0x0/0x18
LR is at vchi_msg_dequeue+0x34/0xa0
pc : [<c024b634>]    lr : [<c024afe8>]    psr: 60000013
sp : da989f00  ip : 00000000  fp : c05be070
r10: 00000020  r9 : db000194  r8 : da989f24
r7 : 00000014  r6 : da989f20  r5 : 00000000  r4 : 00000004
r3 : da989f20  r2 : 00000014  r1 : da989f24  r0 : 00000004
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 00c5387d  Table: 19c1c008  DAC: 00000017
[<c0013b7c>] (unwind_backtrace+0x0/0xf0) from [<c0073168>] 
(kdb_dumpregs+0x28/0x50)
[<c0073168>] (kdb_dumpregs+0x28/0x50) from [<c00754ec>] 
(kdb_main_loop+0x3a8/0x6fc)
[<c00754ec>] (kdb_main_loop+0x3a8/0x6fc) from [<c0077bd0>] 
(kdb_stub+0x154/0x380)
[<c0077bd0>] (kdb_stub+0x154/0x380) from [<c006ed0c>] 
(kgdb_handle_exception+0x1f8/0x668)
[<c006ed0c>] (kgdb_handle_exception+0x1f8/0x668) from [<c00132fc>] 
(kgdb_notify+0x24/0x40)
[<c00132fc>] (kgdb_notify+0x24/0x40) from [<c0396c34>] 
(notifier_call_chain+0x44/0x84)
[<c0396c34>] (notifier_call_chain+0x44/0x84) from [<c0396cac>] 
(__atomic_notifier_call_chain+0x38/0x4c)
[<c0396cac>] (__atomic_notifier_call_chain+0x38/0x4c) from [<c0396cd8>] 
(atomic_notifier_call_chain+0x18/0x20)
[<c0396cd8>] (atomic_notifier_call_chain+0x18/0x20) from [<c0396d18>] 
(notify_die+0x38/0x44)
[<c0396d18>] (notify_die+0x38/0x44) from [<c0011138>] (die+0xc4/0x39c)
[<c0011138>] (die+0xc4/0x39c) from [<c038fa50>] 
(__do_kernel_fault.part.9+0x54/0x74)
[<c038fa50>] (__do_kernel_fault.part.9+0x54/0x74) from [<c0396944>] 
(do_page_fault+0x1e8/0x3ec)
[<c0396944>] (do_page_fault+0x1e8/0x3ec) from [<c000832c>] 
(do_DataAbort+0x34/0x98)
[<c000832c>] (do_DataAbort+0x34/0x98) from [<c0395138>] 
(__dabt_svc+0x38/0x60)
Exception stack(0xda989eb8 to 0xda989f00)
9ea0:                                                       00000004 
da989f24
9ec0: 00000014 da989f20 00000004 00000000 da989f20 00000014 da989f24 
db000194
9ee0: 00000020 c05be070 00000000 da989f00 c024afe8 c024b634 60000013 
ffffffff
[<c0395138>] (__dabt_svc+0x38/0x60) from [<c024b634>] 
(vchiu_queue_is_empty+0x0/0x18)
[<c024b634>] (vchiu_queue_is_empty+0x0/0x18) from [<c024afe8>] 
(vchi_msg_dequeue+0x34/0xa0)
[<c024afe8>] (vchi_msg_dequeue+0x34/0xa0) from [<bf075a94>] 
(audio_vchi_callback+0x48/0xac [snd_bcm2835])
[<bf075a94>] (audio_vchi_callback+0x48/0xac [snd_bcm2835]) from 
[<c024ae48>] (shim_callback+0x6c/0x138)
[<c024ae48>] (shim_callback+0x6c/0x138) from [<c0244bf8>] 
(slot_handler_func+0xdfc/0x1728)
[<c0244bf8>] (slot_handler_func+0xdfc/0x1728) from [<c003a914>] 
(kthread+0x88/0x94)
[<c003a914>] (kthread+0x88/0x94) from [<c000eafc>] 
(kernel_thread_exit+0x0/0x8)

kdb>
-- snip --

Mike


-- 
Michael A. Ray
Analyst/Programmer
Witley, Surrey, South-east UK

Interested in accessibility on the Raspberry Pi?
Visit: http://www.raspberryvi.org/

 From where you can join our mailing list for visually-impaired Pi hackers



More information about the Speakup mailing list