1. 程式人生 > >linux u盤不識別解決辦法

linux u盤不識別解決辦法

1.未作移植,插入U盤後提示如下

[[email protected]/]#usb 1-1: new full speed USB device using s3c2410-ohci and address 2
usb 1-1: device descriptor read/64, error -62
usb 1-1: device descriptor read/64, error -62
usb 1-1: new full speed USB device using s3c2410-ohci and address 3
usb 1-1: device descriptor read/64, error -62
usb 1-1: device descriptor read/64, error -62
usb 1-1: new full speed USB device using s3c2410-ohci and address 4
usb 1-1: device not accepting address 4, error -62
usb 1-1: new full speed USB device using s3c2410-ohci and address 5
usb 1-1: device not accepting address 5, error -62
hub 1-0:1.0: unable to enumerate USB device on port 1

2.程式碼修改——修改arch/arm/mach-s3c2410/mach-smdk2410.c 
+#include <asm/arch/regs-clock.h>
+#include <asm/arch/usb-control.h>
+#include <linux/device.h>
+#include <linux/delay.h>


+static struct s3c2410_hcd_info usb_sbc2410_info = {
+ .port[0] = {

+ .flags = S3C_HCDFLG_USED
+ }
+}; 

+int usb_sbc2410_init(void)
+{
+unsigned long upllvalue = (0x78<<12)|(0x02<<4)|(0x03);
+printk("USB Control, (c) 2006 sbc2410\n");
+s3c_device_usb.dev.platform_data = &usb_sbc2410_info;
+while(upllvalue!=__raw_readl(S3C2410_UPLLCON))
+{
+__raw_writel(upllvalue,S3C2410_UPLLCON);
+mdelay(1);
+}
+return 0;
+} 

