第一篇博客献给我做了很长时间的课程设计,也就是题目所说的3G无线路由器。本次开发所使用的开发平台为树莓派开发板,下面进入正题.....
目标:将树莓派设置成为一个3G无线路由器,通过华为的E261拨号上网。
工具:树莓派开发板,3G无线上网卡E261,无线网卡RT5370,
步骤:
一、转换E261的模式
1、查看连接的USB设备
pi@raspberrypi ~ $ lsusbBus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.Bus 001 Device 001: ID 1d6b:0002 linux Foundation 2.0 root hubBus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless AdapterBus 001 Device 005: ID 1a40:0101 Terminus Technology Inc. 4-Port HUBBus 001 Device 006: ID 058f:6387 Alcor Micro Corp. Flash DriveBus 001 Device 007: ID 12d1:1446 Huawei Technologies Co., Ltd. E1552/E1800/E173 (HSPA modem)
最后一行的ID部分为E261的厂商号与设备号,此时的E261是相当于一个存储设备,必须进行模式转换,使其成为一个Modem设备
2、安装usb_modeswitch
pi@raspberrypi ~ $ sudo aptitude install usb-modeswitch
3、修改配置文件
pi@raspberrypi ~ $ sudo nano /etc/usb_modeswitch.conf
在文件的最后加入以下内容:
######################################################### Huawei, newer modemsDefaultVendor= 0x12d1DefaultPRoduct=0x1446TargetVendor= 0x12d1TargetProductList="1001,1406,140b,140c,1412,141b,1436,14ac"CheckSuccess=20MessageContent="55534243123456780000000000000011062000000100000000000000000000"
4、重新插拔E261,再次执行lsusb
pi@raspberrypi ~ $ lsusbBus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless AdapterBus 001 Device 005: ID 1a40:0101 Terminus Technology Inc. 4-Port HUBBus 001 Device 006: ID 058f:6387 Alcor Micro Corp. Flash DriveBus 001 Device 007: ID 12d1:1436 Huawei Technologies Co., Ltd.
此时设备号已变为1436,表示转换成功。
需要说明的是,若使用其他3G网卡,配置文件是不同的,自己Google
二、下载安装ppp、sakis3g和umtskeeper,实现拨号上网
ppp软件包将建立基于点对点协议的守护进程,用于管理你和网络运营商之间的通信。sakis3g是一个用来拨号上网的脚本,它带有可交互的拨号界面,非常方便。umtskeeper是利用sakis3g来进行自动重连3g网络的。也可使用wvdial来拨号上网,
使用命令 aptitude install wvdial 安装,它会同时安装ppp软件包。下面介绍的是前一种方法。
1、安装ppp
pi@raspberrypi ~ $sudo apt-get install ppp
2、为了便于管理,创建文件夹umtskeeper/将umtskeeper、sakis3g都放在这个文件夹里。
创建文件夹umtskeeper,并下载umtskeeper
sudo mkdir umtskeepercd umtskeepersudo wget "http://zool33.uni-graz.at/petz/umtskeeper/src/umtskeeper.tar.gz"sudo tar -xzvf umtskeeper.gzsudo chmod +x umtskeeper
Sakis3g官网已经挂了,不过还好有其他镜像可以下。
sudo wget "http://downloads.sourceforge.net/project/vim-n4n0/sakis3g.tar.gz?r=http%3A%2F%2fsourceforge.net%2Fprojects%2Fvim-n4n0%2Ffiles%2F&ts=1363537696&use_mirror=tene~t" -O sakis3g.tar.gzsudo tar -xzvf sakis36.tar.gzsudo chmod +x sakis3g
3、拨号上网
sudo ./sakis3g --interactive "connect"
如下进入交互界面:
(如拨号出现错误,建议重启下树莓派)
输入APN的信息
联通的APN为3gnet,用户名和密码似乎可以随便填,我填的是user和pass
查看连接信息
./sakis3g connect info
断开连接
sudo ./sakis3g --interactive "disconnect"
4、设置开机自动拨号上网
在步骤2中下载了umtskeeper,也可以用它调用sakis3g来联网,命令如下:
sudo ./umtskeeper --sakisOperators "USBINTERFACE='0' OTHER='USBMODEM' USBMODEM='12d1:1436' APN='CUSTOM_APN' CUSTOM_APN='3gnet' APN_USER='user' APN_PASS='pass'" --sakisswitches "--sudo --console" --devicename 'Huawei' --log --silent --monthstart 8 --nat 'no'
将以上命令写入rc.local
编辑rc.local
pi@raspberrypi ~ $sudo nano /etc/rc.local
将以下内容插入exit0这一行之前
/home/pi/umtskeeper --sakisoperators "USBINTERFACE='0' OTHER='USBMODEM' USBMODEM='12d1:1436' APN='CUSTOM_APN' CUSTOM_APN='3gnet' APN_USER='user' APN_PASS='pass'" --sakisswitches "--sudo --console" --devicename 'Huawei' --log --silent --monthstart 8 --nat 'no'
保存退出,下次便可实现开机启动拨号上网。
三、创建无线AP
1、配置无线网卡为固定ip地址
输入命令
sudo nano /etc/network/interfaces
编辑网络配置文件
找到这几行注释掉,如下
#allow-hotplug wlan0#iface wlan0 inet manual#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf#iface default inet dhcp
添加以下几行
iface wlan0 inet static address 192.168.10.1netmask 255.255.255.0
这里需要说明的是192.168.10.1是给raspberrypi做的路由器分配的网关ip。这个不能跟局域网里其他路由网关ip重复
2安装hostapd
Linux下使用hostapd来建立无线AP服务输入命令,安装hostapd
sudo apt-get install hostapd
编辑hostapd默认配置文件
sudo nano /etc/default/hostapd
找到
#DAEMON_CONF=""修改如下
DAEMON_CONF="/etc/hostapd/hostapd.conf"编辑hostapd配置文件
sudo nano /etc/hostapd/hostapd.conf
新闻热点
疑难解答