Jump to content

Recommended Posts

Posted (edited)
5 hours ago, Toastie said:

However, it is not necessary to install "Virtual Box" for most of the programs you have compiled.

That is a fantastic and detailed guide for Windows 10 users! But I use a Mac running macOS 10.15 Catalina, so unfortunately I do have to.

Edited by Coder Shah
Posted
3 hours ago, Mr Hobbles said:

using the USB tower on macOS Catalina with no issues

@Mr Hobbles,

that is a very nice project!!!

However, I was more aiming at getting all the old software to run on Win10, 64 bit. Catalina is 32 bit, isn't it? If not, would you have a link to the 64bit driver for the USB tower? I searched quite a bit at various places - to no avail. There apparently was such a driver shipping with Robolab or the like, but again, no find.

Best
Thorsten

Posted
1 hour ago, Toastie said:

@Mr Hobbles,

that is a very nice project!!!

However, I was more aiming at getting all the old software to run on Win10, 64 bit. Catalina is 32 bit, isn't it? If not, would you have a link to the 64bit driver for the USB tower? I searched quite a bit at various places - to no avail. There apparently was such a driver shipping with Robolab or the like, but again, no find.

Best
Thorsten

You can find the 64 bit windows usb driver at http://www.legoengineering.com/rcx-usb-tower-support/

BTW linux has a driver integrated into the kernel (although it needs some permission tweaking).

Posted (edited)
9 hours ago, Tcm0 said:

You can find the 64 bit windows usb driver

Well, sort of, isn't it? I found that resource during my search for a 64bit driver, but I was rather overwhelmed with what I needed to do. But: Now that you have pointed to this source as well, I will give it a try. So far, I downloaded the NI-VISA software suite, installed it. It indeed found the USB tower connected to my laptop, and it created an .INF file.

Next step is to download some Win SDKs - actually I downloaded the Microsoft Enterprise Windows Driver Kit so be able to create and certify a .CAT file. I am struggling with that, but I'll go on and do my best.

I believe the issue is the certificate required for Win10, is that true? (Otherwise, the driver itself could be put somewhere for download ...)

Best
Thorsten

Update: Did all that - generated .inf file with NI-VISA, created cat file with the MEWD (12 GByte ...), created a personal certificate and placed that in the Trusted Certificate Whatever Root Whatever, certified the inf/cat with the.cer file generated. All said: Success. Installed the .inf file: There was a memory error. 
Will do that again - maybe I missed something ...   

Edited by Toastie
Posted (edited)
8 hours ago, Toastie said:

@Mr Hobbles,

that is a very nice project!!!

However, I was more aiming at getting all the old software to run on Win10, 64 bit. Catalina is 32 bit, isn't it? If not, would you have a link to the 64bit driver for the USB tower? I searched quite a bit at various places - to no avail. There apparently was such a driver shipping with Robolab or the like, but again, no find.

Best
Thorsten

Catalina is 64bit, but I’m afraid I’m unfamiliar with how it works with the USB tower. I assume no driver is required on macOS and the NQC binary speaks the protocol natively, but I’m not sure. I certainly didn’t install any.

Edited by Mr Hobbles
Posted
2 hours ago, Mr Hobbles said:

I assume no driver is required on macOS and the NQC binary speaks the protocol natively

OK, but then this suggests that the USB tower is much "more generic" than I thought (IR/VIS light conversion and then using an USB virtual com port), isn't it? I mean, why should Apple make something specific for an almost 20 years old rather special device? I believe NQC is just doing plain serial com port communication - it does that with NXT via Bluetooth communication as well.

Oh well.

Best
Thorsten

Posted (edited)
46 minutes ago, Toastie said:

OK, but then this suggests that the USB tower is much "more generic" than I thought (IR/VIS light conversion and then using an USB virtual com port), isn't it? I mean, why should Apple make something specific for an almost 20 years old rather special device? I believe NQC is just doing plain serial com port communication - it does that with NXT via Bluetooth communication as well.

 Oh well.

Best
Thorsten

I don't believe Apple did anything specific for it either, so I took a little look at the NQC codebase to see how it's doing it. It looks like it doesn't use drivers on macOS - it opens a IO file to the USB device and speaks the raw protocol, sending and receiving bytes and interpreting them, bypassing the need for a driver since it does all the work.

On Windows it looks like it has a header file that maps to the functions in the driver. As a result the macOS implementation in NQC has a lot more code, but doesn't need a driver.

Edited by Mr Hobbles
Posted (edited)
1 hour ago, Mr Hobbles said:

On Windows it looks like it has a header file that maps to the functions in the driver

That is sort of going into the direction I understand the Windows driver model (WDM). When you plug something into an USB port on a Windows machine, something is going on - as judged by the thinking time and sounds. It appears as if the device tells Windows what it is. When the device informs Windows it is a plain vanilla HDI, all is good because these drivers are always there. The moment Windows does not recognize the device info, it simply asks or searches for a driver - even when it is just USB over a virtual serial com port.

And yes - I believe this is the purpose of this WDM: Reduced the amount of code you have to write for e.g. I/O operation. When installing the 32bit USB driver on a 32bit Windows machine, you also get a little program that allows you to set things within the driver space/layer: time out times, buffer lengths etc. so that you don't have to deal with that when coding. As I have outed myself before: I am still using VB6 on this Win10 64bit Precision laptop. Using the serial tower (with a USB2serial converter including driver) all works fine, as VB6 talks to the serial tower through a) the VPBCom ActiveX control that came with the Mindstorms (RCX) SDK - and the driver for the converter. I don't see any of this during programming; I just call "findport", which gets the next "free" tower, serial only as the USB tower driver is not there, then "openport" the found port and then use the implemented methods to read/write (serial) e.g. characters.

So I believe without a matching driver installed, the info from the USB tower "I am a LEGO USB tower" makes Windows to go into "gimme a driver mode".

Tried NQC without driver installation - I just does not respond at all - even no error message. It simply does nothing.

But this is a very luxury problem, as the serial tower with a USB serial adapter works fine. However, for some reason it really bothers me - mostly because the USB tower did also "speak" the VLL protocol (SCOUT, MicroScout, and Spybotics do that as well) as it has both IR and VIS LEDs/receivers on board.

Oh well - maybe I get the driver @Tcm0 was pointing to running. I tried it before, but gave up because of the certification hassle. That really sucks - particularly when you have no clue, what you are doing - on the command line level. Grew up with that ... but well - it was easier those days, I must confess. But I'll try that again.

Best
Thorsten

Edited by Toastie

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...