sc_usb and driver for different OS

XCore Project reviews, ideas, videos and proposals.
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

sc_usb and driver for different OS

Post by lilltroll »

OK, many have been longing for a VCOM on Windows using the L series and XTAG2, instead of the FTDI, for dual way communication.

Here is a starting point
Enhetshanteraren.png
(8.66 KiB) Not downloaded yet
Enhetshanteraren.png
(8.66 KiB) Not downloaded yet
Windows has support for USB CDC (Communications Device Class) and drivers for it, but they are not "activated by default"

But it still need some fix to work.
Someone here that is used to write drivers/inf files for Windows ?

Code: Select all

; For XMOS USB\VID_20B1&PID_0401&REV_0200
[Version] 
Signature="$Windows NT$" 
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} 
; This class includes serial and parallel port devices. See also the MultiportSerial class.
Provider = %XMOS%
 ;;; LayoutFile=layout.inf ;; not supported in Vista and later
DriverVer = 10/30/2011,0.0.0.8
[Manufacturer]
%XMOS% = DeviceList,NTx86,NTamd64
[DeviceList.NTx86] ; device ID match
%XMOSCompositeDevice%=Vcom.Device, USB\VID_20B1&PID_0401&REV_0200
%XMOSVcomDevice%=Vcom.Device, USB\VID_20B1&PID_0401&REV_0200&MI_00
 
[DeviceList.ntamd64] ; device ID match
%XMOSCompositeDevice%=Vcom.Device, USB\VID_20B1&PID_0401&REV_0200
%XMOSVcomDevice%=Vcom.Device, USB\VID_20B1&PID_0401&REV_0200&MI_00
 
 [Vcom.Device.NTx86] ; what to do when you have match to "Vcom.Device"
 include=mdmcpq.inf
 CopyFiles=FakeModemCopyFileSection
 AddReg=Vcom.Device.AddReg 
 
[Vcom.Device.AddReg] ; specify devloader and driver stack
HKR,,DevLoader,,*ntkern 
HKR,,NTMPDriver,,usbser.sys 
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" 
 
[Vcom.Device.NTx86.Services] 
AddService=usbser, 0x00000002, VComDriverService
 
[VComDriverService] 
DisplayName=%DRIVER.SVC% 
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\usbser.sys 

[SourceDisksNames]
 ;;; this blank section satisfies chkinf
 
[SourceDisksFiles]
 ;;; this blank section satisfies chkinf
 
[DestinationDirs] 
 FakeModemCopyFileSection=12
 DefaultDestDir = 12
 
[Strings] 
XMOS = "XMOS Developer Community"
XMOSCompositeDevice = "XMOS Gadget with multiple configurations"
XMOSVcomDevice= "XMOS Serial Virtual COM-port"
DRIVER.SVC="XMOS Virtual COM-port USB RS-232 Emulation Driver"


Probably not the most confused programmer anymore on the XCORE forum.
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Post by lilltroll »

With some help from Henk, the VCOM and VEthernet is now working on both Ubuntu and Mac.
A little driver twist -> and hopefully it will run on Windows 32-bit as well.
Probably not the most confused programmer anymore on the XCORE forum.
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm
Contact:

Post by Folknology »

This is interesting is there any info/documentation etc..

Do we have to install any proprietary drivers or can it all be done open source?

regards
Al
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Post by lilltroll »

Everything is open source, or at least freeware.

If you click on the examples you will get more info, for VCOM and ECM
https://github.com/xcore/sc_usb

In linux the driver is already there.
Just plug it in and do a
> lsusb


The really exiting question is if you can fit the VCOM in the XTAG2!
Probably not the most confused programmer anymore on the XCORE forum.
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm
Contact:

Post by Folknology »

OK I was just browsing through the code examples which leads to more questions:

Regarding the usb over ethernet example what is FemptoIP/TCP/UDP etc.. is this something contrived pourely for the usb over ethernet example or is this an attempt to create a smaller xmos TCP/IP lib? And whats with the 'burn()' threads is this just to test with a given number of threads or am I missing something?

For the Vcom does it require a minimum of 4 threads and are their any limits regarding what happens in any other threads that one might add?

Could any of these examples be run on the Xtag or an L1 device?

regards
Al
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Post by lilltroll »

VCOM2.png
VCOM2.png (10.94 KiB) Viewed 16103 times
VCOM2.png
VCOM2.png (10.94 KiB) Viewed 16103 times
It is working now on Win in CDC & Interupt transfer mode. There is also an faster bulk mode, but that is not ready yet.

And it runs on any L device with the USB chip, and maybe maybe also on the XTAG2 in the future - but no promises as all.
Probably not the most confused programmer anymore on the XCORE forum.
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm
Contact:

Post by Folknology »

Hey nice one Mika - Maybe this provides some ideas for this months competition

regards
Al
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Post by lilltroll »

Folknology wrote:Hey nice one Mika - Maybe this provides some ideas for this months competition

regards
Al
The winner of last month (me), also get the price to have suggestions which next packages should be. I will see if I can make an influence on that. I know you have been thinking of VCOM, USB and Ethernet for a long time as well.
Probably not the most confused programmer anymore on the XCORE forum.
deepmadan
New User
Posts: 2
Joined: Thu Aug 09, 2018 7:32 am

Post by deepmadan »

Is USB over Ethernet working on Windows 32 and 64 bit now ??
I have not been able to get any working drivers to work. I have implemented the whole USB CDC ECM Stack, but i am stuck at which driver to install or how to write a .inf file for my driver. If any open source driver or inf file is available for USB CDC ECM, please share the same with descriptor details

Thanks in advance

Deepak Madan
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

Hi Deepak.

From:

https://www.xmos.com/support/appnotes/AN00131


These guys are advertising a solution and offer a trial driver for your testing:

https://www.thesycon.de/eng/usb_network.shtml
Attachments
xmos_ecm.png
(17.87 KiB) Not downloaded yet
xmos_ecm.png
(17.87 KiB) Not downloaded yet
Post Reply