PS:USB不能正常工作的根本原因参见调试笔记(3)
音频输出必须接有源音响,直接接耳机是没有声音的
用DVI转VGA接到VGA显示器上面没有图像,直接接到DVI显示器上才行
有一个USB口不能用
mini-USB口要用外接电源的USB HUB,我买了个USB HUB电源纹波太大,导致USB HUB挂载不上去,换一个电源以后就行了,
开机之前插入USB HUB不能正常挂载,内核启动完成后(提示login之前)再插USB HUB才能正常挂载。
使用瑞泰的2.6.22内核USB的挂载好像有点问题,时灵时不灵的,声音也没有。
换上2.6.28内核支持比较好一点,而且音频输出也正常了,我现在在自己编译2.6.28内核,期待奇迹出现。。。。
--------------------
其他人的说法:
USB 问题:
关于USB 的问题,默认是没有打开hot plug-in 的,也就是如果上电的时候有USB hub,系
统是可以检测到,如果上电时候没有插USB Hub,等系统起来以后再加上,有可能检测不
到,方法是执行如下命令 (也可以放在rcS 里面):
echo "S" >/proc/driver/musb_hdrc
这样就可以支持USB Hub 和USB 设备的热插拔了
我在Linux version 2.6.22-omap3这个版本的内核中试过了,发现上面的方面真的有效
如zqdsp 所说,由于供电问题,你需要用带外部电源的usb hub
-----------------------------------------------------------------------------------------------
今天调了一个晚上,遇到很多问题。
首先2.6.28-iceteck这个demo是完美支持了USB和音频,所以我想调这个版本。但是他发布的源码跟demo不太一样。
当我试图用这个demo中的Uboot 来启动其他内核时候,遇到这样的错误
Starting kernel ...
Uncompressing Linux.......................................................................................................................... done, booting the kernel.
Error: unrecognized/unsupported machine ID (r1 = 0x000007df).
Available machine support:
ID (hex) NAME
0000060a OMAP3 Beagle board
Please check your kernel config and/or bootloader.
或者是不报错,直接卡在这里了。
reading uImage
1859100 bytes read
## Booting kernel from Legacy Image at 80000000 ...
Image Name: Linux-2.6.22-omap3
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1859036 Bytes = 1.8 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux.......................................................................................................................... done, booting the kernel.
经过一番百度,发现是uboot往内核传递的machine ID不对,显然relteck在内核上不是沿用的beagleboard的arch,而是建立了一个自己的omap3530-mini的arch。
所以通用的uboot当然是不支持他这个arch的,而且他的uboot也不能直接支持beagle的内核了。对于这个问题,就是两个办法,一是修改uboot,而是修改内核的arch(match-XXX),可以在arch/arm/tools/mach-types这个文件中查找内核所支持的machine ID,而内核所支持的特定的machine ID是通过make menuconfig 所配置匹配的平台指定的。
搞清了这个问题原因后,我用了一个支持beagle内核的uboot,于是我自己编译的2.6.28内核就运行起来了,还是老问题,USB不能正常挂载。现在可以确定不是文件系统的问题。应该来说,内核的问题可能性比较大,不排除uboot也有问题。
本来我还想试试Ti 的SDK2版本中的内核行不行,但是我编译老是报错,不知道是为什么呢?
arch/arm/mach-omap2/board-omap3beagle.c:141: error: 'AH8_34XX_GPIO29' undeclared (first use in this function)
---------------------------------------------------------------------------------------------------------------------------
2012-12-04
从beagle的源码页面上下载下来的最新版本x-loader竟然不能运行,这是为什么呢?
Texas Instruments X-Loader 1.5.1 (Dec 2 2012 - 10:26:37)
Unknown chip: mfr was 0x2c, id was 0xb1
Unsupported Chip!
这里找到原因了,是不支持的nandflash的原因,在drivers/k9f1g08r0a.c里面添加相应的ID就可以了。
再去beagle的网站上找找原因,他上面说arm-2007q3不能很好的支持2.6.29以上的内核版本。说不定他也不能支持较新的x-loader呢,我打算换新的编译器来试试看。可能Ti的DVSDK2内核版本不能编译通过也是这个问题(NO,换了新的编译器还是报错)。
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section Advanced Packages), copy extracted arm-2007q3 directory to /opt/codesourcery/arm-none-linux-gnueabi/ and add /opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin to your path.
- Note: CodeSourcery 2007q3 has the following issues:
- Broken -Os option. There is a fix (needs recompilation)
- Started to miscompile Linux kernel with >= ~2.6.29 (analysis by Richard Woodruff) (disabling ARM_UNWIND solves it).
- Note: CodeSourcery 2008q1 has the following issues:
- Vectorization + NEON is broken
- building static binaries with cortex-a8 flag (or any ARMv7a core) is broken
- some armv6 compilations end in ICE.
- Note: CodeSourcery 2008q3 (now replaced by 2008q3-72) has the following issues:
- Broken NEON support using -fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3
- It was told to miscompile U-Boot, but this seems to be fixed with recent U-Boot and 2008q3-72 below.
- Note: CodeSourcery 2008q3-72 has the following issues:
- Note: CodeSourcery 2009q1 has the following issues:
- Floating-point code can be slower than with 2007q3, see FFmpeg benchmarks.
另外,这里还说,从2009年以后的版本适合用2009q1-203 version来编译。继续加油。
As of August 2009, 2009q1-203 version is recommended. If you look for native tool chain, you can also install a native tool-chain from Angstrom. More recent versions from 2011 (such as 2011.03-41 version) should work just fine as well.
---------------------------------------------------
又换了X-Loader 1.4.2,For BeagleBoard Revision C4 and below这个页面上的版本,也是报这个错误
Unsupported Chip!
这到底是不支持的CPU呢,还是不支持SD卡呢,非常费解啊。
-----------------------------------------------------
自己编译了X-Loader 1.5.1,终于运行起来了
Texas Instruments X-Loader 1.5.1 (Dec 4 2012 - 20:39:34)
Beagle Rev Ax/Bx
Reading boot sector
Loading u-boot.bin from mmc
但是u-boot.bin好像出问题了。
----------------------------------------------------------
哎呀,坑了,坑了,我说怎么最新版本的内核老是没东西从串口输出呢
原来是这样的
Omap Serial Changes
boot.scr/boot.cmd changes:
With 2.6.35:
console=ttyS2,115200n8
With 2.6.36/37+:
console=ttyO2,115200n8 (注意tty后面竟然是大写的O啊,OPQ的O啊,不是0啊)
Serial console login: /etc/init/ttyO2.conf
start on stopped rc RUNLEVEL=[2345] stop on runlevel [!2345] respawn exec /sbin/getty 115200 ttyO2