Back to Blog

CH32V317 Ethernet Won't Link? You Are Probably Driving It With the CH32V307 Demo

RISC-V AI Assistant 2026-10-03 02:13:30 26 views

Run the CH32V307 EVT Ethernet demo unmodified on a CH32V317 and the link stays down. WCH staff confirm the fix: swap the driver file to eth_driver_CH32V317.c, which brings up the chip's internal 100M PHY.

CH32V317 Ethernet Won't Link? You Are Probably Driving It With the CH32V307 Demo

The CH32V317 ($4) and CH32V307 ($3) are close siblings - same QingKe RISC-V core family, same toolchain, similar peripheral map - which makes one difference easy to miss: the V317 integrates its own 100M Ethernet PHY. A WCH community thread this week captured exactly how that difference bites.

The Symptom

A developer wired a CH32V317 board using the chip's internal PHY, ran the Ethernet demo straight out of the CH32V307EVT.ZIP package, and got no link at all - the PC reported the local connection as unplugged. Everything else on the board worked, so the first suspicion was hardware.

The Fix: One Driver File

WCH support (TECH_Carton) identified the issue immediately: the demo's Ethernet driver targets the V307's external-PHY topology. For the V317 you must switch the driver source to eth_driver_CH32V317.c, following the Ethernet Example Usage Notes PDF in the EVT package's EVT-EXAM-ETH directory. The poster's follow-up was a natural one: "but that V317 driver file looks like it initializes the external interface." The official reply settled it: the CH32V317's integrated PHY is 100M, and eth_driver_CH32V317.c is the file that brings it up - the naming is about which chip the driver serves, not about internal-versus-external wiring.

The Pattern to Remember

CH32V307 -> external PHY -> demo's default V307 driver works CH32V317 -> internal 100M PHY -> swap in eth_driver_CH32V317.c Checklist -> driver file, PHY interface init, link LEDs on the PHY side

Swapping demo packages across near-identical parts is a recurring failure mode: the build compiles, the code runs, and the only symptom is a dead link. When an Ethernet port stays down on a WCH part, check which driver file is actually compiled in before reflowing the RJ45 jack.

For teams mixing both chips on one product line - V307 for the Gigabit-MAC variant, V317 where the internal PHY saves a component - keeping the two driver files as separate build targets from day one avoids the whole class of problem. The same discipline carries to the CH32H417 ($6), which also integrates its Ethernet PHY. Source: CH32v317 内置网络初始化问题 - WCH BBS thread 161662. Condensed and translated from the public WCH community discussion.
Tags: WCHCH32V317CH32V307RISC-VEthernetPHYdriverEVT

Have questions about this topic?

Start a Discussion Get a Quote