Citrix DaaS™

Porte seriali

La maggior parte dei nuovi PC non dispone di porte seriali (COM) integrate. Le porte sono facili da aggiungere utilizzando convertitori USB. Le applicazioni adatte alle porte seriali spesso coinvolgono sensori, controller, vecchi lettori di assegni, pad e così via. Alcuni dispositivi USB con porta COM virtuale utilizzano driver specifici del fornitore al posto dei driver forniti da Windows (usbser.sys). Questi driver consentono di forzare la porta COM virtuale del dispositivo USB in modo che non cambi anche se collegata a diverse prese USB. Questa operazione può essere eseguita da Gestione dispositivi > Porte (COM e LPT) > Proprietà o dall’applicazione che controlla il dispositivo.

Il mapping delle porte COM client consente di utilizzare i dispositivi collegati alle porte COM sull’endpoint dell’utente durante le sessioni virtuali. È possibile utilizzare questi mapping come qualsiasi altro mapping di rete.

Per ogni porta COM, un driver nel sistema operativo assegna un nome di collegamento simbolico come COM1 e COM2. Le applicazioni utilizzano quindi il collegamento per accedere alla porta.

Importante:

Il fatto che un dispositivo possa essere collegato all’endpoint utilizzando direttamente l’USB non significa che possa essere reindirizzato utilizzando il reindirizzamento USB generico. Alcuni dispositivi USB funzionano come porte COM virtuali, a cui le applicazioni possono accedere allo stesso modo di una porta seriale fisica. Il sistema operativo può astrarre le porte COM e trattarle come condivisioni di file. Due protocolli comuni per le porte COM virtuali sono CDC ACM o MCT. Se collegati tramite una porta RS-485, le applicazioni potrebbero non funzionare affatto. Utilizzare un convertitore da RS-485 a RS-232 per utilizzare la RS-485 come porta COM. Importante:

Alcune applicazioni riconoscono il dispositivo (ad esempio, un pad per la firma) in modo coerente solo se è collegato a COM1 o COM2 sulla workstation client.

Mappare una porta COM client a una porta COM server

È possibile mappare le porte COM client a una sessione Citrix® in tre modi:

  1. Abilitare i criteri Reindirizzamento porta COM client e Connessione automatica porte COM client Studio. Dopo l’applicazione, alcune informazioni sono disponibili in HDX™ Monitor.

    HDX monitor image

  2. Se la Connessione automatica porte COM client non è riuscita a mappare la porta, è possibile mappare la porta manualmente o utilizzare script di accesso. Accedere al VDA e, in una finestra del prompt dei comandi, digitare:

    NET USE COMX: \\CLIENT\COMZ:

    Or

    NET USE COMX: \\CLIENT\CLIENTPORT:COMZ:

    X è il numero della porta COM sul VDA (le porte da 1 a 9 sono disponibili per il mapping). Z è il numero della porta COM client che si desidera mappare.

    Per confermare che l’operazione è riuscita, digitare NET USE al prompt dei comandi del VDA. L’elenco visualizzato contiene unità mappate, porte LPT e porte COM mappate.

    Net use command image

  3. Per utilizzare questa porta COM in un desktop o un’applicazione virtuale, installare l’applicazione del dispositivo utente e puntarla al nome della porta COM mappata. Ad esempio, se si mappa COM1 sul client a COM3 sul server, installare l’applicazione del dispositivo porta COM nel VDA e puntarla a COM3 durante la sessione. Utilizzare questa porta COM mappata come si farebbe con una porta COM sul dispositivo utente.

Importante:

Il mapping delle porte COM non è compatibile con TAPI. Non è possibile mappare i dispositivi TAPI (Windows Telephony Application Programming Interface) alle porte COM client. TAPI definisce un modo standard per le applicazioni di controllare le funzioni telefoniche per chiamate dati, fax e vocali. TAPI gestisce la segnalazione, inclusa la composizione, la risposta e la chiusura delle chiamate. Inoltre, servizi supplementari come la messa in attesa, il trasferimento e le chiamate in conferenza.

