Probleme cunoscute

    Shopify POS

    Parolă operator invalidă la emiterea bonului din Shopify POS

    Problemă

    La emiterea unui bon fiscal prin extensia FiscalLink din Shopify POS, casa de marcat respinge operația cu eroarea operator password invalid (parolă operator invalidă). Blocant pentru comerciantul afectat — nu se pot emite bonuri până când parola corespunde.

    Cauză

    FiscalLink nu poate citi parola operatorului din casa de marcat, așa că trimite întotdeauna parola fixă 0001 pentru operatorul 1. Dacă parola reală a operatorului 1 este diferită, fiecare tipărire eșuează.

    Rezolvare

    1. Pe casa de marcat, deschide setările de operator/parolă (mod service sau programare, în funcție de model).
    2. Setează parola operatorului 1 la 0001.
    3. Reîncearcă bonul din Shopify POS.

    Comenzile Shopify nu se mai încarcă când aplicația rulează în fundal

    Problemă

    O cerere Shopify GraphQL din ShopifyController.GetShopifyOrder eșuează cu System.Net.WebException: Software caused connection abort (excepție internă Java.Net.SocketException). Android închide socket-ul de rețea al aplicației în mijlocul cererii, iar preluarea comenzii nu se finalizează. Apare când aplicația este pusă în fundal (observat pe Xiaomi Redmi Pad SE, Android 15). Degradat, nu blocant — excepția este tratată.

    Cauză

    Optimizarea de baterie din Android (foarte agresivă pe Xiaomi/MIUI/HyperOS) suspendă aplicația când trece în fundal și îi închide conexiunile deschise. Este o problemă de setări ale dispozitivului, nu o eroare a aplicației, și nu poate fi rezolvată complet din cod.

    Rezolvare

    Căile de mai jos sunt pentru Xiaomi/MIUI/HyperOS; alți producători au echivalente în Setări → Aplicații → Baterie.

    1. Deschide Setări → Aplicații → Gestionează aplicațiile → FiscalLink.
    2. Setează Economisire baterie la Fără restricții.
    3. Activează Pornire automată (Autostart) pentru FiscalLink.
    4. Setări → Baterie → Optimizare baterie → FiscalLink → Nu optimiza / Fără restricții.
    5. În lista de aplicații recente, blochează aplicația FiscalLink (apasă lung pe card și atinge pictograma de lacăt) ca sistemul să nu o oprească la curățarea memoriei.
    6. Redeschide aplicația și reîncearcă acțiunea.

    Linux și Bluetooth

    Aplicația nu poate folosi Bluetooth sau serial pe Linux (erori de permisiune)

    Problemă

    Pe Linux, operațiile cu dispozitive eșuează cu erori de permisiune (EPERM / EACCES la deschiderea dispozitivului RFCOMM/serial, sau apeluri D-Bus către BlueZ respinse), deși Bluetooth funcționează pentru utilizatorul desktop din interfața sistemului. Apare pe instalări noi sau conturi noi unde utilizatorul nu a fost adăugat în grupurile de acces.

    Cauză

    Linux controlează accesul la dispozitive prin apartenența la grupuri: nodurile serial/RFCOMM (/dev/rfcomm0, /dev/ttyUSB*, /dev/ttyACM*) aparțin grupului dialout, iar politica D-Bus a BlueZ pe unele distribuții permite doar membrii grupului bluetooth. Un utilizator care nu e în aceste grupuri primește erori de permisiune pe care nicio aplicație nu le poate ocoli.

    Rezolvare

    1. Verifică dacă grupurile există: getent group dialout și getent group bluetooth.
    2. Creează grupul lipsă, dacă e cazul (rar — dialout vine cu sistemul de bază, bluetooth cu pachetul bluez): sudo groupadd dialout / sudo groupadd bluetooth.
    3. Adaugă utilizatorul care rulează aplicația în ambele grupuri:
    sudo usermod -aG dialout,bluetooth $USER
    1. Înlocuiește $USER cu numele contului real dacă configurezi alt utilizator (ex. contul operatorului POS).
    2. Deloghează-te și reloghează-te (sau repornește). Apartenența la grup se citește la autentificare — o sesiune deja pornită NU o preia. Pentru un test rapid în același shell: newgrp dialout.
    3. Repornește aplicația.

    Imprimanta Bluetooth nu poate fi conectată pe Linux rulat în Parallels

    LMP timeout, deconectări repetate ale dongle-ului

    Problemă

    O imprimantă fiscală Datecs asociată (ex. WP-50MX) nu poate fi accesată prin Bluetooth din aplicația Linux. sdptool browse <MAC> expiră, bluetoothctl connect <MAC> eșuează cu br-connection-page-timeout, iar btmon arată Connect Complete: Status: LMP Response Timeout (0x22). Apare pe Ubuntu rulat ca VM Parallels pe macOS, cu un dongle USB Bluetooth (ASUS USB-BT500 / Realtek RTL8761BU) atașat prin USB passthrough. Imprimanta funcționează de pe alte gazde. Blocant: fără conectivitate Bluetooth în acest mediu.

    Cauză

    Două cauze se suprapun:

    • Descoperirea activă blochează paginarea. Cât timp panoul Bluetooth GNOME e deschis, adaptorul rămâne în Discovering: yes. Bluetooth Classic nu poate face inquiry-scan și page simultan pe dongle-uri ieftine, așa că fiecare conectare expiră.
    • Stratul USB virtual din Parallels resetează dongle-ul. Controllerul xHCI virtual emite evenimente eronate; driverul strict xhci_hcd din Linux le tratează ca defecțiune și re-enumeră dongle-ul la câteva minute, întrerupând orice conectare. Pe Windows funcționează pentru că stiva USB tolerează aceste evenimente.

    Rezolvare

    1. Închide panoul Bluetooth din GNOME și oprește scanarea: bluetoothctl scan off. Verifică bluetoothctl show | grep Discovering → trebuie no.
    2. Verifică dacă dongle-ul se deconectează: sudo dmesg | grep -iE "usb.*disconnect|HC probably|RTL: loading" — intrări repetate înseamnă strat USB instabil.
    3. În configurația VM-ului Parallels (cu VM-ul oprit), la Hardware → USB & Bluetooth:
      • Dezactivează „Share Bluetooth devices with Linux".
      • Setează dongle-ul să se conecteze mereu la acest VM (nu „ask me").
      • Dezactivează USB 3.0 pentru VM, ca dongle-ul să folosească controllerul EHCI (USB 2.0) în locul xHCI virtual defect.
      • Elimină dispozitivele partajate inutile (cameră Continuity/iPhone etc.) — Parallels resetează tot arborele USB virtual la evenimente de pe gazdă.
    4. Conectează dongle-ul direct în Mac, nu printr-un hub/adaptor USB-C multiport (limitat la putere, pierde dispozitive).
    5. Dezactivează autosuspend USB în guest, ca setarea să reziste la re-enumerare:
    echo "options btusb enable_autosuspend=0" | sudo tee /etc/modprobe.d/btusb.conf
    sudo udevadm control --reload
    1. Dacă bluetooth.service e oprit cu start-limit-hit: sudo systemctl reset-failed bluetooth, apoi sudo systemctl start bluetooth.
    2. Re-asociază imprimanta dacă bond-ul s-a pierdut — folosește panoul Bluetooth GNOME sau modul interactiv bluetoothctl (agent on, default-agent, scan on/off, pair, trust). NU folosi bluetoothctl pair one-shot (eșuează cu AuthenticationTimeout).