本来是想买个随身WIFI,以便家里突然断网/断电的时候能够用手头上多余的一张SIM卡开个应急热点,但是去淘宝搜了一圈,成品随身WIFI要么说经常断网,要么就是无法使用自己的卡,要么就是能插自己的卡,但是只能插物联网卡或是插一张之后就不能插别的卡了(卡和机器绑定了),可玩性极差。然后想想家里还有一坨树莓派,用充电宝供电,能不能在这个基础上整些模块。
于是,在搜索了相关材料之后,选择了移远的EC200A-CN。
大概就长这样,一个USB口,四个串口,一个SIM卡槽,一个天线接口,没了。
在WIN下直接插上会直接当作USB网卡使用,但是任务管理器下面的AT Interface
和Diag Interface
会有感叹号,这意味着无法进行AT指令交互,也就只能当作一块无线网卡使用。只需要把这个驱动打上就正常了。
先不管WIN下使用AT怎样怎样,买这块板子的初衷就是给树莓派用的,然后我就把板子拔下来插树莓派上了。
先说下环境,因为我要用到pikvm,所以使用的系统是魔改的archlinuxarm,内核版本5.15.68-3-rpi-ARCH
。
插上去之后,灯开始闪,但是执行ifconfig
之后:
你妈的,我USB0呢?
吓得我赶紧看看是不是给我搞坏了或者根本没识别。
还好还好,东西还在。
那么这是怎么个回事呢?我看店铺上明明写着linux免驱啊!于是在问一通客服之后 给了我个tgz包。 不问不给是吧。解压之后内容如下:
因为我的内核版本是5.15.68
,离得比较近的是5.15.11
,进入这个目录,执行make
和make install
后会生成option.ko
`qcserial.ko和
usb_wwan.ko`三个文件,执行
insmod option.ko
insmod qcserial.ko
insmod usb_wwan.ko
载入模块。如果报错,可能是依赖没有载入。我是在执行insmod usb_wwan.ko
时报错的,于是执行modinfo ./usb_wwan.ko | grep depend
它显示需要载入一个usb模块,于是再执行modprobe usb
再执行一次上面的命令,就算是成功完成驱动安装了。可以通过执行dmesg | grep ttyUSB*
验证是否安装完成,我这个板子只有3个TTY,5G的卡好像是有5个TTY的。
这时候再次执行ifconfig
,捏妈妈的,还是没有!
然后再查查资料,再这个地方翻到了一些有用的东西,这里说的时通过EC20模块访问互联网,大同小异,就先照着这个试试。原来还需要安装一个wvdial依赖包,因为我是arch,执行pacman -S wvdial
如果时debian系的就是apt install wvdial
应该也找得到吧。
然后修改配置文件,这里直接借鉴作者的。
#电信或移动
[Dialer lan1]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
Baud = 9600
New PPPD = yes
Modem = /dev/ttyUSB2
ISDN = 0
Phone = *99#
Password = card
Username = card
#联通
[Dialer lan1]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = at+cgdcont=1,"ip","uninet"
Modem Type = Analog Modem
Baud = 9600
New PPPD = yes
Modem = /dev/ttyUSB2
ISDN = 0
Phone = *99#
Password = card
Username = card
根据自己的卡类型填写其中一组配置即可。其中的lan1
是配置的名称,可以自行修改。然后打开个screen
(因为执行时程序必须在后台)screen -S dial
执行:wvdial lan1
会根据配置文件进行PPP拨号,并生成一个ppp0的网卡。然后把screen放到后台,执行以下命令实验是否成功联网:ping www.baidu.com -I ppp0
可以看到成功PING通了,第一个包的延迟很高,但是后面就慢慢好起来了。