很多网友在问:为什么中国版的装完驱动插上板子没有显示端口号和69M的盘符??楼主发现,在开机启动的时候,加载g_multi模块时出现错误提示 invalid argument。
        Embest的员工表示:装的是BBB-eMMC-flasher-2013.04.13-DDR3 -400MHz.img.xz  版本确认有此盘符!而我们去官网上下载这个版本发现真的跟我们板子上的是一样的。甚至装上最新的版本也还是同样的问题。此事必有蹊跷!!!
        有大牛提出了解决办法:输入命令
        x=/usr/bin/g-ether-load.sh;sed -e 's/SERIAL_NUMBER=/x=/g' $x> x;rm $x;mv x $x;chmod a+x $x;sync;
        完成后重启即可,驱动自动加载;如果需要手工安装驱动,运行命令modprobe g_multi file=/dev/mmcblk0p1 cdrom=0 stall=0removable=1 nofua=1 系统自动安装USB驱动,这时就能在电脑上看到69.4MB的盘符。问题跟EEPROM里的ID号有关。
但是大牛并没有解释为什么这么做。他只告诉我们跟EEPROM里的ID号有关。先百度了一下sed这个命令的意思,sed -e 's/SERIAL_NUMBER=/x=/g',就是把文件中所有”SERIAL_NUMBER=”的字符串替换成了“x=”。
        先把/usr/bin/g-ether-load.sh这个文件找出来。找到跟SERIAL_NUMBER有关的命令。
SERIAL_NUMBER=$(hexdump -e '8/1 "%c"'/sys/bus/i2c/devices/0-0050/eeprom -s 14 -n 2)-$(hexdump -e '8/1"%c"' /sys/bus/i2c/devices/0-0050/eeprom -s 16 -n 12)
modprobe g_multi file=/dev/mmcblk0p1 cdrom=0 stall=0removable=1 nofua=1 iSerialNumber=${SERIAL_NUMBER} iManufacturer=Circuitco  iProduct=BeagleBone${BLACK} host_addr=${DEV_ADDR}
        这样按照大牛的改法,意思就是传给内核的iSerialNumber参数变为空了。很明显EEPROM里的SERIAL_NUMBER是有问题的,既然文件系统肯定是没错的,那么肯定是Embest的EEPROM出厂数据写错了。可以把上面的命令分步执行一下:
        先echo $(hexdump -e '8/1 "%c"'/sys/bus/i2c/devices/0-0050/eeprom -s 14 -n 2)
        运行结果为:ue                    这一句没有问题
        再执行下面半句的时候
       echo $(hexdump -e '8/1 "%c"'/sys/bus/i2c/devices/0-0050/eeprom -s 16 -n 12)
        运行结果是这么个鬼样子:��D503785
        显然是出现了非法的字符。
        echo $(hexdump -e '8/1 "%c"'/sys/bus/i2c/devices/0-0050/eeprom -s 16 -n 12) > sn1
        把它存到文件里面,发现这个文件都不能用gedit打开,只能用vi打开,
        说明embest在EEPROM里面写序列号的时候后面忘了填几个零,直接又在后面开始写正常编码以外的数据。所以读的时候出现了致命的错误,整个参数都是不对的。
        另外提一句,大牛的方法虽然能解决问题,但楼主发现可操作性很差,而且没有把原来的文件做备份就rm掉了,要打那么多个字符,一个字符出错了可能把这个文件搞没掉。楼主就是在输完这个命令的时候,发现我的/usr/bin/g-ether-load.sh这个文件变成空白的了,所以建议像楼主一样菜的菜鸟们可以用我的办法:
        先把/usr/bin/g-ether-load.sh备份为/usr/bin/g-ether-load.bak.sh,用任意一个编辑器(gedit,或者vi)打开/usr/bin/g-ether-load.sh脚本文件,把下面这一段中的iSerialNumber=的参数填为空或者你板子上标签的序列号。
        modprobe g_multi file=/dev/mmcblk0p1 cdrom=0 stall=0removable=1 nofua=1 iSerialNumber=${SERIAL_NUMBER} iManufacturer=Circuitco  iProduct=BeagleBone${BLACK} host_addr=${DEV_ADDR}
        比如我的改成这个样子:
        modprobeg_multi file=/dev/mmcblk0p1 cdrom=0 stall=0 removable=1 nofua=1iSerialNumber=ue-EMD503785 iManufacturer=Circuitco  iProduct=BeagleBone${BLACK}host_addr=${DEV_ADDR}
       下次开机的时候电脑就会自动识别BBB的盘符和USB网卡啦啦啦啦。
        另外这次想手动启动相关模块的话可以直接运行/usr/bin/g-ether-load.sh脚本,事实上开机的时候系统也是通过这个脚本启动USB从设备驱动的。

就是这个EEPROM里面的数据没写对。

<ignore_js_op>

终极解决办法:
把eeprom里面的数据读到文件中来:
cp /sys/bus/i2c/devices/0-0050/eeprom      /eeprom.dump
打开这个文件:
cd /
vim –b eeprom.dump
以16进制方式编辑:
:%!xxd
将第三行到最后一行全部删掉(删除2199行)
将第二行0d后面的两个个ff改成00,如图所示:
返回普通编辑模式:
:%!xxd  –r
然后保存退出
:wq
最后将数据写入eeprom,写之前要用镊子将板子上的TP4和TP8短接,解除硬件写保护。  
dd if=/eeprom.dump of=/sys/devices/ocp.2/44e0b000.i2c/i2c-0/0-0050/eeprom
 
 

