本文基于 RockPI 4A 單板 Debian 系統(tǒng) Linux4.4 內核介紹下睡眠喚醒( suspend/resume )的一些調試方法。

我們提供的服務有:網站制作、成都網站設計、微信公眾號開發(fā)、網站優(yōu)化、網站認證、淅川ssl等。為成百上千企事業(yè)單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的淅川網站制作公司
1、關閉串口睡眠
在Linux內核睡眠過程中,會先調用 suspend_console() 函數(shù)使串口進入睡眠狀態(tài),這樣會導致后續(xù)設備驅動的睡眠過程不可見。可以在boot啟動參數(shù)中增加 no_console_suspend 參數(shù),顯示設備驅動睡眠日志。
2、修改串口日志等級
修改串口日志打印等級,顯示更多調試信息。
3、打開設備睡眠喚醒時間
設置 pm_print_times 參數(shù),可以顯示設備驅動睡眠喚醒時間,方便調試時查看哪個函數(shù)處理占用時間過長。
在調試Linux內核睡眠喚醒功能時,可以使用 RTC 做喚醒源,在系統(tǒng)睡眠5秒后,自動喚醒系統(tǒng)。
在 arch/arm64/configs/rockchip_linux_defconfig 文件中配置宏 CONFIG_PM_TEST_SUSPEND 。
喚醒日志如下:
最近做無線網絡在系統(tǒng)多次休眠喚醒后是否正常的測試,但每次休眠后都需要手動點擊鍵盤來喚醒系統(tǒng),顯而易見的這種方法需要人來值守,很不放便。
此時便想是否有做自動喚醒的程序,畢竟這種需求也挺正常的,應該有人已經做過了。因此就開始查找自動喚醒的方法,果然就發(fā)現(xiàn)了 rtcwake 這個程序,這個程序是讓系統(tǒng)進入休眠模式并在指定的時間后喚醒。立刻便覺得這個程序很神奇,然后就去看它的源碼來找出它的實現(xiàn)方式,這邊發(fā)現(xiàn)了本文的主題 RTC 子系統(tǒng)。
RTC 子系統(tǒng)在目錄 /sys/class/rtc/ 下,會根據(jù)設備創(chuàng)建對應的目錄,需要在內核中開啟支持,配置如下:
debian/ubuntu 的系統(tǒng)可以在 /boot/config-$(uname -r) 查看內核的編譯選項, archlinux 可以在 /proc/config.gz 查看。
RTC 目錄下的文件含義可以在 sysfs-class-rtc 中查看。
RTC 目錄中的 wakealarm 文件內容便是下次觸發(fā)喚醒時間的時間,默認這個文件是沒有值的。文件的內容需要設置是時間的秒數(shù),可以向下面這樣設置:
這就表示在 1 minute 后觸發(fā)喚醒事件。
所以做休眠喚醒測試的流程如下:
最近研究命令行下,遠程喚醒(Wake On LAN)家里的windows臺式機。
linux下可以用 etherwake 這個軟件,發(fā)送魔術封包(Magic Packet)遠程喚醒機器。
我用的是樹莓派,記錄一下遠程喚醒的方法。
首先安裝 etherwake (基于Debian / Ubuntu )
安裝完成后,可以用下面的命令遠程喚醒
或者(下面兩個命令我沒有親自嘗試過)
比如你的MAC地址是 AA:BB:CC:DD:EE:FF ,就可以用
發(fā)送魔術封包喚醒遠程機器。
其實還有其他一些細節(jié),以后有機會慢慢補充吧。
參考文章:
[1] HowTo: Wake Up Computers Using Linux Command [ Wake-on-LAN ( WOL ) ]
linux系統(tǒng)遠程關機之后能遠程喚醒。
1、連接上相應的linux主機,進入到等待輸入shell指令的linux命令行狀態(tài)下。
2、以重啟為例,在linux命令行中輸入:boot。
3、回車鍵執(zhí)行shell指令,此時會看到linux主機成功重啟了。
新聞名稱:linux命令喚醒,linux怎么喚醒
URL標題:http://chinadenli.net/article8/hcphop.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站建設、外貿建站、小程序開發(fā)、微信小程序、Google、云服務器
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)