I am calling the driver from an Android program (OMAP4/Blaze). It calls a c++ program via JNI which then calls the device driver.
Someone suggested it might be a permissions problem - the program is running in user mode.
on Blaze board, /system/bin
# ls -l
-rwxrwxrwx system system 7636 2011-09-30 03:53 mydriver
Will strace still be useful?
In general, in Linux, how does one enable a user program to call a custom device driver?
Anil
-----Original Message-----
From: Daniel Baluta [mailto:daniel.baluta@xxxxxxxxx]
Sent: Thu 10/13/2011 5:09 PM
To: Philip Anil-QBW348
Cc: kernelnewbies@xxxxxxxxxxxxxxxxx
Subject: Re: Getting 'bad file number' error writing to device driver
Hello,
> I am trying to write to mydriver but get a 'Bad file number' error.
>
> int fd = open("/dev/mydriver",O_RDWR);
>
> this opens successfully as fd is not -1.
>
> ssize_t bytesToWrite = strlen(buf);
>
> value is: bytesToWrite 28
>
> ssize_t bytesWritten = write(fd,buf,bytesToWrite);
>
> value is: bytesWritten -1
>
> __android_log_print(ANDROID_LOG_INFO,__FILE__,"ANIL
> strerror(errno) %s", strerror(errno));
>
> value is: strerror(errno) Bad file number
Please use strace and let us know the full trace of system calls.
Also, if possible
could you paste the 'write' function of your driver?
thanks,
Daniel.
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies