Hello,
My usb device driver gets compiled and file system is getting created in
the /dev as below..
usbdev1.1_ep00
usbdev1.1_ep81
usbdev1.3_ep00
usbdev1.3_ep05
usbdev1.3_ep87
usbdev2.1_ep00
usbdev2.1_ep81
USBPIPESKEL
USBPIPESKEL is the name give in
static struct usb_class_driver skel_class = {
.name = "USBPIPESKEL",
.fops = &skel_fops,
.minor_base = USB_SKEL_MINOR_BASE,
};
My test application to read and write to the device is the one below
int fd,ret;
unsigned int buf;
unsigned char arr[2]={0x55,0x66};
int choice,i;
if((fd = open("/dev/USBPIPESKEL" ,O_RDWR)) == -1)
{
printf("\nopen error\n");
}
printf("usb device opened:fd=%d\n",fd);
ret = write(fd,arr,2);
if(ret == -1)
perror("write:");
printf("usb device write return = %d\n",ret);
close(fd);
return(1);
}
after insmoding my driver if I run my test application
I am getting the error below
usb device opened:fd=3
write:: Message too long
usb device write return = -1
when i run dmesg i get the follwing message
skel_write - failed submitting write urb, error -90
I would like to know the cause of the error and how can I
fix it up?
Thanks