Gerfried Fuchs wrote:
> Does your system beep go to the soundcard usually?
No, it goes to the pc speaker (pcspkr kernel module)
> Do you hear a "/usr/bin/printf \\a"?
No.
> Can you maybe get me an strace output of that beep call?
Yes. I have to do it as root.
Release -17, the "no beep" release:
# strace beep -f 555
execve("/usr/bin/beep", ["beep", "-f", "555"], [/* 54 vars */]) = 0
uname({sys="Linux", node="pollux", ...}) = 0
brk(0) = 0x804b000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or
directory)
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7f8b000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or
directory)
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7f8a000
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=120036, ...}) = 0
old_mmap(NULL, 120036, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f6c000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or
directory)
open("/lib/tls/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260O\1"..., 512)
= 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1270928, ...}) = 0
old_mmap(NULL, 1276892, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xb7e34000
old_mmap(0xb7f62000, 32768, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12e000) = 0xb7f62000
old_mmap(0xb7f6a000, 7132, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f6a000
close(3) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7e33000
mprotect(0xb7f62000, 20480, PROT_READ) = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e336c0,
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
limit_in_pages:1, seg_not_present:0, useable:1}) = 0
munmap(0xb7f6c000, 120036) = 0
brk(0) = 0x804b000
brk(0x806c000) = 0x806c000
rt_sigaction(SIGINT, {0x80489d0, [INT], SA_RESTART}, {SIG_DFL}, 8) = 0
open("/dev/input/event0", O_WRONLY) = 3
ioctl(3, 0x8000451a, 0) = 0
write(3, "\32E\0\200\1\0\0\0\22\0\2\0+\2\0\0", 16) = 16
nanosleep({0, 200000000}, NULL) = 0
write(3, "\0\374\271\277\0\0\0\0\22\0\2\0\0\0\0\0", 16) = 16
close(3) = 0
exit_group(0) = ?
Release -16, the "it beeps" release:
# strace ./beep -f 555
execve("./beep", ["./beep", "-f", "555"], [/* 54 vars */]) = 0
uname({sys="Linux", node="pollux", ...}) = 0
brk(0) = 0x804b000
fcntl64(0, F_GETFD) = 0
fcntl64(1, F_GETFD) = 0
fcntl64(2, F_GETFD) = 0
access("/etc/suid-debug", F_OK) = -1 ENOENT (No such file or
directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or
directory)
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7fda000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or
directory)
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7fd9000
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=120036, ...}) = 0
old_mmap(NULL, 120036, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fbb000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or
directory)
open("/lib/tls/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260O\1"..., 512)
= 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1270928, ...}) = 0
old_mmap(NULL, 1276892, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xb7e83000
old_mmap(0xb7fb1000, 32768, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12e000) = 0xb7fb1000
old_mmap(0xb7fb9000, 7132, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fb9000
close(3) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7e82000
mprotect(0xb7fb1000, 20480, PROT_READ) = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e826c0,
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
limit_in_pages:1, seg_not_present:0, useable:1}) = 0
munmap(0xb7fbb000, 120036) = 0
brk(0) = 0x804b000
brk(0x806c000) = 0x806c000
rt_sigaction(SIGINT, {0x8048834, [INT], SA_RESTART}, {SIG_DFL}, 8) = 0
open("/dev/tty0", O_WRONLY) = 3
ioctl(3, KIOCSOUND, 0x865) = 0
nanosleep({0, 200000000}, NULL) = 0
ioctl(3, KIOCSOUND, 0) = 0
close(3) = 0
exit_group(0) = ?
The first one opens the /dev/input/event0, the second one opens the
/dev/tty0.
> So long,
> Alfie
Regards,
Vedran Furač
--
Men are born ignorant, not stupid. They are made stupid by education.
--Bertrand Russell