прежде всего удалить тотем и выполнить sudo apt-get install -f, а затем повторно установить тотем или попробовать. Это будет работать для вас
Cheers
Чтобы использовать команды ввода-вывода IO (вход / выход), вам нужно запустить от имени пользователя root и зарезервировать доступ через вызов ioperm (): http://manpages.ubuntu.com/ioperm
Если это beep.c:
/* Copyright 2011, Kees Cook <kees@outflux.net>, License: GPLv2 */
#include <unistd.h>
#include <stdio.h>
#include <sys/io.h>
int main()
{
unsigned char orig, bits;
/* gain access to speaker control port */
if (ioperm(0x61, 0x61, 1) < 0) {
perror("0x61");
return 1;
}
/* gain access to speaker frequency port */
if (ioperm(0x42, 0x42, 1) < 0) {
perror("0x42");
return 2;
}
/* turn on speaker */
orig = bits = inb(0x61);
bits |= 3;
outb(bits, 0x61);
/* set 1000 Hz frequency */
bits = 0xA9;
outb(bits, 0x42);
bits = 0x04;
outb(bits, 0x42);
/* listen to the beep */
sleep(1);
/* restore speaker bits to turn off speaker */
outb(orig, 0x61);
return 0;
}
$ make beep
$ sudo ./beep
эти функции (или макросы) определены в <asm/io.h>. Нужно сказать GCC, чтобы -Optimise код для них должен быть встроен (я думаю).
для их использования, введите
man inw
Makelinux.net также есть руководство по их использованию.
я не могу дать вам пример, поскольку это зависит от оборудования, которое вы используете, но это должно вам начать работу.
если кого-то интересует это, есть также руководство, чтобы обеспечить такую же функциональность.
Чтобы использовать команды ввода-вывода IO (вход / выход), вам нужно запустить от имени пользователя root и зарезервировать доступ через вызов ioperm (): http://manpages.ubuntu.com/ioperm
Если это beep.c:
/* Copyright 2011, Kees Cook <kees@outflux.net>, License: GPLv2 */
#include <unistd.h>
#include <stdio.h>
#include <sys/io.h>
int main()
{
unsigned char orig, bits;
/* gain access to speaker control port */
if (ioperm(0x61, 0x61, 1) < 0) {
perror("0x61");
return 1;
}
/* gain access to speaker frequency port */
if (ioperm(0x42, 0x42, 1) < 0) {
perror("0x42");
return 2;
}
/* turn on speaker */
orig = bits = inb(0x61);
bits |= 3;
outb(bits, 0x61);
/* set 1000 Hz frequency */
bits = 0xA9;
outb(bits, 0x42);
bits = 0x04;
outb(bits, 0x42);
/* listen to the beep */
sleep(1);
/* restore speaker bits to turn off speaker */
outb(orig, 0x61);
return 0;
}
$ make beep
$ sudo ./beep
Эти функции (или макросы) определены в <asm/io.h>. Вы должны указать gcc на -O ptimise код, чтобы они были встроены (я думаю).
Для их использования введите
man inw
. Makelinux.net также имеет руководство по их использованию.
Я не могу привести вам пример, поскольку он зависит от используемого вами оборудования, но это должно вас начать.
Если кто-то заинтересован в этом, существует также guide , чтобы обеспечить ту же функциональность.
Чтобы использовать команды ввода-вывода IO (вход / выход), вам нужно запустить от имени пользователя root и зарезервировать доступ через вызов ioperm (): http://manpages.ubuntu.com/ioperm
Если это beep.c:
/* Copyright 2011, Kees Cook <kees@outflux.net>, License: GPLv2 */
#include <unistd.h>
#include <stdio.h>
#include <sys/io.h>
int main()
{
unsigned char orig, bits;
/* gain access to speaker control port */
if (ioperm(0x61, 0x61, 1) < 0) {
perror("0x61");
return 1;
}
/* gain access to speaker frequency port */
if (ioperm(0x42, 0x42, 1) < 0) {
perror("0x42");
return 2;
}
/* turn on speaker */
orig = bits = inb(0x61);
bits |= 3;
outb(bits, 0x61);
/* set 1000 Hz frequency */
bits = 0xA9;
outb(bits, 0x42);
bits = 0x04;
outb(bits, 0x42);
/* listen to the beep */
sleep(1);
/* restore speaker bits to turn off speaker */
outb(orig, 0x61);
return 0;
}
$ make beep
$ sudo ./beep
Эти функции (или макросы) определены в <asm/io.h>. Вы должны указать gcc на -O ptimise код, чтобы они были встроены (я думаю).
Для их использования введите
man inw
. Makelinux.net также имеет руководство по их использованию.
Я не могу привести вам пример, поскольку он зависит от используемого вами оборудования, но это должно вас начать.
Если кто-то заинтересован в этом, существует также guide , чтобы обеспечить ту же функциональность.
Чтобы использовать команды ввода-вывода IO (вход / выход), вам нужно запустить от имени пользователя root и зарезервировать доступ через вызов ioperm (): http://manpages.ubuntu.com/ioperm
Если это beep.c:
/* Copyright 2011, Kees Cook <kees@outflux.net>, License: GPLv2 */
#include <unistd.h>
#include <stdio.h>
#include <sys/io.h>
int main()
{
unsigned char orig, bits;
/* gain access to speaker control port */
if (ioperm(0x61, 0x61, 1) < 0) {
perror("0x61");
return 1;
}
/* gain access to speaker frequency port */
if (ioperm(0x42, 0x42, 1) < 0) {
perror("0x42");
return 2;
}
/* turn on speaker */
orig = bits = inb(0x61);
bits |= 3;
outb(bits, 0x61);
/* set 1000 Hz frequency */
bits = 0xA9;
outb(bits, 0x42);
bits = 0x04;
outb(bits, 0x42);
/* listen to the beep */
sleep(1);
/* restore speaker bits to turn off speaker */
outb(orig, 0x61);
return 0;
}
$ make beep
$ sudo ./beep
Эти функции (или макросы) определены в <asm/io.h>. Вы должны указать gcc на -O ptimise код, чтобы они были встроены (я думаю).
Для их использования введите
man inw
. Makelinux.net также имеет руководство по их использованию.
Я не могу привести вам пример, поскольку он зависит от используемого вами оборудования, но это должно вас начать.
Если кто-то заинтересован в этом, существует также guide , чтобы обеспечить ту же функциональность.
для использования порта ввода-вывода команды (вход/выход), нужно запустить как root и защищены доступа через ioperm() вызов: http://manpages.ubuntu.com/ioperm
если это beep.c:
/* Copyright 2011, Kees Cook <kees@outflux.net>, License: GPLv2 */
#include <unistd.h>
#include <stdio.h>
#include <sys/io.h>
int main()
{
unsigned char orig, bits;
/* gain access to speaker control port */
if (ioperm(0x61, 0x61, 1) < 0) {
perror("0x61");
return 1;
}
/* gain access to speaker frequency port */
if (ioperm(0x42, 0x42, 1) < 0) {
perror("0x42");
return 2;
}
/* turn on speaker */
orig = bits = inb(0x61);
bits |= 3;
outb(bits, 0x61);
/* set 1000 Hz frequency */
bits = 0xA9;
outb(bits, 0x42);
bits = 0x04;
outb(bits, 0x42);
/* listen to the beep */
sleep(1);
/* restore speaker bits to turn off speaker */
outb(orig, 0x61);
return 0;
}
$ сделать бип
$ судо ./бип
Эти функции (или макросы) определены в <asm/io.h>. Вы должны указать gcc на -O ptimise код, чтобы они были встроены (я думаю).
Для их использования введите
man inw
. Makelinux.net также имеет руководство по их использованию.
Я не могу привести вам пример, поскольку он зависит от используемого вами оборудования, но это должно вас начать.
Если кто-то заинтересован в этом, существует также guide , чтобы обеспечить ту же функциональность.
для использования порта ввода-вывода команды (вход/выход), нужно запустить как root и защищены доступа через ioperm() вызов: http://manpages.ubuntu.com/ioperm
если это beep.c:
/* Copyright 2011, Kees Cook <kees@outflux.net>, License: GPLv2 */
#include <unistd.h>
#include <stdio.h>
#include <sys/io.h>
int main()
{
unsigned char orig, bits;
/* gain access to speaker control port */
if (ioperm(0x61, 0x61, 1) < 0) {
perror("0x61");
return 1;
}
/* gain access to speaker frequency port */
if (ioperm(0x42, 0x42, 1) < 0) {
perror("0x42");
return 2;
}
/* turn on speaker */
orig = bits = inb(0x61);
bits |= 3;
outb(bits, 0x61);
/* set 1000 Hz frequency */
bits = 0xA9;
outb(bits, 0x42);
bits = 0x04;
outb(bits, 0x42);
/* listen to the beep */
sleep(1);
/* restore speaker bits to turn off speaker */
outb(orig, 0x61);
return 0;
}
$ сделать бип
$ судо ./бип
Эти функции (или макросы) определены в <asm/io.h>. Вы должны указать gcc на -O ptimise код, чтобы они были встроены (я думаю).
Для их использования введите
man inw
. Makelinux.net также имеет руководство по их использованию.
Я не могу привести вам пример, поскольку он зависит от используемого вами оборудования, но это должно вас начать.
Если кто-то заинтересован в этом, существует также guide , чтобы обеспечить ту же функциональность.
Эти функции (или макросы) определены в & lt; asm / io.h & gt;
. Вы должны указать gcc на -O
ptimise код, чтобы они были встроены (я думаю).
Для их использования введите
man inw
У Makelinux.net также есть guide о том, как их использовать.
Я не могу привести вам пример, поскольку он зависит от используемого вами оборудования, но это должно вас начать.
Если кто-то заинтересован в этом, существует также модуль Python, portio , чтобы обеспечить ту же функциональность.
Чтобы использовать команды ввода-вывода IO (вход / выход), вам нужно запустить от имени пользователя root и зарезервировать доступ через вызов ioperm (): http://manpages.ubuntu.com/ioperm [ ! d3]
Если это beep.c
:
/ * Copyright 2011, Kees Cook & lt; kees@outflux.net> ;, Лицензия: GPLv2 * / #include & lt; unistd.h & gt; #include & lt; stdio.h & gt; #include & lt; sys / io.h & gt; int main () {unsigned char orig, bits; / * получить доступ к порту управления динамиком * / if (ioperm (0x61, 0x61, 1) & lt; 0) {perror ("0x61"); return 1; } / * получить доступ к порту частоты динамиков * / if (ioperm (0x42, 0x42, 1) & lt; 0) {perror ("0x42"); return 2; } / * включить динамик * / orig = bits = inb (0x61); бит | = 3; outb (бит, 0x61); / * установить частоту 1000 Гц * / bits = 0xA9; outb (бит, 0x42); бит = 0x04; outb (бит, 0x42); / * слушать звуковой сигнал * / sleep (1); / * восстановить биты колонок, чтобы выключить динамик * / outb (orig, 0x61); return 0; }
$ make beep
$ sudo ./beep
Чтобы использовать команды ввода-вывода IO (вход / выход), вам нужно запустить от имени пользователя root и зарезервировать доступ через вызов ioperm (): http://manpages.ubuntu.com/ioperm [ ! d3]
Если это beep.c
:
/ * Copyright 2011, Kees Cook & lt; kees@outflux.net> ;, Лицензия: GPLv2 * / #include & lt; unistd.h & gt; #include & lt; stdio.h & gt; #include & lt; sys / io.h & gt; int main () {unsigned char orig, bits; / * получить доступ к порту управления динамиком * / if (ioperm (0x61, 0x61, 1) & lt; 0) {perror ("0x61"); return 1; } / * получить доступ к порту частоты динамиков * / if (ioperm (0x42, 0x42, 1) & lt; 0) {perror ("0x42"); return 2; } / * включить динамик * / orig = bits = inb (0x61); бит | = 3; outb (бит, 0x61); / * установить частоту 1000 Гц * / bits = 0xA9; outb (бит, 0x42); бит = 0x04; outb (бит, 0x42); / * слушать звуковой сигнал * / sleep (1); / * восстановить биты колонок, чтобы выключить динамик * / outb (orig, 0x61); return 0; }
$ make beep
$ sudo ./beep
Эти функции (или макросы) определены в & lt; asm / io.h & gt;
. Вы должны указать gcc на -O
ptimise код, чтобы они были встроены (я думаю).
Для их использования введите
man inw
У Makelinux.net также есть guide о том, как их использовать.
Я не могу привести вам пример, поскольку он зависит от используемого вами оборудования, но это должно вас начать.
Если кто-то заинтересован в этом, существует также модуль Python, portio , чтобы обеспечить ту же функциональность.
Эти функции (или макросы) определены в & lt; asm / io.h & gt;
. Вы должны указать gcc на -O
ptimise код, чтобы они были встроены (я думаю).
Для их использования введите
man inw
У Makelinux.net также есть guide о том, как их использовать.
Я не могу привести вам пример, поскольку он зависит от используемого вами оборудования, но это должно вас начать.
Если кто-то заинтересован в этом, существует также модуль Python, portio , чтобы обеспечить ту же функциональность.
Чтобы использовать команды ввода-вывода IO (вход / выход), вам нужно запустить от имени пользователя root и зарезервировать доступ через вызов ioperm (): http://manpages.ubuntu.com/ioperm [ ! d3]
Если это beep.c
:
/ * Copyright 2011, Kees Cook & lt; kees@outflux.net> ;, Лицензия: GPLv2 * / #include & lt; unistd.h & gt; #include & lt; stdio.h & gt; #include & lt; sys / io.h & gt; int main () {unsigned char orig, bits; / * получить доступ к порту управления динамиком * / if (ioperm (0x61, 0x61, 1) & lt; 0) {perror ("0x61"); return 1; } / * получить доступ к порту частоты динамиков * / if (ioperm (0x42, 0x42, 1) & lt; 0) {perror ("0x42"); return 2; } / * включить динамик * / orig = bits = inb (0x61); бит | = 3; outb (бит, 0x61); / * установить частоту 1000 Гц * / bits = 0xA9; outb (бит, 0x42); бит = 0x04; outb (бит, 0x42); / * слушать звуковой сигнал * / sleep (1); / * восстановить биты колонок, чтобы выключить динамик * / outb (orig, 0x61); return 0; }
$ make beep
$ sudo ./beep