zoukankan      html  css  js  c++  java
  • 转:Real6410 Linux 常见问题总结(截至2010/07/26)

    AQ0:
    出现uncorrectable error : uncorrectable error错误的解决

    答:
    A.软件版本的问题,我们提供的第一版的软件(2009年12月份的版本)在个别板子上会这个错误,请到我们的代码更新空间下载最新的代码包。uboot、kernel的运行之处都会打印出该镜像的制作时间,根据时间来判断是不是软件版本的问题。
    如uboot的:
    U-Boot 1.1.6 (Mar 14 2010 - 19:45:59) for SMDK6410
    如kernel的:
    Linux version 2.6.28.6 (figo@figo-desktop) (gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72) ) #186 PREEMPT Thu Dec 17 13:56:42 CST 2009

    B.部分用户第一次烧写linux && Android系统的时候会遇到s3c-nand: ECC uncorrectable error detected这样的问题,这是因为WinCE对Nandflash的OOB区的操作和Linux系统不一致,导致linux认为是坏块。
    出现这样的问题的时候请按照下面的步骤解决:

    i.uboot命令行中运行下面命令:

    nand erase 0

    该命令将删除整块nandflash。

    ii.使用SD启动的uboot重新烧写各个镜像文件。

    如果这样做还是出问题,那么第一步中的nand erase 0 换成nand scrub,并根据输出提示输入y,回车,将nand包括OOB在内的所有内容彻底清除,并重复第二步。

    FAQ1:
    终端老是跳出这个:
    [root@Real6410 /]# sh: apm: not found
    QDir::readDirEntries: Cannot read the directory: /usr/lib/ipkg/externinfo
    什么原因?

    答:
    1.qt运行的时候会去运行apm命令,但实际上文件系统没有安装这个命令,解决办法。。。。我的想法比较傻瓜,就是在文件系统中增加一个可执行脚本apm,当然这个脚本什么也不用做,内容如下即可:

    #!/bin/sh

    在主机中给这个脚本增加可执行属性并放到板子文件系统的/usr/sbin下即可。我已做过实验可以消除掉 sh: apm: not found。

    2.自己手动建立/usr/lib/ipkg/externinfo目录即可:

    mkdir -p /usr/lib/ipkg/externinfo

    FAQ2:
    进入系统后,系统自选择的网卡模式为 eth0: link up ,100Mbps , full-duplex, lpa 0x45E1
    但只有10M模式才能连接网络
    如果在u-boot执行国过网络命令(tftp ,ping等)再启动内核,则系统自选择网卡模式为eth0: link up ,10Mbps , full-duplex, lpa 0x45E1
    该如何解决?

    答:
    这是网卡之间的配合问题,我试过同一块板子,通过switch连接到pc时,板子的网卡速率使用100M就会丢包严重,使用10M就非常理想,但是板子如果直接连到pc,那么使用100M也是非常理想的。遇到这种情况时可以根据情况来修改uboot下的网络速率,修改方法为:
    修改uboot/drivers/dm9000x.c中的static int media_mode = DM9000_AUTO;修改为static int media_mode = DM9000_10MFD;
    这样便能强制使用10M模式,如果强制用100M则改为DM9000_100MFD,DM9000_AUTO表示自适应速率。

    FAQ3:
    Uart3不能使用,写/dev/ttySAC3不能产生信号,如何解决?

    答:
    这是由于uart3的相关引脚还没配置成uart3模式,解决办法:
    1.在s3c-linux-2.6.28.6-Real6410/arch/arm/mach-s3c6410/mach-smdk6410.c中添加下面的函数:
    void real6410_set_gpio()
    {
    unsigned int val;

    val = __raw_readl(S3C64XX_GPBCON);
    val &= ~(0xff<<8);
    val |= (0x22<<8); /* Output Mode */
    __raw_writel(val, S3C64XX_GPBCON);
    }
    2.在同一个文件的smdk6410_machine_init的最后加入real6410_set_gpio();

    FAQ4:
    版主,用你们提供的helper_sd.bin  sd8686.bin后 wifi模块仍然无法加载。打印下面两句后就没有了
    libertas_sdio: Libertas SDIO driver
    libertas_sdio: Copyright Pierre Ossman
    没办法产生文档中所说的下面的输出信息:
    libertas_sdio: Libertas SDIO driver
    libertas_sdio: Copyright Pierre Ossman
    hq
    libertas_sdio mmc0:0001:1: firmware: requesting ./helper_sd.bin
    libertas_sdio mmc0:0001:1: firmware: requesting ./sd8686.bin
    libertas: 00:22:43:6b:0b:9e, fw 9.70.3p24, cap 0x000003a3
    libertas: PREP_CMD: command 0x00a3 failed: 2
    libertas: PREP_CMD: command 0x00a3 failed: 2
    libertas: eth1: Marvell WLAN 802.11 adapter
    请问这是怎么回事?

    答:
    很可能是没有冷重启导致的,因为wifi模块在系统热重启后(比如说通过reboot命令重启、按reset按键重启)不能正常工作,必须断电重启才能重新进入正常模式。

    FAQ5:
    Real6410中附带的光盘的linux文件夹下的三星6410测试程序,用ads怎么编译不通过呢?请问怎么才能编译通过呢?打开的时候会提示Environment variable 'RVCT22INC' not found

    答:
    刚刚试了一下,发现不能编译的原因是有几个指令ADS不能识别,而看了一下那个编译选项发现我使用的ADS1.2并不支持ARM11构架,因此可能问题就在这里,我不知道三星用的ADS是否和我的有不一样。 

    FAQ6:
    qtopia2.2.0在Ubuntu-9.10下按照手册说明不能编译,什么原因?

    答:
    Ubuntu下编译qtopia-2.2.0需要安装几个软件包,在Ubuntu下输入下面的命令进行安装:
    sudo apt-get -y install x-dev libx11-dev x11proto-xext-dev libxext-dev libqt3-mt-dev uuid
    uuid-dev
    如果是使用RedHat 9.0 或者RedHat AS4 的完全安装版那么不需要安装任何其他工具就
    可以完成编译。

    FAQ7:
    使用key.c文件测试键盘的时候,程序中出现的问题:
    keyboard.c: can't emulate rawmode for keycode 139
    key 139 Released
    keyboard.c: can't emulate rawmode for keycode 158
    key 158 Pressed 

    另外在Qt-2.2.0下使用键盘的时候也出现类似问题,为什么?

    答:
    linux手册中已经强调过,按键编码并不是按照标准键盘进行编码,而是为了Android的使用进行编码,而QT使用标准的键盘编码,所以出现上面的问题。

    FAQ8:
    Uboot中显示的内存大小是128M,并不是广告中宣传的256M,这是怎么回事?

    答:
    有用户反映我们的板子的内存和flash并不是宣传中的256M和1G,通过下面的指令可以看到内存和flash的情况:
    df -h

    free m


    首先我们的板子的内存和flash分别是256M和1G,这肯定不会欺骗用户,除非不想混了,呵呵。 
    然后对于flash的容量问题,的确是小弟在烧写ubifs的时候没有正确设置ubifs文件系统的大小(不过我多少有点认为是ubimkvol这个命令的本身的问题),用修正之后的rootfs.cramfs重新烧写ubifs即可。由于论坛限制文件大小所以这个cramfs放到http中。

    再然后是内存的问题,要知道,samsang的好几个media驱动(CMM、POST、FIMC、2D、3D、MFC、JPG)在内核启动的时候就需要预先留出几十MB的memory为各自使用,剩下的才是系统可以使用的内存,因此这就是为什么看到的内存为196而不是256.

    另外有些用户反映在uboot下看到的内存是128M,那么这个uboot应该是我们最早发布的一个版本,到我们的http更新一下代码吧,这里只是显示为128,实际上还是256。


    FAQ9:
    做完烧入的最后一步。。烧写QT下去之后。并且修改一下内核的启动参数,让内核不再挂载cramfs格式的mtdblock0,转而挂载ubifs格式的mtdblock1:重启板子之后出现了
    Starting Qtopia, please waiting...
    Please press Enter to activate this console. Warning: could not register server
    QDir::readDirEntries: Cannot read the directory: /usr/lib/ipkg/externinfo
    <6>usb 1-2: new full speed USB device using s3c2410-ohci and address 2
    usb 1-2: new full speed USB device using s3c2410-ohci and address 2
    <3>usb 1-2: device descriptor read/64, error -62
    usb 1-2: device descriptor read/64, error -62
    <3>usb 1-2: device descriptor read/64, error -62
    usb 1-2: device descriptor read/64, error -62
    <6>usb 1-2: new full speed USB device using s3c2410-ohci and address 3
    usb 1-2: new full speed USB device using s3c2410-ohci and address 3
    <3>usb 1-2: device descriptor read/64, error -62
    usb 1-2: device descriptor read/64, error -62
    <3>usb 1-2: device descriptor read/64, error -62
    usb 1-2: device descriptor read/64, error -62
    <6>usb 1-2: new full speed USB device using s3c2410-ohci and address 4
    usb 1-2: new full speed USB device using s3c2410-ohci and address 4
    <3>usb 1-2: device not accepting address 4, error -62
    usb 1-2: device not accepting address 4, error -62
    <6>usb 1-2: new full speed USB device using s3c2410-ohci and address 5
    usb 1-2: new full speed USB device using s3c2410-ohci and address 5
    <3>usb 1-2: device not accepting address 5, error -62
    usb 1-2: device not accepting address 5, error -62
    <3>hub 1-0:1.0: unable to enumerate USB device on port 2
    hub 1-0:1.0: unable to enumerate USB device on port 2
      
    而且好像eth0也没有打开。。
    eth0: link down
    Done

    这样的问题如何解决。。

    答:
    1.出现usb 1-2: device descriptor read/64, error -62的时候你的USB接口是否连接什么东西?另外,你的kernel配置也可能导致这个问题。
    2.eth0在网络连接上的时候就会up,没有连接上就会自己down,网络闲置的时候也会down,当你要使用网络进行数据传输的时候也会自己up。当然你也可以使用ifconfig eth0 down、ifconfig eth0 up来手动决定它的down、up

    FAQ10:
    我想知道我们的板子有坏块咋办啊,第一次烧写时就一直在那里不动了啊,一个劲的出那个坏块的内容啊,不知道有办法解决不? 

    答:
    uboot下运行nand scrub清除所有伪坏块 

    FAQ11:
    我的gprs模块测试,怎么都是显示no data?手机在家里有信号啊 

    答:
    gprs模块的led指示灯(LED2)是否闪烁? 如果LED2在启动之后没有闪烁,那么应该是uboot没有打开GPRS模块的开关,可以下载我们提供的最新的uboot试试,因为硬件有过更改,软件上可能没有及时做更改。

    FAQ12:
    一个奇怪的问题:6410板子跑Linux操作系统,运行GPRS测试程序 能打电话,但收发短信有问题。发短信返回错误CIM 515,请问怎么解决??? 

    答:
    在运行gprs的测试程序时,要按3配置一下短信中心号码,然后再发短信就可以了,测试程序默认是杭州的中移动短信服务中心号码。

    FAQ13:
    GPS测试的时候没有输出信息,或者输出了乱码,怎么解决?

    答:
    有些用户反映用的GPS模块会出现乱码,这是因为很早的时候供货商说模块的默认波特率是9600,但是后来才知道有些模块默认是4800,因此可能需要根据自己模块的情况修改一下波特率,修改方法是修改gps测试程序linux\Applications\gps\main.c中的#define BAUDRATE B9600
    为4800.后面会在文档中进行说明 

    FAQ14:
    GPS编译错:
    root@chen-desktop:opt/gps/# make
    makefile:2: ../Rules.mak: 没有那个文件或目录
    make:  *** 没有规则可以创建目标"../Rules.mak".停止。

    答:
    进入目录后输入:arm-linux-gcc -o gps main.c gps.c -lpthread
    之前忘了修改Makefile的内容,不好意思:-)

    FAQ15:
    SD相关问题:
    A.        使用IROM_Fusing_Tool.exe烧写SD卡的时候烧写不进去
    B.        烧写SD成功后不能启动
    按照说明书里的步骤,用光盘里的 IROM_Fusing_Tool.exe,烧写了\工具软件\u-boot_mmc.bin到 SD卡里(FAT32 512MB),在切换成 SD卡启动,DNW-0.60C 上只输出了个 "K",其他什么都没有呢 ? 然后,有烧写了\linux\linux-image\u-boot_mmc.bin到 SD卡里,还是启动失败。

    答:
    导致这些问题的可能性有下面几种:
    1.我们是在Windows xp下烧写的,如果是vista或者是win7,可能IROM_Fusing_Tool.exe不能正常使用。
    2.SD读卡器的缘故,比如所使用的笔记本的SD读卡器,更换SD读卡器后再试试。
    3.SD本身的问题,请使用容量为2G及以下的SD卡,并且最好是使用Kingston的正品SD。
    4.SD启动设置要正确,拨码开关需要全部为off才能从SD启动。

    FAQ16:
    烧写完Qt系统后,没有出现Qt界面,系统启动的时候也没有出现小企鹅,这是怎么回事?

    答:
    没有烧写正确的zImage,我们根据不同的LCD尺寸提供了不同的zImage镜像,比如zImage_qtopia_50表示是5.0寸LCD,zImage_qtopia_43表示是4.3寸LCD,zImage_qtopia_70表示是7寸LCD,要根据自己的LCD情况来选择烧写不同的zImage。

    FAQ17:
    请问下:NFS 启动参数 ?
    从NFS启动,从tftp下载内核,要如何修改参数?

    答:
    设置NFS启动参数:
    setenv bootargs noinitrd root=/dev/nfs console=ttySAC0 init=/linuxrc nfsroot=192.168.1.178:/nfsboot/qtopia-nfs ip=192.168.1.20:192.168.1.178:192.168.1.1:255.255.255.0::eth0:on
    之后保存:
    saveenv

    设置启动时通过tftp下载zImage:
    setenv bootcmd "tftp c0008000 zImage;bootm c0008000"
    saveenv

    转自:http://bbs.realarm.cn/viewthread.php?tid=44&extra=page%3D6

  • 相关阅读:
    [loj3364]植物比较
    [loj3366]嘉年华奖券
    [atARC105F]Lights Out on Connected Graph
    [atARC105D]Let's Play Nim
    [atARC058F]Lroha Loves Strings
    [loj3347]有趣的旅途
    [atAGC001F]Wide Swap
    [cf1392I]Kevin and Grid
    [loj3340]命运
    [loj3046]语言
  • 原文地址:https://www.cnblogs.com/yyangblog/p/2080542.html
Copyright © 2011-2022 走看看