USB_ModeSwitch官网: USB_ModeSwitch - Handling Mode-Switching USB Devices on Linux

USB_ModeSwitch for Android 7下载: https://download.csdn.net/download/sunrain_hjb/10573201

测试环境:APQ8096、Android 7(userdebug)、HUAWEI E8372

测试步骤:

1.插入HUAWEI E8372模块并稍等片刻,运行lsusb命令检测模块状态,12d1:1f01即为HUAWEI E8372,此时为Stroage模式。

msm8996:/sys/bus/usb/devices # lsusb
Bus 001 Device 004: ID 12d1:1f01
Bus Device : ID 1d6b:
Bus Device : ID 1d6b:

2.运行命令 adb shell usbmodeswitch -W -v 12d1 -p 1f01 -M '55534243123456780000000000000011062000000101000100000000000000" 切换模式

adb shell usbmodeswitch -W -v 12d1 -p 1f01 -M ''
Take all parameters from the command line * usb_modeswitch: handle USB devices with multiple modes
* Version 2.5. (C) Josua Dietze
* Based on libusb1/libusbx ! PLEASE REPORT NEW CONFIGURATIONS ! DefaultVendor= 0x12d1
DefaultProduct= 0x1f01
MessageContent="" Look for default devices ...
found USB ID 12d1:1f01
vendor ID matched
product ID matched
found USB ID 1d6b:
found USB ID 1d6b:
Found devices in default mode ()
Access device on bus
Get the current device configuration ...
Current configuration number is
Use interface number
with class
Use endpoints 0x01 (out) and 0x81 (in) USB description data (for identification)
-------------------------
Manufacturer: HUAWEI_MOBILE
Product: HUAWEI_MOBILE
Serial No.: 0123456789ABCDEF
-------------------------
Looking for active drivers ...
OK, driver detached
Set up interface
Use endpoint 0x01 for message sending ...
Trying to send message to endpoint 0x01 ...

3.再次运行命令lsusb,检测切换后的状态,12d1:14db即切换为Modem模式后的HUAWEI E8372

msm8996:/sys/bus/usb/devices # lsusb
Bus 001 Device 005: ID 12d1:14db
Bus Device : ID 1d6b:
Bus Device : ID 1d6b:

对应的dmesg信息如下:

[  105.249217] msm-dwc3 .hsusb: DWC3 exited from low power mode
[ 105.249255] dwc3_ext_event_notify():cancel HRTIMER
[ 105.490266] usb -: new high-speed USB device number using xhci-hcd
[ 105.631944] usb 1-1: New USB device found, idVendor=12d1, idProduct=1f01
[ 105.631965] usb -: New USB device strings: Mfr=, Product=, SerialNumber=
[ 105.631976] usb -: Product: HUAWEI_MOBILE
[ 105.631988] usb -: Manufacturer: HUAWEI_MOBILE
[ 105.631999] usb -: SerialNumber: 0123456789ABCDEF
[ 105.642186] usb-storage -:1.0: USB Mass Storage device detected
[ 105.643755] transfer actual length=, result=
[ 105.643966] scsi host1: usb-storage -:1.0
[ 105.644740] usb -: USB disconnect, device number
[ 106.220296] usb -: new high-speed USB device number using xhci-hcd
[ 106.361999] usb 1-1: New USB device found, idVendor=12d1, idProduct=14db
[ 106.362039] usb -: New USB device strings: Mfr=, Product=, SerialNumber=
[ 106.362066] usb -: Product: HUAWEI_MOBILE
[ 106.362091] usb -: Manufacturer: HUAWEI_MOBILE
[ 106.376414] cdc_ether 1-1:1.0 eth0: register 'cdc_ether' at usb-xhci-hcd.0.auto-1, CDC Ethernet Device, 0c:5b:8f:27:9a:64
[ 106.382937] cdc_ether -:1.0 eth0: kevent may have been dropped
[ 106.394406] cdc_ether -:1.0 eth0: kevent may have been dropped
[ 106.397866] cdc_ether -:1.0 eth0: kevent may have been dropped
[ 106.397879] cdc_ether -:1.0 eth0: kevent may have been dropped
[ 106.403253] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 106.744979] SELinux: initialized (dev fuse, type fuse), uses mountpoint labeling
[ 114.922234] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

