DJI

A133 USB连接DJI无人机失败问题

DJI neo

Posted by LXG on September 8, 2025

问题现象

  1. 无人机直连A133控制主板时,无法识别为大容量存储设备
  2. A133主板接绿联USB hub再接无人机时可以识别为大容量存储设备

dji_usb_hub

直连日志


# 检测到高速(High-Speed, USB 2.0)设备连接到 Allwinner A133 的 EHCI 控制器上
# 设备成功上电并开始握手,但不代表已经完全枚举成功
09-08 16:28:04.321356[ 6322.413719] sunxi-ehci 5101000.ehci0-controller: ehci_irq: highspeed device connect

# Linux 为连接的 USB 设备分配了设备号 2
# EHCI 驱动已经识别设备并准备枚举
09-08 16:28:04.543229[ 6322.632529] usb 3-1: new high-speed USB device number 2 using sunxi-ehci

# USB 子系统识别该设备为 USB 大容量存储设备(U盘/存储卡)
# 设备已经可以作为块设备(block device)使用
09-08 16:28:04.689879[ 6322.780072] usb-storage 3-1:1.2: USB Mass Storage device detected

# 为该 USB 存储设备创建一个 SCSI 主机实例 host0
# Linux 通过 usb-storage 驱动模拟 SCSI 设备以访问文件系统
09-08 16:28:04.693187[ 6322.784509] scsi host0: usb-storage 3-1:1.2

# SCSI 设备枚举完成,识别为 Direct-Access(可寻址块存储设备)
# 说明设备内部存储(可能是 TF 卡或 eMMC)已被识别
09-08 16:28:05.696530[ 6323.787832] scsi 0:0:0:0: Direct-Access     Linux    File-Stor Gadget 0504 PQ: 0 ANSI: 2

# 存储设备容量约 23.7 GB
# 驱动已经读取到逻辑块数,设备容量正常
09-08 16:28:05.705844[ 6323.796188] sd 0:0:0:0: [sda] 46350296 512-byte logical blocks: (23.7 GB/22.1 GiB)

# 设备未写保护,可写入数据
09-08 16:28:05.706002[ 6323.796904] sd 0:0:0:0: [sda] Write Protect is off

# 读取 SCSI Mode Sense 信息,用于获取设备特性
09-08 16:28:05.706057[ 6323.796912] sd 0:0:0:0: [sda] Mode Sense: 0f 00 00 00

# 设备启用读写缓存,但不支持高级命令(DPO/FUA)
09-08 16:28:05.706108[ 6323.797643] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

# 块设备已成功挂载到内核,可作为 /dev/sda 使用
09-08 16:28:05.719937[ 6323.809048] sda:
09-08 16:28:05.723203[ 6323.812790] sd 0:0:0:0: [sda] Attached SCSI removable disk

# Android 使用 sdcardfs 将块设备挂载到 /mnt/media_rw/61C8-D15B,并配置访问权限
09-08 16:28:05.973218[ 6324.062496] sdcardfs version 2.0
09-08 16:28:05.973402[ 6324.062511] sdcardfs: dev_name -> /mnt/media_rw/61C8-D15B
09-08 16:28:05.973448[ 6324.062516] sdcardfs: options -> fsuid=1023,fsgid=1023,mask=6,userid=0,gid=1015,reserved_mb=100
09-08 16:28:05.973491[ 6324.062524] sdcardfs: mnt -> ffffffc02cd8b6e0
# sdcardfs 成功挂载,但挂载类型是 fuseblk,说明可能是 exFAT 文件系统,需要内核支持
09-08 16:28:05.973534[ 6324.062606] sdcardfs: mounted on top of /mnt/media_rw/61C8-D15B type fuseblk
09-08 16:28:05.973577[ 6324.063769] Remount options were mask=18,gid=9997 for vfsmnt ffffffc0439c5de0.
09-08 16:28:05.973614[ 6324.063782] sdcardfs : options - debug:1
09-08 16:28:05.973656[ 6324.063787] sdcardfs : options - gid:9997
09-08 16:28:05.973698[ 6324.063791] sdcardfs : options - mask:18
09-08 16:28:05.973740[ 6324.064510] Remount options were mask=18,gid=9997 for vfsmnt ffffffc053d6c3a0.
09-08 16:28:05.973777[ 6324.064518] sdcardfs : options - debug:1
09-08 16:28:05.973818[ 6324.064522] sdcardfs : options - gid:9997
09-08 16:28:05.973859[ 6324.064525] sdcardfs : options - mask:18
09-08 16:28:05.973902[ 6324.065257] Remount options were mask=7,gid=9997 for vfsmnt ffffffc053c138a0.
09-08 16:28:05.973939[ 6324.065264] sdcardfs : options - debug:1
09-08 16:28:05.973981[ 6324.065268] sdcardfs : options - gid:9997
09-08 16:28:05.974022[ 6324.065272] sdcardfs : options - mask:7

