Openwrt-USB網路共享
1.openwrt 使用 android 手機usb tether聯網
openwrt是一個是個用於嵌入式裝置的linux發行版,支援目前市面上大量的路由器裝置。基於buildroot構建的檔案系統使其擁有海量的可用軟體包,具有超強的拓展能力,移植,新增,裁剪十分靈活,相信在未來的智慧家庭,物聯網領域將有匡闊前景。現在智慧路由器大多基於openwrt。
執行openwrt的智慧路由器大多會帶有至少一個usb口,通過usb口可以拓展很多應用,可以外接儲存裝置(u盤,行動硬碟)作為儲存伺服器,流媒體伺服器,外接印表機,外接usb camera可以實現遠端監控,由於usb強大的通用功能,可拓展的功能很多。
通過usb口外接3g,4G(lte)dongle,並將其作為wan口,就能實現mifi的功能。
在沒有dongle的情況下,也可以把android手機通過資料線連線到openwrt box上,通過android的tether功能使用手機的行動網路,openwrt的配置如下:
1 需要的軟體包:kmod-usb-net kmod-usb-net-rndis kmod-usb-net-cdc-ether usbutils udev
opkg update opkg install kmod-usb-net kmod-usb-net-rndis kmod-usb-net-cdc-ether usbutils udev
2 配置
手機通過usb線連線到路由器。
在手機上,開啟tether功能(usb共享網路)。
在路由器端,lsusb,檢視是否探測到你的手機:
root@OpenWrt:/# lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 003: ID 1782:5d21 Spreadtrum Communications Inc. Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
顯示發現一個rndis裝置,並註冊為介面usb0, ifconfig -a檢視是否存在usb0介面:
把usb0設定為WAN口:
uci del network.wan uci set network.wan=interface uci set network.wan.ifname=usb0 uci set network.wan.proto=dhcp uci commit network
重啟WAN口:
ifdown wan ifup wan
檢視是否撥上
root@OpenWrt:/# ifconfig usb0 usb0Link encap:EthernetHWaddr EA:3C:7D:81:C4:10 inet addr:192.168.42.15Bcast:192.168.42.255Mask:255.255.255.0 inet6 addr: fe80::e83c:7dff:fe81:c410/64 Scope:Link UP BROADCAST RUNNING MULTICASTMTU:1500Metric:1 RX packets:7104 errors:4 dropped:0 overruns:0 frame:4 TX packets:3952 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:8507336 (8.1 MiB)TX bytes:456085 (445.3 KiB) root@OpenWrt:/# ping baidu.com PING baidu.com (123.125.115.110): 56 data bytes 64 bytes from 123.125.115.110: seq=0 ttl=50 time=79.260 ms 64 bytes from 123.125.115.110: seq=1 ttl=50 time=89.016 ms