1.未作移植,插入U盘后提示如下

[root@Emux/]#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

+#include

+#include

+#include

+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设备后的显示:

[root@Emux /]# mount -t vfat -o iocharset=cp936 /dev/ub/a/part1 /mnt

[root@Emux /]# 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盘时显示:

[root@/]#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盘时显示:

[root@/]#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   在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盘不识别问题,linux u盘不识别解决办法相关推荐

  1. Linux下使用Nginx端口转发出现502错误的一种解决办法

    今天圈里的一个朋友在配置完nfinx80端口转发到5000后,发现一个问题 问题描述: 正确配置了Nginx80端口转5000端口,在CentOS上把.Net core WebAPI站点上传到cent ...

  2. linux虚拟机双显卡,LINUX下手动切换双显卡或禁用其中一块显卡的解决办法

    首先声明下,该文属于参考网络其他相关资料所撰,本人对原资料作了很多测试和实验,下列办法仅适用本人的系统环境,其他仅供参考. ====================================== ...

  3. linux下调用python脚本,Linux下QT调用Python脚本的解决方案,Qt,python,一种,解决办法

    最近在做一个深度学习对图片中对象识别效果的检测工具,其主要功能就是将自己标注的图片与识别结果图片进行对比然后计算识别的准确等参数,并提供原图与结果图片的显示功能. 脚本主要完成识别与计算功能,QT完成 ...

  4. linux下出现ping:unknown host www.baidu.com问题时的解决办法——ubuntu下局域网络的配置...

    如果ping域名的时候出现ping:unknown host  xxx.xxx 但是ping IP地址的时候可以通的话 可知是dns服务器没有配置好, 查看一下配置文件/etc/resolv.conf ...

  5. linux下出现ping:unknown host www.baidu.com问题时的解决办法——ubuntu下局域网络的配置

    如果ping域名的时候出现ping:unknown host  xxx.xxx 但是ping IP地址的时候可以通的话 可知是dns服务器没有配置好, 查看一下配置文件/etc/resolv.conf ...

  6. Windows的启动u盘linux,如何在linux下制作一个windows的可启动u盘?

    如何在linux下制作一个windows的可启动u盘? 情景是这样的,有一个windows10的iso,现在想通过U盘安装,要求即支持UEFI(启动引导器),又支持Legacy(启动引导器),因为有一 ...

  7. 过滤Linux下不同大小的文件,linux查找当前目录下 M/G 大小的文件,删除Linux下指定大小的文件

    过滤Linux下不同大小的文件,linux查找当前目录下 M/G 大小的文件,删除Linux下指定大小的文件 find ./ -type f -size +1G| xargs rm 在清理系统日志文件 ...

  8. 如何在linux系统下修改mysql密码_如何在linux下修改mysql数据库密码?linux修改数据库密码的方法...

    本篇文章给大家带来的内容是介绍如何在linux下修改mysql数据库密码?linux修改数据库密码的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. Linux下修改Mysql的 ...

  9. Redis第二集:Linux下安装Redis和测试,包含命令代码和问题处理办法,超详细版

    Redis第二集:Linux下安装Redis和测试,包含命令代码和问题处理办法,超详细版 一.资源 Linux下的Redis的下载地址 二.安装与测试 上传至自己的Linux平台 解压安装包 tar ...

  10. linux下sort命令使用详解---linux将文本文件内容加以排序命令

    转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...

最新文章

  1. 一文详解鱼眼相机的车位线感知
  2. 【转载】sourceforge上面提供的多种后缀的压缩包有何区别?
  3. centos7安装java8
  4. 多个客户端抢夺命名管道_使用Kafka构建数据管道
  5. python第二十八课——编码小常识
  6. 一文详解物化视图改写
  7. java 多线程,线程安全等定义
  8. 190228每日一句
  9. javaparser
  10. 8月刚入职字节跳动的测试开发面试题,附答案
  11. astah export sql mysql_Astah繪製UML圖形-入門篇
  12. 使用数位板遇到的常见问题及解决方法
  13. 9:用户和权限-步入Linux的现代方法
  14. Badboy录制提示脚本错误解决方案
  15. linux设置屏蔽海外ip,linux屏蔽海外流量的两种方法
  16. QT程序到arm板(s5pv210)的移植之旅
  17. 深度:养老康复器械龙头即将上市,美的、新松进军养老康复机器人,老龄化加速千亿康复市场到来!
  18. PDPS软件:导出插枪文件功能(Gun Cloud)介绍与使用方法
  19. 每日一题:由棋盘放麦子引出Java的BigInteger
  20. 千兆以太网和快速以太网有什么区别?

热门文章

  1. 3DMax 2014中文版安装破解教程
  2. 小程序源码:老人疯狂裂变引流视频推广
  3. NiFi+Kylo安装部署
  4. Java中IO和NIO的区别
  5. 小趣味:js编写斗地主规则(完整代码)
  6. STM8S单片机入门(前言)
  7. 日照分析的计算机精度,日照分析计算精度(时间间隔)的粗探
  8. 视频测试皮肤的软件,皮肤检测仪(LEIM魔镜仪)安装及操作视频
  9. 你技术这么好,总要改变点什么把!
  10. php调用人脸识别接口,PHP实现人脸识别