LudovicRousseau / CCID

CCID driver
https://ccid.apdu.fr/
GNU Lesser General Public License v2.1
232 stars 79 forks source link

Broadcom 58200 0A5C:5864 Card Not Present #145

Open hgwheels opened 1 week ago

hgwheels commented 1 week ago

Broadcom 58200 0A5C:5864 never detects a card as present in the reader, despite being physically inserted. I have repeated this behavior on multiple physical readers of the same model in different physical Latitude 5450.

Ubuntu 22.04.4 Dell Latitude 5450 Broadcom 58200 05AC:5864

log.txt output.bin.zip

opensc-tool --list-readers P:5028; T:0x138491002771456 07:52:00.572 [opensc-tool] ctx.c:855:sc_context_create: =================================== P:5028; T:0x138491002771456 07:52:00.572 [opensc-tool] ctx.c:856:sc_context_create: opensc version: 0.22.0 P:5028; T:0x138491002771456 07:52:00.572 [opensc-tool] reader-pcsc.c:886:pcsc_init: PC/SC options: connect_exclusive=0 disconnect_action=0 transaction_end_action=0 reconnect_action=0 enable_pinpad=1 enable_pace=1 P:5028; T:0x138491002771456 07:52:00.573 [opensc-tool] reader-pcsc.c:1386:pcsc_detect_readers: called P:5028; T:0x138491002771456 07:52:00.573 [opensc-tool] reader-pcsc.c:1399:pcsc_detect_readers: Probing PC/SC readers P:5028; T:0x138491002771456 07:52:00.573 [opensc-tool] reader-pcsc.c:1452:pcsc_detect_readers: Establish PC/SC context P:5028; T:0x138491002771456 07:52:00.745 [opensc-tool] reader-pcsc.c:1335:pcsc_add_reader: Adding new PC/SC reader 'Broadcom Corp 58200 [Contacted SmartCard] (0123456789ABCD) 00 00' P:5028; T:0x138491002771456 07:52:00.745 [opensc-tool] reader-pcsc.c:360:refresh_attributes: Broadcom Corp 58200 [Contacted SmartCard] (0123456789ABCD) 00 00 check P:5028; T:0x138491002771456 07:52:00.745 [opensc-tool] reader-pcsc.c:407:refresh_attributes: current state: 0x00000012 P:5028; T:0x138491002771456 07:52:00.745 [opensc-tool] reader-pcsc.c:408:refresh_attributes: previous state: 0x00000000 P:5028; T:0x138491002771456 07:52:00.745 [opensc-tool] reader-pcsc.c:462:refresh_attributes: card absent P:5028; T:0x138491002771456 07:52:00.750 [opensc-tool] reader-pcsc.c:1544:pcsc_detect_readers: Broadcom Corp 58200 [Contacted SmartCard] (0123456789ABCD) 00 00:SCardConnect(DIRECT): 0x00000000 P:5028; T:0x138491002771456 07:52:00.750 [opensc-tool] reader-pcsc.c:1152:detect_reader_features: called P:5028; T:0x138491002771456 07:52:00.750 [opensc-tool] reader-pcsc.c:1154:detect_reader_features: Requesting reader features ... P:5028; T:0x138491002771456 07:52:00.750 [opensc-tool] reader-pcsc.c:1175:detect_reader_features: Reader feature 12 found P:5028; T:0x138491002771456 07:52:00.750 [opensc-tool] reader-pcsc.c:1082:part10_detect_max_data: get dwMaxAPDUDataSize property returned 65536 P:5028; T:0x138491002771456 07:52:00.750 [opensc-tool] reader-pcsc.c:1285:detect_reader_features: Reader supports transceiving 65536 bytes of data P:5028; T:0x138491002771456 07:52:00.750 [opensc-tool] reader-pcsc.c:1290:detect_reader_features: Sending is limited to 255 bytes of data in configuration file P:5028; T:0x138491002771456 07:52:00.750 [opensc-tool] reader-pcsc.c:1295:detect_reader_features: Receiving is limited to 256 bytes of data in configuration file P:5028; T:0x138491002771456 07:52:00.751 [opensc-tool] reader-pcsc.c:1121:part10_get_vendor_product: id_vendor=0a5c id_product=5864 P:5028; T:0x138491002771456 07:52:00.751 [opensc-tool] reader-pcsc.c:1568:pcsc_detect_readers: returning with: 0 (Success)

