linux3g驅動
1. 在linux下,移植usb-serial驅動使usb3G模塊上網,主要要修改什麼地方。
從現象來看,貌似你沒有把正確的設備號加到配置文件。
既然你的設備號是0x12d1:0x1da1,先試試看下面的步驟:
1。 sudo vim /etc/usb_modeswitch.conf
在文件最後面增加以下幾行。
DefaultVendor= 0x12d1
DefaultProct= 0x1da1
TargetVendor= 0x12d1
TargetProct= 0x1da1
HuaweiMode=1
DetachStorageOnly=1
然後執行sudo usb_modeswitch -W 令修改生效。
2。 cd /dev
ls
應該會出來ttyACM0, ttyACM1, 和ttyACM2...等設備。
3。修改/etc/wvdial.conf中的相應部分就可以了。
$ sudo vim /etc/wvdial.conf
注意:把Modem=/dev/ttyUSB0要注釋掉,用你自己的設備名,如下所示:
Modem =/dev/ttyACM2
;Modem = /dev/ttyUSB0
2. LINUX內核空間與用戶空間分別是什麼意思
關於內核空間和用戶空間,說的是linux驅動程序一般工作在內核空間,但也可以工作在用戶空間。下面將詳細解析,什麼是內核空間,什麼是用戶空間,以及如何判斷他們。
Linux簡化了分段機制,使得虛擬地址與線性地址總是一致,因此,Linux的虛擬地址空間也為0~4G.Linux內核將這4G位元組的空間分為兩部分。將最高的1G位元組(從虛擬地址0xC0000000到0xFFFFFFFF),供內核使用,稱為"內核空間".而將較低的3G位元組(從虛擬地址 0x00000000到0xBFFFFFFF),供各個進程使用,稱為"用戶空間)。因為每個進程可以通過系統調用進入內核,因此,Linux內核由系統內的所有進程共享。於是,從具體進程的角度來看,每個進程可以擁有4G位元組的虛擬空間。
Linux使用兩級保護機制:0級供內核使用,3級供用戶程序使用。每個進程有各自的私有用戶空間(0~3G),這個空間對系統中的其他進程是不可見的。最高的1GB位元組虛擬內核空間則為所有進程以及內核所共享。
內核空間中存放的是內核代碼和數據,而進程的用戶空間中存放的是用戶程序的代碼和數據。不管是內核空間還是用戶空間,它們都處於虛擬空間中。