Can’t figure it out… I supplied the board with 3.5v, connected the USB data lines with dp pulled up to 3.5v. But it doesn’t respond to USB setup commands.
Usualy USB power with 5V, why use a 3.5V power? Is there something special?
I found only 3.3v on the pinout (cleverly named “duo module development board schematics”)
Referring to the DuoS schematic (duo-files/duo-s/hardware/duo_s_SCH_v1.1.pdf at main · milkv-duo/duo-files · GitHub), when the SoC acts as a USB host, it needs to supply 5V power. Therefore, try adjusting the USB connection to ensure proper power delivery and functionality.
5V supply for the SoC will damage the SoC
on the Duo S
VBUS from USB-C, will “generate” VSYS, and this goes into a step down converter (with SY8120i) for 3V3 for the SoC.
Please look at the schematic for the duo module eval board, for power supply
maybe the decoupling capacitors 22uF, 100nFm 22uF are missing
I do follow it, 1.5k pull up to 3.3v means full-speed USB. that’s why the computer is trying to send USB configuration commands, as seen in my dmesg screenshot - it senses this pullup.
Is it necessay for the action “USB data lines with dp pulled up to 3.5v”?
在USB规范中,进入高速模式后,这个上拉是需要断开的。
when I made my hobby project with atmega328p and usb, I left the pull up in place and it worked well. so I’m pretty certain we need to leave it here, too.
but this is really just guessing game, because we don’t have a datasheet for this thing. do you know who we can ask for it?
The Duo Module 01 integrates the SG2000 chip. Unless you can directly contact Sophgo’s official FAE (Field Application Engineer), you will have to rely on the chip’s TRM (Technical Reference Manual) and the USB specification.
I found the following information in the SG2000 TRM, which indicates that the SG2000’s USB controller uses:
- IC_USBTrafCtl Register in the SG2000 TRM:
- Mode: Device only
- IC_USB TrafficPullRemove Control (IC_USBTrafCtl) When this bit is set, pullup/pulldown resistors are detached from the USB during traffic signaling, per section 6.3.4 of the IC_USB specification. This bit is valid only when configuration parameter OTG_ENABLE_IC_USB = 1 and register field USBCFG.IC_USBCap is set to 1.
- USB Specification: Inter-Chip USB Supplement to the USB 2.0 Specification_1.0.pdf
- I soldered the resistor out, now my computer doesn’t detect anything.
- section 6.3.4 is quite big, and I really can’t see any relevant info
- I guess I’ll have to contact the engineer
I connected to uart. there’s nothing. now I really don’t know what to do
p.s. : if you’re not into reverse-engineering, I suggest not buying the duo module
Reply:
等等,在你做USB测试前,串口是有数据的?
no, no data in uart ![]()
So
在你做USB测试前,至少应该先保证设备 可以正常从eMMC启动,再测试USB Device模式。正常流程不应该是这样吗?
那么你真正的问题是什么?用USB烧写程序还是做 USB Device开发?
I have 2 problems:
- I can’t flash the emmc
- can’t boot it (probably the emmc is empty?)
Reply:
如果 eMMC 是空的(很大可能),那么两个问题其实就是一个 ---- 如何烧写eMMC固件?官方的文档链接:Duo S | Milk-V
试着按说明烧写一下eMMC。
there are no such instructions for Duo Module 01. in the instructions for Duo S it simply says “connect via usb”, which, as you know, I tried - it doesn’t work.
I would really like advice of a fellow module 01 owner, who has gone through this, but seems like there are none. this couldn’t be so, right?
It’s their newest Milk-V Duo product, there must be not many users out there yet.
Anyway, if it acts like this, there’s a chance your purchase is DOA or faulty. I’d recommend you contacting the seller.
well, I have 3 of them! might as well try another. will do it tomorrow
p.s. tomorrow
I have a module-01 eval board.
A quick test, without any changes after buying “no boot” and no serial output. Also no deeper analysis with lsusb and other tools because of time.
The USB controller on the Sophgo Chips are “standard” from synopsis. dwc2 or dwc3 I think.