Risoluzione dei problemi

  1. Assicurarsi di poter accedere al dispositivo direttamente dall’endpoint, bypassando Citrix. Se la porta non è mappata al VDA, non si è connessi a una sessione Citrix. Seguire le istruzioni per la risoluzione dei problemi fornite con il dispositivo e verificare che funzioni prima localmente. Quando un dispositivo è collegato a una porta COM seriale, viene creata una chiave di registro nell’hive mostrato qui: Troubleshoot image

    È possibile trovare queste informazioni anche dal prompt dei comandi eseguendo chgport /query.

    Troubleshoot from the command prompt image

    Se le istruzioni per la risoluzione dei problemi del dispositivo non sono disponibili, provare ad aprire una sessione PuTTY. Scegliere Sessione e in Linea seriale specificare la porta COM.

    Troubleshoot by PuTTY session image

    È possibile eseguire MODE in una finestra del prompt dei comandi locale. L’output potrebbe visualizzare la porta COM in uso e i valori Baud/Parità/Bit di dati/Bit di stop, necessari nella sessione PuTTY. Se la connessione PuTTY ha esito positivo, premere Invio per visualizzare il feedback dal dispositivo. Qualsiasi carattere digitato potrebbe essere ripetuto sullo schermo o ricevere una risposta. Se questo passaggio non ha esito positivo, non è possibile accedere al dispositivo da una sessione virtuale.

  2. Mappare la porta COM locale al VDA (utilizzando criteri o NET USE COMX: \\CLIENT\COMZ:) e ripetere le stesse procedure PuTTY del passaggio precedente, ma questa volta dal PuTTY del VDA. Se PuTTY non riesce a mostrare l’errore Impossibile aprire la connessione a COM1. Impossibile aprire la porta seriale, un altro dispositivo potrebbe utilizzare COM1.

  3. Eseguire chgport /query. Se il driver seriale Windows integrato sul VDA assegna automaticamente \Device\Serial0 a una porta COM1 del VDA, eseguire le seguenti operazioni: A. Aprire CMD sul VDA e digitare NET USE.

    B. Eliminare qualsiasi mapping esistente (ad esempio, COM1) sul VDA.

    NET USE COM1 /DELETE

    C. Mappare il dispositivo al VDA.

    NET USE COM1: \\CLIENT\COM3:

    D. Puntare l’applicazione sul VDA a COM3.

    Infine, provare a mappare la porta COM locale (ad esempio, COM3) a una porta COM diversa sul VDA (diversa da COM1, ad esempio COM3). Assicurarsi che l’applicazione punti ad essa: NET USE COM3: \\CLIENT\COM3

  4. Se ora si vede la porta mappata, PuTTY funziona ma non passa alcun dato, potrebbe trattarsi di una race condition. L’applicazione potrebbe connettersi e aprire la porta prima che venga mappata, impedendone il mapping. Provare una delle seguenti opzioni:

    • Aprire una seconda applicazione pubblicata sullo stesso server. Attendere alcuni secondi che la porta venga mappata, quindi aprire l’applicazione reale che tenta di utilizzare la porta.
    • Abilitare i criteri di reindirizzamento delle porte COM dall’Editor Criteri di gruppo in Active Directory anziché da Studio. Questi criteri sono Reindirizzamento porta COM client e Connessione automatica porte COM client. I criteri applicati in questo modo potrebbero essere elaborati prima dei criteri di Studio, garantendo che la porta COM sia mappata. I criteri Citrix vengono inviati al VDA e archiviati in: HKLN\SOFTWARE\Policies\Citrix \<user session ID\>

    • Utilizzare questo script di accesso per l’utente o, invece di pubblicare l’applicazione, pubblicare uno script .bat che prima elimina qualsiasi mapping sul VDA, rimappa la porta COM virtuale e quindi avvia l’applicazione:

    @echo off NET USE COM1 /delete NET USE COM2 /delete NET USE COM1: \\CLIENT\COM1: NET USE COM2: \\CLIENT\COM2: MODE COM1: BAUD=1200 (o qualsiasi valore necessario) MODE COM2: BAUD=9600 PARITY=N Data=8 Stop=1 (o qualsiasi valore necessario) START C:\Program Files\<Your Software Path>\<your_software.exe>

Porte seriali