static void __init smdk2410_map_io(void)
{
s3c24xx_init_io(smdk2410_iodesc, ARRAY_SIZE(smdk2410_iodesc));
s3c24xx_init_clocks(0);
s3c24xx_init_uarts(smdk2410_uartcfgs, ARRAY_SIZE(smdk2410_uartcfgs));
s3c24xx_set_board(&smdk2410_board);
+usb_sbc2410_init(); 


3.核心配置 
>讓核心支援熱插拔

General setup ---> Support for hot-pluggable devices

>USB驅動設定

Device Drivers --->Generic Driver Options

                                       ---> Hotplug firmware loading support

                                Block devices

                                       ---> Low Performance USB Block driver

                                SCSI device support

                                       ---> SCSI generic support

                              Probe all LUNs on each SCSI device

                                USB support

                                       --->Support for Host-side USB

                                USB device filesystem

                                      ---> USB Mass Storage support

                                  USB Monitor

>加入MSDOS FS和VFAT FS支援

File systems ---> DOS/FAT/NT Filesystems

                                     ---> MSDOS fs support

                                             VFAT (Windows-95) fs support

                                             (936) Default codepage for FAT

                                             (cp936) Default iocharset for FAT

做完這些後,插入u盤後,核心應該可以識別到u盤,出現: 
usb 1-1: new full speed USB device using s3c2410-ohci and address 3
ub(1.3): GetMaxLUN returned 0, using 1 LUNs

但是,還有下面一句出錯提示: 
/dev/ub/a: unknown partition table

>使能(DOS分割槽)CONFIG_MSDOS_PARTITION

File systems ---> Partition Types

                                ---> PC BIOS (MSDOS partition tables) support

以下是我的核心插入u盤後的提示資訊: 
usb 1-1: new full speed USB device using s3c2410-ohci and 2
ub(1.2): GetMaxLUN returned 0, using 1 LUNs
/dev/ub/a: p1 
表示usb裝置已經掛載到/dev/ub/a/part1目錄下

>加入中文字型庫

Native Language Support

                               ---> Simplified Chinese charset (CP936, GB2312)

NLS UTF8

以下是掛載usb裝置後的顯示: 
[[email protected] /]# mount -t vfat -o iocharset=cp936 /dev/ub/a/part1 /mnt
[[email protected] /]# ls /mnt

4.移植小結

>如果想知道核心有沒有識別出u盤的話可以執行命令:cat /proc/partitions ,看看插入USB前後分割槽資訊有什麼不同就知道了

>另外,如果想讓核心把它當成SCSI裝置來處理的話

Device Drivers ---> Block devices

                                      ---> Low Performance USB Block driver     去掉

Device Drivers --->SCSI device support

---> SCSI disk support                                 新增

個人覺得使用usb裝置的話Low Performance USB Block driver比SCSI disk要好

>一般都會新建一個/dev/sda1的連結指向usb裝置的掛載點的,可以在啟動檔案中使用命令ln -s xxx xxx來建立這個連結

5.問題小結

插入u盤時顯示:

[[email protected]/]#usb 1-1: new full speed USB device using s3c2410-ohci and address 4   
usb 1-1: device descriptor read/64, error -62                                  
usb 1-1: device descriptor read/64, error -62                                  
usb 1-1: new full speed USB device using s3c2410-ohci and address 5            
usb 1-1: device descriptor read/64, error -62                                  
usb 1-1: configuration #1 chosen from 1 choice 
去掉 Device Drivers--> Real Time Clock

插入u盤時顯示: 
[[email protected]/]#usb 1-1: new full speed USB device using s3c2410-ohci and address 3                usb 1-1: configuration #1 chosen from 1 choice                                  
scsi1 : SCSI emulation for USB Mass Storage devices                             
scsi 1:0:0:0: Direct-Access     Kingston DataTraveler2.0 1.00 PQ: 0 ANSI: 2    
sd 1:0:0:0: [sda] 3903359 512-byte hardware sectors (1999 MB)                   
sd 1:0:0:0: [sda] Write Protect is off                                          
sd 1:0:0:0: [sda] Assuming drive cache: write through                           
sd 1:0:0:0: [sda] 3903359 512-byte hardware sectors (1999 MB)                   
sd 1:0:0:0: [sda] Write Protect is off                                          
sd 1:0:0:0: [sda] Assuming drive cache: write through                           
sda: sda1                                                                      
sd 1:0:0:0: [sda] Attached SCSI removable disk 
看似沒有問題,但是在掛載的時候出現問題: 
Unable to load NLS charset cp437
FAT: codepage cp437 not found 
新增 File systems--> 
                Native language support--> 
                    Codepage 437 (United States, Canada)

插入後顯示和第二次一樣; 
掛載的時候出現問題: 
Unable to load NLS charset iso8859-1                                            

FAT: IO charset iso8859-1 not found 
新增 File systems--> 
                Native language support--> 
                   NLS ISO 8859-1 (Latin 1; Western European Languages) 


如果出現以下問題: 
usb 1-1: device descriptor read/64, error -110 
解決辦法:
修改linux-2.6.24/drivers/usb/host/ohci-s3c2410.c 
新增標頭檔案:
#include <asm/arch/regs-clock.h> 
在s3c2410_start_hc裡增加: 
unsigned long upllvalue = (0x78<<12)|(0x02<<4)|(0x03);
while (upllvalue != __raw_readl(S3C2410_UPLLCON))
{
__raw_writel(upllvalue, S3C2410_UPLLCON);
mdelay(1);
}

相關推薦

linux u識別解決辦法

1.未作移植,插入U盤後提示如下 [[email protected]/]#usb 1-1: new full speed USB device using s3c2410-ohci and address 2 usb 1-1: device descript

Linux下VirtualBox安裝XP,UU盾無法識別解決辦法

Linux為主機,Virtualbox安裝了XP系統,插入U盤、U盾,Linux可以識別,但是虛擬機器中不能識別U盤、U盾。 第一步,需要安裝Oracle VM VirtualBox Extension Pack,去官網下載後,在Virtualbox“管理”-“全域性設定”

去除ubuntu u只讀的解決辦法

解決方法:1. 在Ubuntu終端執行如下命令tail -f /var/log/syslog      2. 插入有隻讀檔案系統故障的U盤3. 觀察命令列輸出輸出區域性如下:Jul  8 16:44:50 cslouis-pc kernel: [15595.155904]

U識別,磁碟管理器顯示無媒體

U盤不知道什麼原因,格式化後,其他人的電腦上都能用,就我的電腦不能用,資源管理器中看不到U盤,分配驅動器號後,無法檢視大小,無法格式化。磁碟管理器中顯示無媒體。卸驅動等也沒什麼用。後面的解決辦法如下, 1.開啟裝置和印表機 2.找到U盤,開啟屬性視窗,在“硬體”標籤下選擇

adb 識別解決辦法

在 android 裝置的 Linux 核心中把 USB 驅動的 PID VID 修改以後,也許之前的 adb 工具就不能識別裝置了,會打印出 "device not found" 的提示,特別是 windows ,adb 驅動也不能用了。 這個時候該怎麼辦呢? 一,先搞清

如何去解決U識別顯示符的情況?

驅動器 其中 ref 字母 tex roc pro 任務 col 很多朋友在將U盤插入電腦後,會發現右下角的任務欄雖然出現了U盤的圖標,但是在我的電腦中並沒有顯示出U盤的盤符,也就無法繼續對U盤進行操作。遇到這種情況該怎麽辦呢?下面好系統U盤啟動就告訴大家相應的解決方法。

臺式機電腦u啟動識別U設置

enable AC u盤啟動 device 處理 F12 ora OS esc U盤作為一個引導盤,在裝機過程中顯得十分的方便,有時候我們可以將U盤做成一個PE啟動盤,有時我們也可以直接將U盤做成一個操作系統光盤的鏡像。 但是有時候我們辛辛苦苦將U盤做成了引導盤了,關機--

[雜談]-關於移動硬-U能安全移除的一個參考解決方案

技術 npc 不能 但是 直接 截圖 移動硬盤 forum str 最近弄了一個移動硬盤,但是用的時候經常出現設備無法安全彈出的情況,一兩次的情況直接插拔倒也問題不大,但是次數一多移動硬盤就很容易損壞,在網上找了很多辦法都不管用,後來在微軟的論壇上找到了解決方案,完美解決我

解決插入U顯示碟符問題,最有效,最簡單!!!

一、概述 u盤插入電腦突然間就不顯示碟符了,但是可以看到U盤已插入。上網找了搜了一下,有許多辦法解決。大約有重新安裝驅動、分配碟符、清理登錄檔等…但是這些都是假的,毫無作用,可能是個人的電腦不同,引發的原因也不同。找了許久終於找到了一個最有效,最簡單的辦法。 二、操作 1、快

Windows下通過Redis Desktop Manager 連結linux上的redis的解決辦法

樓主今天在做Demo的時候,發現本地無法連線到Linux的redis,於是上網搜尋了相關解決辦法,已解決問題,現在分享給大家: 樓主用的linux產品是centos6.6版本: 1.檢查一下本機可以ping通虛擬機器的linux,如果能ping的通,這個沒問題,表示外部可

UCD_Fedora 解決移動裝置U無法識別

1. 昨天由於使用虛擬機器裡面的Fedora10 配置一個開發程式,在使用系統自帶的拍照軟體cheese webCam Booth時,軟體 報出一個錯誤,說camera無法找到,從說明文件裡面找原因,說有很多原因導致camera無法識別    解決方法: 首先檢查攝像機,換

vmware,virtualbox 虛擬機器Linux系統複製或克隆後網路連上,網絡卡找解決辦法

現在很多Linux發行版使用udev動態管理裝置檔案,並根據裝置的資訊對其進行持久化命名. udev會在系統啟動過程中識別網絡卡,將MAC地址和網絡卡名稱對應起來記錄在udev規則檔案中. /etc/udev/rules.d/*-net.rules CentOS: 70-p

linux中在shell指令碼內alias和unalias可用解決辦法

在shell中使用alias和unalis命令時,會報找不到命令的錯誤,因為在非互動頁面是無法使用別名命令的。 使用shopt命令開啟,shopt為系統自帶命令,不用另外安裝。 在shell中加入 shopt -s expand_aliases

maven項目打包的時候,*Mapper.xml 文件會打進去解決辦法

java cli 項目打包 per 不同 cto build direct ring 打包的時候,不同版本的 Eclipse 還有IDEA 會有打包打不進去Mapper.xml 文件,這個時候要加如下代碼, 在<build> 標簽內加入即可 <resou

U無法識別修復介紹 U數據丟失恢復圖文教程

u盤數據丟失怎麽辦 u盤數據恢復 很多人都會用U盤來拷貝數據,有時候我們從其它地方辛苦拷貝了數據之後想要將拷貝的數據復制到我們的電腦裏,可是將U盤插入電腦後卻出現了沒有反應的情況,電腦沒有顯示插入的U盤我們也無法查看,這個時候該怎麽辦呢?很多人遇到這種情況可能不清楚該怎麽辦,下面小編來和大家說一下U盤

MyEclipse 編譯解決辦法

解決 找不到類 htm 是我 http 引用 log ont eclipse 我遇到的情況是: 在controll中import自己寫的pojo類、service類,會飄紅。提示找不到類,即使我此時的引用寫的完全正確。 第六感告訴我,很可能是我的myeclipse沒有編譯。

linux u掛載命令

指定 命令行模式 arch 退出 log 需要 自動 des 什麽 使用ubuntu desktop一般會自動掛載,在命令行模式下則需要通過命令掛載。 1. 首先查看u盤的信息,確認顯示什麽分區,U盤格式是什麽。   查看命令:  sudo fdisk -l  2. 掛載u

linux主機連上網解決流程

linux上網本文出自 “萬網” 博客,請務必保留此出處http://wanwangit.blog.51cto.com/12092006/1954233linux主機連不上網解決流程

supervisord stdout_logfile 生效解決辦法

文件 cto path stream app dir flow art pri 配置文件 [program:p2p_recv] command = /ebs_data/appenv3/bin/python xmpp_p2p_recv.pyc process_name =

vs警告 當前源代碼跟內置的版本一致解決辦法

.net sdn studio 代碼 style 不一致 post 內置 解決 本文轉載於:http://blog.csdn.net/bull521/article/details/51334464 vs警告 當前源代碼跟內置的版本不一致解決辦法 1.刪除掉 我的文檔/vi