直插SIM卡全网五模便携LEDE路由(5200mAh)
之前买了个ZTE Q7便携路由,也可以刷op,但是不能直接插sim卡,携带不是很方便,最近在网上逛了逛,发现了一个神器,配置为 mt7620a ROM 16M/RAM 128M 5200mAh,花了一周时间,适配了LEDE 17.07.0 正式版本系统,目前实现了几个功能:
1.直插sim卡上网,目前测试了移动3g和联通3g,使用的是上海移远EC20-C 4g mini pcie模块(注意经研究该模块有很多个批次,需要芯片为高通MDM9215才行,pid 05c6 vid 9215),参数为:
EC20-C
FDD LTE: B1/B3/B8 TDD LTE: B38/B39/B40/B41 TDSCDMA: B34/B39 UMTS: B1/B8 GSM: 900/1800MHz
参数是支持(移动4g 3g 2g,联通4g 3g 2g,电信4g)
原厂OP可以支持EC20-CE(高通MDM9215,pid 05c6 vid 9215,注意此CE支持电信3g)但不支持EC20-CE(高通MDM9x07,pid 2c7c vid 0125)
EC20-CE
FDD LTE: B1/B3 TDD LTE: B38/B39/B40/B41 TDSCDMA: B34/B39 WCDMA: B1 CDMA2000 1x/EVDO: BC0 GSM: 900/1800MHz
目前LEDE 17.07是4.4的kernel,开源驱动仅支持EC20-C 4g模块(芯片为高通MDM9215,pid 05c6 vid 9215),查阅linux kernel qmi_wwan.c源代码,4.10可以支持EC20-CE(高通MDM9x07,pid 2c7c vid 0125),但目前LEDE还不行。
2.直插SD卡,但是根据原厂说明,usb仅限对外充电,不支持外挂U盘
3.LEDE/OPENWRT的其他功能,例如ss等
适配采用修改ZTE-Q7代码来实现(led在系统启动的时候是不亮的,启动成功后显示蓝色,囧):
1.修改target/linux/ramips/base-files/etc/board.d/01_leds
zte-q7) ucidef_set_led_default "power" "power" "$board:green:sys" "0" ;;
2.修改target/linux/ramips/base-files/etc/diag.sh
zte-q7) status_led="$board:green:wifi" ;;
3.修改target/linux/ramips/dts/ZTE-Q7.dts
/dts-v1/; #include "mt7620a.dtsi" #include <dt-bindings/input/input.h> / { compatible = "ZTE-Q7", "ralink,mt7620a-soc"; model = "ZTE Q7"; gpio-leds { compatible = "gpio-leds"; usb { label = "zte-q7:usb"; gpios = <&gpio0 11 1>; }; sys { label = "zte-q7:sys"; gpios = <&gpio1 14 1>; }; wlan { label = "zte-q7:wlan"; gpios = <&gpio3 0 1>; }; wps { label = "zte-q7:wps"; gpios = <&gpio1 15 0>; }; }; gpio-keys-polled { compatible = "gpio-keys-polled"; #address-cells = <1>; #size-cells = <0>; poll-interval = <20>; reset { label = "reset"; gpios = <&gpio0 1 0>; linux,code = <0x198>; }; }; }; &gpio0 { status = "okay"; }; &gpio1 { status = "okay"; }; &gpio3 { status = "okay"; }; &spi0 { status = "okay"; en25q128@0 { #address-cells = <1>; #size-cells = <1>; compatible = "w25q128"; reg = <0>; linux,modalias = "m25p80"; spi-max-frequency = <10000000>; partition@0 { label = "u-boot"; reg = <0x0 0x30000>; read-only; }; partition@30000 { label = "u-boot-env"; reg = <0x30000 0x10000>; read-only; }; factory: partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; }; partition@50000 { label = "firmware"; reg = <0x50000 0xfb0000>; }; }; }; &pinctrl { state_default: pinctrl0 { gpio { ralink,group ="i2c", "uartf", "wled", "spi refclk"; ralink,function = "gpio"; }; pa { ralink,group = "pa"; ralink,function = "pa"; }; }; }; ðernet { pinctrl-names = "default"; pinctrl-0 = <&ephy_pins>; mtd-mac-address = <&factory 0x4>; mediatek,portmap = "wllll"; }; &wmac { ralink,mtd-eeprom = <&factory 0>; }; &sdhci { status = "okay"; }; &ehci { status = "okay"; }; &ohci { status = "okay"; }; &pcie { status = "okay"; compatible = "ralink,mt7620a-pci"; reg = <0x10140000 0x100 0x10142000 0x100>; resets = <&rstctrl 26>; reset-names = "pcie0"; interrupt-parent = <&cpuintc>; interrupts = <4>; };
最后编译的时候,选择
git clone https://git.lede-project.org/source.git git fetch --tags git tag -l git checkout v17.01.0
参考:
1.http://lists.infradead.org/pipermail/lede-commits/2016-September/000876.html
2.https://lists.openwrt.org/pipermail/openwrt-devel/2015-March/032268.html
3.http://lxr.free-electrons.com/source/drivers/net/usb/qmi_wwan.c