WRTnode串口上电调试输出信息详解

  |   Source

ZJU - Embedded System Course

关于WRTnode上电时在串口终端上看到的那几百行输出信息的解释,Google并没有给出答案,许多名词也是我搜索+看Wiki得来,诸多不准确之处,欢迎指正。


//先加载由Manfeel修改过的适配该开发板的U-Boot程序

U-Boot 1.1.3 - Modified by Manfeel (Jul  8 2014 - 18:53:13)

Board: Ralink APSoC

 __  __             ______        _
|  \/  |           |  ____|      | |
| \  / | __ _ _ __ | |__ ___  ___| |
| |\/| |/ _` | '_ \|  __/ _ \/ _ \ |
| |  | | (_| | | | | | |  __/  __/ |
|_|  |_|\__,_|_| |_|_|  \___|\___|_|
//U-Boot读取核心组件的元数据信息:内存、闪存、SPI等
DRAM:  64 MB
relocate\_code Pointer at: 83f64000
enable ephy clock...done. rf reg 29 = 5
SSC disabled.
spi\_wait\_nsec: 28
spi device id: ef 40 18 0 0 (40180000)
find flash: W25Q128FV
raspi\_read: from:30000 len:1000
\*\*\* Warning - bad CRC, using default environment //检错编码CRC似乎失效

============================================
Ralink UBoot Version: 4.1.1.0 //启动Ralink的U-Boot启动装载程序
\-------------------------------------------- //预存的板子信息开始读取
ASIC 7620\_MP (Port5<->None)
DRAM component: 512 Mbits DDR, width 16 //内存大小和出口宽度
DRAM bus: 16 bit //内存总线宽度
Total memory: 64 Mbytes //总内存
Flash component: SPI Flash //数据闪存类型
Date:Jul  8 2014  Time:18:53:13 //获取时间
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536 //预估指令缓存区大小
dcache: sets:256, ways:4, linesz:32 ,total:32768 //预估数据缓存区大小

 \##### The CPU freq = 600 MHZ #### //获得CPU时钟频率信息
 estimate memory size =64 Mbytes //估计RAM内存大小为64MB
MT7620 gpio init : wps / reset pin //初始化通用输入输出口(GPIO)和各PIN针脚
WRTNode LED init.  //板载的蓝色LED灯被点亮,指示已经接通电源

Please choose the operation: //以下为开机选项
   1: Load system code to SDRAM via TFTP. //使用小型文件传输协议将系统代码装载到内存
   2: Load system code then write to Flash via TFTP. //使用小型文件传输协议将系统代码装载到内存再写入闪存
   3: Boot system code via Flash (default). //从闪存加载系统代码并启动(默认)
   4: Entr boot command line interface. //进入boot程序的命令行交互节面
   7: Load Boot Loader code then write to Flash via Serial. //装载Boot Loader的代码,然后再用串口写入闪存
   9: Load Boot Loader code then write to Flash via TFTP. //装载Boot Loader的代码,然后再用TFTP写入闪存

or long press RESET/WPS button to enter web failsafe mode. //或者长按RESET进入网络安全模式
before LEDON:
data:3c7f86                                                                   0

3: System Boot system code via Flash. //未操作,采用默认选项
(Re)start USB… //重启USB端口控制器(usb\_init()函数)
USB:   usb\_lowlevel\_init //被上一步调用,去调用Host控制器的初始化函数
Mediatek/Ralink USB EHCI host init hccr b01c0000 and hcor b01c0010 hc\_length 16 //USB的Host控制器在上述内存被加载
Register 1111 NbrPorts 1 //?
USB EHCI 1.00 //版本信息是Extensible Host Controller Interface 1.00
scanning bus for devices... 1 USB Device(s) found //扫描总线来找到支持的USB存储设备
   scanning bus for storage devices... 0 Storage Device(s) found

\*\* Unable to use usb 0:1 for fatload \*\* //无法使用fatload通过usb口把内存镜像装载到内存
Booting image at 80c00000 … //尝试在预设位置寻找内核启动镜像
Bad Magic Number,7FF6F7F6 //失败
Booting image at bc050000 … //继续寻找
raspi\_read: from:50000 len:40 //从似乎是镜像开始地址的位置读取内核镜像信息
   Image Name:   MIPS OpenWrt Linux-3.10.44
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    1029095 Bytes = 1005 kB
   Load Address: 80000000
   Entry Point:  80000000
raspi\_read: from:50040 len:fb3e7
   Verifying Checksum ... OK //校验内核镜像完整性
   Uncompressing Kernel Image … //解压镜像
hdr->ih\_load = 0x00000080
data pointer = 0x80c00000
first 8 bytes data = 8000006D,2F609C00
data length = 1029095
OK //初始化解压后内核的初始地址指针,尝试读取开头数据和总长度信息
No initrd //?
Transferring control to Linux (at address 80000000)//Boot Loader程序将板子的硬件参数、内存信息以内核镜像的参数形式转交给Linux Kernel
manfeel note, bootargs is : root=8:2 rootdelay=5 rootfstype=ext4 rw eth="00:11:22:33:44:55" //内核启动参数:root用户文件系统和网卡MAC参数
console=ttyS0,115200 //Linux Kernel控制台(虚拟终端)开启,名称ttyS0,速度115200
Giving linux memsize in MB, 64
83f033b0:linux\_argv\[1] = root=8:2
83f033b9:linux\_argv\[2] = rootdelay=5
83f033c5:linux\_argv\[3] = rootfstype=ext4
83f033d5:linux\_argv\[4] = rw
83f033d8:linux\_argv\[5] = eth="00:11:22:33:44:55"
83f033f0:linux\_argv\[6] = console=ttyS0,115200
83f03810:linux\_env\[0] = memsize=64
83f0381b:linux\_env\[1] = initrd\_start=0x00000000
83f03833:linux\_env\[2] = initrd\_size=0x0
83f03843:linux\_env\[3] = flash\_start=0x00000000
83f0385a:linux\_env\[4] = flash\_size=0x1000000
//Linux Kernel收到上述传递给它的参数,同时包括镜像的始末地址、闪存大小等,引导结束,启动
Starting kernel ...

\[    0.000000] Linux version 3.10.44 (noel@na) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r41508) ) #20 Wed Aug 13 21:00:28 UTC 2014 //Linux内核版本、gcc版本、时间信息
\[    0.000000] Board has DDR2 //检测到板子载有DDR2规格的SDRAM内存芯片
\[    0.000000] Analog PMU set to hw control //模拟PMU驱动性能优化工具
\[    0.000000] Digital PMU set to hw control //数字PMU驱动性能优化工具
\[    0.000000] SoC Type: Ralink MT7620N ver:2 eco:6 //板子的型号是MT7620 Ver 2
\[    0.000000] bootconsole \[early0] enabled //启动控制台已经启用
\[    0.000000] CPU revision is: 00019650 (MIPS 24KEc) //CPU的指令集和型号信息
\[    0.000000] MIPS: machine is WRTNODE //CPU指令集确认到板子信息
\[    0.000000] Determined physical RAM map: //已经确认的物理内存映射表:
\[    0.000000]  memory: 04000000 @ 00000000 (usable) //可用的物理内存范围
\[    0.000000] Initrd not found or empty - disabling initrd //未在该范围你发现Linux内核启动镜像
\[    0.000000] Zone ranges:
\[    0.000000]   Normal   \[mem 0x00000000-0x03ffffff] //一般内存范围64M (符合板子的参数)
\[    0.000000] Movable zone start for each node
\[    0.000000] Early memory node ranges //内存范围确认
\[    0.000000]   node   0: \[mem 0x00000000-0x03ffffff]
\[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. //指令缓存区元数据确认
\[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes //数据缓存区元数据确认
\[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256 //计算分页
\[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2 //确认kernel的控制台和root用户将要加载的文件系统类型
\[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes) //进程表元数据
\[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) //文件系统目录项元数据
\[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) //文件系统inode的元数据
\[    0.000000] Writing ErrCtl register=0001c57c //设置出错控制寄存器号
\[    0.000000] Readback ErrCtl register=0001c57c //出错恢复时从该寄存器写回
\[    0.000000] Memory: 61652k/65536k available (2317k kernel code, 3884k reserved, 553k data, 200k init, 0k highmem) //查看一下内存占用
\[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 //插槽占用情况
\[    0.000000] NR\_IRQS:256 //256条中断请求的输出线
\[    0.000000] CPU Clock: 600MHz 
\[    0.000000] Calibrating delay loop... 398.13 BogoMIPS (lpj=1990656) //测量设备回环(最大)延时数值,单位为MIPS Benchmark
\[    0.060000] pid\_max: default: 32768 minimum: 301 //进程信息表确认
\[    0.060000] Mount-cache hash table entries: 512 //挂载表元数据
\[    0.070000] pinctrl core: initialized pinctrl subsystem //启用板载针脚控制的子系统
\[    0.070000] NET: Registered protocol family 16 //初始化网络协议族16即AF\_INET
\[    0.090000] bio: create slab <bio-0> at 0 //I/O:创建内核小对象的slab分配器
\[    0.100000] rt2880\_gpio 10000600.gpio: registering 24 gpios //初始各GPIO端口
\[    0.100000] rt2880\_gpio 10000600.gpio: registering 24 irq handlers //注册其中断处理器
\[    0.110000] rt2880\_gpio 10000638.gpio: registering 16 gpios
\[    0.110000] rt2880\_gpio 10000638.gpio: registering 16 irq handlers
\[    0.120000] rt2880\_gpio 10000660.gpio: registering 32 gpios
\[    0.120000] rt2880\_gpio 10000660.gpio: registering 32 irq handlers
\[    0.130000] rt2880\_gpio 10000688.gpio: registering 1 gpios
\[    0.130000] rt2880\_gpio 10000688.gpio: registering 1 irq handlers
\[    0.140000] Switching to clocksource MIPS //时钟驱动的MIPS指令集接管
\[    0.140000] NET: Registered protocol family 2 //初始化网络协议族16即AF\_NETLINK
\[    0.150000] TCP established hash table entries: 512 (order: 0, 4096 bytes) 
\[    0.150000] TCP bind hash table entries: 512 (order: -1, 2048 bytes) 
\[    0.160000] TCP: Hash tables configured (established 512 bind 512) //TCP表元数据(建立和绑定的)
\[    0.160000] TCP: reno registered
\[    0.160000] UDP hash table entries: 256 (order: 0, 4096 bytes) //UDP协议表元数据
\[    0.170000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
\[    0.180000] NET: Registered protocol family 1
\[    0.180000] rt-timer 10000100.timer: maximum frequncy is 2441Hz
\[    0.200000] squashfs: version 4.0 (2009/01/31) Phillip Lougher //加载文件系统
\[    0.210000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE\_PRIORITY) (c) 2001-2006 Red Hat, Inc.
\[    0.220000] msgmni has been set to 120 //最大消息队列数
\[    0.220000] io scheduler noop registered //输入输出调度器NOOP已注册
\[    0.230000] io scheduler deadline registered (default)
\[    0.230000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled //串口安装的驱动,端口数;禁用中断请求共享
\[    0.240000] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20) is a 16550A //找到可用的虚拟终端
\[    0.250000] console \[ttyS0] enabled, bootconsole disabled //正常的系统虚拟终端启用,boot的终端被关闭
\[    0.250000] console \[ttyS0] enabled, bootconsole disabled
\[    0.260000] m25p80 spi32766.0: found w25q128, expected mx25l12805d
\[    0.270000] m25p80 spi32766.0: w25q128 (16384 Kbytes) //扫描到16M的闪存
\[    0.280000] 4 ofpart partitions found on MTD device spi32766.0 //发现闪存转换层(介于物理闪存和高级应用层之间)MTD被分区成四块
\[    0.280000] Creating 4 MTD partitions on "spi32766.0": //把闪存地址的分区映射到文件系统
\[    0.290000] 0x000000000000-0x000000030000 : "u-boot"
\[    0.290000] 0x000000030000-0x000000040000 : "u-boot-env"
\[    0.300000] 0x000000040000-0x000000050000 : "factory"
\[    0.310000] 0x000000050000-0x000001000000 : "firmware"
\[    0.310000] 0x00000014b427-0x000001000000 : "rootfs"
\[    0.320000] mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only //MTD指示rootfs分曲不可以跨erase block(MTD中的块概念,对应于磁盘的簇),以使其具有只读特性
\[    0.330000] mtd: device 4 (rootfs) set to be root filesystem //第四分区即闪存MTD上的逻辑设备4,被设置为根文件系统的挂载点
\[    0.340000] mtd: partition "rootfs\_data" created automatically, ofs=0x8b0000, len=0x750000
\[    0.350000] 0x0000008b0000-0x000001000000 : "rootfs\_data" //自动创建了文件系统根目录数据分区
\[    0.360000] ralink\_soc\_eth 10100000.ethernet: Enabling TSO // 以太网TCP Segment Offload技术启用
\[    0.360000] ralink\_soc\_eth 10100000.ethernet: loaded mt7530 driver //加载了以太网解决方案MT7530的驱动到Ralink的以太网系统芯片
\[    0.370000] eth0: done loading
\[    0.370000] rt3xxx-usbphy ubsphy.3: loaded //usb-phy驱动加载(ubs是打印错误)
\[    0.380000] rt2880\_wdt 10000120.watchdog: Initialized //无线网卡的看门狗程序初始化
\[    0.390000] leds-gpio gpio-leds.4: pins are not configured from the driver
\[    0.390000] TCP: cubic registered
\[    0.400000] NET: Registered protocol family 17
\[    0.400000] 8021q: 802.1Q VLAN Support v1.8
\[    0.420000] VFS: Mounted root (squashfs filesystem) readonly on device 31:4.
\[    0.430000] Freeing unused kernel memory: 200K (802ce000 - 80300000)
procd: Console is alive //守护进程procd确认控制台的活跃
procd: - watchdog - //守护进程启用了看门狗
\[    5.120000] usbcore: registered new interface driver usbfs //根据USB传输协议注册其文件系统、HUB和驱动等
\[    5.120000] usbcore: registered new interface driver hub
\[    5.130000] usbcore: registered new device driver usb
\[    5.170000] SCSI subsystem initialized //外设总线初始化
\[    5.180000] ehci\_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
\[    5.190000] ehci-platform: EHCI generic platform driver //EHCI通用平台驱动
\[    5.390000] rt3xxx-usbphy ubsphy.3: remote usb device wakeup disabled //远程USB设备唤醒未启用
\[    5.400000] rt3xxx-usbphy ubsphy.3: UTMI 16bit 30MHz //USB2.0接口模块定义的字长及速度
\[    5.400000] ehci-platform 101c0000.ehci: EHCI Host Controller
\[    5.410000] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1 //注册新USB总线为1号总线
\[    5.420000] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000  //EHCI占用的中断请求线和其输入输出占用的内存区块
\[    5.440000] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00  //USB 2.0协议可以在EHCI 1.0支持下启用了
\[    5.440000] hub 1-0:1.0: USB hub found //发现(定制USB-to-TTL线上的)USB集线口
\[    5.450000] hub 1-0:1.0: 1 port detected //HUB上有一个端口
\[    5.460000] usbcore: registered new interface driver usb-storage //注册一个USB存储的接口驱动
procd: - preinit -
Press the \[f] key and hit \[enter] to enter failsafe mode //键入f并enter可以进入安全模式
Press the \[1], \[2], \[3] or \[4] key and hit \[enter] to select the debug level //选择debug模式的指示
kmod: ran 1 iterations
\[   10.290000] jffs2: notice: (297) jffs2\_build\_xattr\_subsystem: complete building xattr subsystem, 1 of xdatum (1 unchecked, 0 orphan) and 15 of xref (0 dead, 0 orphan) found. //构建jffs文件系统的子系统
block: extroot: no root or overlay mount defined //ext文件系统根目录未检测到覆盖挂载的存在
jffs2 is ready //jffs2文件系统可以挂载了
jffs2 is ready
\[   10.470000] jffs2: notice: (294) jffs2\_build\_xattr\_subsystem: complete building xattr subsystem, 1 of xdatum (1 unchecked, 0 orphan) and 15 of xref (0 dead, 0 orphan) found.
switching to overlay //将jffs2覆盖挂载
procd: - early -
procd: - watchdog -
procd: - ubus -
procd: - init -
Failed to connect to ubus
Please press Enter to activate this console. //本控制台莫名与总线断开信号,回车恢复
\[   12.290000] NET: Registered protocol family 10
\[   12.300000] NTFS driver 2.1.30 \[Flags: R/O MODULE]. //初始化板子与PC上NTFS文件系统的接口驱动
\[   12.360000] nf\_conntrack version 0.5.0 (966 buckets, 3864 max)
\[   12.370000] ip6\_tables: (C) 2000-2006 Netfilter Core Team
\[   12.390000] Ralink/MTK WiFi EEPROM API Driver for OpenWrt Trunk. Copyright 2013 lintel[lintel.huang@gmail.com]
\[   12.400000] Ralink/MTK WiFi EEPROM API:Installed.
\[   12.400000] Ralink/MTK WiFi EEPROM API:SoC is MT7620. //将Ralink和联发科的闪存驱动安装到PC
\[   13.380000] rt2860v2\_ap: module license 'Proprietary' taints kernel. //这个模块的license和kernel的GPL不合……(模块不受信任)
\[   13.380000] Disabling lock debugging due to kernel taint //?
\[   13.460000]
\[   13.460000]
\[   13.460000] === pAd = c0551000, size = 871592 ===  //?
\[   13.460000]
\[   13.470000] <-- RTMPAllocTxRxRingMemory, Status=0
\[   13.470000] <-- RTMPAllocAdapterBlock, Status=0
\[   13.480000] AP Driver version-2.7.1.6 //网络接入点驱动版本
\[   13.500000] Linux video capture interface: v2.00 
\[   13.520000] fuse init (API version 7.22)
\[   13.560000] usbcore: registered new interface driver cdc\_acm
\[   13.560000] cdc\_acm: USB Abstract Control Model driver for USB modems and ISDN adapters //面向调制解调器的USB 虚拟控制模块驱动
\[   13.580000] ip\_tables: (C) 2000-2006 Netfilter Core Team
\[   13.610000] usbcore: registered new interface driver usbserial //注册了USB串口驱动
\[   13.620000] usbcore: registered new interface driver usbserial\_generic //注册了通用USB串口驱动
\[   13.630000] usbserial: USB Serial support registered for generic
\[   13.640000] usbcore: registered new interface driver uvcvideo
\[   13.650000] USB Video Class driver (1.1.1)
\[   13.680000] xt\_time: kernel timezone is -0000
\[   13.700000] usbcore: registered new interface driver ftdi\_sio
\[   13.700000] usbserial: USB Serial support registered for FTDI USB Serial Device
\[   13.720000] PPP generic driver version 2.4.2 //通用数据链路层PPP驱动版本
\[   13.740000] NET: Registered protocol family 24
\[   13.770000] usbcore: registered new interface driver snd-usb-audio
\[   17.200000] RtmpOSNetDevDetach(): RtmpOSNetDeviceDetach(), dev->name=ra0! //?
\[   17.710000]
\[   17.710000]
\[   17.710000] === pAd = c09e3000, size = 871592 ===
\[   17.710000]
\[   17.720000] <-- RTMPAllocTxRxRingMemory, Status=0
\[   17.730000] <-- RTMPAllocAdapterBlock, Status=0
\[   17.730000] AP Driver version-2.7.1.6
\[   17.770000] RX DESC a33be000  size = 2048 //发送一些包以填充路由表项
\[   17.810000] RTMP\_TimerListAdd: add timer obj c0a7aec8!
\[   17.810000] RTMP\_TimerListAdd: add timer obj c0a44878!
\[   17.820000] RTMP\_TimerListAdd: add timer obj c0a470c4!
\[   17.820000] RTMP\_TimerListAdd: add timer obj c0a47184!
\[   17.830000] RTMP\_TimerListAdd: add timer obj c0a47244!
\[   17.830000] RTMP\_TimerListAdd: add timer obj c0a47304!
\[   17.840000] RTMP\_TimerListAdd: add timer obj c0a473c4!
\[   17.840000] RTMP\_TimerListAdd: add timer obj c0a47484!
\[   17.850000] RTMP\_TimerListAdd: add timer obj c0a47544!
\[   17.850000] RTMP\_TimerListAdd: add timer obj c0a47604!
\[   17.860000] RTMP\_TimerListAdd: add timer obj c0a476c4!
\[   17.860000] RTMP\_TimerListAdd: add timer obj c0a47784!
\[   17.870000] RTMP\_TimerListAdd: add timer obj c0a47844!
\[   17.870000] RTMP\_TimerListAdd: add timer obj c0a47904!
\[   17.880000] RTMP\_TimerListAdd: add timer obj c0a479c4!
\[   17.880000] RTMP\_TimerListAdd: add timer obj c0a47a84!
\[   17.890000] RTMP\_TimerListAdd: add timer obj c0a47b44!
\[   17.890000] RTMP\_TimerListAdd: add timer obj c0a47c04!
\[   17.900000] RTMP\_TimerListAdd: add timer obj c0a4484c!
\[   17.910000] RTMP\_TimerListAdd: add timer obj c0a47098!
\[   17.910000] RTMP\_TimerListAdd: add timer obj c0a47158!
\[   17.920000] RTMP\_TimerListAdd: add timer obj c0a47218!
\[   17.920000] RTMP\_TimerListAdd: add timer obj c0a472d8!
\[   17.930000] RTMP\_TimerListAdd: add timer obj c0a47398!
\[   17.930000] RTMP\_TimerListAdd: add timer obj c0a47458!
\[   17.940000] RTMP\_TimerListAdd: add timer obj c0a47518!
\[   17.940000] RTMP\_TimerListAdd: add timer obj c0a475d8!
\[   17.950000] RTMP\_TimerListAdd: add timer obj c0a47698!
\[   17.950000] RTMP\_TimerListAdd: add timer obj c0a47758!
\[   17.960000] RTMP\_TimerListAdd: add timer obj c0a47818!
\[   17.960000] RTMP\_TimerListAdd: add timer obj c0a478d8!
\[   17.970000] RTMP\_TimerListAdd: add timer obj c0a47998!
\[   17.970000] RTMP\_TimerListAdd: add timer obj c0a47a58!
\[   17.980000] RTMP\_TimerListAdd: add timer obj c0a47b18!
\[   17.980000] RTMP\_TimerListAdd: add timer obj c0a47bd8!
\[   17.990000] RTMP\_TimerListAdd: add timer obj c0a44820!
\[   17.990000] RTMP\_TimerListAdd: add timer obj c0a470f0!
\[   18.000000] RTMP\_TimerListAdd: add timer obj c0a471b0!
\[   18.010000] RTMP\_TimerListAdd: add timer obj c0a47270!
\[   18.010000] RTMP\_TimerListAdd: add timer obj c0a47330!
\[   18.020000] RTMP\_TimerListAdd: add timer obj c0a473f0!
\[   18.020000] RTMP\_TimerListAdd: add timer obj c0a474b0!
\[   18.030000] RTMP\_TimerListAdd: add timer obj c0a47570!
\[   18.030000] RTMP\_TimerListAdd: add timer obj c0a47630!
\[   18.040000] RTMP\_TimerListAdd: add timer obj c0a476f0!
\[   18.040000] RTMP\_TimerListAdd: add timer obj c0a477b0!
\[   18.050000] RTMP\_TimerListAdd: add timer obj c0a47870!
\[   18.050000] RTMP\_TimerListAdd: add timer obj c0a47930!
\[   18.060000] RTMP\_TimerListAdd: add timer obj c0a479f0!
\[   18.060000] RTMP\_TimerListAdd: add timer obj c0a47ab0!
\[   18.070000] RTMP\_TimerListAdd: add timer obj c0a47b70!
\[   18.070000] RTMP\_TimerListAdd: add timer obj c0a47c30!
\[   18.080000] RTMP\_TimerListAdd: add timer obj c09eb1e8!
\[   18.080000] RTMP\_TimerListAdd: add timer obj c09eaddc!
\[   18.090000] RTMP\_TimerListAdd: add timer obj c09eb1b8!
\[   18.090000] RTMP\_TimerListAdd: add timer obj c09eb560!
\[   18.100000] RTMP\_TimerListAdd: add timer obj c09eb2b0!
\[   18.100000] RTMP\_TimerListAdd: add timer obj c09eb2e0!
\[   18.110000] RTMP\_TimerListAdd: add timer obj c09eb4a0!
\[   18.120000] RTMP\_TimerListAdd: add timer obj c09eb4d0!
\[   18.120000] RTMP\_TimerListAdd: add timer obj c09ee494!
\[   18.130000] RTMP\_TimerListAdd: add timer obj c09ee088!
\[   18.130000] RTMP\_TimerListAdd: add timer obj c09ee464!
\[   18.140000] RTMP\_TimerListAdd: add timer obj c09ee80c!
\[   18.140000] RTMP\_TimerLis\[   18.670000] APSDCapable\[0]=0
\[   18.680000] APSDCapable\[1]=0
\[   18.680000] APSDCapable\[2]=0
\[   18.680000] APSDCapable\[3]=0
\[   18.680000] APSDCapable\[4]=0
\[   18.690000] APSDCapable\[5]=0
\[   18.690000] APSDCapable\[6]=0
\[   18.690000] APSDCapable\[7]=0
\[   18.700000] APSDCapable\[8]=0
\[   18.700000] APSDCapable\[9]=0
\[   18.700000] APSDCapable\[10]=0
\[   18.700000] APSDCapable\[11]=0
\[   18.710000] APSDCapable\[12]=0
\[   18.710000] APSDCapable\[13]=0
\[   18.710000] APSDCapable\[14]=0
\[   18.720000] APSDCapable\[15]=0
\[   18.720000] default ApCliAPSDCapable\[0]=0
\[   18.920000] Key1Str is Invalid key length(0) or Type(0)
\[   18.930000] Key2Str is Invalid key length(0) or Type(0)
\[   18.940000] Key3Str is Invalid key length(0) or Type(0)
\[   18.940000] Key4Str is Invalid key length(0) or Type(0)
\[   18.990000] 1. Phy Mode = 9
\[   18.990000] 2. Phy Mode = 9
\[   18.990000] EEPROM:Read from \[factory] offset 0x0,length 0x200. //声明读取闪存时的预留地址(偏移量)
\[   19.220000] E2PROM: D0 target power=0xff20
\[   19.230000] E2PROM: 40 MW Power Delta= 0
\[   19.230000] 3. Phy Mode = 9
\[   19.230000] RTMP\_TimerListAdd: add timer obj c09e8260!
\[   19.240000] AntCfgInit: primary/secondary ant 0/1
Initialize RF Central Registers for E2 !!! //初始化一系列寄存器的值
\[   19.250000] Initialize RF Central Registers for E3 !!!
\[   19.250000] Initialize RF Channel Registers for E2 !!!
\[   19.260000] Initialize RF Channel Registers for E3 !!!
\[   19.260000] Initialize RF DCCal Registers for E2 !!!
\[   19.270000] Initialize RF DCCal Registers for E3 !!!
\[   19.280000] D1 = 0, D2 = 8, CalCode = 19 !!!
\[   19.280000] RT6352\_Temperature\_Init : BBPR49 = 0x0 //板载温度检控模块
\[   19.290000] RT6352\_Temperature\_Init : TemperatureRef25C = 0xfffffff6
\[   19.300000] Current Temperature from BBP\_R49=0xfffffff6
\[   19.300000] RT6352\_TssiTableAdjust: upper\_bound = 0x7F decimal: 127
\[   19.310000] RT6352\_TssiTableAdjust: lower\_bound = 0xFFFFFF80 decimal: -128
\[   19.310000] \*\*\* RT6352\_TssiTableAdjust: G Tssi\[-7 .. +7] = -128 -1 -1 -1 -128 -1 -1
\[   19.310000]  - -1 - -1 -1 -1 -1 -1 -1 -1, offset=-10, tuning=0 //数据链路层的令牌
\[   19.330000] RT6352\_TssiTableAdjust: G Tssi\[-7 .. +7] = -128 -11 -11 -11 -128 -11 -11 - -11 - -11 -11 -11 -11 -11 -11 -11, offset=-10, tuning=0
\[   19.340000] mp\_temperature=0xffffffff, step = +7
\[   19.350000] E2PROM: G Tssi\[-7 .. +7] = -128 -11 -11 -11 -128 -11 -11 - -11 - -11 -11 -11 -11 -11 -11 -11, offset=-10, tuning=0 //作若干检错通信测试
\[   19.360000]  TX BW Filter Calibration !!! //开始校准各个模块
\[   19.470000]  RX BW Filter Calibration !!!
\[   19.680000] LOFT Calibration Done!
\[   19.680000] IQCalibration Start!
\[   19.700000] IQCalibration Done! CH = 0, (gain= 3, phase=3c)
\[   19.700000] IQCalibration Start!
\[   19.720000] IQCalibration Done! CH = 1, (gain= 1, phase=3d)
\[   19.720000] TX IQ Calibration Done!
\[   19.770000] internal ALC is not enabled in NVM ! //?
\[   19.770000] bAutoTxAgcG = 0
\[   19.770000] MCS Set = ff ff 00 00 01
\[   19.850000] Main bssid = 64:51:7e:80:17:d0 //网卡的MAC地址
\[   19.860000] <==== rt28xx\_init, Status=0
\[   20.000000] 0x1300 = 00064380
\[   20.840000] device eth0.1 entered promiscuous mode //将网卡设置成混杂模式
\[   20.850000] device eth0 entered promiscuous mode
\[   20.860000] br-lan: port 1(eth0.1) entered forwarding state //一个LAN口进入转发态
\[   20.860000] br-lan: port 1(eth0.1) entered forwarding state
\[   21.500000] device ra0 entered promiscuous mode
\[   21.510000] br-lan: port 2(ra0) entered forwarding state
\[   21.510000] br-lan: port 2(ra0) entered forwarding state
\[   22.860000] br-lan: port 1(eth0.1) entered forwarding state
procd: - init complete - //守护进程得到初始化完成的信息

//以下为OpenWRT的开机信息

BusyBox v1.22.1 (2014-08-13 19:31:12 UTC) built-in shell (ash)
Enter 'help' for a list of built-in commands.

_                     _         |       |.-----.-----.-----.|  |  |  |.----.|  |  |   -   ||    |  -|     ||  |  |  ||   ||   |  |_||   |_||||_|||  ||           || W I R E L E S S   F R E E D O M  ----------------------------------------------------- BARRIER BREAKER (Bleeding Edge, r41508)

1/2 oz Galliano         Pour all ingredients into
4 oz cold Coffee        an irish coffee mug filled
1 1/2 oz Dark Rum       with crushed ice. Stir.
2 tsp. Creme de Cacao

root@OpenWrt:/# //可以在root权限下正常使用了
Comments powered by Disqus
Share