locked
Serial_State Notification an Host übermitteln mittels USB CDC/ACM und usbser.sys

    Frage

  • Hallo, ich arbeite an einem USB zu Seriell-Umsetzer auf Basis der CDC/ACM-Spezifikation. Dabei soll das Break-Signal, welches für die RS232 Datenkommunikation verwendet wird, an den von Windows mitgelieferten Treiber usbser.sys übermittelt werden.

    Laut Spezifikation USBPSTN1.2 wird die Mitteilung SERIAL_STATE dazu genutzt, um Informationen wie Break Detection, DSR oder verschiedene andere modemspezifische Signale an den Host zu übermitteln. Dies erfolgt über einen Interrupt-Endpunkt, welcher vom Host in regelmäßigen Intervallen gepollt wird.

    Das USB-Device übermittelt den neuen Status korrekt (dies konnte mit "USBlyzer" verifiziert werden --> Flag für Break-Signal gesetzt). Allerdings taucht bei der späteren Abfrage in der Anwendung mittels der Anweisung ClearCommError(m_hComPortHandle,&dwComFlags,&csComState) in der Variablen dwComFlags keine Fehlerbits auf, egal welche Bits in SERIAL_STATE gesetzt sind.

    Die bestehende PC-Anwendung, mit welcher der Umsetzer genutzt werden soll, darf dabei nicht verändert werden, benötigt aber das Break-Fehlerbit um zu funktionieren.

    Ich nutze einen AT90USB128 als USB-Device, habe mich an die Application Notes von Atmel gehalten und diese mit verschiedenen anderen Projekten verglichen und bin der Meinung, dass alle Diskriptoren und USB-Routinen richtig verwendet wurden.

    Ich habe bereits versucht, verschiedene Interrupt Endpunkte zu verwenden, jedoch ohne Erfolg.

    Gibt es hier vielleicht ein bekanntes Problem mit dem Treiber usbser.sys? Vielleicht sogar eine Lösung?

    Vielen Dank für eure Antwort!

    Mit freundlichen Grüßen/ Best Regards

    S. Paul
    • Verschoben Andrei Talmaciu Donnerstag, 17. Juni 2010 08:39 Dev Frage (aus:Windows Client)
    Mittwoch, 16. Juni 2010 08:39

Alle Antworten

  • Hi!
     Microsoft.Hot Fix Patch für usbser.sys XP  gegeben , einfach ausprobieren oder FixIt center versuchen.
    http://support.microsoft.com/kb/918365
    Atmel  Treiber und Tools probieren Firmware Upgrade(AVRISP MkII Fix:

    AVRISP MkII-Programmierer, die von 20071012 bis 20080130 gebaut hat einen Parameter fehlen in der Firmware.
    Dies bewirkt, dass der AVRISP MkII nicht mit dem Ziel AVR kommunizieren können.
    Der AVRISP MkII kann behoben werden, indem die Aktualisierung der Firmware über die folgenden Schritte:

    1) Installieren Sie dieses Paket auf einem Computer, der AVR Studio 4.12 mit SP1 oder höher ist. (AVRISPmkII.dat und AVRISPmkII.chm werden installiert)
    2) Starten Sie AVR-Studio und Programmierung im Dialog für die AVRISP MkII.
    3) AVR Studio erkennt eine alte Firmware auf der AVRISP MkII. Klicken Sie auf OK, und starten Sie Upgrade.
    4) Der AVRISP MkII sollten jetzt enthalten Firmware Rev 01.09 und korrekt funktionieren.

    Diese Firmware funktioniert auf allen AVRISP MkII unabhängig vom Herstellungsdatum,
    und wird in der nächsten Build von AVR Studio enthalten sein.
    Das Herstellungsdatum finden Sie auf der Unterseite der AVRISP MkII. Siehe Bild unten.

    http://www.atmel.no/beta_ware/AS4/AVRISPmkIIUpgrade.exe

     AVRISP mkII fix:AVRISP mkII programmers manufactured from 20071012 to 20080130 has a missing parameter in the firmware.This causes the AVRISP mkII to not be able to communicate with the target AVR.The AVRISP mkII can be fixed by upgrading the firmware following this procedure:1) Install this package to a computer that has AVR Studio 4.12 with SP1 or later. (AVRISPmkII.dat and AVRISPmkII.chm will be installed)2) Start AVR Studio and open the programming dialog for the AVRISP mkII.3) AVR Studio will detect an old firmware on the AVRISP mkII. Click OK and Start Upgrade.4) The AVRISP mkII should now contain firmware rev 01.09 and work correctly.This firmware works on all AVRISP mkII regardless of production date,and will be included in the next build of AVR Studio.The production date can be found on the bottom side of the AVRISP mkII. See picture below.http://www.atmel.no/beta_ware/as4/AVRISPmkIIUpgrade.exe  )

    Large I/O Devices - ARM-based Solutions
    Emulator oder Framework probiert
    www.segger.com

    http://www.atmel.com/applications/tools_app.asp?AppID=1083

    http://www.mikrocontroller.net/articles/WinAVR
    http://sourceforge.net/projects/winavr/files/


    AVR32 GNU Toolchain 2.4.2 AVR32 GNU Toolchain is a set of standalone command line programs used to create applications for AVR32 microcontrollers. The applications run either as embedded applications or on top of an embedded operating system, e.g. Linux.
    The tools may be used in a chain, so that the output of each tool becomes the input for the next. Several of the tools are based on tools from GNU (www.gnu.org), and some are developed by Atmel.

    •Runs on Microsoft Windows and Linux platforms
    •Cross compiler for AVR32 devices
    •Assembler and linker for AVR32 devices
    •Debugger for AVR32 devices
    •Flash programming tools for AVR32 devices
    •C-libraries for development of C/C++ programs
     

    AVR ISP mkII fix:
    AVRISP mkII programmers manufactured from 20071012 to 20080130 has a missing parameter in the firmware. This causes the AVRISP mkII to not be able to communicate with the target AVR. The AVRISP mkII can be fixed by upgrading the firmware.
    For procedure details see AVRISP mkII fix note. 
    FLIP FLIP (FLexible In-system Programmer) is a software that runs Windows 9x/Me/NT/2000/XP/Vista/Windows7 and Linux x86.
    FLIP supports in-system programming of Flash devices through RS232, USB or CAN.

    Two installation files (below) are available: one with Java Run-time Environment (JRE) integrated and one without JRE in case you have it already installed (v1.5 and above). 
    AT90USBKey The AT90USBKey is a low-cost demonstration board based on the AT90USB1287 microcontroller. It allows the quick evaluation of AVR microcontrollers and the AT90USB family. The key simply connects to the USB port of a personal computer to retrieve on-board documentation and run AVR programs. Designers can either run demonstration programs or their own application. It also allows hardware developments by giving access to the JTAG port and all the IOs of the microcontroller. An external power supply can be used for USB host or stand-alone operation.
    ATEVK527 USB 4-series High-Speed PWM Evaluation Ki This kit supports evaluation and demonstration firmware for the AVR USB 4-series. It includes ATmega32U4 32 KB Flash USB device, buttons and LEDs to support Human Interface Device I/O, PWM controlled buck DC/DC converter for battery charging, microphone for Audio input, PWM D/A for audio output, DataFlash and SD/MMC connector for Mass Storage Device and RS232 interface for Communication Device.


    mfg, entwickler


    Entwickler Microsoft Partner
    Donnerstag, 1. Juli 2010 21:29