qq2440啟動(dòng)linux后插入u盤出現(xiàn)usb 1-1: device descriptor read/64, error -110,usb 1

上位機(jī):ubuntu14.04 64bit
下位機(jī):qq2440
交叉編譯器:arm-linux-gcc 3.4.1
下位機(jī)使用的linux內(nèi)核版本:kernel2.6.13
1.插入u盤時(shí)錯(cuò)誤信息如下:
[root@FriendlyARM /home]# usb 1-1: new full speed USB device using s3c2410-ohci and address 6
usb 1-1: device descriptor read/64, error -110
usb 1-1: device descriptor read/64, error -110
usb 1-1: new full speed USB device using s3c2410-ohci and address 7
usb 1-1: device descriptor read/64, error -110
usb 1-1: device descriptor read/64, error -110
usb 1-1: new full speed USB device using s3c2410-ohci and address 8
usb 1-1: device not accepting address 8, error -110
usb 1-1: new full speed USB device using s3c2410-ohci and address 9
usb 1-1: device not accepting address 9, error -110
2.解決方案如下:
2.1修改drivers/usb/host/ohci-s3c2410.c文件,添加以下內(nèi)容:
a.先添加頭文件#include <mach/regs-clock.h>
b.在s3c2410_start_hc函數(shù)中添加以下內(nèi)容:
- unsigned long upllvalue = (0x78 << 12) | (0x02 << 4) | (0x03);
- while (upllvalue != __raw_readl(S3C2410_UPLLCON)) {
- __raw_writel(upllvalue, S3C2410_UPLLCON);
- mdelay(1);
- }
添加后的s3c2410_start_hc函數(shù)如下:
- static void s3c2410_start_hc(struct platform_device *dev, struct usb_hcd *hcd)
- {
- struct s3c2410_hcd_info *info = dev->dev.platform_data;
- dev_dbg(&dev->dev, "s3c2410_start_hc:\n");
- clk_enable(clk);
- if (info != NULL) {
- info->hcd = hcd;
- info->report_oc = s3c2410_hcd_oc;
- if (info->enable_oc != NULL) {
- (info->enable_oc)(info, 1);
- }
- }
- unsigned long upllvalue = (0x78 << 12) | (0x02 << 4) | (0x03);
- while (upllvalue != __raw_readl(S3C2410_UPLLCON)) {
- __raw_writel(upllvalue, S3C2410_UPLLCON);
- mdelay(1);
- }
- }
2.2總結(jié):以上修改的函數(shù)功能是啟動(dòng)主機(jī)控制器,因?yàn)閡sb時(shí)鐘設(shè)置有問(wèn)題,因而在開啟主機(jī)控制器時(shí)修改時(shí)鐘,修改后的S3C2410_UPLLCON的值為0xF4100008;
3.注意:本版本內(nèi)核沒(méi)有頭文件regs-clock.h,因而我從其他內(nèi)核中復(fù)制過(guò)來(lái)的,命令如下:
jello@jello-Inspiron-N4050:~/Downloads/qq2440/linux/kernel-2.6.13$ cp /tftpboot/kernel-2.6.35.7/arch/arm/mach-s3c2410/include/mach/regs-clock.h ./
相關(guān)文章
win7部分U盤不識(shí)別并提示驅(qū)動(dòng)錯(cuò)誤怎么辦
win7 系統(tǒng)有時(shí)候會(huì)出現(xiàn)U盤識(shí)別問(wèn)題,插入U(xiǎn)盤后不直接識(shí)別,而是系統(tǒng)開始安裝驅(qū)動(dòng),經(jīng)常會(huì)提示驅(qū)動(dòng)安裝失敗,這里教大家一個(gè)解決的小辦法,只對(duì)win7系統(tǒng)有用的。2016-12-12Windows 10下使用U盤安裝Ubuntu雙系統(tǒng)的圖文教程
這篇文章主要介紹了Windows 10下使用U盤安裝Ubuntu雙系統(tǒng)的圖文教程,需要的朋友可以參考下2016-12-12Win10系統(tǒng)中路由器掛載的硬盤或U盤打不開怎么辦?
Win10系統(tǒng)中路由器掛載的硬盤或U盤打不開怎么辦?win10系統(tǒng)中想要使用路由器掛在的U盤,但是發(fā)現(xiàn)打不開,該怎么辦呢?下面我們就來(lái)介紹兩種解決辦法,需要的朋友可以參考下2016-12-06聯(lián)想thinkpad e335使用bios設(shè)置u盤啟動(dòng)的教程
thinkpad e335是聯(lián)想旗下的一款系列型號(hào),聯(lián)想thinkpad e335的出廠設(shè)置是無(wú)法使用一鍵u盤啟動(dòng)快捷鍵,那么如何解決這樣的問(wèn)題呢?下面小編帶給大家聯(lián)想thinkpad e335使用bi2016-11-24- 使用的centos用戶都知道,以前的用戶都是使用光盤安裝系統(tǒng)的,現(xiàn)在都是使用U盤安裝,使用也是非常的簡(jiǎn)單,本文小編就為大家具體的講解u盤安裝centos 7的步驟2016-11-17
如何將ubuntu安裝到U盤實(shí)現(xiàn)即插即用
這篇文章主要介紹了如何將ubuntu安裝到U盤實(shí)現(xiàn)即插即用,不是說(shuō)明如何使用U盤做安裝盤,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-17如何安裝CentOS 6.6 圖文詳解CentOS 6.6安裝過(guò)程
本文我們就以圖文的方式來(lái)介紹下如何安裝CentOS 6.6。首先,需要下載CentOS 6.6 的安裝像,需要的朋友可以參考下2016-10-24win7系統(tǒng)沒(méi)有光驅(qū)怎么重裝系統(tǒng)?三種方法教你如何重裝系統(tǒng)
最近有用戶問(wèn)如果自己的電腦沒(méi)有光驅(qū),那還能重裝系統(tǒng)么?該怎么操作呢?下面小編就為大家具體的講解沒(méi)有光驅(qū)怎么重裝系統(tǒng),這里小編為大家介紹了三種方法,希望可以幫助到2016-10-23華碩電腦用u盤裝系統(tǒng)安裝win8系統(tǒng)的詳細(xì)教程
目前,很多使用華碩筆記本的用戶們,還不知道用華碩怎么安裝win8系統(tǒng)呢!該如何安裝呢?下面小編就為大家分享如何為華碩f450裝win8系統(tǒng)!一起去看看吧2016-10-21- 這篇文章主要為大家詳細(xì)介紹了CentOS 7之下載、制作U盤系統(tǒng)盤教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-20