Решено: open() возвращает ошибку (open)

Модератор: Модераторы разделов

rapa
Сообщения: 29
ОС: Linux Fedora 8

Решено: open() возвращает ошибку

Сообщение rapa »

Кто-нить может подскажет,в чём здесь трудность.
Пытаюсь провернуть такую операцию:
...
#define BIO_MAX6902_DEV_NAME "/dev/extrtc"
...
if ((gMax6902RTCfd = open(BIO_MAX6902_DEV_NAME,O_RDWR)) < 0) return -1;
..
На что получаю поджопник,что файл не открыт , т.е. возвращается -1.

Заранее спасибо.
Спасибо сказали:
Аватара пользователя
whirlwind
Сообщения: 67

Re: Решено: open() возвращает ошибку

Сообщение whirlwind »

могу посоветовать посмотреть, что вам perror() напишет
Добро всегда побеждает зло. Мы победили, значит мы - добро.
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Решено: open() возвращает ошибку

Сообщение RasenHerz »

с правами доступа к устройству все в порядке?
Спасибо сказали:
rapa
Сообщения: 29
ОС: Linux Fedora 8

Re: Решено: open() возвращает ошибку

Сообщение rapa »

perror() ещё не пробовал,попробую,а с правами вроде всё в порядке.Права доступа я проверил сразу-же.
К тому-же когда я изменил:
#define BIO_MAX6902_DEV_NAME "/dev/extrtc"
на
#define BIO_MAX6902_DEV_NAME "/dev/rtc5"
то все заработало,хотя и на /dev/extrtc и на /dev/rtc5 права доступа одинаковые: "crw-r--r--".Я даже менял O_RDWR на O_RDONLY и не помогло.
В принципе проблемма решена вот так:
#define BIO_MAX6902_DEV_NAME "/dev/rtc5"
но хотелось бы понять в чём проблемма.
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Решено: open() возвращает ошибку

Сообщение nesk »

rapa писал(а):
03.03.2009 11:05
perror() ещё не пробовал,попробую,
....
но хотелось бы понять в чём проблемма.


так смотрите perror(), он Вам скажет в чем проблема!
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
rapa
Сообщения: 29
ОС: Linux Fedora 8

Re: Решено: open() возвращает ошибку

Сообщение rapa »

Ещё не проверял,но я практически понял,где я лоханулся.В драйвере я определил Major(номер) - 211,а когда определял файл девайса
mknod /dev/extrtc c 208 0,
то определил его с номером 208.
Когда поменял
mknod /dev/extrtc c 208 0
на
mknod /dev/rtc5 c 211 0,
то чисто случайно угадал и вот теперь догнал почему не работало.
Спасибо сказали: