Ok. Its not really a secret. What I thought I figured out was why it was not = =20 working. "I thought I knew". What I figured out was a way to make the USB work, by not using .NET to communicate with the USB COM4 port. Instead I use a =20 proxy "helper" program to be the interface between the USB COM4 port and the .NET user =20 interface. Here is what I found out: 1. The PIC18F8722 firmware works absoulutely positively flawlessly with =20 the 9 pin RS-232 interface via a MAX232 RS-232 to CMOS level converter IC. It has worked =20 with no errors for weeks using this interface, pretty much 24 x 7. For this reason the PIC =20 firmware is very solid -- All I need it for the USB to work identical to this dumb simple voltage = =20 level converter. 2. I have programmed everything strictly in 8 bit binary mode. I have =20 never used the text mode in any of the code I wrote for the PC. The PIC code is entirely in =20 assembly, and one would have to really try to have it understand text mode. It was =20 enough work trying to get the 8 bit packets work so that I had guaranteed detection of when a = =20 packet started and stopped, without using an extra hardware signal line -- So I could use = =20 this with the USB which does not support RTS and CTS signalling. 3. Sometimes the USB interface does not even work with the Hyperterminal. = =20 This usually happens if I leave the USB plugged in and turn off the PC. I don't have =20 all the answers about what to do if this happens. What always seems to work is to = =20 plugin the PICKIT3 ISD into the USB PIC18LF2450 and then do a verify of the flash =20 memory against the ..HEX file several times. Also one time I unplugged the USB connctor from = =20 the computer, removed power, restored power, then plugged the USB back into the computer = =20 -- that did work the one time I tried it. 4. There really is something going on very differently using the .NET. =20 The same settings, including binary mode, barely work at all with .NET. Thes same settings =20 work quite well with the helper program I wrote in Visual C++ 6.0 with MFC and Win32 APIs. =20 This uses the MSCOMM 6.0 Active X object, which barely works with .NET. The built-in SerialPort =20 object of .NET: I have never gotten this for getting data from the PIC into the PC via USB =20 (PIC18LF2450) at all, NEVER. 5. My current new setup is now using an "helper" interface program written = =20 in Visual C++ 6.0 that communicates both with the PIC and the .NET user interface program. The =20 "helper" program and the ..NET user interface use WM_COPYDATA messages, a send my HWND message, and = =20 system cache-backed memory file mapping IO (CreateFileMapping and MapViewOfFile) communicate =20 with each other, sending packets of data. The "helper" program uses the MSCOMM 6.0 Active X and =20 API, the Win32 and the MFC Api, to communicate with the PIC. The PIC18F8722 has exactly the =20 same firmware used for weeks with the MAX232 RS-232 level converer interface. This setup is = =20 working. 6. I cannot deny that the PIC18LF2450 firmware may have problems. This =20 was demonstration code that came with the PICDEM PIC18 EXPLORER DEMONSTRATION BOARD. I think the = =20 code is supplied "as is" with no warranties. I do not have source code, just the HEX =20 file. It would be major effort to debug with just the HEX file. 7. I would like a better USB interface. I am looking for source code -- =20 maybe drop the serial interface paradigm altogether. Have the USB deliver data in wider than 8 = =20 bit chunks, having extra bits for control and signaling. The 9 bit PIC serial interface is =20 actually very good as the extra bit can be used for addressing and packet demarcation, I do =20 use the second USART in the PIC18F8722 this way, highly successfully. The extra bit =20 means packets don't need escape symbols and special symbols to guarantee packet demarcation. A PC = =20 USB interface with 9 bits per "word" (or more) would be great. I thank everyone for there input. Dena Meier --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .