andriod usb gadget

usb gadget composite:
        echo 0 > /sys/class/android_usb/android0/enable
        echo mass_storage > /sys/class/android_usb/android0/functions  也可以 echo "mass_storage,rndis_qc,ffs" > /sys/class/android_usb/android0/functions
        echo 1 > /sys/class/android_usb/android0/enable
        echo /dev/mmcblk0p2 > /sys/class/android_usb/f_mass_storage/lun/file

因为不能共享存储,所以需要动态切换

echo "/sbin/hotplug" > /proc/sys/kernel/hotplug

#!/bin/sh
if [ "${SUBSYSTEM}" = "android_usb" ]; then
    if [ "${USB_STATE}" = "CONNECTED" ]; then
        umount /my/mount/point/
        echo /dev/mmcblk0p2 >
        /sys/class/android_usb/f_mass_storage/lun/file
    fi
    if [ "${USB_STATE}" = "DISCONNECTED" ]; then
        mount /my/mount/point/
    fi
fi
exit 1

原文地址:https://www.cnblogs.com/stachal/p/8759162.html

时间: 2024-10-11 05:32:15

andriod usb gadget的相关文章

Linux USB gadget 网络体验

平台:Mini2440 系统:linux-2.6.32.2 主机:Windows 配置USB gadget功能中的usbnet时,主要工作是加载g_ether.ko模块,但是试了好几次插到电脑上,都是没反应,windows识别不到设备,查 阅资料后才知道是USB接口的上拉问题,mini2440通过GPC5来上拉USB接口,只有这样主机才能识别到设备并提示安装设备.整合了资料后解决了 问题,步骤: 打开mach-mini2440.c添加代码: [html] view plaincopy stati

Linux usb gadget configfs用法

Linux 3.0新的USB gadget configfs.c驱动的用法如下所示: 挂载configfs文件系统: # mount -t configfs none /sys/kernel/config # cd /sys/kernel/config # ls usb_gadget # cd usb_gadget 创建g1目录,实例化一个新的gadget模板: # mkdir g1 # cd g1 # ls UDC  bDeviceProtocol    bMaxPacketSize0    

CVE-2016-2502-drivers/usb/gadget/f_serial.c in the Qualcomm USB driver in Android. Buffer Overflow Vulnerability reported by #plzdonthackme, Soctt.

CVE-2016-2502-drivers/usb/gadget/f_serial.c in the Qualcomm USB driver in Android.Buffer Overflow Vulnerability reported by #plzdonthackme, Soctt. struct ioctl_smd_write_arg_type { char *buf; unsigned int size; }; #define GSERIAL_BUF_LEN 256 char smd

USB gadget 驱动 printer.c 分析

1. modprobe g_printer idVendor=0x0525 idProduct=0xa4a8 modprobe后面也可以加模块参数 2. prn_example从stdout获取数据然后通过USB发送出去,下面让他将文件中的内容发送出去: # cat data_file | prn_example -write_data 3.pdev = device_create(usb_gadget_class, NULL, devt, NULL, "g_printer%d", d

USB Gadget API for Linux

USB Gadget API for Linux Author: David Brownell Date: 20 August 2004 Introduction This document presents a Linux-USB “Gadget” kernel mode API, for use within peripherals and other USB devices that embed Linux. It provides an overview of the API struc

Linux usb gadget框架概述

很幸运,在公司开发了gadget相关驱动,总结下来,大大小小开发了四个与gadget相关的驱动,字符驱动.g_multi.g_ether.g_zero,在这里把自己对gadget的开发中自己的感悟记录之. 想要了解gadget,必须了解其框架,知道composite.gadget.udc三者之间的联系,知道usb描述符的作用. 一个usb device有一个设备描述符. 有一个或者多个配置描述符 一个配置描述符有一个或者多个接口(在gadget端,接口正式命名是usb_func). 一个接口有一

Android USB Gadget复合设备驱动(打印机)测试方法

启动Android打印机设备,并用USB线连接电脑主机及Android打印机. Android打印机系统启动完成后,在Windows设备管理器中,可以看到Android Phone设备和USB打印支持. 同时,在打印管理——打印服务器——本地——打印机里可以看到Generic / Text Only打印机. 修改Generic / Text Only打印机的属性,字体选择中的代码页设置为简体中文(936). 在终端(如Xshell)中输入adb shell,并输入cat /dev/ffan_pr

AM335X的USB otg网卡(RNDIS /Ethernet Gadget)调试

重新编译内核(2.6.29)       2.6.29内核        Device Drivers ---> USB support --->   USB Gadget Support --->        其中 USB Peripheral Controller 选 S3C2410 USB Device Controller       然后再选一个内核自带的Gadget驱动程序来做演示,这里就选 Ethernet Gadget (with CDC Ethernet suppor

DM816X 实现 USB HID Gadget 鼠标键盘功能

开发环境: 平台: DM8168 内核 :linux 2.6.32 RDK:DVRRDK_04.00.00.03 USB口:DM8168有两个USB口可供选择,因为特殊原因我选择的是USB1,请根据实际需要选择USB口 ,下面的配置会稍微有些不同. 1配置内核 依据参照http://processors.wiki.ti.com/index.php/DM81xx_AM38XX_USB_User_Guide#Introduction http://processors.wiki.ti.com/ind