恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 650|回复: 9

无线大巴MTK7621设备的固件编译

  [复制链接]
发表于 2020-9-7 17:01 | 显示全部楼层 |阅读模式
本帖最后由 keke1023 于 2020-9-7 22:30 编辑

首先要感谢@jieshl 赠送的这个设备,有点不好意思就是收到后已经拖了很久才开始动手研究~
据他说这是一个项目被停后遗留下来的设备,我拿到的时候看也是几乎全新,应该是都还没有使用过的
拆看先看看配置,其实之前他也有发过拆机图,但是还是要自己了解一下
格式工厂IMG_3201.jpg 格式工厂IMG_3202.jpg
外观比较常规,黑色铁盒,两侧各有两个sma天线接口,但是不是常见的内针型,而是内孔的,也就是需要天线为内针型
带一个SD卡槽,一个sim卡槽(在侧面),两个千兆网口,一个USB3.0口,属于接口很全面的类型
格式工厂IMG_3206.jpg 格式工厂IMG_3207.jpg
拆开能看到本身还具有更加丰富的接口,一个sata和一个我猜测是pcie吧,因为msata也长这个样,所以不太确定,下来在看看详细的芯片信息
格式工厂IMG_3211.jpg 格式工厂IMG_3212.jpg 格式工厂IMG_3213.jpg 格式工厂IMG_3210.jpg 格式工厂IMG_3209.jpg 格式工厂IMG_3214.jpg 格式工厂IMG_3208.jpg
无线芯片是MT7612和MT7602,没有外pa和lna,信号应该很一般
然后是512m的ddr3内存和16m的spi闪存,以及一个asm1061,一个hx6412,和一个ST8s103f3p6
其中asm1061是一个pcie转sata的芯片,所以紧接着后面就是sata接口,hx6412是一个北斗/GPS的定位模块,而ST这个芯片是一个STM8的主控芯片,暂时不知道用途
下来主要说一下怎么自己添加这个机型进行编译,实际上主要缺少的就是这个机型专用的dts文件了
添加一个机型要改动的地方至少有4处,一个是添加dts文件,一个是修改led,一个是修改network,还有一个是修改mt7621.mk
新建openwrt/target/linux/ramips/dts/mt7621_qm_b1.dts内容如下
/dts-v1/;

#include "mt7621.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

/ {

compatible = "qm,b1","mediatek,mt7621-soc";
model = "QM B1";

aliases {
        led-boot = &led_status;
        led-failsafe = &led_status;
        led-running = &led_status;
        led-upgrade = &led_status;
        };

chosen {
        bootargs = "console=ttyS0,115200";
       };

leds{
        compatible = "gpio-leds";

        led_status:status{
            gpios = <0x16 0x0c 0x01>;
            label = "b1:green:status";
        };
        wan{
            gpios = <0x16 0x0e 0x01>;
            label = "b1:green:wan";
        };
        wifi2g{
            gpios = <0x16 0x11 0x01>;
            label = "b1:green:wifi2G";
        };
        wifi5g{
            gpios = <0x16 0x0d 0x01>;
            label = "b1:green:wifi5G";
        };
    };

keys{
        compatible = "gpio-keys-polled";
        poll-interval = <0x14>;
        reset{
            gpios = <0x16 0x12 0x01>;
            label = "reset";
            linux,code = <0x00000198>;
        };
    };
};

&spi0 {
        status = "okay";

        flash@0 {
            compatible = "jedec,spi-nor";
            reg = <0>;
            spi-max-frequency = <10000000>;

            partitions {
                compatible = "fixed-partitions";
                #address-cells = <1>;
                #size-cells = <1>;

                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 {
                    compatible = "denx,uimage";
                    label = "firmware";
                    reg = <0x50000 0xfb0000>;
                };
            };
        };
    };

&pcie {
        status = "okay";
      };

&pcie1 {
        wifi0: wifi@0,0 {
                compatible = "mediatek,mt76";
                reg = <0x0000 0 0 0 0>;
                mediatek,mtd-eeprom = <&factory 0x0000>;
                ieee80211-freq-limit = <2400000 2500000>;
                };
       };

