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.
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.
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.
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
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
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)
foul_underpants
1 Rookie
•
2 Posts
21145
0
Posted July 17th, 2020 01:00
Related issue, https://www.dell.com/community/Latitude/Fingerprint-driver-for-GNU-Linux/m-p/7563679#M21440