🛡️
Mali Mühür Merkezi [KAMU-SM // VUK-MÜHÜR-TERMİNALİ]

VMware ESXi sanal sunucusunda USB Passthrough ile bağlı mali mühür gece toplu e-defter imzalamada rastgele bağlantıyı koparıyor (SCARD_E_NO_SMARTCARD). USB suspend ve xHCI ayarları nasıl olmalı?

e-Defter beratlarını oluşturup imzaladığımız kurumsal muhasebe sunucumuz VMware ESXi 7.0 üzerinde çalışan bir Windows Server 2022 sanal makinedir. Kamu SM mali mühür USB cihazını doğrudan fiziksel host üzerinden VM'e USB Passthrough yöntemiyle tanımlamamıza rağmen, gece saatlerinde çalışan toplu berat imzalama işlerinde 30-40 dakika sonra işlem aniden 'SCARD_E_NO_SMARTCARD' veya 'Okuyucu bulunamadı' hatası vererek duruyor. Fiziksel olarak çıkarıp takmadan cihaz sanal makinede tekrar görünmüyor; bu donanımsal kopmayı kalıcı olarak nasıl çözeriz?
Durum: Çözüldü Kategori: Soru-Cevap

2 Cevap

✓

VMware ESXi ortamında akıllı kart okuyucuların (Smart Card Reader) USB Passthrough ile sanal makineye aktarılması, özellikle uzun süreli toplu e-defter beratı imzalama süreçlerinde bilinen bir donanım kararsızlığına yol açar. Karşılaştığınız SCARD_E_NO_SMARTCARD (0x8010000C) hatası, akıllı kartın yuvasından çıktığını ya da kart okuyucunun USB veri yolunda güç tasarrufu / zaman aşımı sebebiyle sanal işletim sistemi tarafından düşürüldüğünü gösterir.

Sorunu kalıcı olarak gidermek için şu üç kritik müdahaleyi gerçekleştirmelisiniz:

  1. Sanal Makine USB Denetleyicisini Değiştirin: ESXi üzerinde VM donanım ayarlarında USB denetleyicisi olarak varsayılan USB 3.0/3.1 (xHCI) yerine USB 2.0 (EHCI+UHCI) seçilmelidir. Kamu SM akıllı kart okuyucuları (özellikle CCID protokolü kullanan ACS veya Akis kartlar), xHCI denetleyicilerin mikro kare (microframe) gecikmelerinde zaman aşımına uğrayarak bağlantıyı sıfırlar. USB 2.0 modunda bu paket kayıpları yaşanmaz.
  2. ESXi Gelişmiş VMX Parametresi Tanımlayın: Sanal makinenin .vmx konfigürasyon dosyasına (veya vSphere istemcisinde VM > Edit Settings > VM Options > Advanced > Configuration Parameters bölümüne) şu satırı ekleyin:
    usb.quirks = "0x0bda:0x0169 disable-autosuspend" (Buradaki VID ve PID değerlerini ESXi SSH üzerinden lsusb komutu ile aldığınız kart okuyucu kimlikleriyle değiştirin). Bu parametre ESXi seviyesinde USB portunun askıya alınmasını engeller.
  3. Windows Server Güç Yönetimini Yapılandırın: Windows Server içerisinde Güç Seçenekleri planını "Yüksek Performans" olarak ayarlayın. Plan ayarlarını değiştir > Gelişmiş güç ayarları menüsünden USB Ayarları > USB Seçici Askıya Alma Ayarı (USB Selective Suspend) değerini "Devre Dışı (Disabled)" yapın. Ek olarak Aygıt Yöneticisi'nde USB Kök Hub ve Akıllı Kart Okuyucular özelliklerine girip 'Güç Yönetimi' sekmesindeki 'Güç kazancı sağlamak için bilgisayar bu aygıtı kapatsın' seçeneğindeki işareti kaldırın.

Eğer kurumsal ortamda sanal makinelerin hostlar arasında canlı geçişi (vMotion) söz konusuysa veya bu sorun donanımsal USB hub kaynaklı devam ederse, en sağlıklı kurumsal çözüm USB'yi sunucuya doğrudan takmak yerine ağ üzerinden TCP/IP ile sanal makineye aktaran bir Network USB Hub (Digi AnywhereUSB veya Silex) donanımı kullanmaktır.

Yanıtlayan
Onur K.

Bu sorun genellikle Windows'un USB güç tasarrufundan ve ESXi'ın USB 3.0 sürücüsünün akıllı kartları uyutmasından kaynaklanır. VM ayarlarından USB kontrolcüsünü USB 2.0 yapın ve Windows Denetim Masası Güç Seçenekleri'nden 'USB Seçici Askıya Alma' özelliğini devre dışı bırakın. Ayrıca imzalama işlemlerinizi mesai saatlerinde veya kesintisiz USB-over-IP cihazları kullanarak yapmanız gecikmeleri önleyecektir.

Yanıtlayan
SMMM Serdar T.