# USB 高速设备断开连接
# 可能是 USB PHY 信号质量差、电源不足或线材问题,导致设备在短时间内掉线
09-08 16:28:07.553738[ 6325.646092] sunxi-ehci 5101000.ehci0-controller: ehci_irq: highspeed device disconnect
09-08 16:28:07.556591[ 6325.646769] usb 3-1: USB disconnect, device number 2

# 块设备尝试同步缓存失败
# 掉线导致 SCSI cache flush 失败。hostbyte=0x01 表示主机错误,通常与硬件连接不稳定相关
09-08 16:28:07.593213[ 6325.682724] sd 0:0:0:0: [sda] Synchronizing SCSI cache
09-08 16:28:07.593389[ 6325.682896] sd 0:0:0:0: [sda] Synchronize Cache(10) failed: Result: hostbyte=0x01 driverbyte=0x00

可能的原因分析

信号完整性改善

  • Hub 内部布线、端口缓冲芯片对 USB 信号做了 再驱动(re-driver)
  • 直连线可能导致 高速信号衰减或反射,Hub 相当于加了一个信号“缓冲器”
  • 高速设备枚举时,如果信号质量不好,就容易掉线

总线电流瞬时冲击分散

  • Hub 虽然无源,但内部做了 电流分配和稳压电路。
  • 当无人机刚上电或块设备初始化时,瞬间拉电流导致直连口电压下降。
  • 通过 Hub 后,多个端口共享总线电流,瞬时冲击可能稍微缓解,掉线概率降低。

USB 枚举顺序和延时改变

  • Hub 会引入 几微秒到几毫秒的延迟。
  • 对一些对枚举时序敏感的设备(如无人机内置 USB 存储)有意外正面作用。
  • 直连时可能枚举太快,设备还没准备好就被 Host 轮询,导致掉线。

表格总结

对比项 直连 A133 → 无人机 A133 → Hub → 无人机 说明
USB 枚举 成功,但几秒后掉线 成功且稳定 Hub 引入微延迟,设备初始化更充分
信号完整性 受 PCB Trace &连接器寄生影响,易短时抖动 Hub 内部缓冲/再驱动改善信号 高速 USB 对阻抗匹配敏感
供电稳定性 瞬时拉电流可能导致电压下降 → 掉线 Hub 分流/缓冲瞬时电流 Hub 起到电流缓冲作用,即使无源也有寄生电容
掉线现象 几秒内断开,SCSI Cache Flush 失败 稳定,无掉线 主机错误 hostbyte=0x01 指向物理层问题
解决方式 改进 PCB 电源、增加延时或使用高性能端口 可直接使用 Hub 是快速、可靠的方案
适用性 对敏感设备不稳定 高速存储设备稳定识别 对无人机存储、摄像头等高速设备尤其明显

需求

通过 USB 集线器同时接 5 台 DJI Neo 飞机到一台安卓主机,并能够访问任意一台的存储图片


              ┌───────────────────────────┐
              │       安卓主机 (USB Host) │
              │ ┌─────────────────────┐  │
              │ │ USB 控制器 xHCI/ EHCI │
              │ └─────────┬───────────┘  │
              └───────────┼─────────────┘
                          │
                          │ 高速信号 + 电源
                          │
                 ┌────────┴─────────┐
                 │       有源 USB Hub │
                 │   (每端口 ≥1A 电流)│
                 └─────┬───┬───┬───┬───┘
                       │   │   │   │
          ┌────────────┘   │   │   │
          │                │   │   │
     ┌────┴────┐      ┌────┴────┐│  │
     │无人机1   │      │无人机2   ││  │
     │存储/图片 │      │存储/图片 ││  │
     └─────────┘      └─────────┘│  │
                                   │
       ┌─────────┐     ┌─────────┐ │
       │无人机3   │     │无人机4   │ │
       │存储/图片 │     │存储/图片 │ │
       └─────────┘     └─────────┘ │
                                     │
                               ┌─────┴─────┐
                               │无人机5     │
                               │存储/图片   │
                               └───────────┘

即便使用了有源的hub也不一定能支持5路