Detected readers (pcsc)

Nr. Card Features Name P:5028; T:0x138491002771456 07:52:00.751 [opensc-tool] sc.c:335:sc_detect_card_presence: called P:5028; T:0x138491002771456 07:52:00.751 [opensc-tool] reader-pcsc.c:472:pcsc_detect_card_presence: called P:5028; T:0x138491002771456 07:52:00.751 [opensc-tool] reader-pcsc.c:360:refresh_attributes: Broadcom Corp 58200 [Contacted SmartCard] (0123456789ABCD) 00 00 check P:5028; T:0x138491002771456 07:52:00.752 [opensc-tool] reader-pcsc.c:385:refresh_attributes: returning with: 0 (Success) P:5028; T:0x138491002771456 07:52:00.752 [opensc-tool] reader-pcsc.c:477:pcsc_detect_card_presence: returning with: 0 (Success) P:5028; T:0x138491002771456 07:52:00.752 [opensc-tool] sc.c:340:sc_detect_card_presence: returning with: 0 (Success) 0 No Broadcom Corp 58200 [Contacted SmartCard] (0123456789ABCD) 00 00 P:5028; T:0x138491002771456 07:52:00.752 [opensc-tool] ctx.c:931:sc_release_context: called P:5028; T:0x138491002771456 07:52:00.752 [opensc-tool] reader-pcsc.c:974:pcsc_finish: called

