【问题标题】:How to disable android device usb port如何禁用安卓设备的usb端口
【发布时间】:2015-01-13 21:19:30
【问题描述】:

我正在尝试搜索是否有办法禁用 android 设备 USB 端口,主要是软件级别。所以用户仍然可以为安卓设备充电,但不能与电脑通信。

我在link1 中得到了一些线索。但看起来这不是一个简单的方法。

Android 操作系统是基于 Linux 的操作系统。所以我想知道Android OS中是否有一个配置文件允许root用户禁用usb端口,比如Linux OS中路径/etc下的文件。

【问题讨论】:

  • 你想达到什么目的?
  • @tangrs 我试图防止用户破坏通过usb用作办公设备的android设备。

标签: android linux operating-system usb


【解决方案1】:

编辑:在 android 终端模拟器中使用此命令。需要 Root 权限,但您可以在超级用户上设置密码,这样其他人就无法撤消此操作或编辑脚本:

echo 0 > /sys/devices/virtual/android_usb/android0/enable

或者...

su -c 'echo 0 > /sys/devices/virtual/android_usb/android0/enable'

要自动执行此操作,您需要编写一个脚本并将其放入 /system/etc/init.d,比如 /system/etc/init.d/usb_off:

#!/system/bin/sh
echo 0 > /sys/devices/virtual/android_usb/android0/enable

然后确保它是可执行的:

chmod +x /system/etc/init.d/usb_off

你也可以试试这个,但据说不起作用。通过 Android Terminal Emulator 在命令行中执行这些:

setprop persist.sys.usb.config ''
setprop sys.usb.config ''

【讨论】:

  • 命令不起作用或它没有禁用 USB?试试这个命令:“echo 0 > /sys/devices/virtual/android_usb/android0/enable”。这肯定会为我禁用它。
  • echo 命令是否会禁用 USB 端口的电源或只是禁用通信。如果只是通信,有没有办法禁用安卓设备端口的电源?
【解决方案2】:

您可以告诉 usb-storage 模块忽略 VID/PID 组合

制作一个文件,例如/etc/modprobe.d/android.conf,其中包含表单的内容

options usb-storage quirks=vid##:pid##:i

其中 vid/pid 以十六进制形式给出,不带前缀

此技术的一个严重限制是,某些安装将在/etc 存在和接受之前的 initread 阶段加载 usb-storage 驱动程序,因此它可能会在没有忽略怪癖的情况下加载。要解决这个问题,您可以修改 inittread 存档,或者您可以卸载并重新加载 usb-storage 模块(如果您的系统中没有其他人正在使用它)。

另一个缺点是,如果您决定要挂载它,则必须重新加载驱动程序而不会产生怪癖(例如使用 insmod)。

【讨论】:

    猜你喜欢
    • 2016-11-11
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-24
    • 2013-10-07
    • 2013-08-06
    相关资源
    最近更新 更多