USB problème port série virtuel windows - C - Programmation
MarshPosté le 11-02-2013 à 11:51:21
Bonjour,
je travaille actuellement sur le développement d'un port série virtuel via usb. Voici ma situation actuelle :
- ma carte est en usb device, le pc en host, j'ai intégré / modifié la stack usb coté device,
- j'ai utilisé les classes CDC et ACM dans mon descriptor usb,
- une fois le fichier inf donné à windows lors de la première détection, le device usb est reconnu comme un port de communication (COM3 sur mon pc) dans la liste des périphériques,
- lorsque j'ouvre tera term sur ce port com, windows envoi (entre autre) la commande Set_Line_Coding sur l'endpoint de control en out (vu via wireshark), ma carte répond avec un data length de 0 alors qu'à priori windows attend des data (URB length [bytes]: 7). D’où l'erreur dans wireshark "URB status: Value too large for defined data type (-EOVERFLOW) (-75)"
Mon tera term reste bloqué durant 30 secondes sur [connecting ..], mais il ne fonctionne pas après. Du coté de ma carte électronique, n'ayant pas reçu de demande d'ouverture de session, rien ne ce passe. Quelle étape me manque-t-il lors de la connexion ?
pour info, mon port série fonctionne correctement sous linux / minicom, mais j'ai besoin de le faire fonctionner également sous windows ...
Marsh Posté le 11-02-2013 à 11:51:21
Bonjour,
je travaille actuellement sur le développement d'un port série virtuel via usb. Voici ma situation actuelle :
- ma carte est en usb device, le pc en host, j'ai intégré / modifié la stack usb coté device,
- j'ai utilisé les classes CDC et ACM dans mon descriptor usb,
- une fois le fichier inf donné à windows lors de la première détection, le device usb est reconnu comme un port de communication (COM3 sur mon pc) dans la liste des périphériques,
- lorsque j'ouvre tera term sur ce port com, windows envoi (entre autre) la commande Set_Line_Coding sur l'endpoint de control en out (vu via wireshark), ma carte répond avec un data length de 0 alors qu'à priori windows attend des data (URB length [bytes]: 7). D’où l'erreur dans wireshark "URB status: Value too large for defined data type (-EOVERFLOW) (-75)"
Mon tera term reste bloqué durant 30 secondes sur [connecting ..], mais il ne fonctionne pas après. Du coté de ma carte électronique, n'ayant pas reçu de demande d'ouverture de session, rien ne ce passe.
Quelle étape me manque-t-il lors de la connexion ?
pour info, mon port série fonctionne correctement sous linux / minicom, mais j'ai besoin de le faire fonctionner également sous windows ...
Merci d'avance pour votre aide !