View previous topic :: View next topic |
Author |
Message |
skaman
Joined: 09 May 2008 Posts: 2
|
USB HID communications problems with some PC |
Posted: Fri May 09, 2008 4:06 am |
|
|
Hi all,
i've realized a little board with pic 18f4550 and an usb connector.
I've used the ccs library for hid support and i've developed my windows application.
All seem to work but, on few computers, i've experienced some problems with communication.
I can send data from PC to PIC correctly but I lose all data sended from PIC to PC.
I saw the problem only over 3 PC with Windows XP (2 desktop and 1 notebook). The notebook show the problem only if it work with battery. With AC adapter it work correctly.
I don't think is an hardware problem, because i can use the USB bootloader correctly on ALL computers (with original microchip usb bootloader example with C18)
Someone have experienced this problem? Some ideas?
Thank you |
|
|
Bcox
Joined: 09 Oct 2007 Posts: 17 Location: Windsor, CT
|
|
Posted: Fri May 09, 2008 6:24 am |
|
|
Hello,
To me this is an interesting problem. I am developing an HID device with the same chip and am making my own application using LabView for the GUI. I have yet to try the system on other computers than my desktop.
When running on battery for the laptop, would the V+ voltage from the computer out to the PIC change to say 3.3V or something else than 5V to conserve power? Are you sensing a connection to the laptop in the PIC? Would the laptop try and slow down communication to USB1 speeds if on battery and the PIC is trying to run at full speed? Do you know if you are connecting to a USB1 or USB2 port? I don't if any of this really matters. I am new to this myself and am learning as I go.
Personally, I don't have any idea what is going on. I am new to USB and am just throwing out some ideas. I don't know if any of them matter or not. Good luck! If anyone has other ideas, I would also like to know as I might be in the same boat as I develop my system. |
|
|
Ttelmah Guest
|
|
Posted: Fri May 09, 2008 7:58 am |
|
|
Check what chipsets a used by the machines with problems.
Historically, there have been problems with Via chipsets, but these seem to have been fixed with recent releases and drivers. However recently, I have had problems with machines using Intel chipsets. Since about December last year, these have been showing really 'odd' behaviour with some devices. Working fine with many units, but giving intermittent failures with others. I have switched 'back' to a December dated chipset driver, and with this the units work fine....
Failures have ranged from a loss of data, to complete loss of communication.
Best Wishes |
|
|
skaman
Joined: 09 May 2008 Posts: 2
|
|
Posted: Mon May 12, 2008 2:57 am |
|
|
I've checked voltage and it's all ok. I've tryed also all usb port on this computer. Windows see correctly the PIC and automatically install the default HID driver. It see correctly my usb descriptor and in windows i can see my VID, PID and RELEASE.
All seem to work correctly... but my application can't communicate with PIC.
I did other test. I've connected oscilloscope to D+ and D- and i've see that:
- on working computer i've a clear wave shape
- on NOT working computer i've a distorced wave shape
Now, i suppose it's an hardware problem. But i don't understand:
- why original microchip bootloader example work correctly?
- why windows recognize the device and read correctly my descriptor?
Ttelmah, i've checked the mainboard chipset. We have all INTEL chipsets on all our computers. On problematic computers we have an old 8xx intel chipset. On working computer we have a newer 9xx intel chipset. So I suppose you're right. There's some problems with intel chipset.
I checked the files in c:\program files\PICC\Drivers and i can see the date for pic18_usb.h is 5 february 2008. What file are you using? Where I can find and older version?
Thank you |
|
|
Ttelmah Guest
|
|
Posted: Mon May 12, 2008 4:01 am |
|
|
It is not the PIC driver, but the chipset driver for the actual Intel part. They 'tweaked' something to supposedly improve USB performance, and it seems to give problems with some devices. The driver comes from Microsoft, routinely as part of the Windows updates. However it is available from Intel (or in most cases the motherboard manufacturer) as a separate download. Normally called "Motherboard_driver_chipset_Intel". I found this a couple of months ago, and there have been quite a few reports about it on the web. It has been reported to MS, and Intel, and a new driver appeared a few days ago, for Vista (where the problem was even worse...), which seems to work. I'm sure a proper fix will be coming in the next couple of weeks for the older OS's.
If you have the motherboard manufacturers CD, try installing the motherboard driver set from this. It'll probably complain that the driver is older than the one installed, but it then all starts working again (but with slightly lower performance on some USB transfers).
Best Wishes |
|
|
tugrul Guest
|
|
Posted: Tue Jun 02, 2009 5:51 am |
|
|
I have some problems like that I can connect the device on my own PC or notebook. But when I want to connect from another PC or Laptop I cannot connect. I send data but cannot receive.
What should the problem be? |
|
|
Guest
|
|
Posted: Tue Jun 02, 2009 8:13 pm |
|
|
I really dislike these problems! RS232 used to run so well... But alas that's progress.
As another check - do the problem PC;s have problems with other USB devices too or just your hardware - that will tell you if it is a chipset issue or something with your hardware.
The 'Distorted waveforms' does not sound good - does your device draw excessive current when operating on a 'bad' PC? This might tell you something. Sometimes putting 22 or 47 pf from D+ and D- (both pins at once) to ground can help.
I have had cheap cable issues that won't allow the device to enumerate properly and old USB connector issues on PC's that have been used a lot.
This might be something to check.
As an aside - I have been using FTDI devices for some time now and I have never had an issue with them on any PC. This is interesting - I'm not being a 'fanboy' but there is probably something to be gleaned from this.
Boy - these USB driver issues are a mess when stuff does not work.
Hope these ideas are worth something...
Steve H. |
|
|
|