I was able to upgrade the firmware of the reader from a virtual machine running windows with virt-manager/qemu.
But I don't recommend this method of upgrade. You have to attach the broadcom usb device to the machine, then execute the dell control vault2 firmware upgrade. The thing is that once it starts the USB device will disappear, and it will appear again with a 0a5c:5831 ID. You have to be quick to reatach this new usb device (in live) on the machine so the upadate can continue. And it will disappear again and appear again. Like 8 times. If you fail to be quick in attaching the device the updater will abort and will tell you to reboot. If the device don't completes the update it will be unusable. It will not identify itself as a smart card reader and will have the 0a5c:5831 ID. You can however retry the update. Once the upgrade completes the USB ID will change to 0a5c:5832 and it will identify itself as a smart card reader. Another important thing is that you have to enable the TPM and set it to disable. And also attach the TPM as a passthrough device on the qemu/kvm machine for it to work. I finally was able to upgrade the firmware correctly using this dirty method. So, meanwhile I achieved to upgrade the firmware from a windows virtual machine, I don't recommend it. I think in the end is simple and less risky to run the upgrade from windows directly. Its a shame that dell or broadcom don't provide a way of updating this firmware without requiring windows. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to pcsc-lite in Ubuntu. https://bugs.launchpad.net/bugs/1596662 Title: pcscd fails to read CAC card data, errors out Status in pcsc-lite package in Ubuntu: Confirmed Bug description: When I use Firefox to try and access a website using my CAC card, with a Broadcom Corp 5880 [Contacted SmartCard] smart card reader on a Dell Precision 7510 and libcackey, my web browser hangs for a bit, then fails, and looking at pcscd's log shows the following (note the lines: "00000026 ifdwrapper.c:348:IFDStatusICC() Card not transacted: 612 00000002 winscard.c:592:SCardReconnect() Error resetting card." Ubuntu 14.04.4, kernel 4.2.0-38-generic. See below: winscard.c:1632:SCardTransmit() UnrefReader() count was: 2 00000003 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 15 00000039 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 15 00000008 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1 00000003 winscard.c:1587:SCardTransmit() Send Protocol: T=0 00000003 APDU: 00 C0 00 00 BA 00000003 ifdhandler.c:1266:IFDHTransmitToICC() usb:0a5c/5800:libudev:1:/dev/bus/usb/001/005 (lun: 0) 00014006 commands.c:1456:CCID_Receive() Can't read all data (54 out of 188 expected) 00000012 SW: 00000003 ifdwrapper.c:527:IFDTransmit() Card not transacted: 612 00000003 winscard.c:1612:SCardTransmit() Card not transacted: 0x80100016 00000002 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2 00000003 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x80100016 for client 15 00000038 winscard_svc.c:319:ContextThread() Received command: RECONNECT from client 15 00000007 winscard.c:504:SCardReconnect() Attempting reconnect to token. 00000003 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1 00230568 ccid_usb.c:790:ReadUSB() read failed (1/5): -8 Resource temporarily unavailable 00000026 ifdwrapper.c:348:IFDStatusICC() Card not transacted: 612 00000002 winscard.c:592:SCardReconnect() Error resetting card. 00000002 winscard.c:793:SCardReconnect() UnrefReader() count was: 2 00000003 winscard_svc.c:472:ContextThread() RECONNECT rv=0x80100066 for client 15 00000049 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 15 00000007 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1 00000002 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2 00000001 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x80100068 for client 15 00000014 winscard_svc.c:319:ContextThread() Received command: DISCONNECT from client 15 00000004 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1 00000002 winscard.c:850:SCardDisconnect() Active Contexts: 1 00000002 winscard.c:851:SCardDisconnect() dwDisposition: 0 00000001 winscard.c:1016:SCardDisconnect() powerState: POWER_STATE_GRACE_PERIOD 00000003 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFB2, usb:0a5c/5800:libudev:1:/dev/bus/usb/001/005 (lun: 0) 00000002 winscard.c:1030:SCardDisconnect() Stopping polling thread 00000014 ifdhandler.c:327:IFDHStopPolling() usb:0a5c/5800:libudev:1:/dev/bus/usb/001/005 (lun: 0) 00000147 winscard.c:1043:SCardDisconnect() UnrefReader() count was: 2 00000007 winscard_svc.c:490:ContextThread() DISCONNECT rv=0x0 for client 15 00000049 winscard_svc.c:319:ContextThread() Received command: CONNECT from client 15 00000024 winscard.c:235:SCardConnect() Attempting Connect to Broadcom Corp 5880 [Contacted SmartCard] (0123456789ABCD) 00 00 using protocol: 3 00000002 readerfactory.c:745:RFReaderInfo() RefReader() count was: 1 00000002 winscard.c:322:SCardConnect() Card Not Powered To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/pcsc-lite/+bug/1596662/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp