精华内容
下载资源
问答
  • 你的下一台相机,不一定是相机3月26日晚上21:00,华为举行了华为P40系列全球线上发布会。带来了华为P40、华为P40 Pro、华为P40 Pro+三款机型。外观和屏幕华为P40正面采用了6.1英寸2340*1080分辨率的OLED直屏,前置...

    你的下一台相机,不一定是相机

    3月26日晚上21:00,华为举行了华为P40系列全球线上发布会。带来了华为P40、华为P40 Pro、华为P40 Pro+三款机型。

    a87fe482840c18e7cc91ea0059bc7767.png

    外观和屏幕

    华为P40正面采用了6.1英寸2340*1080分辨率的OLED直屏,前置“胶囊”挖孔,刷新率为60Hz,背面则是采用了矩形的徕卡三摄模组,拥有五个配色,重量为175g。

    fc638e7018df0a7e9ed5b5bf545034cc.png

    华为P40 Pro和P40 Pro+则是采用了6.58英寸的OLED四曲满溢屏,分辨率为2640*1200,前置“胶囊”挖孔,拥有90Hz刷新率。背面则是采用了矩形的徕卡四摄模组,同样拥有上面的五个配色,重203g。

    b9d4dff58dda52ff4cfe1ebb09e57717.png

    华为P40 Pro+后置摄像头相比P40 Pro也多了一个,不过只有黑色和白色两个配色(陶瓷后盖),重226g。

    ca132b3128fe80a05afe9d0b22e98211.png

    核心配置

    华为P40全系都是搭载麒麟990 5G芯片,屏幕指纹,最高可以选择8+512GB的存储组合。

    3df80a09a81b2c5bb5e3d689861996eb.png

    华为P40内置3800mAh电池容量,支持22.5W快充,支持IP53级防尘防水;

    华为P40 Pro支持40W有线充电,27W无线闪充;P40 Pro+则支持40W有线充电+40W无线闪充;均支持IP68级防尘防水。

    相机参数

    华为P40采用的是后置徕卡三摄,分别为:5000万像素超感知摄像头+ 1600万像素超广角摄像头+ 800万像素长焦摄像头(OIS)。支持3倍光学变焦、5倍混合变焦、30倍数字变焦

    前置为3200万像素(f/2.0光圈)+ 红外摄像头。

    a0f00b7bbae11d500f5f9e3ef6c1a72c.png

    华为P40 Pro采用的是后置徕卡四摄,分别为:5000万像素超感知摄像头+ 4000万像素电影摄像头 + 1200万像素超感光长焦摄像头+ ToF镜头,双OIS光学防抖。支持5倍光学变焦、10倍混合变焦、50倍数字变焦

    b546485e7d7bc91de339a8ad6054296b.png

    华为P40 Pro+采用的是后置徕卡五摄,分别为:5000万像素超感知摄像头+ 4000万像素电影摄像头 + 10倍潜望式光学变焦镜头+800万3倍光学变焦镜头+ ToF镜头,三OIS光学防抖支持10倍光学变焦,20倍混合变焦、100倍数码变焦

    5864d8f3d6f5765be586f93fcf612444.png

    前置为3200万像素(f/2.2光圈,自动对焦)+ 景深摄像头,同时支持红外解锁功能

    ff53cbb6930b2f5ac8c5e11a9ac8c1ba.png

    价格方面

    华为P40,8+128GB售价799欧元(约6199元)

    华为P40 Pro,8+256GB售价999欧元(约7750元)

    华为P40 Pro+,8+512GB售价1399欧元(约10854元)

    当然上面的是欧洲售价,按照惯例猜测国内售价会便宜1000-2000元,目前华为官方商城已经开启了华为P40/P40 Pro的预订,P40 Pro+将会更晚发售,国行发布会将在4月8日19:30举行。

    展开全文
  • 故障现象:一华为S2403TP-MI交换机电源板无输出。检查220V交流电经整流滤波后有310V直流(滤波电容两端)输出,但开关管无输出。查D极有300V,但G极0V,查电源芯片UC3843BN的7脚VCC有8.44V的电压,而第8脚只有1.26V...

            故障现象:一华为S2403TP-MI交换机电源板无输出。检查220V交流电经整流滤波后有310V直流(滤波电容两端)输出,但开关管无输出。查D极有300V,但G极0V,查电源芯片UC3843BN的7脚VCC有8.44V的电压,而第8脚只有1.26V电压。
            分析:由以上测得的数据,正常时7脚应该是8.5V(相对第5脚END)以上的电压,而第8脚应该是5V以上的电压。所以怀疑IC的供电异常。
            修复过程:直接更换第7脚附近一纸介电容(100uf/25v),故障既然排除。由此,分析可能是7脚这个滤波电容容量减少了,导致电源不能启震。

    展开全文
  • 总结一下每一代华为mate系列详细参数,本文更新mate8到最新的mate20详细参数。华为mate8:中文名:华为Mate8上市时间:2015年12月9号上市价格:3G+32G全网通为3199元处理器:麒麟950屏幕:直板6.0英寸,2.5D屏幕,...

    总结一下每一代华为mate系列详细参数,本文更新mate8到最新的mate20详细参数。

    华为mate8:

    中文名:华为Mate8

    上市时间:2015年12月9号

    上市价格:3G+32G全网通为3199元

    处理器:麒麟950

    屏幕:直板6.0英寸,2.5D屏幕,2.94mm边框,78.39%屏占比

    尺寸:157.3mm*80.6mm*8.2mm

    重量:185g(含电池)

    内存:3G RAM+32G ROM

    续航方面:电池4000mAh,支持9V/2A快速,充电时间:2.5小时

    摄像头:前置800万 /后置1600万,感光元件:Sony 1600万像素IMX298堆栈式,高性能独立ISP,更快的对焦、更好的清晰度、更准确的色彩明暗,支持相位对焦(PDAF)和反差对焦(CAF)的混合对焦方式

    操作系统:Android M(6.0)+ EMUI 4.0

    网络:双卡双待,支持全网通功能,兼容包括FDD-LTE/ TDD-LTE /WCDMA/TD-SCDMA/GSM / CDMA2000 / CDMA等网络

    支持的功能:指关节截屏,安全键盘,语音操控电话,即刻支付:支持,指纹支付3.0版,超级免提3.0

    机身颜色:香槟金、月光银、苍穹灰、摩卡金

    a2edcf5a497085eeaa251fabe68071ea.png

    华为mate9与mate9Pro:

    上市时间:2016年11月

    上市价格:mate94G+32G全网通为3399元

    Mate9 Pro 4GB+64GB全网通版本售价4699元

    处理器:麒麟960,CPU主频:ARM 4*Cortex A73 2.4GHz + 4*Cortex A53 1.8GHz + 微智核I6,GPU:Mali- G71MP8

    屏幕:mate9为直板5.9英寸,2.5D玻璃屏幕,FHD 1920 x 1080,采用后置指纹解锁:

    mate9Pro为5.5英寸WQHD 2560×1440双曲面屏幕,采用前置指纹解锁

    尺寸:mate9为156.9×78.9×7.9mm:

    mate9Pro为152.0mm×75.0mm×7.5mm

    内存:4G RAM+32G ROM,最大支持256GB

    续航方面:电池4000mAh,支持SuperCharge快充技术,5A4.5V功率可达22.5w

    摄像头:后置摄像头2000万(黑白)+1200万(彩色)双摄像头,前摄像头:前置800万,闪光灯:双色温LED闪光灯

    操作系统:Android(7.0)+ EMUI 5.0

    网络:支持移动、联通、电信4G,全网通版本, 包含FDD-LTE / TDD-LTE / WCDMA / TD-SCDMA /GSM / CDMA2000 / CDMA等4G模式,涵盖所有的3G及2G网络制式

    机身颜色:陶瓷白、香槟金、摩卡金、月光银、玫瑰金、苍穹灰、黑色、帕托蓝、玛瑙红

    SIM卡类型:双Nano SIM卡槽,双卡双待

    导航:GPS/Glonass/北斗/伽利略

    指纹:按压式指纹传感器、有效识别假指纹、360度指纹识别、芯片级安全解决方案

    8aac943a74ccc3069dba51d2578ad54d.png

    mate9

    6fceb1a62bcdb6b724e7bb395f5098cd.png

    mate9Pro

    84edb896b9d098ed419f5b1ee969610b.png

    mate9Pro

    334c30ae8e6b2483545b65f5dfa7907b.png

    mate9保时捷

    华为mate10与mate10Pro:

    上市时间:2017年10月

    价格:Mate 10售价3899元起

    Mate 10 Pro 售价4899元起

    Mate 10 Pro保时捷定制版售价8999元起

    处理器:采用10nm制程的麒麟970处理器,NPU:神经网络处理单元

    屏幕:mate10为5.9寸2560*1440 RGBW HDR显示屏(16:9):

    Mate 10 Pro采用6英寸分辨率为2160*1080的OLED全面屏(18:9)

    mate10Pro还具备IP67防溅抗水等级(Mate 10为IP53级别)

    尺寸:mate10为150.5x77.8x8.2mm :

    mate10Pro为154.2x74.5x7.9mm

    内存:4G RAM+64G ROM,不支持容量扩展

    续航方面:电池4000mAh

    摄像头:后置摄像头2000万(黑白)+1200万(彩色)双摄像头,前摄像头:前置800万,闪光灯:双色温LED闪光灯

    操作系统:Android 8.0的EMUI8.0操作系统

    网络:支持移动、联通、电信4G,全网通版本, 包含FDD-LTE / TDD-LTE / WCDMA / TD-SCDMA /GSM / CDMA2000 / CDMA等4G模式,涵盖所有的3G及2G网络制式

    机身颜色:香槟金,亮黑色,樱粉金,摩卡金

    SIM卡类型:双Nano SIM卡槽,双卡双待

    导航:GPS/Glonass/北斗/伽利略

    指纹:按压式指纹传感器、面部识别

    8db795476802ae3ef2d3705b07ac6256.png

    mate10

    d37e943dd92d57a4f1f8decc0fa21fbb.gif

    mate10Pro

    7f7ea3452cde5a54da4cc0a60666dd4e.png

    mate10保时捷

    96d2f6a5b8ce3a10871c3e2be4a3204b.png

    mate10保时捷

    华为mate20、mate20Pro和mate20x参数

    发布时间:2018年10月26号

    售价:华为Mate 20:6GB+64GB为3999元:

    华为mate20Pro 6+128GB为5399元:

    mate20x 6+128GB为4999元

    系统:基于Android 9.0的EMUI9.0

    屏幕:mate20为6.53英寸水滴屏,2244×1080像素,381ppi,88.07%,TFT LCD(IPS),1670万色、DCI-P3,158.2×77.2×8.3mm

    mate20Pro为6.39英寸曲面刘海屏,538ppi,87.87%,157.8x72.3x8.6mm

    mate20x为7.2英寸水滴屏,2244x1080像素,346ppi,87.83%,174.6x85.4x8.15mm

    处理器:CPU海思麒麟980(双核NPU),CPU频率2x2.6GHz+2x1.92GHz+4x1.8GHz,GPUMali-G76

    内存:运行内存6GB,机身容量64GB,128GB

    续航:mate20电池容量4000mAh,支持4.5V/5A超级快充:

    mate20pro电池4200mAh,支持最大40W快充:

    mate20x电池5000毫安,22.5w快充

    其他功能:传感器重力感应,距离感应,光线感应,霍尔磁感应,红外感应,指纹识别,快速充电,NFC,陀螺仪,气压计,OTG功能,指南针、Camera激光对焦传感器、色温传感器

    拍照:mate20:后置摄像头1200万像素(广角,f/1.8 光圈)+1600万像素(超广角,f/2.2 光圈)+800万像素(长焦,f/2.4 光圈):前置摄像头2400万像素

    mate20Pro:后置4000万像素+2000万像素+800万像素,前置2400万像素,光圈后置f/1.8+f/2.2+f/2.4,前置f/2.0

    拍摄特色:自动对焦,相位对焦,激光对焦,光学变焦,人脸识别,全景拍摄,笑脸快门,连拍功能,HDR

    拍摄功能描述变焦模式:三摄变焦,2倍光学变焦、10倍数字变焦

    对焦方式:激光对焦、相位对焦、反差对焦

    超大广角、超微距、大光圈虚化、超级夜景、人像模式、专业模式、慢动作、全景模式、黑白艺术、趣AR、流光快门、HDR、延时摄影、智能滤镜、3D 动态全景、水印、文档矫正、AI 摄影大师、4D 预测追焦、熄屏快拍、笑脸抓拍、声控拍照、定时拍照

    SIM卡类型:nano SIM卡,双卡

    蓝牙:蓝牙v5.0,支持BLE、SBC、AAC,支持 aptX,支持 aptX HD、LDAC 和 HWA 高清音频

    WiFi(WLAN):2.4G/5G双频,IEEE 802.11 b/g/n/ac

    定位系统:支持 GPS(L1+L5 双频)、 AGPS 、Glonass 、 北斗 、 伽利略(E1+E5a 双频)、QZSS(L1+L5 双频)

    数据接口:USB Type C接口

    指纹识别:mate20后置指纹识别:

    mate20Pro屏下指纹和3D人类解锁

    3714f4a264de9fbacadc2f77a34c7516.png

    mate20

    ebca6c74bc9d15a877acb4a5648fc9db.png

    mate20Pro

    c34e5c56dbac847106da0a536f18e1b4.png

    mate20x

    707cdfa6234e77f05dcaae1ba5eb9625.png

    mate20RS

    展开全文
  • DM368开发 -- 华为3G/4G模块移植

    千次阅读 2017-06-23 09:54:51
     模块介绍,参看: ME909s-821 Mini PCIe 规格参数其他模块,参看:华为系列模块 产品介绍ME909s-821 Mini PCIe是ME909s-821的变形版本,标准Mini PCIe封装;支持下行150Mbps,上行50Mbps的传输速率;提供高质量...

    一、模块介绍

    用的是华为 ME909s-821 Mini PCIe。 

    模块介绍,参看: ME909s-821 Mini PCIe 规格参数

    其他模块,参看:华为全系列模块 产品介绍

    ME909s-821 Mini PCIe是ME909s-821的变形版本,标准Mini PCIe封装;支持下行150Mbps,上行50Mbps的传输速率;提供高质量的语音、短信功能;丰富的扩展功能:FOTA、USSD、IPV6/IPV4…;内置TCP/IP协议栈;华为扩展AT指令集… 是车载、跟踪、工业路由器、安防监控、工业平板等行业应用的理想产品。

    30.4mm

    51mm

    3.57mm

    重量

    <12g

    Mini-PCIe

    ME909s-821 Mini PCIe:

    LTE (FDD): B1,B3,B8

    LTE (TDD): B38, B39,B40,B41

    DC-HSPA+/HSPA+/HSPA/UMTS : B1, B5, B8,B9

    TD-SCDMA: B34, B39

    EDGE/GPRS/GSM : 900/1800 MHz

    DC-HSPA+ : 下行:42 Mbps, 上行: 5.76 Mbps

    LTE TDD : 下行: 112Mbps , 上行: 10Mbps (CAT4)

    LTE FDD: 下行:150 Mbps, 上行: 50 Mbps @Bandwidth 20M (CAT4)

    Mini PCIe interface

    Antenna interface

    USB 2.0 High speed

    PCM Voice

    SIM Card

    LED

    Power supply

    Reset

    3.2 V to 4.2V (typical: 3.8V)

    PCM语音

    DTMF

    -40℃ to 85℃

    CDC-ECM

    FOTA

    Firmware Update via USB

    Embedded UDP/TCP/FTP(s)/HTTP(s) stack

    High-speed UART

    CMUX

    Sleep mode

    Linux, Android, WinCE, Windows 8/10

    CCC

    NAL

    SRRC


    其中选择模块的时候一定要注意是否支持中国市场:

    ME909s-120, 支持欧洲, 亚太, 拉美等海外市场.
    ME909s-821, 支持中国市场
    ME909u-521(B1/B2/B3/B5/B7/B8/B20),欧洲市场
    ME909u-523(B2/B4/B5/B13/B17/B25/B26),北美市场
    ME909u-XXX(TBD),日本市场

    再有查看支持的频段,选择相应的联通或移动3G/4G上网卡。

    中国移动  
    GSM900   
    上行/下行:890-909MHz/935-954MHz 
    EGSM900  
    上行/下行:885-890MHz/930-935MHz (中国铁通GSM-R:885-889/930-934) 
    GSM1800M 上行/下行:1710-1720MHz/1805-1815MHz 
    3G TDD   1880-1900MHz 、2010-2025MHz 
    4G TD-LTE 1880 -1900 MHz、2320-2370 MHz、2575-2635 MHz
    中国联通 
    GSM900   
    上行/下行:909-915MHz/954-960MHz
    GSM1800  上行/下行:1740-1755MHz/1835-1850MHz 
    3G FDD   上行/下行:1940-1955MHz/2130-2145MHz 
    TD-LTE  2300-2320 MHz、2555-2575 MHz
    FDD-LTE 1755-1765MHz   1850-1860MHz
    FDD-LTE实际使用 1745-1765MHz   1840-1860MHz
    中国电信 
    CDMA800 上行/下行:825-835MHz/870-880MHz
    3G FDD  上行/下行:1920-1935MHz/2110-2125MHz 
    TD-LTE  2370-2390 MHz、2635-2655 MHz
    FDD-LTE 1765-1780MHz    1860-1875MHz

    二、相关文档

    下载:3G/4D 相关文档


    三、华为模块Linux 内核驱动集成指导

    上述的文档,根据名称都可以自行百度出来。根据指导手册一步一步的来配置内核驱动。

    这里只是说的是一些出现的问题:

    (1)首先要注意,它所支持的范围:

    我们用的是 linux-2.6.32 因为内核版本不同,没有usb_wwan.c usb_wwan.h usb_wwan_write 。所以将添加到上述文件里的内容,合并到option.c中去。

    (2)无法加载cmemk.ko  irqk.ko  edmak.ko等设备模块

    是因为版本不同造成的,需要重新编译


    下面只操作cmemk.ko 同理irqk.ko edmak.ko 
    find . -name cmemk.ko  


    重新编译cmemk.ko

    有下图可知,将新编译好的 cmemk.ko 拷贝到 
    /home/zslf/dm368/rootfs/zslf/rootfs-php/lib/modules/2.6.32.17-davinci1/kernel/drivers/dsp/
    然后重新烧写内核,根文件系统,uboot 


    (3)大小屏不兼容问题


    (4)davinci_interrupt 368: VBUS error workaround (delay coming) 与 只有4个ttyUSB 问题 

    模块使用不当造成的。就是上面所说的使用了欧洲版的模块。

    (5)AT 拨号

    AT 拨号指令可参看相关手册

    先贴出两个OK的3G PPP拨号AT指令

    《1》3G OK版ppp-on脚本

    #!/bin/sh
    
    
    USER="vpdn@chaoyang-uvpdn"
    PASSWORD="vpdn"
    DIAL="wcdma-connect-chat"
    TELEPHONE="*99#"          (为什么可以拨通移动的3G,但是不能拨通联通的3G呢?)
    APN="3gnet"                (而且3gnet,*99#,应该是联通的APN,和拨号号码啊?)
    
    
    i=`cat /proc/bus/usb/devices | grep ProdID=1573`
    
    
    if [ -z $i ];then
    CONTRAL=/dev/ttyUSB0
    else
    CONTRAL=/dev/ttyUSB2
    fi
    
    
    export TELEPHONE APN
    
    
    pppd                    \
            $CONTRAL        \
            115200          \
            nocrtscts       \
            modem           \
            debug           \
            noauth          \
            nodetach        \
            noipdefault     \
            usepeerdns      \
            defaultroute    \
            persist         \
            maxfail 1       \
            holdoff 5       \
            user $USER      \
            password $PASSWORD      \
            0.0.0.0:0.0.0.0 \
            connect "/bin/chat -E -s -v -f /etc/ppp/$DIAL"  \
            #connect "/bin/chat -s -v -f /etc/ppp/wcdma-connect-chat"       \
            #disconnect '/bin/chat -s -v -f /etc/ppp/wcdma-disconnect-chat' \

    《2》wcdma-connect-chat脚本

    #/etc/ppp/wcdma-connect-chat
    
    
    TIMEOUT 5
    ABORT "DELAYED"
    ABORT "BUSY"
    ABORT "ERROR"
    ABORT "NO DIALTONE"
    ABORT "NO CARRIER"
    #"AT
    #'OK-+++\c-OK' ATHO
    TIMEOUT 5
    
    
    ''      AT
    OK      AT+CGDCONT=1,"IP","$APN",,0,0
    OK      ATDT$TELEPHONE
    CONNECT '' 

    《3》大神PPP脚本   移动3G ok 

    #cd /etc/ppp/peers/
    
    /dev/ttyUSB0 
    9600	
    crtscts	
    modem	
    debug		
    nodetach
    defaultroute	
    user "cmnet"	
    usepeerdns	
    connect '/bin/chat -s -v -f /etc/ppp/peers/LTE-connect-chat'	
    disconnect '/bin/chat -s -v -f /etc/ppp/peers/LTE-disconnect-chat'	
    
    TIMEOUT 15	
    ABORT 'ERROR'	             
    ABORT 'NODIALTONE'	       
    ABORT 'BUSY'	     
    ABORT 'NOANSWER'	        
    '' AT	    
    OK AT+CGDCONT=1,\"IP\",\"cmnet\"	
    OK ATDT*99***1#	
    CONNECT	        
    
    ABORT  OK	
    ABORT  BUSY	
    ABORT  DELAYED	
    ABORT  "NOANSWER"
    ABORT  "NOCARRIER"	
    ABORT  "NODIALTONE"	
    ABORT  VOICE	
    ABORT  ERROR	
    ABORT  RINGING	
    TIMEOUT  12	
    ""  \K	
    ""  \K	
    ""  \K	
    ""  +++ATH	               
    ""  +++ATH	
    ""  +++ATH	
    ""  ATZ	               
    SAY "\nGoodbay\n"

    先要明白,4G模块有网卡,我们上面整个内核移植过程,EMC移植的网卡驱动。3G用可PPP拨号,但是4G的话,使用网卡。所以接下来是我们经过好几轮实现得出的OK版AT指令。

    int main(int argc,const char* argv[])
    {
    int ret = 0;
    	printf("### Serial_ttyUSB0_Init ###\n");
    	
    	ret = Serial_ttyUSB0_Init();
    	if(-1 == ret)
    	{
    		printf("### Failed to Serial_ttyUSB0_Init ###\n");
    		return -1;
    	}
    	printf("### Serial_ttyUSB0_Init End ###\n");
    
    	int CFUNFlag = 0;
    
    	while(!CFUNFlag)
    	{
    		printf("###  MU909_SetCFUN ###\n");
    		ret = MU909_SetCFUN(fd_serial,1);
    		if(-1 == ret)
    		{
    			CFUNFlag = 0;
    		}
    		else
    		{
    			CFUNFlag = 1;
    		}
    	}
     //当发生错误时,显示错误信息 
     
    	unsigned char * strCGACTCommand1 = "AT+CMEE=2\r";	
    	int CGACTFlag1 = 0;
    	while(!CGACTFlag1)
    	{
    		ret = ME3760_CGACT(fd_serial,strCGACTCommand1);
    		if(-1 == ret)
    		{
    			CGACTFlag1 = 0;
    		}
    		else
    		{
    			CGACTFlag1 = 1;
    		}
    	}
      //检查SIM是否存在
    	unsigned char * strCGACTCommand2 = "AT+CPIN?\r";	
    	int CGACTFlag2 = 0;
    	while(!CGACTFlag2)
    	{
    		ret = ME3760_CGACT(fd_serial,strCGACTCommand2);
    		if(-1 == ret)
    		{
    			CGACTFlag2 = 0;
    		}
    		else
    		{
    			CGACTFlag2 = 1;
    		}
    	}
      //PS域注册状态
    	unsigned char * strCGACTCommand3 = "AT+CEREG=2\r";	
    	int CGACTFlag3 = 0;
    	while(!CGACTFlag3)
    	{
    		ret = ME3760_CGACT(fd_serial,strCGACTCommand3);
    		if(-1 == ret)
    		{
    			CGACTFlag3 = 0;
    		}
    		else
    		{
    			CGACTFlag3 = 1;
    		}
    	}
      //查询和报告信号强度
    	unsigned char * strCGACTCommand4 = "AT^HCSQ?\r";	
    	int CGACTFlag4 = 0;
    	while(!CGACTFlag4)
    	{
    		ret = ME3760_CGACT(fd_serial,strCGACTCommand4);
    		if(-1 == ret)
    		{
    			CGACTFlag4 = 0;
    		}
    		else
    		{
    			CGACTFlag4 = 1;
    		}
    	}
      //查询当前运营商信息
    	unsigned char * strCGACTCommand5 = "AT+COPS?\r";	
    	int CGACTFlag5 = 0;
    	while(!CGACTFlag5)
    	{
    		ret = ME3760_CGACT(fd_serial,strCGACTCommand5);
    		if(-1 == ret)
    		{
    			CGACTFlag5 = 0;
    		}
    		else
    		{
    			CGACTFlag5 = 1;
    		}
    	}
      //配置扩展系统,选择联通CDMA还是移动LTE,是否支持漫游
    	unsigned char * strSysConfigArguments6 = 
    "AT^SYSCFGEX=\"03\",3fffffff,1,2,7fffffffffffffff,,\r"; 
    	int SysConfigFlag6 = 0;
    	while(!SysConfigFlag6)
    	{
    		ret = MU909_SysConfig(fd_serial,strSysConfigArguments6);
    		if(-1 == ret)
    		{
    			SysConfigFlag6 = 0;
    		}
    		else
    		{
    			SysConfigFlag6 = 1;
    		}
    	}
      //NDIS拨号
    	unsigned char * strCGACTCommand7 = "AT^NDISDUP=1,1,\"cmnet\"\r";	
    	int CGACTFlag7 = 0;
    	while(!CGACTFlag7)
    	{
    		ret = ME3760_CGACT(fd_serial,strCGACTCommand7);
    		if(-1 == ret)
    		{
    			CGACTFlag7 = 0;
    		}
    		else
    		{
    			CGACTFlag7 = 1;
    		}
    	}
    
    system("udhcpc -i usb0");
    	Serial_ttyUSB0_Release();
    return 0;
    }

    四、内核启动信息

    U-Boot 2010.12-rc2 (May 27 2014 - 16:50:48)
    
    Cores: ARM 297 MHz
    DDR:   243 MHz
    DRAM:  128 MiB
    NAND:  512 MiB
    Bad block table found at page 262080, version 0x01
    Bad block table found at page 262016, version 0x01
    Net:   Ethernet PHY: LXT972 @ 0x01
    DaVinci-EMAC
    Hit any key to stop autoboot:  2  1  0 
    
    NAND read: device 0 offset 0x400000, size 0x400000
     4194304 bytes read: OK
    ## Booting kernel from Legacy Image at 80700000 ...
       Image Name:   Linux-2.6.32.17-davinci1
       Created:      2015-11-23   9:14:53 UTC
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2243956 Bytes = 2.1 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK
    
    Starting kernel ...
    
    Uncompressing Linux.................................................................................................................................................. done, booting the kernel.
    Linux version 2.6.32.17-davinci1 (root@zslf-desktop) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #117 PREEMPT Mon Nov 23 17:14:48 CST 2015
    CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
    CPU: VIVT data cache, VIVT instruction cache
    Machine: DaVinci DM36x EVM
    Memory policy: ECC disabled, Data cache writeback
    DaVinci dm36x_rev1.2 variant 0x8
    Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 12192
    Kernel command line: dm365_imp.oper_mode=0 mem=48M console=ttyS0,115200n8 noinitrd rw ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs video=davincifb:osd0=720x480x16,4050K
    PID hash table entries: 256 (order: -2, 1024 bytes)
    Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
    Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
    Memory: 48MB = 48MB total
    Memory: 43900KB available (4216K code, 393K data, 148K init, 0K highmem)
    SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    Hierarchical RCU implementation.
    NR_IRQS:245
    Calibrating delay loop... 147.86 BogoMIPS (lpj=739328)
    Mount-cache hash table entries: 512
    CPU: Testing write buffer coherency: ok
    DaVinci: 8 gpio irqs
    NET: Registered protocol family 16
    davinci_serial_init:97: failed to get UART2 clock
    EVM: HD imager video input
    bio: create slab <bio-0> at 0
    DM365 IPIPE initialized in Continuous mode
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    pca9543a_probe
    vpss vpss: dm365_vpss vpss probed
    vpss vpss: dm365_vpss vpss probe success
    dm365_afew_hw_init
    lconfig->line_length is 0.
    ch0 default output "COMPOSITE", mode "NTSC"
    ###### vpbe_encoder_init ######
    ###### vid_enc_register_encoder ######
    ###### mgr->num_encoders is 0 ######
    ###### **ch_id is 0 ######
    ###### mode_info.name is NTSC ######
    ###### vpbe_encoder_initialize ######
    ###### output is COMPOSITE,outindex is 0 ######
    ###### vpbe_encoder_setoutput ######
    ###### dm365 = 1 ######
    ###### mode_info->std is 1 ######
    ###### mode is NTSC ######
    ###### 22VPBE Encoder initialized ######
    ###### vpbe_encoder_setoutput ######
    ###### dm365 = 1 ######
    ###### mode_info->std is 1 ######
    ###### mode is NTSC ######
    ###### dm365 = 1 ######
    ###### mode_info->std is 1 ######
    ###### mode is NTSC ######
    ###### 33encoder->mode_ops->setmode: error is 0 ######
    ###### davinci_enc_set_mode_platform : next davinci_enc_priv_setmode ######
    VPBE Encoder Initialized
    ###### 11VPBE Encoder Initialized ######
    Switching to clocksource timer0_1
    musb_hdrc: version 6.0, cppi-dma, host, debug=0
    musb_hdrc: USB Host mode controller at fec64000 using DMA, IRQ 12
    musb_hdrc musb_hdrc: MUSB HDRC host driver
    musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
    usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb1: Product: MUSB HDRC host driver
    usb usb1: Manufacturer: Linux 2.6.32.17-davinci1 musb-hcd
    usb usb1: SerialNumber: musb_hdrc
    usb usb1: configuration #1 chosen from 1 choice
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    NET: Registered protocol family 2
    IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
    TCP established hash table entries: 2048 (order: 2, 16384 bytes)
    TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    TCP: Hash tables configured (established 2048 bind 2048)
    TCP reno registered
    NET: Registered protocol family 1
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
    msgmni has been set to 85
    alg: No test for stdrng (krng)
    io scheduler noop registered
    io scheduler anticipatory registered (default)
    ###### davinci_enc_get_mode ######
    ###### davinci_get_cur_encoder ######
    ###### davinci_enc_get_mode ######
    ###### davinci_get_cur_encoder ######
    ###### davinci_enc_get_mode ######
    ###### davinci_get_cur_encoder ######
    davincifb davincifb.0: dm_osd0_fb: 720x480x16@0,0 with framebuffer size 4050KB
    davincifb davincifb.0: dm_vid0_fb: 0x0x16@0,0 with framebuffer size 1020KB
    ###### davinci_enc_get_mode ######
    ###### davinci_get_cur_encoder ######
    ###### davinci_enc_get_mode ######
    ###### davinci_get_cur_encoder ######
    davincifb davincifb.0: dm_osd1_fb: 720x480x4@0,0 with framebuffer size 675KB
    davincifb davincifb.0: dm_vid1_fb: 0x0x16@0,0 with framebuffer size 1020KB
    DM365 IPIPEIF probed
    imp serializer initialized
    davinci_previewer initialized
    davinci_resizer initialized
    davinci gpio led module init ....... 
    register davinci gpio module is ok ....... 
    Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
    serial8250.0: ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A
    console [ttyS0] enabled
    serial8250.0: ttyS1 at MMIO 0x1d06000 (irq = 41) is a 16550A
    brd: module loaded
    NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bit)
    nand_bbt: ECC error while reading bad block table
    Creating 5 MTD partitions on "davinci_nand.0":
    0x000000000000-0x0000003c0000 : "bootloader"
    0x0000003c0000-0x000000400000 : "params"
    0x000000400000-0x000000820000 : "kernel"
    0x000000820000-0x000008820000 : "filesystem"
    0x000008820000-0x000020000000 : "zslf"
    davinci_nand davinci_nand.0: controller rev. 2.3
    UBI: attaching mtd3 to ubi0
    UBI: physical eraseblock size:   131072 bytes (128 KiB)
    UBI: logical eraseblock size:    126976 bytes
    UBI: smallest flash I/O unit:    2048
    UBI: VID header offset:          2048 (aligned 2048)
    UBI: data offset:                4096
    usb 1-1: new high speed USB device using musb_hdrc and address 2
    usb 1-1: New USB device found, idVendor=12d1, idProduct=15c1
    usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    usb 1-1: Product: HUAWEI Mobile V7R11
    usb 1-1: Manufacturer: Huawei Technologies Co., Ltd.
    usb 1-1: SerialNumber: 0123456789ABCDEF
    usb 1-1: configuration #2 chosen from 3 choices
    UBI: attached mtd3 to ubi0
    UBI: MTD device name:            "filesystem"
    UBI: MTD device size:            128 MiB
    UBI: number of good PEBs:        1024
    UBI: number of bad PEBs:         0
    UBI: max. allowed volumes:       128
    UBI: wear-leveling threshold:    4096
    UBI: number of internal volumes: 1
    UBI: number of user volumes:     1
    UBI: available PEBs:             5
    UBI: total number of reserved PEBs: 1019
    UBI: number of PEBs reserved for bad PEB handling: 10
    UBI: max/mean erase counter: 2/1
    UBI: image sequence number: 0
    UBI: background thread "ubi_bgt0d" started, PID 354
    PPP generic driver version 2.4.2
    PPP Deflate Compression module registered
    PPP BSD Compression module registered
    PPP MPPE Compression module registered
    NET: Registered protocol family 24
    tun: Universal TUN/TAP device driver, 1.6
    tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
    
     cdc_bind,[546]
    usb0: register 'cdc_ether' at usb-musb_hdrc-1, CDC Ethernet Device, 02:1e:10:1f:00:00
    usbcore: registered new interface driver cdc_ether
    console [netcon0] enabled
    netconsole: network logging started
    Initializing USB Mass Storage driver...
    usbcore: registered new interface driver usb-storage
    USB Mass Storage support registered.
    usbcore: registered new interface driver usbserial
    USB Serial support registered for generic
    usbcore: registered new interface driver usbserial_generic
    usbserial: USB Serial Driver core
    USB Serial support registered for GSM modem (1-port)
    option 1-1:2.2: GSM modem (1-port) converter detected
    usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
    option 1-1:2.3: GSM modem (1-port) converter detected
    usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
    option 1-1:2.4: GSM modem (1-port) converter detected
    usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
    option 1-1:2.5: GSM modem (1-port) converter detected
    usb 1-1: GSM modem (1-port) converter now attached to ttyUSB3
    option 1-1:2.6: GSM modem (1-port) converter detected
    usb 1-1: GSM modem (1-port) converter now attached to ttyUSB4
    usbcore: registered new interface driver option
    option: v0.7.2:USB Driver for GSM modems
    usbcore: registered new interface driver usbtest
    rtc-ds1307 1-0068: rtc core: registered ds1339 as rtc0
    i2c /dev entries driver
    Linux video capture interface: v2.00
    ths7303 1-002c: chip found @ 0x58 (DaVinci I2C adapter)
    ths7303 1-002c: ths7303 write failed
    ths7303: probe of 1-002c failed with error -121
    vpfe_init
    vpfe-capture: vpss clock vpss_master enabled
    vpfe-capture vpfe-capture: v4l2 device registered
    vpfe-capture vpfe-capture: video device registered
    EVM: switch to tvp5150 SD video input
    tvp5150 1-005d: chip found @ 0x5d (DaVinci I2C adapter)
    vpfe-capture vpfe-capture: v4l2 sub device tvp5150 registered
    EVM: switch to tvp7002 HD video input
    vpfe-capture vpfe-capture: v4l2 sub device ths7353 register fails
    vpfe_register_ccdc_device: DM365 ISIF
    DM365 ISIF is registered with vpfe.
    af major#: 250, minor# 0
    AF Driver initialized
    aew major#: 249, minor# 0
    AEW Driver initialized
    ###### osd_init ######
    ### VPBE OSD DRIVER INIT ###
    Trying to register davinci display video device.
    layer=c10b1400,layer->video_dev=c10b1570
    Trying to register davinci display video device.
    layer=c10b1800,layer->video_dev=c10b1970
    davinci_init:DaVinci V4L2 Display Driver V1.0 loaded
    watchdog watchdog: heartbeat 60 sec
    davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
    Advanced Linux Sound Architecture Driver Version 1.0.21.
    No device for DAI tlv320aic3x
    No device for DAI davinci-i2s
    asoc: tlv320aic3x <-> davinci-i2s mapping ok
    ALSA device list:
      #0: DaVinci EVM (tlv320aic3x)
    TCP cubic registered
    NET: Registered protocol family 17
    Clocks: disable unused mmcsd1
    Clocks: disable unused spi0
    Clocks: disable unused spi1
    Clocks: disable unused spi2
    Clocks: disable unused spi3
    Clocks: disable unused spi4
    Clocks: disable unused pwm0
    Clocks: disable unused pwm1
    Clocks: disable unused pwm2
    Clocks: disable unused pwm3
    Clocks: disable unused timer1
    Clocks: disable unused timer3
    Clocks: disable unused emac
    Clocks: disable unused voice_codec
    Clocks: disable unused rto
    Clocks: disable unused mjcp
    davinci_emac_probe: using random MAC addr: b2:55:85:e9:2b:0e
    emac-mii: probed
    mmc0: new high speed SDHC card at address e624
    rtc-ds1307 1-0068: setting system clock to 2015-11-24 11:00:54 UTC (1448362854)
    mmcblk0: mmc0:e624 SU64G 59.4 GiB 
     mmcblk0: p1
    UBIFS: mounted UBI device 0, volume 0, name "rootfs"
    UBIFS: file system size:   126341120 bytes (123380 KiB, 120 MiB, 995 LEBs)
    UBIFS: journal size:       6348800 bytes (6200 KiB, 6 MiB, 50 LEBs)
    UBIFS: media format:       w4/r0 (latest is w4/r0)
    UBIFS: default compressor: lzo
    UBIFS: reserved for root:  4952683 bytes (4836 KiB)
    VFS: Mounted root (ubifs filesystem) on device 0:14.
    Freeing init memory: 148K
    INIT: version 2.86 booting
    Please wait: booting...
    Error Cannot open /dev/tty0: No such device or address
    Starting udev
    udev: starting version 141
    Root filesystem already rw, not remounting
    Caching udev devnodes
    Populating dev cacheFAT: bogus number of reserved sectors
    VFS: Can't find a valid FAT filesystem on dev mmcblk0.
    mv: cannot rename '/tmp/devices': No such file or directory
    EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
    kjournald starting.  Commit interval 5 seconds
    EXT3 FS on mmcblk0p1, internal journal
    EXT3-fs: mounted filesystem with writeback data mode.
    ALSA: Restoring mixer settings...
    Configuring network interfaces... eth0: attached PHY driver [LXT971] (mii_bus:phy_addr=1:01, id=1378e2)
    done.
    Setting up IP spoofing protection: rp_filter.
    INIT: Entering runlevel: 5
    Starting system message bus: dbus.
    Starting telnet daemon.
    Starting syslogd/klogd: done
    CMEMK module: built on Oct 26 2015 at 22:19:29
      Reference Linux version 2.6.32
      File /home/zslf/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02_bak/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
    allocated heap buffer 0xc7000000 of size 0x4400000
    heap fallback enabled - will try heap if pool buffer is not available
    CMEM Range Overlaps Kernel Physical - allowing overlap
    CMEM phys_start (0x1000) overlaps kernel (0x80000000 -> 0x83000000)
    cmemk initialized
    IRQK module: built on Oct 26 2015 at 22:17:36
      Reference Linux version 2.6.32
      File /home/zslf/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02_bak/packages/ti/sdo/linuxutils/irq/src/module/irqk.c
    irqk initialized
    EDMAK module: built on Oct 26 2015 at 22:16:49
      Reference Linux version 2.6.32
      File /home/zslf/dm368/dvsdk_dm368_4_02_00_06/linuxutils_2_26_01_02_bak/packages/ti/sdo/linuxutils/edma/src/module/edmak.c
    /zslf/appZSLF.sh: line 9: ppp_config_copy: not found
    start copy th config file from zslf/config to /etc/ppp/peers.
    cp: cannot stat '/zslf/config/ppp-off': No such file or directory
    cp: cannot stat '/zslf/config/ppp0_on_state.txt': No such file or directory
    ############## ZSLF  ##################
    start copy the config file from zslf to thttpd/www.
    /zslf/appZSLF.sh: line 17: ppp_config_copy: not found
    Create a shared memory segment 32769.
    24 Nov 11:01:09 ntpdate[993]: no servers can be used, exiting
    mkdir: cannot create directory '/media/mmcblk0p1/bak': File exists
    ## davinci_pio_led:ioctl:out: GPIO-81=1 now.ret= 0 ## 
    setrlimit ok
    FD_SETSIZE= 1024
    ### Serial_ttyUSB0_Init ###
    ### Complete serial_open ###
    ### Complete serial_config ###
    ### Complete fcntl ###
    ### Serial_ttyUSB0_Init End ###
    ###  MU909_SetCFUN ###
    start MU909_SetCFUN 
    ##strATCommand is AT+CFUN=1
    .
    AT+CFUN=1
    
    
    OK
    
    
    ##strATCommand is AT+CMEE=2
    .
    AT+CMEE=2
    
    
    OK
    
    
    ##strATCommand is AT+CPIN?
    .
    AT+CPIN?
    
    
    +CPIN: READY
    
    
    
    OK
    
    
    ##strATCommand is AT+CEREG=2
    .
    AT+CEREG=2
    
    
    OK
    
    
    ##strATCommand is AT^HCSQ?
    .
    AT^HCSQ?
    
    
    ^HCSQ: "LTE",52,49,166,34
    
    
    
    OK
    
    
    ##strATCommand is AT+COPS?
    .
    AT+COPS?
    
    
    +COPS: 0,0,"CMCC",7
    
    
    
    OK
    
    
    ##strATCommand is AT^SYSCFGEX="03",3fffffff,1,2,7fffffffffffffff,,
    .
    AT^SYSCFGEX="03",3fffffff,1,2,7fffffffffffffff,,
    
    
    OK
    
    
    ##strATCommand is AT^NDISDUP=1,1,"cmnet"
    .
    AT^NDISDUP=1,1,"cmnet"
    
    
    OK
    
    
    
    ^NDISSTAT: 1,,,"IPV4"
    
    
    
    ^NDISSTAT: 1,,,"IPV6"
    
    
    udhcpc (v1.13.2) started
    Sending discover...
    Sending select for 10.67.239.228...
    Lease of 10.67.239.228 obtained, lease time 518400
    adding dns 221.130.33.60
    adding dns 221.130.33.52
    ######## encode #########
    ### timenow->tm_year = 115 ###
    
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project http://arago-project.org dm368-evm ttyS0
    
    Arago 2011.02 dm368-evm ttyS0
    
    dm368-evm login: 24 Nov 11:01:32 ntpdate[1189]: no server suitable for synchronization found
    zslf module ok...
    dlsym load ok!
    ***after***
    #### parseStreamingArgs - streaming to [124.65.158.106:22616] ####
    #### parseStreamingArgs - streaming to [192.168.2.91:22616] ####
    #### parseVideoArgs - (0) 720x480 ####
    #### parseVideoArgs - (1) 720x480 ####
    #### parseAudioArgs - 44100,2,32000,1 ####
    ### parseArgs - config/devInfo.txt, Name:[联通小单?##### output_store ######
    ?56001],ID:[YS-###### davinci_get_cur_encoder ######
    56001] ###
    Encode streaming star###### vpbe_encoder_initialize ######
    ting...
    1
    2
    3
    4
    ###### output is COMPOSITE,outindex is 0 ######
    ###### vpbe_encoder_setoutput ######
    ###### dm365 = 1 ######
    ###### mode_info->std is 1 ######
    ###### mode is NTSC ######
    ###### 22VPBE Encoder initialized ######
    ###### vpbe_encoder_setoutput ######
    ###### dm365 = 1 ######
    ###### mode_info->std is 1 ######
    ###### mode is NTSC ######
    ###### davinci_enc_set_output : next davinci_enc_set_mode_platform ######
    ###### davinci_enc_set_mode_platform : next davinci_enc_priv_setmode ######
    ###### output_show ######
    ###### davinci_enc_get_output ######
    ###### davinci_get_cur_encoder ######
    ###### mode_store ######
    ###### davinci_enc_get_mode ######
    ###### davinci_get_cur_encoder ######
    ###### davinci_enc_set_mode ######
    ###### davinci_get_cur_encoder ######
    ###### dm365 = 1 ######
    ###### mode_info->std is 1 ######
    ###### mode is PAL ######
    ###### davinci_enc_set_mode : next davinci_enc_set_mode ######
    ###### davinci_enc_set_mode_platform : next davinci_enc_priv_setmode ######
    ###### mode_show ######
    ###### davinci_enc_get_mode ######
    ###### davinci_get_cur_encoder ######
    Found width=720 height=480, yres_virtual=480,xres_virtual=720, l###### davinci_enc_get_mode ######
    ###### davinci_get_cur_encoder ######
    ###### davinci_enc_get_mode ######
    ###### davinci_get_cur_encoder ######
    ###### davinci_enc_set_mode ######
    ###### davinci_get_cur_encoder ######
    ###### dm365 = 1 ######
    ###### mode_info->std is 1 ######
    ###### mode is PAL ######
    ###### davinci_enc_set_mode : next davinci_enc_set_mode ######
    ###### davinci_enc_set_mode_platform : next davinci_enc_priv_setmode ######
    ###### davinci_enc_get_mode ######
    ###### davinci_get_cur_encoder ######
    ine_length=384
    ###### davinci_enc_get_mode ######
    ###### davinci_get_cur_encoder ######
    ###### davinci_enc_get_mode ######
    ###### davinci_get_cur_encoder ######
    5
    6
    7
    sd write module ok...
    ____Mp4Recover module ok!
    /media/mmcblk0p1/video/temp/YS-56001_11-24_10h59m49s.mp4 Need to recover!
    ~~~~~~~~~~~~~~now! is ready to recover!
    now! is get_data!
    get data all!
    now! is make mp4!
    ### sps.pic_width_in_mbs_minus1 : 0
        sps.pic_height_in_map_units_minus1 : 0
        sps.vui_parameters.time_scale : 139596691
        sps.vui_parameters.num_units_in_tick : 376021250 ###
    now! is follow handle!
    __cgy in main all!
    sd write init ok## davinci_pio_led:ioctl:out: GPIO-47=0 now.ret= 0 ## 
    
    func_sd_input_data ok
    +
    ###READY TO PM###18
    there is a sd need to be mounted 0000
    ### name:[mpeg4enc] ###
    ### name:[h264enc] ###
    #davinci_resizer davinci_resizer.2: RSZ_G_CONFIG:0:1:124
    ## name:[mpeg2enc] ###
    ### name:[jpegenc] ###
    ### name:[g711enc] ###
    ### name:[aacenc] ###
    ###Ready to open encoder###
    davinci_previewer davinci_previewer.2: ipipe_set_preview_config
    ############
    v4l2_device_call_until_err sdinfo->grp_id : 5.
    vpfe-capture vpfe-capture: error in getting g_fmt from sub device
    ############
    v4l2_device_call_until_err sdinfo->grp_id : 5.
    ###succeed to open encoder###
    setrlimit ok
    FD_SETSIZE= 1024
    udp port multiplexing : 1
    #### InitUdpSocket - SO_RCVBUF : 217088, SO_SNDBUF : 217088 ####
    mount: /dev/mmcblk0p1 already mounted or /media/mmcblk0p1/ busy
    ###### len = 26 #########
    mount: according to mtab, /dev/mmcblk0p1 is already mounted on /media/mmcblk0p1
    add sd card
    ############# PUID:83
    bjwLgn.strModel:bjw-2013
    PUID=83
    ### do_login: sockfd = 32 
    Login response status : d
     ACK 
    vpfe-capture vpfe-capture: IPIPE Chained
    vpfe-capture vpfe-capture: Resizer present
    *****input=0****EVM: switch to tvp5150 SD video input
    ***
    ############
    v4l2_device_call_until_err sdinfo->grp_id : 5.
    ###j=1###
    ***  Video ASK Rep  *** 
    startdata ok!
    *****queryInput=0*******
    ############
    v4l2_device_call_until_err sdinfo->grp_id : 5.
    setsockopt ok!
    vpfe-capture vpfe-capture: width = 736, height = 480, bpp = 1
    vpfe-capture vpfe-capture: adjusted width = 736, height = 480, bpp = 1, bytesperline = 736, sizeimage = 529920
    vpfe-capture vpfe-capture: width = 736, height = 480, bpp = 1
    vpfe-capture vpfe-capture: adjusted width = 736, height = 480, bpp = 1, bytesperline = 736, sizeimage = 529920
    ### BJW_DealMsg - VIDEO: FORCE IDR ###
    BJW_DealMsg - CONNECTED 42
    ### videoThrFxn - video0 construct IDR ###
    ***succeed to get capture***
    ### sps.pic_width_in_mbs_minus1 : 0
        sps.pic_height_in_map_units_minus1 : 0
        sps.vui_parameters.time_scale : 139596691
        sps.vui_parameters.num_units_in_tick : 376021250 ###
    .
    dm368-evm login: 
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project http://arago-project.org dm368-evm ttyS0
    
    Arago 2011.02 dm368-evm ttyS0
    
    dm368-evm login: root
    
    root@dm368-evm:~# 

    五、相关博客

    ARM平台嵌入式Linux下使用3G/4G 模块

    原博客已删除,就怕这种事情发生哦,所以我自己写博客从来不会只给一个链接,必须还有标题。


    简介

    随着工业发展,嵌入式设备接入网络的需求日益增多,在没有有线或者无线以太网的环境下,直接通过3G/4G Modem连接运营商网络来接入互联网不失为一个好方法,本文就着重介绍基于ARM平台的嵌入式设备在Embedded Linux下使用3G/4G Modem的方法。

    目前市面上的3G/4G modem和主机的连接方式主要有串口、USB和mini-PCIE,串口模块比较传统且使用比较简单,而mini-PCIE在工业设备中目前应用还不广泛,因此本文使用USB 3G/4G modem来进行演示。

    硬件准备

    嵌入式平台基于Toradex Colibri i.MX6工业产品级ARM核心板搭配Colibri开发载板,Embedded linux采用Toradex官方发布兼容Yocto Project 的Linux V2.5版本。

    3G Modem使用华为 E303s WCDMA Modem,支持中国联通的3G网络

    Linux Kernel准备

    关于Linux kernel源代码下载及基本编译更新操作请参考这里,本文不再赘述,只简单列出操作如下:

    a). 下载Linux kernel源代码

    b). 下载安装Toolchain,并link到 “ ~/gcc-linaro “ 目录

    $ wget http://releases.linaro.org/14.11/components/toolchain/binaries/arm-linux-gnueabihf/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz

    $ tar xvf gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz

    $ ln -s gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf gcc-linaro

     

    c). 设置环境变量

    $ export ARCH=arm

    $ export PATH=~/gcc-linaro/bin/:$PATH

    $ export CROSS_COMPILE=arm-linux-gnueabihf-

     

    d). 配置

    $ make colibri_imx6_defconfig

    $ make menuconfig      //添加下面列出功能

    --------------------

    [*] Network device support  --->

           <*>   PPP (point-to-point protocol) support

           <*>     PPP BSD-Compress compression

            <*>     PPP Deflate compression

           [*]     PPP filtering

           <*>     PPP MPPE compression (encryption)

           [*]     PPP multilink support

           <*>     PPP over Ethernet

           <*>     PPP support for async serial ports

           <*>     PPP support for sync tty ports

     

    [*] USB support  --->

           <*>     USB Modem (CDC ACM) support

     

    [*] USB support  --->

        <*>   USB Serial Converter support  --->

                  <*>   USB driver for GSM and CDMA modems

    --------------------

     

    e). 重新编译kernel image

    $ make -j3 uImage LOADADDR=10008000 2>&1 | tee build.log

     

    f). 升级目标板

    根据本章节开始提供的参考升级目标板到新的kernel image

    相关软件准备

    1). PPP

    Toradex image默认已经安装,如果其他ARM平台image也是基于Yocto/OpenEmbedded环境编译,可以在local.conf文件中添加如下选项后编译

    -----------------

    IMAGE_INSTALL_append = " ppp"

    -----------------

    2). usb-modesiwtch-2.3.0

    a). 需要libusb-1.0.x,先从这里下载源文件并解压

    b). 使用上一章节配置的ToolChain如下设置交叉编译libusb

    $ sudo CC="/home/xxx/gcc-linaro/bin/arm-linux-gnueabihf-gcc" CXX="/home/xxx/gcc-linaro/bin/arm-linux-gnueabihf-g++" ./configure --host=arm-linux-gnueabihf --prefix=/home/xxx/gcc-linaro --disable-udev

    $ make

    $ make install

    c). 从这里下载usb-modesiwtch并解压

    d). 如下修改usb-modesiwtch 目录下Makefile

    ----------------

    CC          = ~/gcc-linaro/bin/arm-linux-gnueabihf-gcc

    CFLAGS      += -Wall -I/home/xxx/gcc-linaro/include -L/home/xxx/gcc-linaro/lib

    ----------------

    e).交叉编译usb-modesiwtch

    $ make

    f). 从这里下载usb-modeswitch-data,和上面步骤编译出的usb-modesiwtch可执行文件一起上传到目标板

    配置Modem连接网络

    目前比较新的3G/4G都支持Ethernet模式和Fallback模式,而老一些的模块只支持Fallback模式,请根据所需模块情况自行参考下面操作。

    1). Ethernet模式

    a). 将E303s 3G Modem连接目标板,由于Modem上包含为了给Windows系统提供驱动而部署的存储分区,Linux默认将设备识别成USB Mass Storage设备

    root@colibri-imx6:/home# lsusb

    Bus 001 Device 004: ID 12d1:1f01 Huawei Technologies Co., Ltd. E353/E3131 (Mass storage mode)

    ……

    b). 如下修改usb-modeswitch-data-20160112/usb_modeswitch.d目录下的12d1:1f01文件

    -----------------------

    # Huawei E303s Ethernet Mode

    DefaultVendor=0x12d1

    DefaultProduct=0x1f01

    TargetVendor=0x12d1

    TargetProduct=0x14db

    MessageEndPoint = "0x01"

    MessageContent="55534243123456780000000000000a11062000000000000100000000000000"

    ------------------------

    c). 使用usb-modeswitch工具将modem设置为Ethernet mode

    root@colibri-imx6:/home# ./usb_modeswitch -c 12d1:1f01

    ……

    root@colibri-imx6:/home# [  840.027676] usb 1-1.1: USB disconnect, device number 4

    [  840.284299] usb 1-1.1: new high-speed USB device number 6 using ci_hdrc

    [  840.427810] cdc_ether 1-1.1:1.0 eth1: register 'cdc_ether' at usb-ci_hdrc.0-1.1, CDC Ethernet Device, 58:2c:80:13:92:63

     

    lsusb查看

    root@colibri-imx6:/home# lsusb

    Bus 001 Device 005: ID 12d1:14db Huawei Technologies Co., Ltd. E353/E3131

    ……

    d). 查看网络,出现eth1,正确获取ip并连接到网络,下面就可以用使用以太网同样方法使用网络了

    root@colibri-imx6:/home# ifconfig

    ……

    eth1      Link encap:Ethernet  HWaddr 58:2C:80:13:92:63 

              inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0

              inet6 addr: fe80::5a2c:80ff:fe13:9263/64 Scope:Link

              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

              RX packets:37 errors:0 dropped:0 overruns:0 frame:0

              TX packets:69 errors:0 dropped:0 overruns:0 carrier:0

              collisions:0 txqueuelen:1000

              RX bytes:6899 (6.7 KiB)  TX bytes:10381 (10.1 KiB)

    ……

    e). 验证网络连接

    root@colibri-imx6:/home# ping www.baidu.com

    PING www.baidu.com (61.135.169.121): 56 data bytes

    64 bytes from 61.135.169.121: seq=0 ttl=51 time=88.261 ms

    64 bytes from 61.135.169.121: seq=1 ttl=51 time=77.998 ms

    64 bytes from 61.135.169.121: seq=2 ttl=51 time=68.410 ms

    64 bytes from 61.135.169.121: seq=3 ttl=51 time=68.242 ms

    64 bytes from 61.135.169.121: seq=4 ttl=51 time=68.166 ms

    2). Fallback模式

    有一些较老型号的2G/3G Modem只支持这个模式,无需再用usb-modeswitch转换,可以直接参考下面转换后的操作部分。

    a). 如下修改usb-modeswitch-data-20160112/usb_modeswitch.d目录下的12d1:1f01文件

    -----------------------

    # Huawei E303s Fallback Mode

    DefaultVendor=0x12d1

    DefaultProduct=0x1f01

    TargetVendor=0x12d1

    TargetProduct=0x1001

    MessageEndPoint = "0x01"

    MessageContent="55534243123456780000000000000011063000000100010000000000000000"

    NoDriverLoading=0

    ------------------------

    b). 使用usb-modeswitch工具将modem设置为Fallback mode

    root@colibri-imx6:/home# ./usb_modeswitch -c 12d1\:1f01

    ……

    root@colibri-imx6:/home# [ 2090.566190] usb 1-1.1: new high-speed USB device number 8 using ci_hdrc

    [ 2090.701092] option 1-1.1:1.0: GSM modem (1-port) converter detected

    [ 2090.713488] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB0

    [ 2090.723517] option 1-1.1:1.1: GSM modem (1-port) converter detected

    [ 2090.731817] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB1

    [ 2090.740318] option 1-1.1:1.2: GSM modem (1-port) converter detected

    [ 2090.748184] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB

     

    lsusb 查看

    root@colibri-imx6:/home# lsusb

    Bus 001 Device 008: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem

    ……

    c). 测试连接

    root@colibri-imx6:/home# ls -l /dev/ttyUSB*

    crw-rw----    1 root     dialout   188,   0 Apr 11 09:49 /dev/ttyUSB0

    crw-rw----    1 root     dialout   188,   1 Apr 11 09:49 /dev/ttyUSB1

    crw-rw----    1 root     dialout   188,   2 Apr 11 09:49 /dev/ttyUSB2

     

    root@colibri-imx6:/home# minicom -D /dev/ttyUSB0

    ------------------

    Welcome to minicom 2.7

    OPTIONS: I18n

    Compiled on Nov  3 2015, 04:06:26.

    Port /dev/ttyUSB0, 09:53:44

    Press CTRL-A Z for help on special keys

     

    AT

    OK

    --------------------

    d). 编写ppp连接配置文件wcdma, wcdma-chat-connect和wcdma-chat-disconnect

    root@colibri-imx6:/etc/ppp/peers# vi wcdma

    -----------------

    nodetach

    lock

    /dev/ttyUSB0

    115200

    user "card"

    password "card"

    crtscts

    #hide-password

    show-password

    usepeerdns

    noauth

    noipdefault

    novj

    novjccomp

    noccp

    defaultroute

    ipcp-accept-local

    ipcp-accept-remote

    connect '/usr/sbin/chat -s -v -f /etc/ppp/peers/wcdma-chat-connect'

    disconnect '/usr/sbin/chat -s -v -f /etc/ppp/peers/wcdma-chat-disconnect'

    ----------------------

     

    root@colibri-imx6:/etc/ppp/peers# vi wcdma-chat-connect

    --------------------

    ABORT "BUSY"

    ABORT "NO CARRIER"

    ABORT "NO DIALTONE"

    ABORT "ERROR"

    ABORT "NO ANSWER"

    TIMEOUT 120

    "" AT

    OK \rATZ

    OK \rAT+CGDCONT=1,"IP","3gnet",,0,0

    OK-AT-OK ATDT*99#

    CONNECT \d\c

    --------------------------

     

    root@colibri-imx6:/etc/ppp/peers# vi wcdma-chat-disconnect

    -----------------------

    ABORT "ERROR"

    ABORT "NO DIALTONE"

    SAY "\NSending break to the modem\n"

    ""\k"

    ""+++ATH"

    SAY "\nGood bay\n"

    ---------------------------

    e). 连接网络

    root@colibri-imx6:/etc/ppp/peers# pppd call wcdma

    ……

    ATDT*99#^M^M

    CONNECT

     -- got it

     

    send (\d)

    Serial connection established.

    Using interface ppp0

    Connect: ppp0 <--> /dev/ttyUSB0

    CHAP authentication succeeded: Welcome!!

    CHAP authentication succeeded

    Could not determine remote IP address: defaulting to 10.64.64.64

    local  IP address 10.91.228.253

    remote IP address 10.64.64.64

    primary   DNS address 221.12.1.227

    secondary DNS address 221.12.33.227

     

    查看网络状态

    root@colibri-imx6:/etc/ppp/peers# ifconfig

    ……

    ppp0      Link encap:Point-to-Point Protocol 

              inet addr:10.23.107.61  P-t-P:10.64.64.64  Mask:255.255.255.255

              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1

              RX packets:6 errors:0 dropped:0 overruns:0 frame:0

              TX packets:6 errors:0 dropped:0 overruns:0 carrier:0

              collisions:0 txqueuelen:3

              RX bytes:84 (84.0 B)  TX bytes:102 (102.0 B)

    f). 测试网络

    root@colibri-imx6:/etc/ppp/peers# echo nameserver 221.12.1.227 > /etc/resolv.conf                 //设置DNS服务器

    root@colibri-imx6:/etc/ppp/peers# ping www.baidu.com

    PING www.baidu.com (61.135.169.121): 56 data bytes

    64 bytes from 61.135.169.121: seq=0 ttl=52 time=218.477 ms

    64 bytes from 61.135.169.121: seq=1 ttl=52 time=68.066 ms

    64 bytes from 61.135.169.121: seq=2 ttl=52 time=107.773 ms

    64 bytes from 61.135.169.121: seq=3 ttl=52 time=77.604 ms

    64 bytes from 61.135.169.121: seq=4 ttl=52 time=77.339 ms

     

    总结

    根据上述两种模式的测试结果,第一种Ethernet mode相对速度要更稳定一些,因此对于支持两种模式的modem更建议采用Ethernet mode;另外串口modem使用配置也可以参考Fallback mode。本文虽以E303s为例,但其他3G/4G Modem的配置也是类似,只是需要确定对应模式的Vendor ID,Product ID和Message。

    参考文档

    https://www.toradex.cn/zh_cn/computer-on-modules/colibri-arm-family/nxp-freescale-imx6

    https://www.toradex.cn/zh_cn/products/carrier-board/colibri-evaluation-carrier-board

    http://developer.toradex.com/software/linux/linux-software

    http://www.draisberghof.de/usb_modeswitch/

    http://www.cnblogs.com/ziqiuqiandao/archive/2013/06/06/3120972.html


    扩展:


    USB 3G卡热插拔那些事


    http://blog.chinaunix.NET/uid/20786208/cid-155003-abstract-1.html

    六、相关博客




    展开全文
  • 华为Mate40系列将会搭载麒麟9000处理器,采用5nm工艺制程、A77 CPU架构以及Mali G77 GPU;拥有8GB/12GB内存+128GB/256GB/512GB的存储组合,采用了屏下指纹识别设计。 华为mate30更多使用感受和评价:...
  • 设置使用默认配置启动| <2> Set Startup Application Software and Configuration |Enter your choice(0-6): 2 //此处选择2,进入设置启动文件和配置文件的子菜单。Current boot application software: ...1&g...
  • 今天下午,华为P30系列正式在国内发布,全系标配麒麟980处理器。当然,发布会重点依然是P30 Pro,该机搭载一块6.47英寸OLED水滴曲面屏,采用后置四摄设计,支持5倍光学变焦,10倍混合变焦,50倍数码变焦,以112分再...
  • 9月6日,华为正式发布了最新的麒麟990系列处理器,其中麒麟990 5G作为首款集成5G基带芯片的5G SoC,更是拿下了六个全球第一。不过,大家也注意到,麒麟990及麒麟990 5G都并未采用最新的Arm Cortex-A77 CPU内核,而是...
  • 9月6日,华为正式发布了最新的麒麟990系列处理器,其中麒麟990 5G作为首款集成5G基带芯片的5G SoC,更是拿下了六个全球第一。不过,大家也注意到,麒麟990及麒麟990 5G都并未采用最新的Arm Cortex-A77 CPU内核,而是...
  • 型号:TD1000,TD2000华为TD1000,TD2000系列变频器1.TD1000G系列(单相,220V)型号 功率(KW)TD1000-2S0007G 0.75TD1000-2S0015G 1.5TD1000-2S0022G 2.22.TD1000G系列(三相,380V)型号 功率(KW)TD1000-4T0007G ...
  • 华为3G业务创新成3GSM展会焦点 刚刚过去的2006年3G大会首次移师巴塞罗那,盛况空前。华为技术有限公司(“华为”)再次以全面的产品系列和端到端综合解决方案的提供商身份高调亮相,并通过3G业务演示等...
  • 小米 11 手机厚度 8.06mm,重量 196g,拥有细腻的磨砂玻璃,全新的相机排布设计,除此之外还带来了 Tech & Fashion 素皮款,给你柔软触感。小米 11 手机还包括白色、黑色、蓝色、烟紫(素皮)...
  • 12月9日消息,华为台式机HUAWEI MateStation B515系列终于在京东上架开卖了。AMD R5-4600G处理器,售价3599元到4598元都有。起步价和之前11月底的爆料一致,但暂时开卖的是中低配版本,最高价格比爆料中5599元的顶配...
  • 近期关于5G手机的消息得到了极大的关注,其中华为旗下即将上市的首款5G手机华为Mate20 X5G版更是备受消费者的期待。而相比前期售价不会便宜的5G手机,即将在下半年亮...
  • 本课程全面、系统、深入地介绍了华为AR G3系列路由器所支持主要拨号WAN接入方式技术原理和配置与管理方法,包括DCC、3G Cellular、4G LTE Cellular、PPP、MP、PPPoE、ADSL、VDSL、G.SHDSL等常用的一些WAN接入方式。...
  • 近日,华为畅享系列大家庭又迎来了一位全新成员,那就是专供线上销售的华为畅享Z。作为一款千元5G手机,华为畅享Z不仅在外观颜值、拍照以及屏幕等方面的表现十分出色,更是喜好尝鲜新科技的年轻用户带来了绝佳5G网络...
  • 2020年5月24日,华为畅享系列的最新机型华为畅享Z正式登场,作为一款专门为“Z世代”年轻用户群体打造的纯线上销售的5G机型,华为畅享Z迎合他们热情、热爱、主动、活力的特性,带来了“千元5G,一步到位”的购机选择...
  • H3C S5500-SI系列交换机是华为3Com公司自主开发的全千兆三层以太网交换机产品,具备丰富的业务特性,提供IPv6转发功能以及最多4个10GE扩展接口,支持PoE功能。
  • 8月5日,华为发布了业界首款F5G加持的工业级智能光终端(华为星光系列天机T863E),以及下一代硬管道技术Liquid OTN。同时,华为携手产业合作伙伴发布 “星光计划”,提出未来5...
  • 还吊打三星、苹果等一系列手机商家!▼华为Mate X 正式亮相!5G、屏幕还能折叠!再次成为了全球的焦点!▼-1-首款5G商用折叠屏手机一起来818这炫酷到炸的手机究竟是怎样的!折叠屏设计:华为Mate X采用的是外折设计...
  • 作为华为公司产品之一的SDH光传输产品——OptiX 系列155、622、2.5G、10G等产品已经被越来越多地用来组建各级传输网络。 您是我们尊敬的客户,如果准备学习我公司的OptiX 系列光传输产品,那么本课程SDH原理正好适合...
  • 导语:看科技资讯,品鉴最新最全的科技新闻,了解当今科技发展水平。...众所周知,华为正式在9月6日发布了万众期待的麒麟990芯片,这一次华为一共带来了两款麒麟990系列芯片,一款是支持4G的麒麟990普通...
  • 华为nova8什么时候上市

    千次阅读 2020-11-01 21:26:22
    爆料称华为nova8系列将在年底发布 包括nova8 SE、nova8和nova8 Pro三款手机。 华为手机爆降800 这活动太给力了 机会不容错过 https://www.huawei.com 其中,华为nova8 SE采用天玑820芯片,8GB+128GB版售价2799元。 ...
  • 本课程全面、系统、深入地介绍了华为AR G3系列路由器所支持主要拨号WAN接入方式技术原理和配置与管理方法,包括DCC、3G Cellular、4G LTE Cellular、PPP、MP、PPPoE、ADSL、VDSL、G.SHDSL等常用的一些WAN接入方式。...
  • 华为nova5系列 你比夜色更美华为首款后置4800万AI四摄旗舰级40W超级快充旗舰级麒麟980/810芯片旗舰级8GB+256GB大内存旗舰级光学屏内指提货价nova5(8G+128G) 2336元/台nova5Pro(8G+128G)2520元/台nova5Pro(8G+256G)...
  • 杰尔系统 Agere Systems (NYSE: AGR) 在近日于香港召开的3G全球峰会上宣布:全球领先的无线设备供应商华为技术在面向融合市场的下一代多业务、多协议的灵活无线局端设备中采用杰尔系统的TrueAdvantage:trade_...
  • 华为出售荣耀后相信大家都在关心下一步会怎么操作,这不新的方向来了,华为台式机MateStation B515台式机,系列共有五个配置价格分别是3599-5599区间,这价格走零售渠道都有一定竞争力,走商用渠道那应该是爆炸式的...
  • 2020年12月23日,根据多家科技媒体的消息,华为召开新品发布会,正式发布了预热已久的华为nova8系列新机。和之前互联网上的爆料信息一致,本次发布的华为nova8分为nova8和nova8 Pro两个版本,再加上之前已经发布开卖...

空空如也

空空如也

1 2 3 4 5 6
收藏数 109
精华内容 43
关键字:

华为g系列