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:[email protected]] Sent: Thu 10/13/2011 5:09 PM To: Philip Anil-QBW348 Cc: [email protected] 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 [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
