This was a satisfactory strategy for USB 1.1 systems (current when the protocol was issued) with 64-byte packets but not for USB 2.0 systems which use 512-byte packets. Of these protocols, ECM could be classified as the simplest-frames are simply sent and received without modification one at a time. Remarkably, even some of the most modern platforms need minor accommodations and therefore support for these subsets is still needed. However, minor modifications of the standard subsets make practical implementations possible on such platforms. Regarding de facto standards, some standards, such as ECM, specify the use of USB resources that early systems did not have. The RNDIS specification is available from Microsoft's website. They are available for download from the USB-IF (see below). The latter three are part of the larger Communications Device Class (CDC) group of protocols of the USB Implementers Forum (USB-IF). The main industry protocols are Remote NDIS (RNDIS, a Microsoft vendor protocol), Ethernet Control Model (ECM), Ethernet Emulation Model (EEM), and Network Control Model (NCM). Even though the USB is not a physical Ethernet, the networking stacks of all major operating systems are set up to transport IEEE 802.3 frames, without needing a particular underlying transport. The use of these protocols is to allow application-independent exchange of data with USB devices, instead of specialized protocols such as video or MTP (Media Transfer Protocol). There are numerous protocols for Ethernet-style networking over USB. It can be done across multiple network devices by using USB over Ethernet Hubs. USB over Ethernet (also called USB over Network or USB over IP) is a system to share USB-based devices over Ethernet, Wi-Fi, or the Internet, allowing access to devices over a network. JSTOR ( September 2016) ( Learn how and when to remove this template message)Įthernet over USB is the use of a USB link as a part of an Ethernet network, resulting in an Ethernet connection over USB (instead of e.g.
Unsourced material may be challenged and removed.įind sources: "Ethernet over USB" – news Please help improve this article by adding citations to reliable sources. I also confirmed that changing the CPU for an STM32 obtained from Farnell on one of these boards fixed the USB issue.This article needs additional citations for verification. It also rather looks to me like a large batch of these particular boards with suspect chips is now in circulation, as I have 6 boards obtained in 3 different orders, 2 from UK stock and 4 in 2 lots from China direct (all last couple of months though). I did successfully get the openCM3 CDC example project to work in VSC/Platformio (after sorting out the STlink programming issue discussed in the link) and Macbeth got the USB to work another way, but as it stands the, it looks as though the current STM32duino code and these chips are incompatible. I have not found any of the STM32duino code (including bootloaders) to work with these chips, whatever they are. I have tested my boards and the configuration bits at 0圎00FFFC0 are a match for Macbeth's when read using using ST-Link Utility, so the manufacturer as read from the chip is not ST if I understand correctly. While the discussion is about not being able to program STM32's with STlink, it turns out that the reason it doesn't work is because the CPUID was different than that which would be read from a genuine STM32 part. The link below, second page, has more on these boards.
there may of course be versions of the chip with correct markings, not STM32) that that also don't work. I have concluded that while the boards were sold as STM32F103C8T6 system minimum boards and the chips are labelled as STM32F103C8T6, they are in fact something else with STM32 markings. I was have been having problems getting USB to work with recent STM32F103C8T6 system minimum boards, getting 'device not recognised' messages and 'device descriptor request failed' message in device manager (Win 10).