dmesg 总结 iwpriv ra0 show stacountinfo

dmesg 可将mtk平台的一些命令,命令的输出没有在用户态。
比如iwpriv ra0 show stacountinfo
使用的是printk打印。若想获取到打印信息,常用的两种方法。
1.使用ioctl,copy到user态
2.使用dmesg。
a.类似 dmesg -c 先把dmesg的buf清空。
b.然后执行iwpriv ra0 show stacountinfo 打印信息会保存到dmesg的buf里面(这个时候可以dmesg,看到打印的信息是上一条命令的信息)。
c.然后可以把dmesg重定向到文件。
这里写图片描述
看上去,还是第二种比较方便


    if(access("/tmp/wifista.txt", F_OK) == -1)  // file not exist
    {               
        char *commond1 = "dmesg -c|iwpriv ra0 show stacountinfo" ;
        char *commond2 = "dmesg | grep MAC -A 20 >/tmp/wifista.txt" ;
        char *commond3 = "dmesg -c|iwpriv rai0 show stacountinfo" ;
        char *commond4 = "dmesg | grep MAC -A 20 >> /tmp/wifista.txt" ;
        system(commond1);   
        system(commond2);
        system(commond3);   
        system(commond4);
    }

来自:图解Linux命令之–dmesg命令

dmesg总结

dmesg命令–>用来显示开机信息, kernel会将开机信息存储在ring buffer中。开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log/dmesg

这里写图片描述
【dmesg命令作用】:

有时候屏幕上的启动信息一闪而过,我们无法查看到具体信息,又或者服务器在电信机房,更看不到开机启动信息。这时候linux提供了dmesg这条命令。在命令行下敲入dmesg就能看到一堆的信息:

1) dmesg 是一个显示内核缓冲区系统控制信息的工具;比如系统在启动时的信息会写到/var/log/

2) dmesg 命令显示Linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构、CPU、挂载的硬件,RAM等多个运行级别的大量的系统信息。当计算机启动时,系统内核(操作系统的核心部分)将会被加载到内存中。在加载的过程中会显示很多的信息,在这些信息中我们可以看到内核检测硬件设备

3) dmesg 命令设备故障的诊断是非常重要的。在dmesg命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息

【备注】:

dmesg用来显示内核环缓冲区(kernel-ring buffer)内容,内核将各种消息存放在这里。在系统引导时,内核将与硬件和模块初始化相关的信息填到这个缓冲区中。内核环缓冲区中的消息对于诊断系统问题 通常非常有用。在运行dmesg时,它显示大量信息。通常通过less或grep使用管道查看dmesg的输出,这样可以更容易找到待查信息。

1) 如果发现硬盘性能低下,可以使用dmesg来检查它们是否运行在DMA模式:dmesg | grep DMA

2) 可以用来探测系统内核模块的加载情况,比如要检测ACPI的加载情况,使用dmesg | grep acpi

3) 可以使用mail -s “Boot Log Of xxx Server” [email protected] < messages来发送这些日志信息

猜你喜欢

转载自blog.csdn.net/linbounconstraint/article/details/80408713