我现在作s3c2440的gadget驱动,USB设备的复位操作好像出现了问题 驱动里面的打印信息是: usb_status = udc_read(S3C2410_UDC_USB_INT_REG); usbd_status = udc_read(S3C2410_UDC_EP_INT_REG); pwr_reg = udc_read(S3C2410_UDC_PWR_REG); ep0csr = udc_read(S3C2410_UDC_IN_CSR1_REG); printk( "usbs=%02x, usbds=%02x, pwr=%02x ep0csr=%02x\n", usb_status, usbd_status, pwr_reg, ep0csr); 在加载了udc和g_file_storage驱动以...
我用一块AM1808的开发板,它有两个USB控制器,一个是host,一个是OTG(2.0 full speed/high speed)。现在我将OTG配置成了ACM CDC Serial gadget设备,没有修改任何驱动代码,然后编译烧写,并自己写了测试程序进行测试,有几个问题百思不得其解,求大家帮助。 1.开发板内核版本为2.6.30,在开发板上配置好ACM CDC Serial gadget后,在开发板上可以看到 /dev/ttyGS0。 2.用usb线连接开发板和PC,PC是ubuntu系统,内核版本为2.6.28。...
Linux2.6内核usb gadget驱动移植 在写之前恶补一点usb slave端的知识 在kernel 2.4版本中,嵌入式USB驱动是在kernel/arch/arm目录下的ep0.c ep**.c, 在调试USB驱动的时候比较难,主要是如果在中断了加太多的printk, 会影响USB的时序,导致枚举就失败或不停地USB reset。 在kernel 2.6版本中,USB的驱动改为了gadget接口,在/kernel/drivers/usb/gadget目录下,有一系列的文件,这些文件都是USB的驱动,其中serial.c是bulk驱动...
在USB视频驱动的代码中(\drivers\usb\gadget),驱动调用vmallc_32分配内核虚拟空间,然后通过mmap来实现用户视频数据的0-拷贝。但是在得到视频数据后,它又分配空间(kmalloc)给USB endpoint 然后拷贝memcpy 视频数据。 1. 请问我的理解对吗? 2. 如果我直接用DMA传输视频数据,假定USB硬件支持scatter/gather DMA,那么如何把从vmalloc内核虚拟地址映射到物理地址? 3. 或者可以直接用kmalloc分配空间并且实现mmap,但是这样可行吗...
经过两个星期的学习和折腾,gadget驱动又有了新的进展。给驱动打上底版本的补丁后,从块设备上读文件是没有问题的,但是写文件操作的时候总是失败。今天用2.6.22内核版本的s3c2410_udc驱动backporting到我的内核上,可以正常工作读文件的时候没有问题,写操作的时候不会出现失败了,但是写大文件的操作的时候非常的慢啊!,这个问题还是有待解决! 回顾porting的过程:下载s3c2410_udc.c的补丁+修改相关的头文件,并注意注册设...
请教个问题: 我的 gadget转net的驱动还是不对呢,PC总是报错:10 号错。 我的环境:S3C2410 linux2.6.14 insmod g_ether.ko ifconfig usb0 192.168.1.13 ifconfig usb0 up 控制台: Using /gg/g_ether.ko ether gadget: using random self ethernet address ether gadget: using random host ethernet address usb0: Ethernet gadget, version: May Day 2005 usb0: using s3c2410_udc, OUT ep2-bulk IN ep1-bulk STATUS ep...
本帖最后由 arm-linux-gcc 于 2014-01-02 14:47 编辑 通过gadget将板子上的一个vfat格式的映像文件作为模拟u盘,供给pc使用 #modprobe g_mass_storage.ko file=fat32.img stall=0 removable=1 这个fat32.img只是个分区映像,用mkfs.vfat创建的,但是pc那边应该还需要从U盘的mbr读取主分区表吧。 那么这个mbr是在什么地方呢? g_mass_storage.ko中有实现吗?
开发内核版本 linux 2.6.18 使用USBKEY的通讯驱动,采用libusb进行通讯。当usb-storage驱动开启情况下,枚举设备时,会在libusb_set_configurtion(dev_handle,1)这个函数返回错误-6。若卸载调usb-storage模块后。设备就能正常通讯调用。因为改USBKEY又是带U盘的设备,每次一插上,系统都会自动开启usb-storage模块,影响USBKEY的通讯。 请问各位大侠,这个问题怎解啊?