opensc-tool --reader 0 --atr P:5047; T:0x133099394861056 07:52:31.467 [opensc-tool] ctx.c:855:sc_context_create: =================================== P:5047; T:0x133099394861056 07:52:31.467 [opensc-tool] ctx.c:856:sc_context_create: opensc version: 0.22.0 P:5047; T:0x133099394861056 07:52:31.467 [opensc-tool] reader-pcsc.c:886:pcsc_init: PC/SC options: connect_exclusive=0 disconnect_action=0 transaction_end_action=0 reconnect_action=0 enable_pinpad=1 enable_pace=1 P:5047; T:0x133099394861056 07:52:31.467 [opensc-tool] reader-pcsc.c:1386:pcsc_detect_readers: called P:5047; T:0x133099394861056 07:52:31.467 [opensc-tool] reader-pcsc.c:1399:pcsc_detect_readers: Probing PC/SC readers P:5047; T:0x133099394861056 07:52:31.467 [opensc-tool] reader-pcsc.c:1452:pcsc_detect_readers: Establish PC/SC context P:5047; T:0x133099394861056 07:52:31.475 [opensc-tool] reader-pcsc.c:1335:pcsc_add_reader: Adding new PC/SC reader 'Broadcom Corp 58200 [Contacted SmartCard] (0123456789ABCD) 00 00' P:5047; T:0x133099394861056 07:52:31.475 [opensc-tool] reader-pcsc.c:360:refresh_attributes: Broadcom Corp 58200 [Contacted SmartCard] (0123456789ABCD) 00 00 check P:5047; T:0x133099394861056 07:52:31.476 [opensc-tool] reader-pcsc.c:407:refresh_attributes: current state: 0x00000012 P:5047; T:0x133099394861056 07:52:31.476 [opensc-tool] reader-pcsc.c:408:refresh_attributes: previous state: 0x00000000 P:5047; T:0x133099394861056 07:52:31.476 [opensc-tool] reader-pcsc.c:462:refresh_attributes: card absent P:5047; T:0x133099394861056 07:52:31.482 [opensc-tool] reader-pcsc.c:1544:pcsc_detect_readers: Broadcom Corp 58200 [Contacted SmartCard] (0123456789ABCD) 00 00:SCardConnect(DIRECT): 0x00000000 P:5047; T:0x133099394861056 07:52:31.482 [opensc-tool] reader-pcsc.c:1152:detect_reader_features: called P:5047; T:0x133099394861056 07:52:31.482 [opensc-tool] reader-pcsc.c:1154:detect_reader_features: Requesting reader features ... P:5047; T:0x133099394861056 07:52:31.482 [opensc-tool] reader-pcsc.c:1175:detect_reader_features: Reader feature 12 found P:5047; T:0x133099394861056 07:52:31.482 [opensc-tool] reader-pcsc.c:1082:part10_detect_max_data: get dwMaxAPDUDataSize property returned 65536 P:5047; T:0x133099394861056 07:52:31.482 [opensc-tool] reader-pcsc.c:1285:detect_reader_features: Reader supports transceiving 65536 bytes of data P:5047; T:0x133099394861056 07:52:31.482 [opensc-tool] reader-pcsc.c:1290:detect_reader_features: Sending is limited to 255 bytes of data in configuration file P:5047; T:0x133099394861056 07:52:31.482 [opensc-tool] reader-pcsc.c:1295:detect_reader_features: Receiving is limited to 256 bytes of data in configuration file P:5047; T:0x133099394861056 07:52:31.482 [opensc-tool] reader-pcsc.c:1121:part10_get_vendor_product: id_vendor=0a5c id_product=5864 P:5047; T:0x133099394861056 07:52:31.483 [opensc-tool] reader-pcsc.c:1568:pcsc_detect_readers: returning with: 0 (Success) P:5047; T:0x133099394861056 07:52:31.485 [opensc-tool] sc.c:335:sc_detect_card_presence: called P:5047; T:0x133099394861056 07:52:31.485 [opensc-tool] reader-pcsc.c:472:pcsc_detect_card_presence: called P:5047; T:0x133099394861056 07:52:31.485 [opensc-tool] reader-pcsc.c:360:refresh_attributes: Broadcom Corp 58200 [Contacted SmartCard] (0123456789ABCD) 00 00 check P:5047; T:0x133099394861056 07:52:31.487 [opensc-tool] reader-pcsc.c:385:refresh_attributes: returning with: 0 (Success) P:5047; T:0x133099394861056 07:52:31.487 [opensc-tool] reader-pcsc.c:477:pcsc_detect_card_presence: returning with: 0 (Success) P:5047; T:0x133099394861056 07:52:31.487 [opensc-tool] sc.c:340:sc_detect_card_presence: returning with: 0 (Success) Card not present. Failed to connect to reader: Card not present P:5047; T:0x133099394861056 07:52:31.487 [opensc-tool] ctx.c:931:sc_release_context: called P:5047; T:0x133099394861056 07:52:31.487 [opensc-tool] reader-pcsc.c:974:pcsc_finish: called

CCID version 1.6.1

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