问题 Hub 是否能解决
电流不足导致掉线 ✅ 可缓冲电流,每端口独立供电 ≥1A
信号抖动 ✅ 优质 Hub 会改善信号完整性
带宽限制 ❌ Hub 不能增加主控 USB 带宽,单控制器仍共享总带宽
同时枚举失败 ❌ 仍受限于主控处理能力

硬件条件

条件 说明
USB 控制器数量 安卓主机必须有 足够的高速 USB 控制器。如果只有一个 EHCI/xHCI 控制器,5 台高速设备会共享带宽和电流,可能掉线。理想是 每 2 台无人机分配一个控制器 或者使用带独立通道的 xHCI 控制器。
USB Hub 类型 有源 Hub(带独立电源)必需,否则 5 台无人机同时拉电可能导致电压下降和掉线。Hub 的每个端口最好能提供 1A 以上电流。
线材与信号完整性 高速 USB 线短、屏蔽良好,连接器质量高,以减少信号抖动和掉线。

软件条件

条件 说明
USB Host 模式 安卓主机必须支持 USB Host(OTG)模式,并且有 xHCI 控制器驱动,支持多设备同时挂载。
文件系统访问 每台无人机的存储必须被识别为 USB Mass Storage(U盘模式) 或者 MTP 模式。安卓系统才能通过 /storage/mnt/usb 访问。
多设备枚举 安卓 USB Host API 可以同时管理多个 USB 设备,但应用需要:

集线器选型

UGREEN 7-Port USB 3.0 Hub

ugreen_hub_7

外部电源适配器:配备 12V/2A 的外部电源适配器,可确保连接多个高功率设备时的稳定性

ugreen_hub

创惟科技 GL3520 芯片模组

  • USB3.0 支持:采用专业 USB3.0 芯片设计,提供高速数据传输
  • 稳定性:经过 Windows 8 硬件认证,传输更稳定
  • 电源支持:芯片内建 12V 转 5V 稳压器,可为手机、平板提供充电
  • 兼容性:同时兼容 Windows 和 macOS(苹果电脑)

基于GL3520的USB3.0集线器

虽然 GL3520 本身最多支持 4 个下游端口,但在实际应用中,可以通过级联多个 GL3520 芯片来实现更多的 USB 端口。 例如,某些 7 端口的 USB 集线器产品内部可能使用了多个 GL3520 芯片进行级联,以提供更多的端口。

A133 上通过hub挂载成功的日志


