基于S3 C2440和Linux的無(wú)線撥號(hào)上網(wǎng)終端
(3)接下來(lái)開(kāi)始發(fā)起lcp通信,start_link->lcp_lowerup(),這個(gè)函數(shù)首先和內(nèi)核的PPP協(xié)議進(jìn)行協(xié)商,主要是MTU等鏈路參數(shù),協(xié)商后設(shè)置LCPDE-LAYED_UP標(biāo)志,把lcp_delayed_up函數(shù)設(shè)置給一個(gè)定時(shí)器,這個(gè)定時(shí)器會(huì)根據(jù)DELAYED_UP標(biāo)志周期執(zhí)行前賦給lcp_delayed_up,在這里函數(shù)將主動(dòng)發(fā)起lcp協(xié)議請(qǐng)求,之后等待對(duì)方回應(yīng)。start_link函數(shù)結(jié)束返回到pppd_start()主函數(shù)繼續(xù)執(zhí)行。
(4)主函數(shù)pppd_start會(huì)進(jìn)入一個(gè)無(wú)限循環(huán),這個(gè)循環(huán)主要執(zhí)行函數(shù)handle_events()和get_input()。handle_events主要處理接收到的信號(hào),get_input負(fù)責(zé)處理接收到的數(shù)據(jù)包。
3.2 配置撥號(hào)腳本
(1)需要配置的撥號(hào)腳本文件有3個(gè),分別是:wcdma,chat—wcdma—connect和chat—wcdma—disconnect。把它們存放在/etc/PPP /peers目錄下。注意要在wcdma中添加persist命令,保證3G網(wǎng)絡(luò)在一段時(shí)間斷開(kāi)后能自動(dòng)再連接。
(2)設(shè)置開(kāi)機(jī)自動(dòng)撥號(hào)上網(wǎng),在系統(tǒng)的開(kāi)機(jī)啟動(dòng)腳本中添加shell命令:/etc/PPP/rmlock,判斷并刪除無(wú)效的串口的lock文件,保證成功撥號(hào)。/usr/bin/pppd call wcdma,使其自動(dòng)撥號(hào)。/usr/bin/sleep 15,保證15 s的撥號(hào)時(shí)間。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論