dmesg請完整咐上來
这个是我刚修改的一版:
myJetsonOrinNx_20240718_4.dts.txt (308.1 KB)
dmesg_20240718_4.txt (56.0 KB)
usb3-1如果真的沒有接給usb2-0麻煩就關掉了…
這些明顯的錯誤在文件裡面都有提到, 麻煩先修正
1.关闭这个使能后效果一样

2.这两个usb0/1网口设备是不是只能用ip6连?我之前测试用的ip4
請問你有確認過你的/proc/device-tree下面的狀況跟你的設定一樣嗎?
還有, 正確的otg用法是你要讓usb自己透過id/vbus pin進行role的切換 , 不是你自己跑去echo
我重新梳理了下我们的操作,重新来了一遍,otg开机自动实现了device模式,但是仍ping不通主机
myJetsonOrinNx_20240718_19_02.dts.txt (308.2 KB)
myJetsonOrinNx_20240718_19_02_dmesg.txt (58.0 KB)
开机打印:
$ cat /sys/class/usb_role/usb2-0-role-switch/role
device
/proc/device-tree关闭的usb3.0/3.1检查:
$ cat /proc/device-tree/bus@0/padctl@3520000/ports/usb3-0/status
disabled
$ cat /proc/device-tree/bus@0/padctl@3520000/ports/usb3-1/status
disabled
$ cat /proc/device-tree/bus@0/padctl@3520000/ports/usb2-0/usb-role-switch
这里返回是空的
dmesg打印好像有些不一样了,ifconfig看usb0/usb1显示了发送/接受字节,是否证明配置是成功的?
usb0/usb1的网口网段有要求吗,我做如下配置后还是不能ping通主机

sudo ifconfig usb0 192.168.55.2 netmask 255.255.255.0 broadcast 192.168.55.255 up
sudo ifconfig usb1 192.168.55.3 netmask 255.255.255.0 broadcast 192.168.55.255 up
有时间可以再帮忙看下吗,谢谢
其實在ping的是l4tbr0那個介面. 不是 usb0/1.
非常感谢,主机可以ping通l4tbr0这个网口了。
但还有个问题,设备通过目前的设备树修改后,Type-C的开机otg状态完全由设备树“id-gpio = <0xf3 0x10 0x01>;”决定了,id-gpio的值直接决定了开机后设备的otg状态,eg:0x00=:HOST,0x01:DEVICE
而不是开机后根据插入的外设自由切换otg状态。
我想实现完整自由切换的otg,还有那些地方可以检查和修改吗?帮忙看看,谢谢

备注:完整的设备树和dmeg见上个问答并无改变。
請問你的設計上到底有沒有vbus-det pin?
完整的otg是由ID跟VBUS-DET兩個GPIO決定的. 文件上的truth table有寫
如果沒辦法完整切換, 建議你看一下是不是vbus-det 部份有問題
gpio设备树配置修改:
vbus-gpio = <0xe5 0x99 0x01>; //GPIO_ACTIVE_LOW
id-gpio = <0xf3 0x10 0x00>; //GPIO_ACTIVE_HIGH
开机执行:
# cat /sys/kernel/debug/gpio
gpio-328 (PCC.00 |id ) in lo IRQ
gpio-479 (PZ.01 |vbus ) in hi IRQ ACTIVE LOW

我测试了下,发现我的ID脚不论怎么操作“ cat /sys/kernel/debug/gpio”都是显示“lo”低电平。
开机后,设备插入usb线—主机,测量ID脚电压1.79V,但是测试显示ID脚仍是低电平。
# sudo cat /sys/kernel/debug/gpio
gpio-328 (PCC.00 |id ) in lo IRQ
gpio-479 (PZ.01 |vbus ) in hi IRQ ACTIVE LOW
问题:
- cat /sys/kernel/debug/gpio命令中,lo/hi代表当前状态对吧?是实时的吗?IRQ ACTIVE LOW是低电平触发中断对吧?
- ID脚的高低电平电压是多少伏?
- 我的问题出在哪里?帮看下,谢谢
你的USB_ID pin是怎么连接的?你的type-c的插座上没看到这个pin。
如果你已经正确的把GPIO3 设成了输入,那它的状态只会受DEVICE_EN影响。你是说无论DEVICE_EN是高还是低,USB20_OTG_ID_DET都是低吗?
是的,不论我在板子上测量是高电平还是低电平,执行“sudo cat /sys/kernel/debug/gpio”命令后,显示ID脚永远是下面这个状态(“lo”是当前低电平意思对吧?),我不确定是命令的返回字符是不是低电平这个意思,我的系统没有配置GPIO-SYSFS,没法查看。
gpio-328 (PCC.00 |id ) in lo IRQ
你是怎么设置GPIO3 pin的?有在pinmux sheet里把它设成input吗?
没有,只在usb的otg这里做了配置,设备树其他地方没有对该引脚做其他修改