真相:中国版BBB用USB连电脑没有盘符的根本原因分析的更多相关文章

  1. 中国版的 Office 365

    与Windows Azure一样,中国版的Office 365也是由世纪互联运营的——与国际版完全隔离的定制版.而言,从功能方面来看,中国版的Office 365并没有损失太多功能,并且其更新速度也基 ...

  2. 中国版Azure 文件服务

    中国版Azure 文件服务预览版在2015年1月13日已经上线,文件存储使用标准SMB 2.1协议为应用程序提供共享存储. 当我们的虚拟机连接到文件共享后就可以像使用本地共享文件夹一样来读取和写入文件 ...

  3. 一起学微软Power BI系列-使用技巧(4)Power BI中国版企业环境搭建和帐号问题

    千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...

  4. Bluemix中国版体验(二)

    从上一篇到现在大概有一个多月了.时隔一个月再登录中国版Bluemix,发现界面竟然更新了,现在的风格和国际版已经基本保持一致!这次我们来体验一下Mobile Service.不过mobile serv ...

  5. 自制Azure中国版“加血包”

    Micrsoft Azure中国版的国际出口最近升级为电话线拨号模式,目测为10个用户共享一条56kb的电话线拨号链路.有图有真相: 中国的IT从业者,有三分之一的职业生涯时间是在跟网络斗智斗勇.这点 ...

  6. 简体中国版文档的Markdown语法

    Markdown文件 注意︰这是简体中国版文档的Markdown语法.如果你正在寻找英语版文档.请参阅Markdown︰ Markdown: Syntax. Markdown: Syntax 概述 哲 ...

  7. Bluemix中国版体验(一)

    很高兴终于拿到了中国版Bluemix的账号!中国版的Bluemix是由世纪互联运营的,这也是世纪互联继Microsoft Azure,Office 365之后运营的又一个国际一线大品牌的云服务. 中国 ...

  8. 使用VNET-to-VNET连接Microsoft Azure国际版和中国版

    Microsoft Azure的VNET-to-VNET功能可以实现跨虚拟网络的VPN连接,通过VNET-to-VNET互联的两个虚拟网络可以在同一个订阅下或者隶属不同的订阅,而且可以跨数据中心.这实 ...

  9. 跨云应用部署第一步:使用IPSEC VPN连接AWS中国版和Windows Azure中国版

    随着公有云的普及,越来越多的客户将关键应用迁移到云端.但是事实证明,没有哪家云服务提供商可以提供100%的SLA,无论是例行维护还是意外中断服务,对于客户的关键应用而言,都会受到不同程度的影响.此外, ...

随机推荐

  1. 虚函数表以及RTTI阅读(阅后焚)

    http://blog.csdn.net/haoel/article/details/1948051/ http://www.cnblogs.com/ustc11wj/archive/2012/08/ ...

  2. C​+​+​默​认​构​造​函​数

    原文链接:http://wenku.baidu.com/link?url=Qh59sZlrT7dAZwjkKqhUiUU2yq2GZams7wEQ9ULkYC7FgArX5adcp1EXVw_jqjf ...

  3. Linux 线程优先级

    http://www.cnblogs.com/imapla/p/4234258.html http://blog.csdn.net/lanseshenhua/article/details/55247 ...

  4. EventLog实现事件日志操作

    选中”我的电脑”,在其右键菜单中选择“管理”,在打开的对话框中包括了如下图所示的“日志”信息: 选中其中的某一条日志,可以看到如下的详细信息: 我们应该如何通过写代码的方式向其中添加“日志”呢? 在操 ...

  5. 【HDOJ】2295 Radar

    DLX+二分. /* 2295 */ #include <iostream> #include <string> #include <map> #include & ...

  6. poj2029Get Many Persimmon Trees(最大矩阵和)

    链接 类似最大矩阵 sum存下 枚举最大就是 #include <iostream> #include<cstdio> #include<cstring> #inc ...

  7. Microsoft Internet Explorer内存破坏漏洞(CVE-2013-5052)

    漏洞版本: Microsoft Internet Explorer 6-11 漏洞描述: BUGTRAQ ID: 64126 CVE(CAN) ID: CVE-2013-5052 Internet E ...

  8. JAVA web选型

    Web服务器是运行及发布Web应用的容器,只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问.开发Java Web应用所采用的服务器主要是与JSP/Servlet兼容的We ...

  9. zoj 1033 与其说是搜索,不如说是枚举

    zoj 与其说是搜索,不如说是枚举,只不过是通过搜索来实现的罢了. 主要是要注意好闰年的判断,特别是要注意好一串数字的划分. 题意其实我也看了一个晚上,才渐渐的看懂. 题意: 给你一个字符串,其中包含 ...

  10. 清理Xcode中无用的 Provisioning Profile.

    Xcode中如果添加过多个开发者账号, 慢慢就会发现 Provisioning Profile 有很多, 无用的 Provisioning Profile Xcode也不会自动删除, 想要清理的话, ...