09-09 10:41:58.977  1794  1805 D vold    : /system/bin/sgdisk
09-09 10:41:58.977  1794  1805 D vold    :     --android-dump
09-09 10:41:58.977  1794  1805 D vold    :     /dev/block/vold/disk:8,0
09-09 10:41:58.997  1794  1805 D vold    : DISK mbr
09-09 10:41:58.997  1794  1805 D vold    : 
09-09 10:41:58.998  1794  1805 W vold    : disk:8,0 has unknown partition table; trying entire device
09-09 10:41:58.998  1794  1805 D vold    : /system/bin/blkid
09-09 10:41:58.998  1794  1805 D vold    :     -c
09-09 10:41:58.998  1794  1805 D vold    :     /dev/null
09-09 10:41:58.999  1794  1805 D vold    :     -s
09-09 10:41:58.999  1794  1805 D vold    :     TYPE
09-09 10:41:58.999  1794  1805 D vold    :     -s
09-09 10:41:58.999  1794  1805 D vold    :     UUID
09-09 10:41:58.999  1794  1805 D vold    :     -s
09-09 10:41:58.999  1794  1805 D vold    :     LABEL
09-09 10:41:58.999  1794  1805 D vold    :     /dev/block/vold/disk:8,0
09-09 10:41:59.037  1794  1805 D vold    : /dev/block/vold/disk:8,0: LABEL="InternalStorage" UUID="61C8-D15B" TYPE="exfat" 
09-09 10:41:59.037  1794  1805 D vold    : 
09-09 10:41:59.040  1794  1805 D vold    : VolumeBase create onVolumeCreated
09-09 10:41:59.040  1794  1920 D vold    : /system/bin/blkid
09-09 10:41:59.041  1794  1920 D vold    :     -c
09-09 10:41:59.041  1794  1920 D vold    :     /dev/null
09-09 10:41:59.041  1794  1920 D vold    :     -s
09-09 10:41:59.041  1794  1920 D vold    :     TYPE
09-09 10:41:59.041  1794  1920 D vold    :     -s
09-09 10:41:59.041  1794  1920 D vold    :     UUID
09-09 10:41:59.041  1794  1920 D vold    :     -s
09-09 10:41:59.041  1794  1920 D vold    :     LABEL
09-09 10:41:59.041  1794  1920 D vold    :     /dev/block/vold/public:8,0
09-09 10:41:59.083  1794  1920 D vold    : /dev/block/vold/public:8,0: LABEL="InternalStorage" UUID="61C8-D15B" TYPE="exfat" 
09-09 10:41:59.083  1794  1920 D vold    : 
09-09 10:41:59.085  1794  1920 D vold    : /system/bin/fsck.exfat
09-09 10:41:59.085  1794  1920 D vold    :     -a
09-09 10:41:59.085  1794  1920 D vold    :     /dev/block/vold/public:8,0
09-09 10:41:59.231  1794  1920 D vold    : exfatfsck 1.3.0
09-09 10:41:59.231  1794  1920 D vold    : 
09-09 10:41:59.231  1794  1920 D vold    : Checking file system on /dev/block/vold/public:8,0.
09-09 10:41:59.231  1794  1920 D vold    : 
09-09 10:41:59.231  1794  1920 D vold    : File system version           1.0
09-09 10:41:59.231  1794  1920 D vold    : 
09-09 10:41:59.231  1794  1920 D vold    : Sector size                 512 bytes
09-09 10:41:59.231  1794  1920 D vold    : 
09-09 10:41:59.231  1794  1920 D vold    : Cluster size                128 KB
09-09 10:41:59.231  1794  1920 D vold    : 
09-09 10:41:59.231  1794  1920 D vold    : Volume size                  22 GB
09-09 10:41:59.231  1794  1920 D vold    : 
09-09 10:41:59.231  1794  1920 D vold    : Used space                 3308 KB
09-09 10:41:59.231  1794  1920 D vold    : 
09-09 10:41:59.231  1794  1920 D vold    : Available space              22 GB
09-09 10:41:59.231  1794  1920 D vold    : 
09-09 10:41:59.231  1794  1920 D vold    : Totally 10 directories and 3 files.
09-09 10:41:59.231  1794  1920 D vold    : 
09-09 10:41:59.231  1794  1920 D vold    : File system checking finished. No errors found.
09-09 10:41:59.231  1794  1920 D vold    : 
09-09 10:41:59.233  1794  1920 I vold    : Check OK
09-09 10:41:59.234  1794  1920 E vold    : Mount failed; attempting read-only: No such device
09-09 10:41:59.235  1794  1920 D vold    : /system/bin/mount.exfat
09-09 10:41:59.235  1794  1920 D vold    :     -o
09-09 10:41:59.235  1794  1920 D vold    :     uid=1023,gid=1023,fmask=7,dmask=7
09-09 10:41:59.235  1794  1920 D vold    :     /dev/block/vold/public:8,0
09-09 10:41:59.235  1794  1920 D vold    :     /mnt/media_rw/61C8-D15B
09-09 10:41:59.301  1794  1920 D vold    : Waiting for FUSE to spin up...

RK3568 无法识别无人机中照片问题

内核日志


[  122.412957] usb 5-1: new high-speed USB device number 2 using xhci-hcd
[  122.554644] usb 5-1: New USB device found, idVendor=2ca3, idProduct=0020, bcdDevice= 5.04
[  122.554727] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  122.554756] usb 5-1: Product: DJI-1581F87LW254M0025APZ
[  122.554780] usb 5-1: Manufacturer: DJI
[  122.554803] usb 5-1: SerialNumber: 123456789ABCDEF
[  122.602097] rndis_host 5-1:1.0 usb1: register 'rndis_host' at usb-xhci-hcd.1.auto-1, RNDIS device, 6a:11:20:6c:be:17
[  122.608627] usb-storage 5-1:1.2: USB Mass Storage device detected
[  122.615706] scsi host0: usb-storage 5-1:1.2
[  123.634674] scsi 0:0:0:0: Direct-Access     Linux    File-Stor Gadget 0504 PQ: 0 ANSI: 2
[  123.639574] sd 0:0:0:0: Attached scsi generic sg0 type 0
[  123.639617] sd 0:0:0:0: [sda] 46350296 512-byte logical blocks: (23.7 GB/22.1 GiB)
[  123.639892] sd 0:0:0:0: [sda] Write Protect is off
[  123.639914] sd 0:0:0:0: [sda] Mode Sense: 0f 00 00 00
[  123.640213] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[  123.642902] sda:
[  123.649504] sd 0:0:0:0: [sda] Attached SCSI removable disk

