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

上位機:ubuntu14.04 64bit
下位機:qq2440
交叉編譯器:arm-linux-gcc 3.4.1
下位機使用的linux內(nèi)核版本:kernel2.6.13
1.插入u盤時錯誤信息如下:
[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ù)功能是啟動主機控制器,因為usb時鐘設(shè)置有問題,因而在開啟主機控制器時修改時鐘,修改后的S3C2410_UPLLCON的值為0xF4100008;
3.注意:本版本內(nèi)核沒有頭文件regs-clock.h,因而我從其他內(nè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 系統(tǒng)有時候會出現(xiàn)U盤識別問題,插入U盤后不直接識別,而是系統(tǒng)開始安裝驅(qū)動,經(jīng)常會提示驅(qū)動安裝失敗,這里教大家一個解決的小辦法,只對win7系統(tǒng)有用的。2016-12-12
Windows 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)打不開,該怎么辦呢?下面我們就來介紹兩種解決辦法,需要的朋友可以參考下2016-12-06聯(lián)想thinkpad e335使用bios設(shè)置u盤啟動的教程
thinkpad e335是聯(lián)想旗下的一款系列型號,聯(lián)想thinkpad e335的出廠設(shè)置是無法使用一鍵u盤啟動快捷鍵,那么如何解決這樣的問題呢?下面小編帶給大家聯(lián)想thinkpad e335使用bi2016-11-24- 使用的centos用戶都知道,以前的用戶都是使用光盤安裝系統(tǒng)的,現(xiàn)在都是使用U盤安裝,使用也是非常的簡單,本文小編就為大家具體的講解u盤安裝centos 7的步驟2016-11-17
- 這篇文章主要介紹了如何將ubuntu安裝到U盤實現(xiàn)即插即用,不是說明如何使用U盤做安裝盤,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-17
如何安裝CentOS 6.6 圖文詳解CentOS 6.6安裝過程
本文我們就以圖文的方式來介紹下如何安裝CentOS 6.6。首先,需要下載CentOS 6.6 的安裝像,需要的朋友可以參考下2016-10-24win7系統(tǒng)沒有光驅(qū)怎么重裝系統(tǒng)?三種方法教你如何重裝系統(tǒng)
最近有用戶問如果自己的電腦沒有光驅(qū),那還能重裝系統(tǒng)么?該怎么操作呢?下面小編就為大家具體的講解沒有光驅(qū)怎么重裝系統(tǒng),這里小編為大家介紹了三種方法,希望可以幫助到2016-10-23華碩電腦用u盤裝系統(tǒng)安裝win8系統(tǒng)的詳細教程
目前,很多使用華碩筆記本的用戶們,還不知道用華碩怎么安裝win8系統(tǒng)呢!該如何安裝呢?下面小編就為大家分享如何為華碩f450裝win8系統(tǒng)!一起去看看吧2016-10-21- 這篇文章主要為大家詳細介紹了CentOS 7之下載、制作U盤系統(tǒng)盤教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-20