Windows 7 / Propeller BOE / FTDI COM Troubles
Ken Gracey
Posts: 7,401
Hey all,
Today I started teaching the Propeller with our local high school freshmen (yes, they can't even drive) Engineering Technology instructor, Ms. Butterworth. Ms Butterworth is picking it up really fast and at the end of our three 1:20 classes each of the 50 students successfully programmed a Propeller Boe-Bot for making squares, circles, and other dead-reckoning projects. Next week we're moving into repeat statements to create more complex shapes like spirals. What a blessing to tuck the servo management into another cog! Blech. . they can't begin to appreciate not having these hassles, but I'll back them into appreciating them a bit later when I show a BASIC Stamp doing the same thing, or a Propeller USB Oscilloscope displaying the signals. Anyway, these kids will quickly be working with Ping)) sensors and making their robots talk with speech synthesis and WAV file playback. I admit there's a bit of a high-level approach, but for those who need to look under the hood they also have the opportunity to use objects of their own. I am taking all of these experiences and putting them into learn.parallax.com so we can make this a tremendous success. If you believe in your stuff, best way is to put it to the test, or as MattG says "eat your own dog food!".
But I'm having a BIG problem and I don't know the origins of it. Almost intermittently, 4 of our 20 laptops have lost their VCP COM port communication with the Propeller. The same computers were used with the S2 robot (in the adjacent middle school) with no problem. Here's the setup:
- Windows 7
- PropBOE on a Boe-Bot chassis
- Propeller Tool software
- Standard FTDI installation
- Latency timer initially set at 16
When we have a COM lockup I switch cables, switch PropBOEs and isolate the problem with the computer. Perhaps the PropBOE is causing the problem - I'm not certain.
The "fix" has been to reboot the computer and change the COM assignment to another free number. At the same time I've decreased the latency timer to 1. This works, for a while, but not permanently.
Anybody anywhere experience a similar series of events or have a solution for this problem?
Thanks,
Ken Gracey
Today I started teaching the Propeller with our local high school freshmen (yes, they can't even drive) Engineering Technology instructor, Ms. Butterworth. Ms Butterworth is picking it up really fast and at the end of our three 1:20 classes each of the 50 students successfully programmed a Propeller Boe-Bot for making squares, circles, and other dead-reckoning projects. Next week we're moving into repeat statements to create more complex shapes like spirals. What a blessing to tuck the servo management into another cog! Blech. . they can't begin to appreciate not having these hassles, but I'll back them into appreciating them a bit later when I show a BASIC Stamp doing the same thing, or a Propeller USB Oscilloscope displaying the signals. Anyway, these kids will quickly be working with Ping)) sensors and making their robots talk with speech synthesis and WAV file playback. I admit there's a bit of a high-level approach, but for those who need to look under the hood they also have the opportunity to use objects of their own. I am taking all of these experiences and putting them into learn.parallax.com so we can make this a tremendous success. If you believe in your stuff, best way is to put it to the test, or as MattG says "eat your own dog food!".
But I'm having a BIG problem and I don't know the origins of it. Almost intermittently, 4 of our 20 laptops have lost their VCP COM port communication with the Propeller. The same computers were used with the S2 robot (in the adjacent middle school) with no problem. Here's the setup:
- Windows 7
- PropBOE on a Boe-Bot chassis
- Propeller Tool software
- Standard FTDI installation
- Latency timer initially set at 16
When we have a COM lockup I switch cables, switch PropBOEs and isolate the problem with the computer. Perhaps the PropBOE is causing the problem - I'm not certain.
The "fix" has been to reboot the computer and change the COM assignment to another free number. At the same time I've decreased the latency timer to 1. This works, for a while, but not permanently.
Anybody anywhere experience a similar series of events or have a solution for this problem?
Thanks,
Ken Gracey
Comments
ASUS laptops, don't know the exact model number but I will find out. They're fairly new, purchased this year.
Your solution was different FTDI hardware, not different drivers? Ouch. . .
When I check com port problems in Win7 I start with the FTDI device unplugged then open control panel/device manager and click on "Ports (COM & LPT)" then plug in your FTDI device and note the new USB serial device that appears and click on
that to open the window for it and click on the driver tab. Mine shows this -
Driver Provider: FTDI
Driver Date: 3/18/2011
Driver version: 2.8.14.0
Edit: I have an Asus P8P67 Pro motherboard in my machine and it is setup with 32bit Win7 home premium.
If you really want to trace the root cause of something like that you'd probably need some kind of debugging that isn't available.
Have you checked the Windows log/system log just in case there's any info there?
In this way you could identify if it is a OS problem or a BIOS problem. You might need to update the BIOS on some of those laptops.
Rick - I noticed a sticker on one of the Asus machines that said "USB 3.0" but I didn't think much about it. After all, we've been programming S2 robots quite nicely for several months already. How is it possible the S2 would not cause a crash but the PropBOE does?
And I wonder if some ports are 3.0 and others are actually 2.0. It seems odd that a machine wouldn't be compatible with older hardware, not just from us but everybody else.
I haven't had time to research the USB 3.0/FTDI issue and exactly what's on these PCs, but I guess I better check [on my free time]. There's really nothing as deflating to a microcontroller class as being stopped immediately due to PC troubles.
Thanks,
Ken Gracey
For example, a student who is in the middle of a download and decides to disconnect the USB cable from a PropBOE? Think that could cause the type of problem you're referring to?
Ken Gracey
http://technet.microsoft.com/en-us/sysinternals
In particular you may want to try PortMon
http://technet.microsoft.com/en-us/sysinternals/bb896644
The other utilities on the site for monitoring processes, registry, etc are all great tools for troubleshooting.
Robert
With the contortions I went through with the USB interface on my project, I would definitely say 'yes'. Often times there is a timeout option on the PC side of programming that would allow bailing out (in a graceful way) of a data transfer.
Unsoundcode might offer some insight to this...
Edit: I can take my 3.0 storage device and plug it into a 2.0 port and it will work but slower. I also can't imagine a machine that has 3.0 port(s) to not have a 2.0 port(s), but you never know!
Is it possible that a laptop has both 2.0 and 3.0 USB ports? Perhaps it is - maybe we're just using the wrong port (the 3.0 one). I'll have to check that out as soon as possible.
As we have been programming both S2s and PropBOEs on these machines they MUST have some USB 2.0 ports if the 3.0 port truly can't work with FTDI drivers.
Ken Gracey
Dave, well, I'm sure that this happens. With 20 students programming at once there's always an assortment of issues going on. But they're starting to figure out how to handle them on their own quite nicely. Just treating the COM port connections with sensitivity could really help here: don't unplug until download is done; close COM ports to PST and other devices when finished, etc.
That may be possible. Do you have the exact model # of the laptop? With that it would help to look up the specs.
Didn't you have some direct contacts at FTDI? Perhaps you can give them a call and ask them if they have seen any issues with using USB 3.0 ports and if there are if they have any work arounds or new drivers.
Robert
This is using my Toshiba Laptop (purchased last Christmas) which has 1 USB3 and 3 USB2 ports. The USB 3.0 port has a blue plastic tab and a funnier USB squiggle marking it. I have installed the latest FTDI driver from FTDI and it is running Win 7 Home Premium.
My S2 with Parallax USB to Serial adapter (#28030) works on either port. (It is recognized by F7 in Spin Tool - that's working for now)
My Prop-BOE works on USB2.0 port but the device driver fails to install on USB3.0 port
My C3 works on either port
A random QuickStart works on either port.
That's the extent of my testing. Based on your experiences, my experiences and the troubles John R has been having with his laptops in Wisconsin, there appears to be some problems with PropBOE on USB3.0 (and I'd have to re-read John's thread but maybe some general issues with PropBOE on some USB ports).
I never noticed the USB3Prop-BOE issue on my laptop because the USB 3.0 port is on the left and the Prop-BOE, if I'm using it, gets plugged in on the right. I've also been using my C3 mostly with the PropGCC efforts.
The random nature of the problems could relate to where kids plug things in (like me) or it could be an intermittent issue like the QuickStart and its magic resistor.
Check for USB3.0 ports and if they exist, try a class with EVERY ONE using the USB2.0 ports.
I'll keep playing but I think I've run our of USB3.0 ports.....
http://forums.parallax.com/showthread.php?139525-FTDI-Driver-problems-with-Windows-7-64-bit
http://forums.parallax.com/showthread.php?139821-PropBOE-USB-Connection-Not-Working
It seems the main culprit is the PropBOE, rather it's FTDI or interface circuit when using USB 3.0 or USB 1.1 as other boards tend to work without problem.
It would be interesting (for me) to see a screen shot of the FTDI EEPROM using USBView.
Jeff T.
A quick and dirty way of checking if the port you are using is a USB 3.0 port, look at the physical port itself - USB 3.0 ports will have blue plastic inside of the port where the connections are made. There is a strong possibility, too, that not all ports on the laptop are USB 3.0. My Acer laptop at home has two USB 2.0 ports and a single USB 3.0 port. USB 3.0 is still pretty bleeding edge, so it is something special if a port is 3.0 compatible.
Daniel
The host controller chip that manages the USB 2.0 and USB 3.0 ports may have diver issues, however.
By "physically" you mean the electronics are different, but the connectors are actually the same aside from one being blue (3.0). http://en.wikipedia.org/wiki/USB_3.0#Connectors
I'll check for blue connectors.
Thanks Daniel and Kwabenator!
Ken Gracey
USB serial adapter Rev B w/ copyright date of 2005 on it driver dated 3/18/2011 Version 2.8.14.0
USB Stamp Professional Development Board driver dated 7/12/2010 Version 2.8.2.0
USB Propeller Protoboard Driver dated 3/18/2011 Version 2.8.14.0
USB Propeller Professional Development Board Driver dated 3/18/2011 Version 2.8.14.0
Only the PropBoe that does install a driver but the Prop tool can't see when plugged into a 3.0 port
USB PropBoe driver dated 3/18/2011 Version 2.8.14.0
Absolutely, anything along those lines. The COM port is tied into an IRQ and an IO address which will become unavailable when there is some 'issue' with it to maintain your operating system stability. If that COM port were still open that one IRQ would rule your system.
You should make sure that your laptop's COM port has a dedicated IRQ, and not shared with anything else. Usually it will not be shared but the bulk of COM problems are shared IRQs and COM ports stuck open. Some laptops have IR and parallel ports that can be turned off, it's not a bad idea.
USB 3.0 seems to work fine here with the the Prop IDE, 64bit Win7 Pro. Also for my serial Boe-Bot I've had no problems with my SIIG converter. USB has always been good for backwards compatibility. I primarily do MCSE stuff but I do love hardware. I'm no expert on hardware, but again these COM port issues have been an issue for a long time and it's really hard to point fingers when you have so many variables.
Also as mentioned earlier the BIOS is a good place to look. Not sure what settings are available in yours but sometimes the system defaults are the best. Hope that helps!
What are the USB devices, on those various boards, and used in what mode(s) ?
So that would make a USB 3.0 somewhat less tolerant of USB connector wear, and miss-alignment etc, just due to the shared space giving smaller landing areas ?
Should be easy to check, and reports USB 3.0 sometimes works hints at something simpler ?
USB plugs have always had an extra, unused terminal (through USB 2.0). It may be that USB 3.0 has taken over that extra terminal and the only physical difference in sockets are the blue plastic color. This needs a bit of research. As it stands, I don't have any USB 3.0 ports at all. And no USB 3.0 devices.