vold日志


07-17 18:31:13.889   150   164 D vold    : /system/bin/sgdisk
07-17 18:31:13.889   150   164 D vold    :     --android-dump
07-17 18:31:13.889   150   164 D vold    :     /dev/block/vold/disk:8,0
07-17 18:31:13.913   150   164 D vold    : DISK mbr
07-17 18:31:13.915   150   164 W vold    : disk:8,0 has unknown partition table; trying entire device
07-17 18:31:13.915   150   164 D vold    : /system/bin/blkid
07-17 18:31:13.915   150   164 D vold    :     -c
07-17 18:31:13.915   150   164 D vold    :     /dev/null
07-17 18:31:13.915   150   164 D vold    :     -s
07-17 18:31:13.915   150   164 D vold    :     TYPE
07-17 18:31:13.915   150   164 D vold    :     -s
07-17 18:31:13.915   150   164 D vold    :     UUID
07-17 18:31:13.915   150   164 D vold    :     -s
07-17 18:31:13.915   150   164 D vold    :     LABEL
07-17 18:31:13.915   150   164 D vold    :     /dev/block/vold/disk:8,0
07-17 18:31:13.958   150   164 D vold    : /dev/block/vold/disk:8,0: LABEL="InternalStorage" UUID="61C8-D15B" TYPE="exfat" 
07-17 18:31:13.963   150   223 D vold    : /system/bin/blkid
07-17 18:31:13.963   150   223 D vold    :     -c
07-17 18:31:13.963   150   223 D vold    :     /dev/null
07-17 18:31:13.963   150   223 D vold    :     -s
07-17 18:31:13.963   150   223 D vold    :     TYPE
07-17 18:31:13.963   150   223 D vold    :     -s
07-17 18:31:13.963   150   223 D vold    :     UUID
07-17 18:31:13.963   150   223 D vold    :     -s
07-17 18:31:13.963   150   223 D vold    :     LABEL
07-17 18:31:13.963   150   223 D vold    :     /dev/block/vold/public:8,0
07-17 18:31:14.003   150   223 D vold    : /dev/block/vold/public:8,0: LABEL="InternalStorage" UUID="61C8-D15B" TYPE="exfat" 
07-17 18:31:14.004   150   223 E vold    : public:8,0 unsupported filesystem exfat

关键日志

unsupported filesystem exfat

文件系统是 exFAT,Android 当前环境不支持,所以挂载失败

exFAT 驱动发展 + Linux 内核 + Android 支持情况



2006 ── 2010 ── 2015 ── 2017 ── 2019 ── 2020 ──> 时间

Linux 内核:
[3.x/4.x] ────> FUSE 用户态 / OOT 内核模块
                  (旧内核无原生 exFAT,性能有限)
[4.x LTS] ────> OOT 模块稳定版
                  (社区维护,兼容 4.19)
[5.4+] ────> 原生 exFAT 内核驱动
                  (微软开源,性能优良)

Android 系统:
<= Android 9 ──> 不支持 exFAT / 可集成 FUSE
Android 10-11 ──> 默认不支持 exFAT
                  (需要 OOT 模块集成)
Android 12+ ──> 可直接使用原生内核 exFAT
                  (厂商可挂载大文件/大容量 SD 卡)

驱动类型:
FUSE 用户态  ──> 所有旧内核兼容
OOT 内核模块 ──> 4.x 内核使用
内核原生驱动 ──> 5.4+ 内核使用,Android 12+ 支持

Android 上 exFAT 不一定需要内核原生支持


         ┌─────────────────────────┐
           存储设备插入 Android   
           (SD  / USB)         
         └─────────┬─────────────┘
                   
                   
        ┌─────────────────────┐
          Linux 内核检测块设备 
          - 提供块设备接口     
        └─────────┬───────────┘
                  
       ┌──────────┴───────────┐
                             
                             
┌─────────────────┐     ┌────────────────────┐
 内核态驱动挂载         FUSE 用户态挂载      
 (in-kernel)            (user-space)         
├─────────────────┤     ├────────────────────┤
 内核需要 exFAT         内核不需要 exFAT     
 驱动模块               使用 /system/bin/mount.exfat 
                        使用 /system/bin/fsck.exfat  
 挂载路径直接提供       FUSE 模块处理挂载逻辑      
 给系统                 /mnt/media_rw/...           
