2440/2410上将usb device改成usb host
vices (DEPRECATED) (USB_DEVICE_CLASS) [N/y/?] n
Dynamic USB minor allocation (USB_DYNAMIC_MINORS) [N/y/?] n
USB Monitor (USB_MON) [N/m/y/?] n
Enable Wireless USB extensions (EXPERIMENTAL) (USB_WUSB) [N/m/y/?] n
Support WUSB Cable Based Association (CBA) (USB_WUSB_CBAF) [N/m/y/?] n
*
* USB Host Controller Drivers
*
Cypress C67x00 HCD support (USB_C67X00_HCD) [N/m/y/?] n
OXU210HP HCD support (USB_OXU210HP_HCD) [N/m/y/?] n
ISP116X HCD support (USB_ISP116X_HCD) [N/m/y/?] n
OHCI HCD support (USB_OHCI_HCD) [Y/n/m/?] y
SL811HS HCD support (USB_SL811_HCD) [N/m/y/?] n
R8A66597 HCD support (USB_R8A66597_HCD) [N/m/y/?] n
Host Wire Adapter (HWA) driver (EXPERIMENTAL) (USB_HWA_HCD) [N/m/y/?] n
Maximum port(s) of RootHub (MAX_ROOT_PORTS) [2] (NEW)
最后一项选的时候选成2就行了,因为config MAX_ROOT_PORTS为2代表使用两个host。
烧写生成的内核,结果大失所望,启动后在自己焊出的usb host口上插上设备没反应。不过郁闷重启之时,发现先在这之上插上设备启动时,设备就能识别出来了。而且插入无线网卡可以配置使用。不过使用摄像头确出现错误:
gspca: ISOC data error: [1] len=318, status=-84
gspca: ISOC data error: [4] len=274, status=-84
gspca: ISOC data error: [25] len=144, status=-84
gspca: ISOC data error: [1] len=240, status=-84
等等。这是又回到对内核的改动上,当改动内核时就感觉帖子文章中第二篇没什么用,跟第一篇有些重复之嫌,后来替代的在static void s3c2410_start_hc中的改动也是,感觉有些重复static int usb_hcd_s3c2410_probe中的内容,所以重新编译内核,将对static void s3c2410_start_hc的改动去掉,即不改s3c2410_start_hc,重新编译内核烧写,结果使用摄像头正常。
也就是说,usb device已经改成了usb host,可以当成usb host使用了,只不过,必需先插入设备再启动板子,分析这种情况的原因可能是因为bootloader中肯定有对usb部分的设置驱动之类的,(Nor Flash的时候可以使用usb device进行下载传输,说明肯定已经驱上了usb device),vivi的设置跟重新编译的内核对usb设置不一样,可能就导致了这种情况,我也不确定是不是这个原因。不插设备的时候启动信息改的usb 1-2提示:
usb 1-2: new full speed USB device using s3c2410-ohci and address 3
usb 1-2: device descriptor read/64, error -62
usb 1-2: device descriptor read/64, error -62
usb 1-2: new full speed USB device using s3c2410-ohci and address 4
usb 1-2: device descriptor read/64, error -62
usb 1-2: device descriptor read/64, error -62
usb 1-2: new full speed US. device using s3c2410-ohci and address 5
usb 1-2: device not accepting addre髎 5, error -62
usb 1-2: new full speed USB device using s3c2410-ohci and address 6
usb 1-2: device not accepting address 6, error -62
hub 1-0:1.0: unable to enumerate USB device on port 2
但是,插上设备比如无线网卡,就能找到设备,提示:
usb 1-2: new full speed USB device using s3c2410-o鑓i and address 3
usb 1-2: New USB device found, idVen鋙r=0ace, idProduct=1215
usb 1-2: New USB device strings: Mfr=16, Product=32, SerialNumber=0
usb 1-2: Product: USB2.0 WLAN
usb 1-2: Manufacturer: ZyDAS
usb 1-2: configuration #1 chosen from 1 choice
usb 1-2: reset full speed USB device using s3c2410-ohci and address 3
wmaster0 (zd1211rw): not using net_device_ops yet
wlan0 (zd1211rw): not using net_device_ops yet
zd1211rw 1-2:1.0: phy0
对于这种情况,上网搜了一下,好像修改vivi中的upll设置,在main中添加了ChangeUPllValue(56,2,2)一句后,问题可以解决。具体没有再试,先如此的用着吧。
我是在友善之臂的mini2440上实现的,基于2410与2440没有本质差别,2410上应该也可以。
24402410usbdevicehos 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)