&pcie0 {
        wifi1: wifi@0,0 {
                compatible = "mediatek,mt76";
                reg = <0x0000 0 0 0 0>;
                mediatek,mtd-eeprom = <&factory 0x8000>;
                ieee80211-freq-limit = <5000000 6000000>;
                };
       };

&gmac0 {
        mtd-mac-address = <&factory 0x4>;
       };

&switch0 {
        ports {
                port@0 {
                        status = "okay";
                        label = "wan";
                       };

                port@1 {
                        status = "okay";
                        label = "lan";
                       };

              };
         };

&state_default {
        gpio {
               groups = "wdt", "rgmii2";
               function = "gpio";
             };
        };

&xhci {
        status = "okay";
      };

&sdhci {
        status = "okay";
       };

&i2c {
        status = "okay";
     };
然后要修改openwrt/target/linux/ramips/image/mt7621.mk新增一个段落

define Device/qm_b1
         IMAGE_SIZE := 16064k
         DEVICE_VENDOR := QM
         DEVICE_MODEL := B1
         DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport wpad-openssl
endef
TARGET_DEVICES += qm_b1



下来是修改openwrt/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds也是新增一段
qm,b1)
        ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "WAN"
        ucidef_set_led_netdev "wifi2g" "Wifi 2.4G" "$boardname:green:wifi2G" "wlan0"
        ucidef_set_led_netdev "wifi5g" "Wifi 5G" "$boardname:green:wifi5G" "wlan1"
        ;;


最后是修改openwrt/target/linux/ramips/mt7621/base-files/etc/board.d/02_network也是新增一段
qm,b1)
         ucidef_set_interfaces_lan_wan "lan" "wan"
         ;;


当然led和network增加的时候也看着点其他机型的位置和格式,别随便添加到哪儿就算完事了。。

这样再次make menuconfig的时候就会在7621的机型里看到QM B1了,通过breed刷入就可以正常的使用
本来是想再深入的测试一下那个貌似pcie的接口是否可以插4G网卡的,毕竟原本的用途应该就是这么使用,有sim卡槽,有定位模块
但是我用lspci一查,三个pci端口两个给了无线,一个给了pcie转sata,这个口到底能否使用呢。。
无标题.jpg
等我有空再继续深入的研究吧,还有定位模块以及那个stm8的主控不知道具体怎么驱动什么作用,目测可能是通过i2c总线?

评分

参与人数 1恩山币 +1 收起 理由
jieshl + 1 恩山全体路由党向你学习!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-9-7 17:17 | 显示全部楼层
北斗模块回来的数据给到STM8,再进7621A

来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-9-7 17:28 | 显示全部楼层
看起来很高级,不太明白,收藏
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-9-7 17:36 | 显示全部楼层
可以  跟潘多拉 M1配置差不多    带USB3.0  带SATA  wifi2.4G和5G  还有两个minipcie
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2020-9-7 18:14 | 显示全部楼层
xinyu1727 发表于 2020-9-7 17:17
北斗模块回来的数据给到STM8,再进7621A

还真是!这样就简单多了,stm8驱动完定位模块,把结果通过串口之类的输出给7621就行了
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-9-7 19:28 | 显示全部楼层
系统灯亮吗
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-9-7 19:55 | 显示全部楼层
感谢分享这么宝贵的信息
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2020-9-7 22:29 | 显示全部楼层
本帖最后由 keke1023 于 2020-9-7 22:41 编辑
240038901 发表于 2020-9-7 19:28
系统灯亮吗


好像有内容没复制过去,我再编辑一下,这是从另一个型号直接改的哈哈哈
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-9-8 00:34 | 显示全部楼层
PCIE接口是用来接4G模组的,添加一下4G模组的驱动 就可以当4G路由器使用
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-9-8 13:16 | 显示全部楼层
可以做对接使用
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2020-9-24 03:58

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表