UNSOLVED

foul_underpants

updated

8 months ago

F

foul_underpants

1 Rookie

•

2 Posts

2

37935

July 16th, 2020 23:00

Broadcom 58200 fingerprint sensor Linux support (Precision 3541)

Does Dell intend to support the fingerprint sensor on the Precision 3541 (Broadcom Corp. 58200, USB ID 0a5c:5842) for Linux users? I dove into the Dell Ubuntu repositories, but can only find some work on the unrelated Goodix fingerprint sensors.

Related issue in libfprint issue tracker: https://gitlab.freedesktop.org/libfprint/libfprint/-/issues/221

Highlighting @DanielNTX  because you posted a competent reply on a related question, not sure if you're a Dell rep

  • foul_underpants

    1 Rookie

    •

    2 Posts

    21145

    0

    Posted July 17th, 2020 01:00

  • jermaine151

    11 Posts

    8568

    0

    Posted October 19th, 2021 11:00

    With a fresh install of Ubuntu 20.04.3 on a Latitude 7420 the 0a5c:5843 Broadcom fingerprint reader is working! I had to go into Software & Updates -> Additional Drivers and move the radio button to "Using Broadcom fingerprint TOD driver from libfprint-2-tod1-broadcom (open source)". Then I was able to add fingerprints in Settings -> Users, open a terminal, run sudo pam-auth-update, and enable Fingerprint authentication. I also just got it working on my Latitude 9410 with the same reader, running 21.04. They both have the libfprint-2-tod1 package installed. The trick is to enable the Canonical Partners repo for somerville and somerville-melissa (on 9410 and somerville-squirtle on 7420), then go back into Additional drivers and switch the radio button to use the newly found driver.other_software.pngsoftware_and_updates.png

  • zander

    9 Posts

    8429

    0

    Posted October 31st, 2021 13:00

    fprintd does not work with this dell driver:

    Oct 31 21:49:22 host systemd[1]: Starting Fingerprint Authentication Daemon...
    Oct 31 21:49:22 host fprintd[6647]: Failed to open /sys/bus/usb/devices/1-10/power/persist
    Oct 31 21:49:22 host fprintd[6647]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x0)
    Oct 31 21:49:22 host fprintd[6647]: Control Vault getting chip type
    Oct 31 21:49:22 host fprintd[6647]: Citadel A0 CID7 Chip Found....
    Oct 31 21:49:22 host fprintd[6647]: Current AAI Version = 5.8.12.0
    Oct 31 21:49:22 host fprintd[6647]: Current SBI Version = 122
    Oct 31 21:49:22 host fprintd[6647]: AAI version available for upgrade = 5.8.12.0
    Oct 31 21:49:22 host fprintd[6647]: SBI version available for upgrade = 122
    Oct 31 21:49:22 host fprintd[6647]: AAI version matches - it is up do date
    Oct 31 21:49:22 host fprintd[6647]: SBI version matches - it is up do date
    Oct 31 21:49:22 host fprintd[6647]: Citadel A0 CID7 Chip Found....
    Oct 31 21:49:22 host fprintd[6647]: Sensor type  : 12 Sensor firmware version on device: 3088084-109-0-3473 length: 18
    Oct 31 21:49:22 host fprintd[6647]: Sensor-firmware file signature verification is valid
    Oct 31 21:49:22 host fprintd[6647]: Sensor Version length: 16
    Oct 31 21:49:22 host fprintd[6647]: Sensor Version: 3031663-2-0-3545
    Oct 31 21:49:22 host fprintd[6647]: cv_check_sensor_firmware_upgradable: FALSE
    Oct 31 21:49:22 host fprintd[6647]: cv_check_sensor_firmware_upgradable: Skipping
    Oct 31 21:49:22 host fprintd[6647]: Sensor Version length: 18
    Oct 31 21:49:22 host fprintd[6647]: Sensor Version: 3088084-109-0-3473
    Oct 31 21:49:22 host fprintd[6647]: cv_check_sensor_firmware_upgradable: FALSE
    Oct 31 21:49:22 host fprintd[6647]: cv_check_sensor_firmware_upgradable: Skipping
    Oct 31 21:49:22 host fprintd[6647]: cv_check_sensor_firmware_upgradable: Skipping
    Oct 31 21:49:22 host fprintd[6647]: Sensor Version length: 16
    Oct 31 21:49:22 host fprintd[6647]: Sensor Version: 3031663-2-0-3528
    Oct 31 21:49:22 host fprintd[6647]: cv_check_sensor_firmware_upgradable: FALSE
    Oct 31 21:49:22 host fprintd[6647]: Couldn't find UPDATABLE sensor-firmware for this sensor
    Oct 31 21:49:22 host fprintd[6647]: Couldn't get UPDATABLE firmware image data for sensor
    Oct 31 21:49:22 host fprintd[6647]: fpi_device_probe_complete: assertion 'priv->current_action == FPI_DEVICE_ACTION_PROBE' failed
    Oct 31 21:49:47 host dbus-daemon[903]: [system] Failed to activate service 'net.reactivated.Fprint': timed out (service_start_timeout=25000ms)
    Oct 31 21:50:52 host systemd[1]: fprintd.service: start operation timed out. Terminating.
    Oct 31 21:51:02 host systemd[1]: fprintd.service: State 'stop-sigterm' timed out. Killing.
    Oct 31 21:51:02 host systemd[1]: fprintd.service: Killing process 6647 (fprintd) with signal SIGKILL.
    Oct 31 21:51:02 host systemd[1]: fprintd.service: Main process exited, code=killed, status=9/KILL
    Oct 31 21:51:02 host systemd[1]: fprintd.service: Failed with result 'timeout'.
    Oct 31 21:51:02 host systemd[1]: Failed to start Fingerprint Authentication Daemon.

     

     

  • jermaine151

    11 Posts

    8372

    0

    Posted November 2nd, 2021 17:00

    It works on both of mine and several of my co-workers. I've had an issue of it crashing and I have to wait for a timeout before it asks for my password. A reboot fixes that. You can see from my log that it had crashed at around 19:45 and I rebooted at 20:42 and it loaded properly again:

    Nov  2 19:04:12 C77D7G3 fprintd[174832]: Sensor-firmware file signature verification is valid
    Nov  2 19:04:12 C77D7G3 fprintd[174832]: Sensor firmware version in file(sensor 16): GF5288_GM188WNC_APP_10009 length: 25
    Nov  2 19:04:12 C77D7G3 fprintd[174832]: Sensor firmware versions in file and on device match
    Nov  2 19:04:30 C77D7G3 fprintd[174832]: Client :1.603 not authorized to call method 'Claim' for device Broadcom Sensors: Device was already claimed
    Nov  2 19:05:12 C77D7G3 fprintd[174832]: Capture Initiated, Please place your finger now on the sensor now
    Nov  2 19:05:12 C77D7G3 fprintd[174832]: cv_open() return status: 0xb
    Nov  2 19:05:55 C77D7G3 systemd[1]: fprintd.service: Succeeded.
    Nov  2 19:45:26 C77D7G3 dbus-daemon[958]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.92' (uid=1000 pid=2580 comm="/usr/bin/gnome-shell " label="unconfined")
    Nov  2 19:45:29 C77D7G3 fprintd[184530]: Error: 0xb from cv_get_ush_ver()
    Nov  2 19:45:32 C77D7G3 fprintd[184530]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)
    Nov  2 19:45:36 C77D7G3 fprintd[184530]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)
    Nov  2 19:45:48 C77D7G3 fprintd[184530]: message repeated 3 times: [ In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)]
    Nov  2 19:45:49 C77D7G3 fprintd[184530]: Could NOT detect USH.
    Nov  2 19:45:49 C77D7G3 fprintd[184530]: #011#011FwUpgradeError. Check Firmware Files or CID used or Hardware etc. Error: 0x1c
    Nov  2 19:45:49 C77D7G3 fprintd[184530]: Ignoring device due to initialization error: An unspecified error occurred!
    Nov  2 19:46:19 C77D7G3 systemd[1]: fprintd.service: Succeeded.
    Nov  2 19:47:21 C77D7G3 dbus-daemon[958]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.664' (uid=0 pid=185368 comm="sudo systemctl restart fprintd " label="unconfined")
    Nov  2 19:47:24 C77D7G3 fprintd[185369]: Error: 0xb from cv_get_ush_ver()
    Nov  2 19:47:27 C77D7G3 fprintd[185369]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)
    Nov  2 19:47:43 C77D7G3 fprintd[185369]: message repeated 4 times: [ In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)]
    Nov  2 19:47:44 C77D7G3 fprintd[185369]: Could NOT detect USH.
    Nov  2 19:47:44 C77D7G3 fprintd[185369]: #011#011FwUpgradeError. Check Firmware Files or CID used or Hardware etc. Error: 0x1c
    Nov  2 19:47:44 C77D7G3 fprintd[185369]: Ignoring device due to initialization error: An unspecified error occurred!
    Nov  2 19:47:50 C77D7G3 systemd[1]: fprintd.service: Succeeded.
    Nov  2 19:47:53 C77D7G3 fprintd[185407]: Error: 0xb from cv_get_ush_ver()
    Nov  2 19:47:56 C77D7G3 fprintd[185407]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)
    Nov  2 19:48:12 C77D7G3 fprintd[185407]: message repeated 4 times: [ In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)]
    Nov  2 19:48:13 C77D7G3 fprintd[185407]: Could NOT detect USH.
    Nov  2 19:48:13 C77D7G3 fprintd[185407]: #011#011FwUpgradeError. Check Firmware Files or CID used or Hardware etc. Error: 0x1c
    Nov  2 19:48:13 C77D7G3 fprintd[185407]: Ignoring device due to initialization error: An unspecified error occurred!
    Nov  2 19:48:43 C77D7G3 systemd[1]: fprintd.service: Succeeded.
    Nov  2 19:48:50 C77D7G3 dbus-daemon[958]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.668' (uid=0 pid=185573 comm="sudo tail -n 50 /var/log/syslog " label="unconfined")
    Nov  2 19:48:53 C77D7G3 fprintd[185575]: Error: 0xb from cv_get_ush_ver()
    Nov  2 19:48:56 C77D7G3 fprintd[185575]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)
    Nov  2 19:49:12 C77D7G3 fprintd[185575]: message repeated 4 times: [ In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)]
    Nov  2 19:49:13 C77D7G3 fprintd[185575]: Could NOT detect USH.
    Nov  2 19:49:13 C77D7G3 fprintd[185575]: #011#011FwUpgradeError. Check Firmware Files or CID used or Hardware etc. Error: 0x1c
    Nov  2 19:49:13 C77D7G3 fprintd[185575]: Ignoring device due to initialization error: An unspecified error occurred!
    Nov  2 19:49:43 C77D7G3 systemd[1]: fprintd.service: Succeeded.
    Nov  2 20:33:25 C77D7G3 dbus-daemon[958]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.92' (uid=1000 pid=2580 comm="/usr/bin/gnome-shell " label="unconfined")
    Nov  2 20:33:28 C77D7G3 fprintd[187245]: Error: 0xb from cv_get_ush_ver()
    Nov  2 20:33:31 C77D7G3 fprintd[187245]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)
    Nov  2 20:33:35 C77D7G3 fprintd[187245]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)
    Nov  2 20:33:39 C77D7G3 fprintd[187245]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)
    Nov  2 20:33:43 C77D7G3 fprintd[187245]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)
    Nov  2 20:33:47 C77D7G3 fprintd[187245]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)
    Nov  2 20:33:48 C77D7G3 fprintd[187245]: Could NOT detect USH.
    Nov  2 20:33:48 C77D7G3 fprintd[187245]: #011#011FwUpgradeError. Check Firmware Files or CID used or Hardware etc. Error: 0x1c
    Nov  2 20:33:48 C77D7G3 fprintd[187245]: Ignoring device due to initialization error: An unspecified error occurred!
    Nov  2 20:34:19 C77D7G3 systemd[1]: fprintd.service: Succeeded.
    Nov  2 20:42:49 C77D7G3 dbus-daemon[980]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.38' (uid=125 pid=1624 comm="/usr/bin/gnome-shell " label="unconfined")
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x0)
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: Control Vault getting chip type
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: Citadel A0 CID7 Chip Found....
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: Current AAI Version = 5.8.12.0
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: Current SBI Version = 122
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: AAI version available for upgrade = 5.8.12.0
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: SBI version available for upgrade = 122
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: AAI version matches - it is up do date
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: SBI version matches - it is up do date
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: Citadel A0 CID7 Chip Found....
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: Sensor type  : 16 Sensor firmware version on device: GF5288_GM188WNC_APP_10009 length: 25
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: Sensor-firmware file signature verification is valid
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: Sensor firmware version in file(sensor 16): GF5288_GM188WNC_APP_10009 length: 25
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: Sensor firmware versions in file and on device match
  • jermaine151

    11 Posts

    8371

    0

    Posted November 2nd, 2021 18:00

    You might have a firmware issue. I see these differences in our logs:

    Yours shows this:

    Oct 31 21:49:22 host fprintd[6647]: Citadel A0 CID7 Chip Found....
    Oct 31 21:49:22 host fprintd[6647]: Sensor type  : 12 Sensor firmware version on device: 3088084-109-0-3473 length: 18
    Oct 31 21:49:22 host fprintd[6647]: Sensor-firmware file signature verification is valid
    Oct 31 21:49:22 host fprintd[6647]: Sensor Version length: 16
    Oct 31 21:49:22 host fprintd[6647]: Sensor Version: 3031663-2-0-3545
    Oct 31 21:49:22 host fprintd[6647]: cv_check_sensor_firmware_upgradable: FALSE
    Oct 31 21:49:22 host fprintd[6647]: cv_check_sensor_firmware_upgradable: Skipping
    Oct 31 21:49:22 host fprintd[6647]: Sensor Version length: 18

     

    Mine shows this with the same sensor:

    Nov  2 20:42:49 C77D7G3 fprintd[1909]: Citadel A0 CID7 Chip Found....
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: Sensor type  : 16 Sensor firmware version on device: GF5288_GM188WNC_APP_10009 length: 25
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: Sensor-firmware file signature verification is valid
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: Sensor firmware version in file(sensor 16): GF5288_GM188WNC_APP_10009 length: 25
    Nov  2 20:42:49 C77D7G3 fprintd[1909]: Sensor firmware versions in file and on device match
  • jermaine151

    11 Posts

    9297

    0

    Posted November 3rd, 2021 14:00

    No, I didn't run that but I did install firmware updates using these:

     

    sudo fwupdmgr refresh
    sudo fwupdmgr get-updates
    sudo fwupdmgr update

     

  • zander

    9 Posts

    8340

    0

    Posted November 3rd, 2021 14:00

    Do you need to run the `/usr/bin/update-fw.py` before using this driver?

    I tried running it but it would not show any output.. 

  • jermaine151

    11 Posts

    7346

    0

    Posted November 3rd, 2021 15:00

    What does "lsusb -v -d 0a5c:5843" give you? Mine shows the info below. I'd be surprised if Dell used a different device with the same vendor:product code

    lsusb -v -d 0a5c:5843
    
    Bus 003 Device 003: ID 0a5c:5843 Broadcom Corp. 58200
    Device Descriptor:
      bLength                18
      bDescriptorType         1
      bcdUSB               2.00
      bDeviceClass            0 
      bDeviceSubClass         0 
      bDeviceProtocol         0 
      bMaxPacketSize0        64
      idVendor           0x0a5c Broadcom Corp.
      idProduct          0x5843 
      bcdDevice            1.02
      iManufacturer           1 Broadcom Corp
      iProduct                2 58200
      iSerial                 3 0123456789ABCD
      bNumConfigurations      1
      Configuration Descriptor:
        bLength                 9
        bDescriptorType         2
        wTotalLength       0x0037
        bNumInterfaces          1
        bConfigurationValue     1
        iConfiguration          0 
        bmAttributes         0xe0
          Self Powered
          Remote Wakeup
        MaxPower              100mA
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        0
          bAlternateSetting       0
          bNumEndpoints           3
          bInterfaceClass       254 Application Specific Interface
          bInterfaceSubClass      0 
          bInterfaceProtocol      0 
          iInterface              4 Broadcom ControlVault 3 w/FingerPrint
          ** UNRECOGNIZED:  10 25 00 00 00 00 00 00 00 00 00 00 00 00 00 00
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x81  EP 1 IN
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0200  1x 512 bytes
            bInterval               0
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x01  EP 1 OUT
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0200  1x 512 bytes
            bInterval               0
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x85  EP 5 IN
            bmAttributes            3
              Transfer Type            Interrupt
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0400  1x 1024 bytes
            bInterval               1
    Device Qualifier (for other device speed):
      bLength                10
      bDescriptorType         6
      bcdUSB               2.00
      bDeviceClass            0 
      bDeviceSubClass         0 
      bDeviceProtocol         0 
      bMaxPacketSize0        64
      bNumConfigurations      1
    Device Status:     0x0000
      (Bus Powered)
  • jermaine151

    11 Posts

    4738

    0

    Posted November 3rd, 2021 15:00

    This is another thread on this forum where a couple have confirmed that it worked for them, even in Arch Linux: https://www.dell.com/community/Latitude/Fingerprint-driver-for-GNU-Linux/td-p/7563679/page/3

  • zander

    9 Posts

    9294

    0

    Posted November 3rd, 2021 15:00

    My device seems to have another sensor type: 12

    While your has sensor type: 16

    And that must be the reason why it's not working....