一種usb_3g網(wǎng)卡用戶態(tài)自動(dòng)識(shí)別與撥號(hào)方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及USB設(shè)備技術(shù)領(lǐng)域,特別涉及一種USB_3G網(wǎng)卡用戶態(tài)自動(dòng)識(shí)別與撥號(hào)方法和裝置。
【背景技術(shù)】
[0002]3G上網(wǎng)卡是目前無線廣域通信網(wǎng)絡(luò)應(yīng)用廣泛的上網(wǎng)介質(zhì)。目前我國有中國移動(dòng)的TD-SCDMA和中國電信的CDMA2000以及中國聯(lián)通的WCDMA三種網(wǎng)絡(luò)制式,所以常見的無線上網(wǎng)卡就包括CDMA2000無線上網(wǎng)卡和TD、WCDMA無線上網(wǎng)卡三類。這種3G上網(wǎng)卡與電腦連接的接口通常為USB接口。在將3G上網(wǎng)卡插入到電腦上時(shí),內(nèi)核探測(cè)并加載USB_3G網(wǎng)卡驅(qū)動(dòng),用戶需要手動(dòng)撥號(hào)連接上網(wǎng)。
[0003]但是,現(xiàn)有技術(shù)方法的缺點(diǎn)是內(nèi)核探測(cè)加載驅(qū)動(dòng),用戶需要手動(dòng)撥號(hào)連接上網(wǎng),用戶態(tài)無法實(shí)現(xiàn)自動(dòng)探測(cè)及自動(dòng)撥號(hào)上網(wǎng)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種USB_3G網(wǎng)卡用戶態(tài)自動(dòng)識(shí)別與撥號(hào)方法,該方法對(duì)于用戶態(tài)實(shí)現(xiàn)USB_3G網(wǎng)卡自動(dòng)識(shí)別與自動(dòng)撥號(hào),對(duì)內(nèi)核修改小、簡(jiǎn)單易行。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明提出一種USB_3G網(wǎng)卡用戶態(tài)自動(dòng)識(shí)別與撥號(hào)方法,包括如下步驟:
[0006]內(nèi)核初始化時(shí)申請(qǐng)共享內(nèi)存,并將所述共享內(nèi)存的地址賦值給全局變量,所述全局變量在探測(cè)到有插入U(xiǎn)SB_3G網(wǎng)卡時(shí)進(jìn)行累加操作;
[0007]在預(yù)設(shè)目錄下存儲(chǔ)pppd可執(zhí)行文件,其中pppd命令為USB_3G網(wǎng)卡撥號(hào)使用命令;
[0008]修改內(nèi)核文件,執(zhí)行Isusb命令以獲取USB設(shè)備信息,保存內(nèi)核探測(cè)到的所有USB設(shè)備信息至存儲(chǔ)設(shè)備目錄;
[0009]用戶態(tài)創(chuàng)建全局USB設(shè)備信息表,所述全局USB設(shè)備信息表用于存儲(chǔ)多個(gè)廠商的運(yùn)營商代碼Vendor Id、每個(gè)廠商支持的USB_3G網(wǎng)卡的產(chǎn)品代碼Product Id和USB_3G網(wǎng)卡的網(wǎng)絡(luò)類型;
[0010]用戶態(tài)創(chuàng)建一個(gè)線程,用于自動(dòng)識(shí)別插入的USB_3G網(wǎng)卡類型并自動(dòng)撥號(hào)連接,比較本次全局變量和上次全局變量的值是否相等,如果不等則認(rèn)為探測(cè)到有新的USB_3G網(wǎng)卡插入;
[0011]從所述存儲(chǔ)設(shè)備目錄中提取USB_3G網(wǎng)卡設(shè)備信息,將所述USB_3G網(wǎng)卡設(shè)備信息與所述全局USB設(shè)備信息表進(jìn)行比對(duì)以識(shí)別該新插入的USB_3G網(wǎng)卡類型;
[0012]根據(jù)所述新插入的USB_3G網(wǎng)卡類型和所述pppd可執(zhí)行文件,控制所述新插入的USB_3G網(wǎng)卡執(zhí)行自動(dòng)撥號(hào)連接。
[0013]根據(jù)本發(fā)明的一個(gè)方面,所述全局變量在探測(cè)到有插入U(xiǎn)SB_3G網(wǎng)卡時(shí)進(jìn)行累加操作,包括:每當(dāng)探測(cè)到新插入一個(gè)USB_3G網(wǎng)卡時(shí),所述全局變量的值加I。
[0014]根據(jù)本發(fā)明的另一個(gè)方面,在所述存儲(chǔ)設(shè)備目錄中,每個(gè)USB設(shè)備信息包括:設(shè)備的總線編號(hào)、設(shè)備編號(hào)、設(shè)備的廠商運(yùn)營代碼和產(chǎn)品ID。
[0015]根據(jù)本發(fā)明的又一方面,將所述USB_3G網(wǎng)卡設(shè)備信息與所述全局USB設(shè)備信息表進(jìn)行比對(duì)以識(shí)別該新插入的USB_3G網(wǎng)卡類型,包括如下步驟:
[0016]通過掃描方式將USB_3G網(wǎng)卡設(shè)備信息中的廠商的運(yùn)營商代碼Vendor Id與全局USB設(shè)備信息表中的所有廠商的運(yùn)營商代碼Vendor Id進(jìn)行比對(duì),檢測(cè)出新插入一個(gè)USB_3G網(wǎng)卡的廠商;
[0017]保存所述USB_3G網(wǎng)卡的設(shè)備信息,在所述全局USB設(shè)備信息表中根據(jù)產(chǎn)品代碼Product Id獲取并記錄所述USB_3G網(wǎng)卡對(duì)應(yīng)的設(shè)備類型。
[0018]根據(jù)本發(fā)明的再一方面,所述全局USB設(shè)備信息表為全局的二維數(shù)組。
[0019]本發(fā)明實(shí)施方式提供的USB_3G網(wǎng)卡用戶態(tài)自動(dòng)識(shí)別與撥號(hào)方法,通過設(shè)置標(biāo)志USB_3G網(wǎng)卡的全局變量,每當(dāng)探測(cè)到新插入的USB_3G網(wǎng)卡則執(zhí)行加一操作,以及通過比較本次全局變量和上次全局變量的值是否相等,以及將USB_3G網(wǎng)卡設(shè)備信息與全局USB設(shè)備信息表進(jìn)行比對(duì)以識(shí)別,在用戶態(tài)USB_3G上網(wǎng)卡自動(dòng)探測(cè)3G網(wǎng)卡類型、3G網(wǎng)卡廠商運(yùn)營代碼、3G網(wǎng)卡產(chǎn)品ID以及3G網(wǎng)卡所在USB總線的總線編號(hào)、設(shè)備編號(hào)等信息,并根據(jù)探測(cè)到內(nèi)容實(shí)現(xiàn)自動(dòng)撥號(hào)連接上網(wǎng)。本發(fā)明對(duì)于用戶態(tài)實(shí)現(xiàn)USB_3G網(wǎng)卡自動(dòng)識(shí)別與自動(dòng)撥號(hào),對(duì)內(nèi)核修改小、簡(jiǎn)單易行。
[0020]本發(fā)明的目的是提供一種USB_3G網(wǎng)卡用戶態(tài)自動(dòng)識(shí)別與撥號(hào)裝置,該裝置對(duì)于用戶態(tài)實(shí)現(xiàn)USB_3G網(wǎng)卡自動(dòng)識(shí)別與自動(dòng)撥號(hào),對(duì)內(nèi)核修改小、簡(jiǎn)單易行。
[0021]為實(shí)現(xiàn)上述目的,本發(fā)明提出一種USB_3G網(wǎng)卡用戶態(tài)自動(dòng)識(shí)別與撥號(hào)裝置,包括:共享內(nèi)存操作模塊,用于在內(nèi)核初始化時(shí)申請(qǐng)共享內(nèi)存,并將所述共享內(nèi)存的地址賦值給全局變量,所述全局變量在探測(cè)到有插入U(xiǎn)SB_3G網(wǎng)卡時(shí)進(jìn)行累加操作;pppd可執(zhí)行文件存儲(chǔ)模塊,用于在預(yù)設(shè)目錄下存儲(chǔ)PPPd可執(zhí)行文件,其中pppd命令為USB_3G網(wǎng)卡撥號(hào)使用命令;已探測(cè)USB設(shè)備信息存儲(chǔ)模塊,用于修改內(nèi)核文件,執(zhí)行Isusb命令以獲取USB設(shè)備信息,保存內(nèi)核探測(cè)到的所有USB設(shè)備信息至存儲(chǔ)設(shè)備目錄;全局USB設(shè)備信息存儲(chǔ)模塊,所述全局USB設(shè)備信息存儲(chǔ)模塊位于用戶態(tài),用于創(chuàng)建全局USB設(shè)備信息表,所述全局USB設(shè)備信息表用于存儲(chǔ)多個(gè)廠商的運(yùn)營商代碼Vendor Id、每個(gè)廠商支持的USB_3G網(wǎng)卡的產(chǎn)品代碼Product Id和USB_3G網(wǎng)卡的網(wǎng)絡(luò)類型;USB_3G網(wǎng)卡識(shí)別模塊,所述USB_3G網(wǎng)卡識(shí)別模塊與所述共享內(nèi)存操作模塊、已探測(cè)USB設(shè)備信息存儲(chǔ)模塊和全局USB設(shè)備信息存儲(chǔ)模塊相連,用于創(chuàng)建一個(gè)線程,用于自動(dòng)識(shí)別插入的USB_3G網(wǎng)卡類型并自動(dòng)撥號(hào)連接,比較本次全局變量和上次全局變量的值是否相等,如果不等則認(rèn)為探測(cè)到有新的USB_3G網(wǎng)卡插入,從所述存儲(chǔ)設(shè)備目錄中提取USB_3G網(wǎng)卡設(shè)備信息,將所述USB_3G網(wǎng)卡設(shè)備信息與所述全局USB設(shè)備信息表進(jìn)行比對(duì)以識(shí)別該新插入的USB_3G網(wǎng)卡類型;自動(dòng)撥號(hào)連接模塊,所述自動(dòng)撥號(hào)連接模塊與USB_3G網(wǎng)卡識(shí)別模塊和pppd可執(zhí)行文件存儲(chǔ)模塊相連,用于根據(jù)所述新插入的USB_3G網(wǎng)卡類型和所述pppd可執(zhí)行文件,控制所述新插入的USB_3G網(wǎng)卡執(zhí)行自動(dòng)撥號(hào)連接。
[0022]根據(jù)本發(fā)明的一個(gè)方面,所述共享內(nèi)存操作模塊用于在每當(dāng)探測(cè)到新插入一個(gè)USB_3G網(wǎng)卡時(shí),將所述全局變量的值加I。
[0023]根據(jù)本發(fā)明的又一個(gè)方面,在所述存儲(chǔ)設(shè)備目錄中,每個(gè)USB設(shè)備信息包括:設(shè)備的總線編號(hào)、設(shè)備編號(hào)、設(shè)備的廠商運(yùn)營代碼和產(chǎn)品ID。
[0024]根據(jù)本發(fā)明的再一個(gè)方面,所述USB_3G網(wǎng)卡識(shí)別模塊通過掃描方式將USB_3G網(wǎng)卡設(shè)備信息中的廠商的運(yùn)營商代碼Vendor Id與全局USB設(shè)備信息表中的所有廠商的運(yùn)營商代碼Vendor Id進(jìn)行比對(duì),檢測(cè)出新插入一個(gè)USB_3G網(wǎng)卡的廠商,保存所述USB_3G網(wǎng)卡的設(shè)備信息,在所述全局USB設(shè)備信息表中根據(jù)產(chǎn)品代碼Product Id獲取并記錄所述USB_3G網(wǎng)卡對(duì)應(yīng)的設(shè)備類型。
[0025]根據(jù)本發(fā)明的另一個(gè)方面,所述全局USB設(shè)備信息表為全局的二維數(shù)組。
[0026]本發(fā)明實(shí)施方式提供的USB_3G網(wǎng)卡用戶態(tài)自動(dòng)識(shí)別與撥號(hào)裝置,通過設(shè)置標(biāo)志USB_3G網(wǎng)卡的全局變量,每當(dāng)探測(cè)到新插入的USB_3G網(wǎng)卡則執(zhí)行加一操作,以及通過比較本次全局變量和上次全局變量的值是否相等,以及將USB_3G網(wǎng)卡設(shè)備信息與全局USB設(shè)備信息表進(jìn)行比對(duì)以識(shí)別,在用戶態(tài)USB_3G上網(wǎng)卡自動(dòng)探測(cè)3G網(wǎng)卡類型、3G網(wǎng)卡廠商運(yùn)營代碼、3G網(wǎng)卡產(chǎn)品ID以及3G網(wǎng)卡所在USB總線的總線編號(hào)、設(shè)備編號(hào)等信息,并根據(jù)探測(cè)到內(nèi)容實(shí)現(xiàn)自動(dòng)撥號(hào)連接上網(wǎng)。本發(fā)明對(duì)于用戶態(tài)實(shí)現(xiàn)USB_3G網(wǎng)卡自動(dòng)識(shí)別與自動(dòng)撥號(hào),對(duì)內(nèi)核修改小、簡(jiǎn)單易行。
【附圖說明】
[0027]圖1是根據(jù)本發(fā)明實(shí)施方式的USB_3G網(wǎng)卡用戶態(tài)自動(dòng)識(shí)別與撥號(hào)方法的流程圖;
[0028]圖2是根據(jù)本發(fā)明實(shí)施方式的探測(cè)USB_3G網(wǎng)卡插入的流程圖;
[0029]圖3是根據(jù)本發(fā)明實(shí)施方式的USB_3G網(wǎng)卡用戶態(tài)自動(dòng)識(shí)別與撥號(hào)裝置的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0030]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明了,下面結(jié)合【具體實(shí)施方式】并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對(duì)公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
[0031]圖1為根據(jù)本發(fā)明實(shí)施方式的USB_3G網(wǎng)卡用戶態(tài)自動(dòng)識(shí)別與撥號(hào)方法的流程圖。
[0032]如圖1所示,本發(fā)明實(shí)施方式提供的USB_3G網(wǎng)卡用戶態(tài)自動(dòng)識(shí)別與撥號(hào)方法,包括如下步驟:
[0033]步驟SI,內(nèi)核初始化時(shí)申請(qǐng)共享內(nèi)存,并將共享內(nèi)存的地址賦值給全局變量,其中全局變量在探測(cè)到有插入U(xiǎn)SB_3G網(wǎng)卡時(shí)進(jìn)行累加操作。
[0034]具體地,以Linux系統(tǒng)為例,Linux內(nèi)核初始化時(shí)申請(qǐng)一塊共享內(nèi)存,將該共享內(nèi)存的地址賦值給全局變量。其中,全局變量在USB的初始化函數(shù)usb_serial_device_probe函數(shù)中進(jìn)行累加操作。即,每當(dāng)探測(cè)到新插入一個(gè)USB_3G網(wǎng)卡時(shí),共享內(nèi)存的全局變量的值加I,用作用戶態(tài)掃描探測(cè)USB_3G網(wǎng)卡的標(biāo)志位。
[0035]步驟S2,在預(yù)設(shè)目錄下存儲(chǔ)pppd可執(zhí)行文件,其中pppd命令為USB_3G網(wǎng)卡撥號(hào)使用命令。PPPd命令自編譯pppd開源程序,生成pppd可執(zhí)行文件并放在預(yù)設(shè)目錄下,以備用戶態(tài)自動(dòng)撥號(hào)使用。
[0036]在本發(fā)明的實(shí)施方式中,預(yù)設(shè)目錄可以為/usr/sbin或/usr/bin。
[0037]步驟S3,修改內(nèi)核文件,執(zhí)行Isusb命令以獲取USB設(shè)備信息,保存內(nèi)核探測(cè)到的所有USB設(shè)備信息至存儲(chǔ)設(shè)備目錄。其中,修改內(nèi)核文件包括如下步驟:修改Linux內(nèi)核/etc/init.d/rcS文件,在該文件中添加兩條語句:/bin/mount/dev/sdal/cfcard和lsusb〉/cfcard/usbdev,其中 /bin/mount/dev/sdal/cfca