USB connection to leJOS on EV3 with Windows XP

This is where you talk about the EV3 software itself, installation issues, and programming talk.

Moderators: roger, gloomyandy, skoehler

USB connection to leJOS on EV3 with Windows XP

Postby M13 » Thu Jan 16, 2014 10:50 pm

Hello

Recently I bought the EV3 and installed leJOS according to the description in the 'Getting Started' section of the leJOS wiki.

However, when I tried to access it via USB on Windows XP, I encountered some difficulties. Similar problems had been described in other threads of this forum, but there was no obvious solution.

Thus, i wanted to describe here how I finally got it running - maybe it will be helpful for others.

However, all this information was found by lots of (LOTS of ;)) trial and error, and thus, there is NO WARRANTY ;)

When I connected the EV3 via USB, it only showed up as "RNDIS / Ethernet Gadget", and no suitable driver could be installed. I found some helpful information for this case on https://github.com/mindboards/ev3dev/wi ... Networking - however, this referred to Windows 7. When you are encountering the same problem on Windows 7, you might try to follow the steps that are described there in detail. This could probably already solve the issue. (Note: The author writes something about his 'Host IP address' - I did not understand what he meant, usually the IP of the EV3 should be 10.0.1.1 ...)

The problem was that on Windows XP, the 'Manufacturer' category in the driver selection dialog (shown in the fourth screenshot, https://github.com/mindboards/ev3dev/wi ... Driver.png ) does NOT contain an entry named "Microsoft Corporation" - and it seems like there is no support for 'Remote NDIS' devices. However, the RNDIS driver is installed with Windows XP - it simply does not appear in this list for whatever reason.

I finally could solve this by adjusting an .INF file (Driver Information file) that I found at http://social.msdn.microsoft.com/Forums ... formssetup : The VID/PID fields had to be adjusted according to the IDs that can be obtained from the 'Details' view of the (still unknown) "RNDIS / Ethernet Gadget" in the device manager. Here's the INF file that finally worked for me:
-------------------------------------
; Our Company
; Based on Remote NDIS template device setup file for the RNDIS-over-USB host driver.
[Version]
Signature = "$Windows NT$"
Class = Net
ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider = %Company%
DriverVer = 08/10/2009,1.0.0.1

[Manufacturer]
%Company% = Company,NT.5.1, NTx86.6.0

[Company]
; NetChip IDs, used by both firmware modes
%UsbEnetDevice% = RNDIS, USB\VID_0525&PID_A4A2

[Company.NT.5.1]
%UsbEnetDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_A4A2

[Company.NTx86.6.0]
%UsbEnetDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_A4A2

[ControlFlags]
ExcludeFromSelect=*

[RNDIS.NT.5.1]
Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI
BusType = 15
DriverVer = 04/30/2009,1.0.0.0
AddReg = RNDIS_AddReg_51, RNDIS_AddReg_Common
include = netrndis.inf
needs = Usb_Rndis.ndi.Services

[RNDIS.NT.5.1.Services]
AddService = USB_RNDIS, 2, RNDIS_ServiceInst_51, RNDIS_EventLog

[RNDIS_ServiceInst_51]
DisplayName = %ServiceDisplayName%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\usb8023.sys
LoadOrderGroup = NDIS
AddReg = RNDIS_WMI_AddReg_51

[RNDIS_WMI_AddReg_51]
HKR, , MofImagePath, 0x00020000, "System32\drivers\rndismp.sys"

[RNDIS_AddReg_51]
HKR, Ndi, Service, 0, "USB_RNDIS"
HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"

[RNDIS_EventLog]
AddReg = RNDIS_EventLog_AddReg

[RNDIS_EventLog_AddReg]
HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll"
HKR, , TypesSupported, 0x00010001, 7

[RNDIS_AddReg_Common]
HKR, NDI\params\NetworkAddress, ParamDesc, 0, %NetworkAddress%
HKR, NDI\params\NetworkAddress, type, 0, "edit"
HKR, NDI\params\NetworkAddress, LimitText, 0, "12"
HKR, NDI\params\NetworkAddress, UpperCase, 0, "1"
HKR, NDI\params\NetworkAddress, default, 0, " "
HKR, NDI\params\NetworkAddress, optional, 0, "1"

[SourceDisksNames]
1=%SourceDisk%,,1

[SourceDisksFiles]

[DestinationDirs]
DefaultDestDir = 12

[Strings]
ServiceDisplayName = "USB Remote NDIS Network Device Driver"
NetworkAddress = "Network Address"
Company = "Our Company"
UsbEnetDevice = "USB Ethernet/RNDIS Gadget"
SourceDisk = "Ethernet/RNDIS Gadget Driver Install Disk"
-------------------------------------

Note that this file contains some bogus. It was obviously anonymized, replacing some company name with the generic name 'Company'. Nevertheless, it worked for me...

The installation is then fairly standard:
- Store the file, e.g as "RNDIS Driver.INF" in any directory
- Right-click the the "RNDIS / Ethernet Gadget" in the device manager
- Select the option to update the driver software
- Choose the option to manually select the driver from a disc, and point it to the directory that contains the INF file. It should then be able to install the driver, and the EV3 should appear as "USB Ethernet/RNDIS Gadget" in the 'Network Adapters' section of the device manager.
- Right-click on this new device, select 'Properties', select 'Extended', and enter the IP address of the EV3 (10.0.1.1)

Afterwards, when you open the Start Menu -> Settings -> Network connections, there should be a new Network Connection available - most likely it's called 'LAN Connection 2' or so. This is the EV3. You can verify this by typing
ping 10.0.1.1
at the command prompt, or starting a putty session and connecting to 10.0.1.1.


Another disclaimer: Maybe there's an easier way to do all this (at least, there should be an easier way). I did some trial-and-error, and maybe I did other things that have been necessary to get the USB connection running on XP, and I forgot to mention them. However, maybe someone finds this information useful nevertheless.
M13
New User
 
Posts: 4
Joined: Thu Jan 16, 2014 9:56 pm

Return to EV3 Software

Who is online

Users browsing this forum: Google [Bot] and 2 guests

more stuff