CFBundleDevelopmentRegion English CFBundleExecutable libccid.so CFBundleIdentifier fr.apdu.ccid.smartcardccid CFBundleInfoDictionaryVersion 6.0 CFBundleName CCIDCLASSDRIVER CFBundlePackageType BNDL CFBundleShortVersionString 1.6.1 CFBundleSignature ???? CFBundleVersion 0.0.1d1 ifdCapabilities 0x00000000 pcscd --version pcsc-lite version 2.3.0 Copyright (C) 1999-2002 by David Corcoran . Copyright (C) 2001-2024 by Ludovic Rousseau . Copyright (C) 2003-2004 by Damien Sauveron . Report bugs to . Enabled features: USB serial filter_names libudev polkit systemd Linux x86_64 ipcdir=/run/pcscd usbdropdir=/usr/lib/pcsc/drivers serialconfdir=/etc/reader.conf.d MAX_READERNAME: 128, PCSCLITE_MAX_READERS_CONTEXTS: 16 Parsing USB bus/device: 0A5C:5864 (bus 3, device 2) idVendor: 0x0A5C iManufacturer: Broadcom Corp idProduct: 0x5864 iProduct: 58200 Found a CCID/ICCD device at interface 1 idVendor: 0x0A5C iManufacturer: Broadcom Corp idProduct: 0x5864 iProduct: 58200 bcdDevice: 1.01 (firmware release?) bLength: 9 bDescriptorType: 4 bInterfaceNumber: 1 bAlternateSetting: 0 bNumEndpoints: 3 bulk-IN, bulk-OUT and Interrupt-IN bInterfaceClass: 0x0B [Chip Card Interface Device Class (CCID)] bInterfaceSubClass: 0 bInterfaceProtocol: 0 bulk transfer, optional interrupt-IN (CCID) iInterface: Contacted SmartCard CCID Class Descriptor bLength: 0x36 bDescriptorType: 0x21 bcdCCID: 1.00 bMaxSlotIndex: 0x00 bVoltageSupport: 0x07 5.0V 3.0V 1.8V dwProtocols: 0x0000 0x0003 T=0 T=1 dwDefaultClock: 4.000 MHz dwMaximumClock: 4.000 MHz bNumClockSupported: 0 (will use whatever is returned) IFD does not support GET CLOCK FREQUENCIES request: LIBUSB_SUCCESS / LIBUSB_TRANSFER_COMPLETED dwDataRate: 9600 bps dwMaxDataRate: 250000 bps bNumDataRatesSupported: 0 (will use whatever is returned) IFD does not support GET_DATA_RATES request: LIBUSB_SUCCESS / LIBUSB_TRANSFER_COMPLETED dwMaxIFSD: 247 dwSynchProtocols: 0x00000000 dwMechanical: 0x00000000 No special characteristics dwFeatures: 0x000102BA ....02 Automatic parameter configuration based on ATR data ....08 Automatic ICC voltage selection ....10 Automatic ICC clock frequency change according to parameters ....20 Automatic baud rate change according to frequency and Fi, Di params ....80 Automatic PPS made by the CCID ..02.. NAD value other than 00 accepted (T=1) 01.... TPDU level exchange dwMaxCCIDMessageLength: 271 bytes bClassGetResponse: 0x00 bClassEnvelope: 0x00 wLcdLayout: 0x0000 bPINSupport: 0x00 bMaxCCIDBusySlots: 1 pcsc_scan -v -t 30 Using reader plug'n play mechanism Scanning present readers... 0: Broadcom Corp 58200 [Contacted SmartCard] (0123456789ABCD) 00 00 Thu Oct 17 07:54:56 2024 Reader 0: Broadcom Corp 58200 [Contacted SmartCard] (0123456789ABCD) 00 00 Event number: 0 Card state: Card removed,
LudovicRousseau commented 1 week ago

In my list this reader has 2 interfaces: contact and contactless. https://ccid.apdu.fr/ccid/readers/Broadcom_58200_0x5864.txt Your reader only has the contact interface.

Check if you can find a UEFI/BIOS update from Dell.

I guess the reader+card works fine on Windows. Exact?

hgwheels commented 1 week ago

As far as I can tell this reader only has one interface (there is no marking on the laptop housing indicating contactless capability)

The laptop and logs above are running the latest Dell UEFI version 1.6.0

Correct the reader and card combo work exactly as expected on Windows

https://www.dell.com/support/home/en-tc/drivers/driversdetails?driverid=1pw34&oscode=biosa&productcode=latitude-14-5450-laptop

sudo dmidecode -s bios-version 1.6.0

sudo fwupdmgr refresh --force Updating lvfs Downloading… [] Downloading… [] Downloading… [***] Successfully downloaded new metadata: 3 local devices supported

sudo fwupdmgr get-updates Devices with no available firmware updates: • UEFI dbx Devices with the latest available firmware version: • BG6 KIOXIA 256GB • System Firmware • UEFI Device Firmware No updates available

sudo fwupdmgr update Devices with no available firmware updates: • UEFI dbx Devices with the latest available firmware version: • BG6 KIOXIA 256GB • System Firmware • UEFI Device Firmware

hgwheels commented 1 week ago

From the Dell build sheet:

Part Number: 185D2 Description: INFO,SC,CONTACT

LudovicRousseau commented 1 week ago

I have no easy solution. I will need to get a Dell Latitude 5450 and do some more analysis.