4.运行ifconfig命令,查看eth0的状态,并对比连接PC端时的状态

5.运行route和ping等命令,检查网络连接

msm8996:/ # route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.8.0 0.0.0.0 255.255.255.0 U eth0

6.在Chrome浏览器中测试网络连接,具体如下图所示。

USB_ModeSwitch for Android 7的更多相关文章

  1. 【Android 系统开发】 编译 Android文件系统 u-boot 内核 并烧写到 OK-6410A 开发板上

    博客地址 : http://blog.csdn.net/shulianghan/article/details/40299813  本篇文章中用到的工具源码下载 : -- ok-6410A 附带的 A ...

  2. 在Linux下adb连接不上android手机的终极解决方案

    转自: http://blog.csdn.net/liuqz2009/article/details/7942569 1.做android开发的过程,碰到了Linux下adb识别不了android设备 ...

  3. 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新

    本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...

  4. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  5. Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记

    以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...

  6. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  7. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  8. 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新

    [原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...

  9. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

随机推荐

  1. Netty源码—四、事件处理

    前面经过channel初始化.注册,所需要的数据结构(epoll_event)基本上准备好了,serverSocket也处于监听状态,可以接收来自客户端的请求了.NioServerSocketChan ...

  2. DSAPI 网页获取本地程序登陆用户

    这是一个非常简单的示例,在网页或其他平台获取程序中已经登陆的用户,当然也可以是其他信息. 源码 Imports DSAPI.网络.HTTP监听_DSWebAPI Public Class Form1 ...

  3. 入门rocketmq从浅到深

    目录 一.引言 二.介绍 三.Rocketmq关键概念 1.主题与标签 2.发送与订阅群组 3.Broker与NameServer 4.广播消费与集群消费 5.消息队列 6.集群方式 7.顺序消息 8 ...

  4. Api管家系列(三):测试和Rest Client

    今天我们来看一下Api管家的测试功能 在项目首页可以看到,测试过的接口和未测试的接口,点击环型图能列出相应的接口 我们选择未测试的,这些接口我都已经实现好了,只是没有用API管家进行测试,所以还显示未 ...

  5. 通信(二):进程间通信之socket

    一.为什么要学习socket? 我们打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?我们用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket.本地的进程间通 ...

  6. Video/Audio禁止快进(退)

    首先接着上个随笔.上个随笔主要介绍了视频音频的相关操作.属性和方法.这里主要记录一个应用:禁止快进(快退同理). 思路:监听快进事件(此处是监听播放时间更新),利用一个缓存的时间和播放到的时间进行对比 ...

  7. 2. VIM 系列 - 初探vim配置文件

    目录 配置文件 .vimrc 基本配置 tab 键设置 热键配置 配置文件 刚安装vim默认配置,功能是很简单的,vim的功能很多是需要配置开启的. .vimrc 使用vim打开配置文件~/.vimr ...

  8. Python题集:2019春Python程序设计选修课习题笔记

    一.判断题: 1-1.在Python 3.x中可以使用中文作为变量名. 答案:√ 1-2.Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型. 答案:× 1-3.Python ...

  9. Java基础——集合(持续更新中)

    集合框架 Java.util.Collection Collection接口中的共性功能 1,添加 booblean add(Object obj);  往该集合中添加元素,一次添加一个 boolea ...

  10. 详细介绍Spring Boot 2.0的那些新特性与增强

    以Java 8 为基准 Spring Boot 2.0 要求Java 版本必须8以上, Java 6 和 7 不再支持. 内嵌容器包结构调整 为了支持reactive使用场景,内嵌的容器包结构被重构了 ...