└─────────┬───────┘     └───────────────┬─────────┘
                                       
                                       
 ┌─────────────────────┐        ┌─────────────────────┐
  Android 系统访问挂载点          Android 系统访问挂载点 
  /mnt/media_rw/...              /mnt/media_rw/...     
  文件管理器 / App               文件管理器 / App      
 └─────────────────────┘        └─────────────────────┘

A133 上采用的是非内核驱动的方案, 源码位置:vendor/aw/public/package/bin/fstools/exfat/

exFAT 低内核版本文件系统适配

linux-exfat-oot

exfatprogs

RK3568 Android11 exfat格式支持

查看当前系统支持的文件系统


rk3568_r:/ $ cat proc/filesystems                                                                                                                                                                  
nodev	sysfs
nodev	rootfs
nodev	tmpfs
nodev	bdev
nodev	proc
nodev	cpuset
nodev	cgroup
nodev	cgroup2
nodev	devtmpfs
nodev	configfs
nodev	debugfs
nodev	tracefs
nodev	sockfs
nodev	bpf
nodev	pipefs
nodev	ramfs
nodev	devpts
	ext3
	ext2
	ext4
	vfat
	exfat
	msdos
	iso9660
	fuseblk
nodev	fuse
nodev	fusectl
nodev	overlay
nodev	incremental-fs
	udf
	f2fs
nodev	selinuxfs
nodev	binder
nodev	pstore
nodev	functionfs

RK3568 添加exfat文件系统后的挂载日志


2025-09-09 14:28:32.465    usb 5-1                 kernel       I  new high-speed USB device number 4 using xhci-hcd
2025-09-09 14:28:32.607    usb 5-1                 kernel       I  New USB device found, idVendor=2ca3, idProduct=0020, bcdDevice= 5.04
2025-09-09 14:28:32.608    usb 5-1                 kernel       I  New USB device strings: Mfr=1, Product=2, SerialNumber=3
2025-09-09 14:28:32.608    usb 5-1                 kernel       I  Product: DJI-1581F87LW254M0025APZ
2025-09-09 14:28:32.608    usb 5-1                 kernel       I  Manufacturer: DJI
2025-09-09 14:28:32.608    usb 5-1                 kernel       I  SerialNumber: 123456789ABCDEF
2025-09-09 14:28:32.675    rndis_host 5-1          kernel       I  1.0 usb1: register 'rndis_host' at usb-xhci-hcd.1.auto-1, RNDIS device, 16:b4:33:2e:56:ca
2025-09-09 14:28:32.682    usb-storage 5-1         kernel       I  1.2: USB Mass Storage device detected
2025-09-09 14:28:32.686    scsi host0              kernel       I  usb-storage 5-1:1.2
2025-09-09 14:28:33.707    scsi 0                  kernel       I  0:0:0: Direct-Access     Linux    File-Stor Gadget 0504 PQ: 0 ANSI: 2
2025-09-09 14:28:33.713    sd 0                    kernel       I  0:0:0: Attached scsi generic sg0 type 0
2025-09-09 14:28:33.713    sd 0                    kernel       I  0:0:0: [sda] 46350296 512-byte logical blocks: (23.7 GB/22.1 GiB)
2025-09-09 14:28:33.714    sd 0                    kernel       I  0:0:0: [sda] Write Protect is off
2025-09-09 14:28:33.714    sd 0                    kernel       D  0:0:0: [sda] Mode Sense: 0f 00 00 00
2025-09-09 14:28:33.714    sd 0                    kernel       I  0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA 
2025-09-09 14:28:33.732    sd 0                    kernel       I  0:0:0: [sda] Attached SCSI removable disk

09-09 14:28:33.721   161   175 D vold    : /system/bin/sgdisk
09-09 14:28:33.721   161   175 D vold    :     --android-dump
09-09 14:28:33.721   161   175 D vold    :     /dev/block/vold/disk:8,0
09-09 14:28:33.749   161   175 D vold    : DISK mbr
09-09 14:28:33.752   161   175 W vold    : disk:8,0 has unknown partition table; trying entire device
09-09 14:28:33.752   161   175 D vold    : /system/bin/blkid
09-09 14:28:33.752   161   175 D vold    :     -c
09-09 14:28:33.752   161   175 D vold    :     /dev/null
09-09 14:28:33.752   161   175 D vold    :     -s
09-09 14:28:33.752   161   175 D vold    :     TYPE
09-09 14:28:33.752   161   175 D vold    :     -s
09-09 14:28:33.752   161   175 D vold    :     UUID
09-09 14:28:33.752   161   175 D vold    :     -s
09-09 14:28:33.752   161   175 D vold    :     LABEL
09-09 14:28:33.752   161   175 D vold    :     /dev/block/vold/disk:8,0
09-09 14:28:33.802   161   175 D vold    : /dev/block/vold/disk:8,0: LABEL="InternalStorage" UUID="61C8-D15B" TYPE="exfat" 
09-09 14:28:33.810   161  2445 D vold    : /system/bin/blkid
09-09 14:28:33.810   161  2445 D vold    :     -c
09-09 14:28:33.810   161  2445 D vold    :     /dev/null
09-09 14:28:33.810   161  2445 D vold    :     -s
09-09 14:28:33.810   161  2445 D vold    :     TYPE
09-09 14:28:33.810   161  2445 D vold    :     -s
09-09 14:28:33.810   161  2445 D vold    :     UUID
09-09 14:28:33.810   161  2445 D vold    :     -s
09-09 14:28:33.810   161  2445 D vold    :     LABEL
09-09 14:28:33.810   161  2445 D vold    :     /dev/block/vold/public:8,0
09-09 14:28:33.851   161  2445 D vold    : /dev/block/vold/public:8,0: LABEL="InternalStorage" UUID="61C8-D15B" TYPE="exfat" 
09-09 14:28:33.853   161  2445 D vold    : /system/bin/fsck.exfat
09-09 14:28:33.853   161  2445 D vold    :     -y
09-09 14:28:33.853   161  2445 D vold    :     /dev/block/vold/public:8,0
09-09 14:28:33.885   161  2445 D vold    : exfatprogs version : 1.2.9
09-09 14:28:33.885   161  2445 D vold    : /dev/block/vold/public:8,0: clean. directories 16, files 9
09-09 14:28:33.888   161  2445 I vold    : Check OK
09-09 14:28:33.909   161  2445 I vold    : Mounting public fuse volume
09-09 14:28:33.916   161  2445 I vold    : Bind mounting /mnt/media_rw/61C8-D15B to /mnt/pass_through/0/61C8-D15B
09-09 14:28:34.959   161  2445 I vold    : Configuring read_ahead of /mnt/user/0/61C8-D15B fuse filesystem to 256kb
09-09 14:28:34.961   161  2445 I vold    : Writing 256 to /sys/class/bdi/0:64/read_ahead_kb
09-09 14:28:34.961   161  2445 I vold    : Configuring max_ratio of /mnt/user/0/61C8-D15B fuse filesystem to 40
09-09 14:28:34.962   161  2445 I vold    : Writing 40 to /sys/class/bdi/0:64/max_ratio

注意:整个挂载过程耗时2.5秒

不同USB接口的充电能力对比

标准/协议 最大电压 最大电流 最大功率 说明
USB 1.1 / 2.0 5V 0.5A 2.5W 最早期的 USB 供电能力,仅能驱动低功耗设备(鼠标、键盘、U盘)。
USB 3.0 / 3.1 / 3.2 5V 0.9A 4.5W 比 2.0 增加电流上限,能驱动移动硬盘、小型外设。
USB Battery Charging (BC 1.2) 5V 1.5A 7.5W 常见于手机充电器/PC USB 接口,支持快速充电(非 PD 协议)。
USB Type-C (默认) 5V 3A 15W Type-C 接口本身的默认供电能力,已足够驱动平板、树莓派等设备。
USB Power Delivery (USB-PD 2.0/3.0) 5V–20V 5A 100W 可协商电压:5V / 9V / 15V / 20V,不同设备需求不同(如笔记本电脑)。
USB-PD 3.1 (EPR, Extended Power Range) 28V / 36V / 48V 5A 140W / 180W / 240W 新增 28V、36V、48V 档位,能给游戏本、显示器甚至小型服务器供电。

苹果设备充电能力演进

产品 支持的充电协议 最大功率
iPhone 3G / 3GS USB 2.0(5V / 0.5A) 2.5W
iPhone 4 / 4s USB 3.0(5V / 0.9A) 4.5W
iPhone 5 / 5s / 6 / 6s BC 1.2(5V / 1.5A) 7.5W
iPhone 6s Plus / 7 / 7 Plus Apple 2.4A 专有协议(5V / 2.4A) 12W
iPhone 8 / X / XR / XS / 11 / SE2 USB-PD 2.0(5V/9V) 18–20W
iPhone 12 / 13 / 14 / 15 系列 USB-PD 3.0(5V/9V,支持 9V/3A 档位) 20–27W
iPhone 16 系列 USB-PD 3.0(支持最高 45W) 45W(有线)/ 25W(MagSafe)
iPhone 17 系列 USB-PD 3.0(支持最高 50W) 50W(有线 / 25W(MagSafe)
MacBook Pro 13 (2016–2020) USB-PD 3.0(20V / 3.05A) 61W
MacBook Pro 15 (2016–2019) USB-PD 3.0(20V / 4.35A) 87W
MacBook Pro 16 (2019) USB-PD 3.0(20V / 4.7A) 96W
MacBook Pro 14/16 (2021+) USB-PD 3.1 EPR(28V / 5A) 140W

USB HUB 同时接5个DJI NEO 芯片选型和设计

厂商 国别 芯片型号 USB 版本 下游端口 最大单口供电 典型应用
创惟科技(Genesys Logic, GL) 台湾 GL3520 / GL3522 / GL3523 USB 3.0 / 3.1 4 900mA USB Hub、扩展坞
创惟科技(Genesys Logic, GL) 台湾 GL850G / GL850A USB 2.0 4 500mA USB Hub、键鼠共享
智微科技(JMicron) 台湾 JMS561 / JMS583 / JMS586 USB 3.0 / 3.1 / 3.2 1~4 900mA 外置硬盘盒、SSD 外壳
威盛电子(VIA Labs) 台湾 VL817 / VL813 / VL820 USB 3.0 / 3.1 4~7 900mA USB Hub、智能充电设备
德州仪器(Texas Instruments, TI) 美国 TUSB8041 / TUSB8042 USB 3.0 4 900mA 扩展坞、多端口 Hub
瑞萨电子(Renesas) 日本 µPD720202 / µPD720201 USB 3.0 4 900mA 主机控制器、Hub
华硕旗下(ASMedia) 台湾 ASM1042 / ASM1142 USB 3.0 / 3.1 4~7 900mA 主板 USB 扩展、Hub
赛普拉斯 / 英飞凌(Cypress / Infineon) 美国 / 德国 EZ-USB FX3 USB 3.0 可编程 可编程 高性能存储、定制外设

如果同时需要为多个高功率设备(如 DJI NEO 飞机)充电,需要考虑电源方案和单口供电能力

硬件架构


                   ┌────────────────────────────┐
                   │       外部电源模块          │
                   │     5V / 12~15A DC-DC       │
                   └───────────┬────────────────┘
                               │
                               │ 5V 高电流
                               │
           ┌───────────────────┴───────────────────┐
           │                                       │
   ┌───────▼─────────┐                     ┌───────▼─────────┐
   │ 主数据端口芯片   │                     │ 充电端口智能IC │
   │    GL3523-A      │                     │  TPS2548 等    │
   │ 下游端口:3 个   │                     └───────┬─────────┘
   └───────┬─────────┘                             │
           │                                       │
           │ 级联(Cascade)                         │
           ▼                                       ▼
   ┌───────▼─────────┐               ┌─────────────┴─────────────┐
   │ 从数据端口芯片   │               │ 充电端口 1        │ 5V │ 2~3A │
   │    GL3523-B      │               │ 充电端口 2        │ 5V │ 2~3A │
   │ 下游端口:1 个   │               │ 充电端口 3        │ 5V │ 2~3A │
   └───────┬─────────┘               │ 充电端口 4        │ 5V │ 2~3A │
           │                         │ 充电端口 5        │ 5V │ 2~3A │
   ┌───────┴─────────┐               └───────────────────────────┘
   │  数据端口 1      │ USB3.0 │ 0.9A │
   │  数据端口 2      │ USB3.0 │ 0.9A │
   │  数据端口 3      │ USB3.0 │ 0.9A │
   │  数据端口 4      │ USB3.0 │ 0.9A │  (从芯片下游端口)
   └─────────────────┘

说明:
- 数据端口级联设计:主芯片 GL3523-A 下游 3 个端口,其中 1 个用于级联从芯片 GL3523-B,实现 4 个数据端口。
- 数据端口:总共 4 个 USB 3.0 数据端口,每口 0.9A,用于高速数据传输。
- 充电端口:5 个高功率充电端口,通过独立智能充电 IC(TPS2548 等),每口 5V/2~3A,可为 DJI NEO 飞机充电。
- 外部电源模块:提供总功率约 5V/12~15A,支持 5 台飞机同时充电。
- 保护设计:每个端口过流、短路保护;整体散热设计。
- 数据端口与充电端口分开,避免高电流影响高速 USB 数据传输。