FTDI USB-to-serial driver issue
Phil Pilgrim (PhiPi)
Posts: 23,514
Here's a weird one. I have the latest FTDI driver installed on both my shop computer (WinXP SP3) and an ancient laptop (WinXP SP1). The shop computer works with all FTDI USB-to-serial devices. The laptop works with all devices except the FTDI chip installed on the Propeller BOE. When I connect a Prop BOE to the laptop, it recognizes that a connection was made but says an error occurred when installing the new device. Any ideas what's going on or how to remedy the situation -- short of upgrading to SP2 or SP3?
Thanks,
-Phil
Thanks,
-Phil
Comments
Your safest bet might be to upgrade to SP3.
-Phil
I don't think it would be related to speed of the port, not for that class of device. I'm leaning more toward you needing the service packs. In the past I have seen issues with hardware not functioning properly (even with updated drivers) if Windows wasn't up to date, especially at that level. Windows XP is really getting on in years and I would be willing to bet there is some support for updated hardware in those service packs. Just my thoughts. I spent many years building, repairing and upgrading PCs...but I'm happy to not be doing it any more.
It's too bad you don't have a spare drive you could clone to and swap out. I've done that before to test things. Then if it didn't work you could always put the original drive back in.
I have an old 2002 Dell 2.53GHz desktop with 1GB of RAM running XP Pro. Last week it developed a problem where the CPU jumped to 100% (SVCHOST) when trying to run the Microsoft update. There are alll kinds of "fixes" on the Internet but I could not resolve the issue.
I started to just scrap the PC but instead I reformatted the drive, booted up from XP install CD and proceeded to install XP (with SP1).
Then I applied SP2 and SP3 but quess what - the problem was still there!
One Internet fix said to install IE8. It independently downloads updates and installs IE8. When I ran the Windows Update, the new version of the Update ActiveX was installed.
Had to dig around to find some needed drivers for the video card, etc but wasn't too bad.
I was able to apply about 150 updates and the system is now stable and it boots up and shuts down fast!
I have installed very few programs in order to keep it rather bare bones.
Good thing it has a USB 2.0/Firewire card in it because the motherboard only supports USB 1.1.
Since XP support is going away in less than 6 months, I may use this PC strictly for microcontroller/hobby programs.
-Phil
Interesting, I had often wondered about the downside of lifting that number a little.
Did you find what value there is the 'drop dead' setting for your laptop ? (any middle ground ?)
-Phil
-Phil
Run usbview.exe and you can see the power attributes. When I connect the BOE it shows "Max Power" at 500mA but the powered hub shows 100mA.
you powered hub may be requesting more than the laptop can provide http://www.ftdichip.com/Support/Utilities/usbview.zip
HUB
External Hub: USB#Vid_050d&Pid_0237#6&3f1cee4&0&1#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
Hub Power: Self Power
Number of Ports: 4
Power switching: Individual
Compound device: No
Over-current Protection: Individual
Device Descriptor:
bcdUSB: 0x0200
bDeviceClass: 0x09
bDeviceSubClass: 0x00
bDeviceProtocol: 0x02
bMaxPacketSize0: 0x40 (64)
idVendor: 0x050D (Belkin Components)
idProduct: 0x0237
bcdDevice: 0x0007
iManufacturer: 0x00
iProduct: 0x00
iSerialNumber: 0x00
bNumConfigurations: 0x01
ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed: High
Device Address: 0x03
Open Pipes: 1
Endpoint Descriptor:
bEndpointAddress: 0x81 IN
Transfer Type: Interrupt
wMaxPacketSize: 0x0001 (1)
bInterval: 0x0C
Configuration Descriptor:
wTotalLength: 0x0029
bNumInterfaces: 0x01
bConfigurationValue: 0x01
iConfiguration: 0x00
bmAttributes: 0xE0 (Bus Powered Self Powered Remote Wakeup)
MaxPower: 0x32 (100 Ma)
Interface Descriptor:
bInterfaceNumber: 0x00
bAlternateSetting: 0x00
bNumEndpoints: 0x01
bInterfaceClass: 0x09 (Hub)
bInterfaceSubClass: 0x00
bInterfaceProtocol: 0x01
iInterface: 0x00
Endpoint Descriptor:
bEndpointAddress: 0x81 IN
Transfer Type: Interrupt
wMaxPacketSize: 0x0001 (1)
bInterval: 0x0C
Interface Descriptor:
bInterfaceNumber: 0x00
bAlternateSetting: 0x01
bNumEndpoints: 0x01
bInterfaceClass: 0x09 (Hub)
bInterfaceSubClass: 0x00
bInterfaceProtocol: 0x02
iInterface: 0x00
Endpoint Descriptor:
bEndpointAddress: 0x81 IN
Transfer Type: Interrupt
wMaxPacketSize: 0x0001 (1)
bInterval: 0x0C
PropBOE
Device Descriptor:
bcdUSB: 0x0200
bDeviceClass: 0x00
bDeviceSubClass: 0x00
bDeviceProtocol: 0x00
bMaxPacketSize0: 0x08 (8)
idVendor: 0x0403 (Future Technology Devices International Limited)
idProduct: 0x6001
bcdDevice: 0x0600
iManufacturer: 0x01
0x0409: "Parallax Inc."
iProduct: 0x02
0x0409: "PropBOE"
0x0409: "PropBOE"
iSerialNumber: 0x03
0x0409: ""
bNumConfigurations: 0x01
ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed: Full
Device Address: 0x07
Open Pipes: 2
Endpoint Descriptor:
bEndpointAddress: 0x81 IN
Transfer Type: Bulk
wMaxPacketSize: 0x0040 (64)
bInterval: 0x00
Endpoint Descriptor:
bEndpointAddress: 0x02 OUT
Transfer Type: Bulk
wMaxPacketSize: 0x0040 (64)
bInterval: 0x00
Configuration Descriptor:
wTotalLength: 0x0020
bNumInterfaces: 0x01
bConfigurationValue: 0x01
iConfiguration: 0x00
bmAttributes: 0xA0 (Bus Powered Remote Wakeup)
MaxPower: 0xFA (500 Ma)
Interface Descriptor:
bInterfaceNumber: 0x00
bAlternateSetting: 0x00
bNumEndpoints: 0x02
bInterfaceClass: 0xFF
bInterfaceSubClass: 0xFF
bInterfaceProtocol: 0xFF
iInterface: 0x02
0x0409: "PropBOE"
0x0409: "PropBOE"
Endpoint Descriptor:
bEndpointAddress: 0x81 IN
Transfer Type: Bulk
wMaxPacketSize: 0x0040 (64)
bInterval: 0x00
Endpoint Descriptor:
bEndpointAddress: 0x02 OUT
Transfer Type: Bulk
wMaxPacketSize: 0x0040 (64)
bInterval: 0x00
So it would appear that this is what the laptop sees and rebels against. It would make more sense for the hub to modify the power request on the fly as it passes to the host or to modify the "bus-powered" attribute to read "self-powered."
-Phil
It seems that each device in the string makes a go/no-go decision based on the max power it could be expected to deliver.
That is interesting...the whole reason powered hubs were popular when USB first came out is that many hosts could not provide sufficient power to the devices. I would have expected as you said, for the device request to be altered when connected to the powered hub, but I guess I didn't do my research very well at the time. I expected the powered hub to alter the request. I often used powered hubs to protect the host PC from damage more than anything. Still, interesting information. Thanks for the follow-up. :nerd:
Even though USBView didn't show max power values for the internal hub, the ACer recognized the BOE and set it up as COM4.
Must be hardware differences...
When I plug in the 90 mA BOE, it shows up under "Attached devices" as "USB Serial Converter" with "90 mA" for "Power Required." When I plug in the 500mA BOE, I get "Unknown USB Device" and "500 mA" instead.
BTW, the laptop's two USB ports are USB 1.1.
-Phil
Wow! Great utility.
Device Manager on my notebook shows 5 hubs (even though there are only 3 external ports & one for the webcam), four USB Host Controllers and one USB2 Universal Host Controller.
Hard to figure out whats what!
The hubs all show 500mA.
-Phil
Great Phil! Glad you found a solution.