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字节虚拟内核空间则为所有进程以及内核所共享。
内核空间中存放的是内核代码和数据,而进程的用户空间中存放的是用户程序的代码和数据。不管是内核空间还是用户空间,它们都处于虚拟空间中。