Разрешение отклонено в символьном устройстве

70
5

Я программирую модуль драйвера устройства для ядра debian 6, который действует как устройство FIFO, компиляция явно верна, я использую следующий код для его создания:

Major = register_chrdev(0, DEVICE_NAME, &fops); //Major is an integer value
if (Major < 0) {
printk(KERN_ALERT "Registering char device failed with %d\n", Major);
return -Major;
}
/*
* Creation of buffer;
*/
if( (buf = create_cbuffer_t(MAX_BUFFER_SIZE)) == NULL){
printk(KERN_ALERT "Error when creating the FIFO device.");
return -EINVAL;
}
printk(KERN_INFO "Buffer created without error.\n");

Основной номер asigned равен 251, и я создаю его, используя это:

sudo mknod /dev/fifodev c 251 0

Он работает правильно, но когда я пытаюсь получить доступ к терминалу, это результат

dsouser@debian:~/Escritorio/Prac3/ParteB$ echo whatever > /dev/fifodev 
bash: /dev/fifodev: Permiso denegado **This means:Permission denied**

И это тоже происходит:

dsouser@debian:~/Escritorio/Prac3/ParteB$ cat /dev/fifodev
cat: /dev/fifodev: Argumento inválido

Какая проблема или правильный способ заставить ее работать?

большое спасибо

спросил(а) 2014-01-08T23:00:00+04:00 6 лет, 9 месяцев назад
1
Решение
81

изменить разрешение /dev/fifodev

 sudo chmod 666 /dev/fifodev

ответил(а) 2014-01-08T23:12:00+04:00 6 лет, 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема