ntzyz 发表于 2017-9-15 11:26:39

Firefly-RK3399 USB OTG 在 3.0 下无法工作

本帖最后由 ntzyz 于 2017-9-15 18:25 编辑

我想通过 configfs 将 OTG 端配置成 Mass Storage,脚本如下:#!/bin/bash

cd /sys/kernel/config/usb_gadget

mkdir g.1/functions/mass_storage.0 -p
echo "/dev/mmcblk0" > g.1/functions/mass_storage.0/lun.0/file

mkdir g.1/strings/0x409
mkdir -p g.1/configs/c.1/strings/0x409

echo 0xa4a2 > g.1/idProduct
echo 0x0525 > g.1/idVendor

echo 12345 > g.1/strings/0x409/serialnumber
echo ntzyz > g.1/strings/0x409/manufacturer
echo "usb gadget" > g.1/strings/0x409/product

echo "cnf1" > g.1/configs/c.1/strings/0x409/configuration

ln -s g.1/functions/mass_storage.0 g.1/configs/c.1

echo fe800000.dwc3 > g.1/UDC
这段脚本在连接到 USB2.0 的主机端时,测试无问题:root@ntzyz-rk3399 ~ # ./start.sh
[ 22.944403] Mass Storage Function, version: 2009/09/11
[ 22.944900] LUN: removable file: (no medium)
[ 23.329729] configfs-gadget gadget: high-speed config #1: c主机端也能看到相应的磁盘:
但是在 USB 3.0 下则无效:root@ntzyz-rk3399 ~ # ./start.sh
[ 20.913747] Mass Storage Function, version: 2009/09/11
[ 20.914263] LUN: removable file: (no medium)此时 UDC 的状态是未加载,主机端也没有相应的硬件:root@ntzyz-rk3399 ~ # cat /sys/class/udc/fe800000.dwc3/state
not attached内核是 GitLab 上 clone 的,配置加了一些特性(cifs, iSCSI over TCPIP, btrfs, etc),完整config链接:https://gist.github.com/ntzyz/7a0b3f4ac56db1dc7684c8d2ce37b1c1

HappyFire 发表于 2018-3-6 10:40:39

请教楼主,如何将3399的type-c设置成device口,由于目前刚开始弄usb方面,不是很懂

bingo 发表于 2018-5-19 16:17:56

你好,AIO-RK3399的板子使用usb-otg需要配置device-tree吗

pumpkinZhu 发表于 2018-5-24 14:29:40

dts里面dr模式配置成otg,配置成host可以用U盘,鼠标这些

wdy 发表于 2018-8-16 12:07:43

楼主,你的RK3399 otg功能驱动起来了吗,我也想用,按照你的方式也是工作不正常
页: [1]
查看完整版本: Firefly-RK3399 USB OTG 在 3.0 下无法工作