Skip to content

0a5c:5834 Broadcom Corp. - Device Support #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
inventortechie opened this issue Jul 1, 2017 · 95 comments
Open

0a5c:5834 Broadcom Corp. - Device Support #3

inventortechie opened this issue Jul 1, 2017 · 95 comments

Comments

@inventortechie
Copy link

Would like to add support for this Fingerprint Scanner. Detected this on Latitude 7480 via Ubuntu 17.04.

*I've also noticed a typo in the man file. Will try and see if it's avail in repo to provide correction.

@mormegil6
Copy link

Hi there. Is there any progress on this issue?

@viherbos
Copy link

Hi people. I have the same BroadCom chip on a new Precision 7520 and it is the only device I can't control in Ubuntu (16.04). Thanks for your efforts!

@mensfeld
Copy link

I'm having my fingers crossed for this one as well!

@cbluth
Copy link

cbluth commented Oct 26, 2018

It looks like Canonical has marked this device as Ubuntu Certified, maybe they can produce a driver: https://certification.ubuntu.com/catalog/component/usb/405/0a5c%3A5834/

@palvarez89
Copy link

It looks like Canonical has marked this device as Ubuntu Certified, maybe they can produce a driver: https://certification.ubuntu.com/catalog/component/usb/405/0a5c%3A5834/

"The Broadcom Corporation 0a5c:5834 is under the Other category and is contained in the certified systems below.", I don't think that means it's Ubuntu Certified. I could be wrong though.

@bud4
Copy link

bud4 commented Dec 28, 2018

Please help !

@WillGibson
Copy link

I would love to be able to use this fingerprint reader on my Dell Precision 7520 which was shipped with Ubuntu and I paid the extra few quid for the reader, but there seems to be no way to get it working.

I wouldn't know where to start with writing a driver for it myself, but maybe if enough people want it we could chip in and pay someone who does know how to do such things to do it for us?

@hackerb9
Copy link

I don't know about the fingerprint reader, but you can get NFC working using a little python script: https://github.com/jacekkow/controlvault2-nfc-enable . NFC allows you to use SoloKeys or YubiKeys to wirelessly authenticate.

@camaeel
Copy link

camaeel commented Jul 27, 2019

I'd like to login with fingerprint reader to my linux.

@iDoka
Copy link

iDoka commented Oct 2, 2019

I have the same fingerprint on Latitude E7470
How can I use it in Ubuntu for login procedure?

@eric-saintetienne
Copy link

Same issue with more recent model 0a5c:5842 in my DELL Latitude 7400 2-in-1

Bus 001 Device 004: ID 0a5c:5842 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          0x5842 
  bcdDevice            1.01
  iManufacturer           1 Broadcom Corp
  iProduct                2 58200
  iSerial                 3 0123456789ABCD
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x008b
    bNumInterfaces          2
    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
      ** UNRECOGNIZED:  10 25 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[...]

@jermaine151
Copy link

It is now working! 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.
Hopefully this helps some of you!

@project-administrator
Copy link

So... does anyone have the instructions for Debian? ...

@viherbos
Copy link

I have tried this with my Precision 7520 (Ubuntu 20.04.3) but the "Additional Drives" window doesn't show any Broadcom option though I get an unknown device from Somerville (I don't know if this has anything to do with the fingerprint reader)...

@project-administrator
Copy link

On Debian I was able to build/install the libfprint tod version and installed the libfprint-2-tod1-broadcom. However, fprintd would not work with 0a5c:5843 Broadcom Corp. 58200 for me:

Sensor Version length: 16
Sensor Version: 3031663-2-0-3528
cv_check_sensor_firmware_upgradable: FALSE
Couldn't find UPDATABLE sensor-firmware for this sensor
Couldn't get UPDATABLE firmware image data for sensor
fpi_device_probe_complete: assertion 'priv->current_action == FPI_DEVICE_ACTION_PROBE' failed

@eric-saintetienne
Copy link

eric-saintetienne commented Nov 1, 2021

The only repo that I've found is https://git.launchpad.net/libfprint-2-tod1-broadcom/tree/ but it doesn't include any code, only config files and a prebuilt dynamic library.

I'm not sure how to use that .so file. Can you please share what steps you followed?

Thank you

@project-administrator
Copy link

project-administrator commented Nov 1, 2021

Not sure if sources are available for the libfprint-2-tod1-broadcom

Can you please share what steps you followed?

These are the hacky instructions that I did in an attempt to make it work:

  1. Build and install the tod branch of the https://gitlab.freedesktop.org/3v1n0/libfprint/-/tree/tod, find the build dependencies here: https://packages.debian.org/source/sid/libfprint.
  2. Manually point the /usr/lib/x86_64-linux-gnu/libfprint-2.so.2 to the newly installed /usr/local/lib/x86_64-linux-gnu/libfprint-2.so.2.0.0 (this is what fprintd service uses)
  3. Install http://dell.archive.canonical.com/updates/pool/public/libf/libfprint-2-tod1-broadcom/libfprint-2-tod1-broadcom_5.8.012.0-0ubuntu1~oem2_amd64.deb
  4. Symlink /usr/local/lib/x86_64-linux-gnu/libfprint-2 to what has been installed in step 3 /usr/lib/x86_64-linux-gnu/libfprint-2
  5. (optionally check that rules are installed for your device in /lib/udev/rules.d/60-libfprint-2*. I commented the duplicate entries just in case)
  6. kill fprintd if it's running, run fprintd-list / fprintd-enroll and check the fprintd service logs. On this step, it attempted to initialize the device and was able to check its FW version.

@innovativesahil
Copy link

innovativesahil commented Nov 6, 2021

So this is how i got it working
Clone this repo
https://git.launchpad.net/~oem-solutions-engineers/libfprint-2-tod1-broadcom/+git/libfprint-2-tod1-broadcom/

then go into the cloned folder
sudo sh install.sh
python3 debian/update-fw.py
I had to restart the laptop but it worked.

Also check if the fingerprint login is enabled
sudo pam-auth-update

lsusb -v -d 0a5c:5843

Couldn't open device, some information will be missing
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 
      ** 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

image

My System Info
image

@innovativesahil
Copy link

So this is how i got it working Clone this repo https://git.launchpad.net/~oem-solutions-engineers/libfprint-2-tod1-broadcom/+git/libfprint-2-tod1-broadcom/

then go into the cloned folder sudo sh install.sh python3 debian/update-fw.py I had to restart the laptop but it worked.

Also check if the fingerprint login is enabled sudo pam-auth-update

lsusb -v -d 0a5c:5843

Couldn't open device, some information will be missing
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 
      ** 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

image

My System Info image

Attaching logs

Nov  6 14:14:34 ubuntu dbus-daemon[902]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.604' (uid=1000 pid=403543 comm="python3 update-fw.py " label="unconfined")
Nov  6 14:14:34 ubuntu systemd[1]: Starting Fingerprint Authentication Daemon...
Nov  6 14:14:34 ubuntu dbus-daemon[902]: [system] Successfully activated service 'net.reactivated.Fprint'
Nov  6 14:14:34 ubuntu systemd[1]: Started Fingerprint Authentication Daemon.
Nov  6 14:15:01 ubuntu CRON[403582]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Nov  6 14:15:05 ubuntu systemd[1]: fprintd.service: Deactivated successfully.
Nov  6 14:15:12 ubuntu dbus-daemon[902]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.606' (uid=0 pid=403604 comm="sudo pam-auth-update " label="unconfined")
Nov  6 14:15:12 ubuntu systemd[1]: Starting Fingerprint Authentication Daemon...
Nov  6 14:15:12 ubuntu dbus-daemon[902]: [system] Successfully activated service 'net.reactivated.Fprint'
Nov  6 14:15:12 ubuntu systemd[1]: Started Fingerprint Authentication Daemon.
Nov  6 14:15:31 ubuntu systemd[349499]: Started Application launched by gnome-shell.
Nov  6 14:15:42 ubuntu systemd[1]: fprintd.service: Deactivated successfully.
Nov  6 14:15:43 ubuntu dbus-daemon[902]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.609' (uid=0 pid=403695 comm="/usr/libexec/polkit-agent-helper-1 sahil " label="unconfined")
Nov  6 14:15:43 ubuntu systemd[1]: Starting Fingerprint Authentication Daemon...
Nov  6 14:15:43 ubuntu dbus-daemon[902]: [system] Successfully activated service 'net.reactivated.Fprint'
Nov  6 14:15:43 ubuntu systemd[1]: Started Fingerprint Authentication Daemon.
Nov  6 14:16:13 ubuntu systemd[1]: fprintd.service: Deactivated successfully.
Nov  6 14:16:28 ubuntu dbus-daemon[902]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.612' (uid=1000 pid=403823 comm="python3 update-fw.py " label="unconfined")
Nov  6 14:16:28 ubuntu systemd[1]: Starting Fingerprint Authentication Daemon...
Nov  6 14:16:28 ubuntu dbus-daemon[902]: [system] Successfully activated service 'net.reactivated.Fprint'
Nov  6 14:16:28 ubuntu systemd[1]: Started Fingerprint Authentication Daemon.
Nov  6 14:16:58 ubuntu systemd[1]: fprintd.service: Deactivated successfully.
Nov  6 14:17:01 ubuntu CRON[403858]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Nov  6 14:17:29 ubuntu dbus-daemon[902]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.614' (uid=1000 pid=403878 comm="python3 update-fw.py " label="unconfined")
Nov  6 14:17:29 ubuntu systemd[1]: Starting Fingerprint Authentication Daemon...
Nov  6 14:17:29 ubuntu dbus-daemon[902]: [system] Successfully activated service 'net.reactivated.Fprint'
Nov  6 14:17:29 ubuntu systemd[1]: Started Fingerprint Authentication Daemon.
Nov  6 14:17:59 ubuntu systemd[1]: fprintd.service: Deactivated successfully.
Nov  6 14:19:14 ubuntu dbus-daemon[902]: [system] Activating via systemd: service name='org.freedesktop.timedate1' unit='dbus-org.freedesktop.timedate1.service' requested by ':1.608' (uid=1000 pid=403636 comm="gnome-control-center " label="unconfined")
Nov  6 14:19:14 ubuntu systemd[1]: Starting Time & Date Service...
Nov  6 14:19:14 ubuntu dbus-daemon[902]: [system] Successfully activated service 'org.freedesktop.timedate1'
Nov  6 14:19:14 ubuntu systemd[1]: Started Time & Date Service.
Nov  6 14:19:15 ubuntu dbus-daemon[902]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.608' (uid=1000 pid=403636 comm="gnome-control-center " label="unconfined")
Nov  6 14:19:15 ubuntu systemd[1]: Starting Fingerprint Authentication Daemon...
Nov  6 14:19:15 ubuntu fprintd[404195]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x0)
Nov  6 14:19:15 ubuntu fprintd[404195]: Control Vault getting chip type
Nov  6 14:19:15 ubuntu fprintd[404195]: Citadel A0 CID7 Chip Found....
Nov  6 14:19:15 ubuntu fprintd[404195]: Current AAI Version = 5.7.20.0
Nov  6 14:19:15 ubuntu fprintd[404195]: Current SBI Version = 116
Nov  6 14:19:15 ubuntu fprintd[404195]: AAI version available for upgrade = 5.8.12.0
Nov  6 14:19:15 ubuntu fprintd[404195]: SBI version available for upgrade = 122
Nov  6 14:19:15 ubuntu fprintd[404195]: Updating ControlVault firmware from 5.7.20.0 to 5.8.12.0
Nov  6 14:19:15 ubuntu fprintd[404195]: Event: FwUpgradeStarted
Nov  6 14:19:15 ubuntu fprintd[404195]: Upgrade the SBI from 116 to 122, first clear SCD
Nov  6 14:19:15 ubuntu fprintd[404195]: Writing /var/lib/fprint/fw/bcm_cv_clearscd.bin to flash
Nov  6 14:19:15 ubuntu fprintd[404195]: cv_flash_update() successful
Nov  6 14:19:15 ubuntu fprintd[404195]: Reset to SBI to update the SBI....
Nov  6 14:19:18 ubuntu fprintd[404195]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x13)
Nov  6 14:19:18 ubuntu kernel: [489037.192608] usb 1-8: USB disconnect, device number 3
Nov  6 14:19:18 ubuntu kernel: [489037.786851] usb 1-8: new high-speed USB device number 6 using xhci_hcd
Nov  6 14:19:18 ubuntu kernel: [489037.956470] usb 1-8: New USB device found, idVendor=0a5c, idProduct=5841, bcdDevice= 1.02
Nov  6 14:19:18 ubuntu kernel: [489037.956486] usb 1-8: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov  6 14:19:18 ubuntu kernel: [489037.956493] usb 1-8: Product: 58200
Nov  6 14:19:18 ubuntu kernel: [489037.956498] usb 1-8: Manufacturer: Broadcom Corp
Nov  6 14:19:18 ubuntu kernel: [489037.956502] usb 1-8: SerialNumber: 0123456789ABCD
Nov  6 14:19:18 ubuntu mtp-probe: checking bus 1, device 6: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-8"
Nov  6 14:19:18 ubuntu mtp-probe: bus: 1, device: 6 was not an MTP device
Nov  6 14:19:18 ubuntu mtp-probe: checking bus 1, device 6: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-8"
Nov  6 14:19:19 ubuntu mtp-probe: bus: 1, device: 6 was not an MTP device
Nov  6 14:19:19 ubuntu fprintd[404195]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x0)
Nov  6 14:19:19 ubuntu fprintd[404195]: Found ControlVault Chip Type: CITADEL A0 CID7
Nov  6 14:19:19 ubuntu fprintd[404195]: Event: FwUpgradeInProgress 1
Nov  6 14:19:19 ubuntu fprintd[404195]: Going to update SBI (bcmsbiCitadelA0_7.otp)
Nov  6 14:19:19 ubuntu fprintd[404195]: Writing /var/lib/fprint/fw/bcmsbiCitadelA0_7.otp to flash
Nov  6 14:19:21 ubuntu fprintd[404195]: cv_flash_update() successful
Nov  6 14:19:21 ubuntu fprintd[404195]: BCM Update attempt 1
Nov  6 14:19:21 ubuntu fprintd[404195]: Event: FwUpgradeInProgress 2
Nov  6 14:19:21 ubuntu fprintd[404195]: Going to clear SCD
Nov  6 14:19:21 ubuntu fprintd[404195]: Writing /var/lib/fprint/fw/bcm_cv_clearscd.bin to flash
Nov  6 14:19:22 ubuntu fprintd[404195]: cv_flash_update() successful
Nov  6 14:19:22 ubuntu fprintd[404195]: Going to Reset to SBI
Nov  6 14:19:22 ubuntu fprintd[404195]: Event: FwUpgradeInProgress 3
Nov  6 14:19:22 ubuntu fprintd[404195]: Waiting for Control Vault to comeback from reset
Nov  6 14:19:24 ubuntu systemd[349499]: app-gnome-gnome\x2dcontrol\x2dcenter-403636.scope: Deactivated successfully.
Nov  6 14:19:24 ubuntu systemd[349499]: app-gnome-gnome\x2dcontrol\x2dcenter-403636.scope: Consumed 8.187s CPU time.
Nov  6 14:19:24 ubuntu kernel: [489043.803054] usb 1-8: USB disconnect, device number 6
Nov  6 14:19:24 ubuntu gsd-media-keys[358309]: <window.Window object at 0x7f8cccbcad00 (terminatorlib+window+Window at 0x15c8500)> is not in registered window list
Nov  6 14:19:24 ubuntu systemd[349499]: vte-spawn-d3e6f461-4b10-4962-8863-f4e51db2d470.scope: Deactivated successfully.
Nov  6 14:19:24 ubuntu systemd[349499]: vte-spawn-d3e6f461-4b10-4962-8863-f4e51db2d470.scope: Consumed 14.007s CPU time.
Nov  6 14:19:24 ubuntu systemd[349499]: app-gnome-x\x2dterminal\x2demulator-358309.scope: Deactivated successfully.
Nov  6 14:19:24 ubuntu systemd[349499]: app-gnome-x\x2dterminal\x2demulator-358309.scope: Consumed 19.600s CPU time.
Nov  6 14:19:25 ubuntu kernel: [489044.318995] usb 1-8: new high-speed USB device number 7 using xhci_hcd
Nov  6 14:19:25 ubuntu kernel: [489044.488008] usb 1-8: New USB device found, idVendor=0a5c, idProduct=5841, bcdDevice= 1.02
Nov  6 14:19:25 ubuntu kernel: [489044.488023] usb 1-8: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov  6 14:19:25 ubuntu kernel: [489044.488029] usb 1-8: Product: 58200
Nov  6 14:19:25 ubuntu kernel: [489044.488033] usb 1-8: Manufacturer: Broadcom Corp
Nov  6 14:19:25 ubuntu kernel: [489044.488037] usb 1-8: SerialNumber: 0123456789ABCD
Nov  6 14:19:25 ubuntu mtp-probe: checking bus 1, device 7: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-8"
Nov  6 14:19:25 ubuntu mtp-probe: bus: 1, device: 7 was not an MTP device
Nov  6 14:19:25 ubuntu mtp-probe: checking bus 1, device 7: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-8"
Nov  6 14:19:25 ubuntu mtp-probe: bus: 1, device: 7 was not an MTP device
Nov  6 14:19:33 ubuntu systemd[349499]: Started Application launched by gsd-media-keys.
Nov  6 14:19:33 ubuntu systemd[349499]: Started VTE child process 404279 launched by x-terminal-emulator process 404253.
Nov  6 14:19:33 ubuntu gnome-shell[349630]: setup_framebuffers: assertion 'width > 0' failed
Nov  6 14:19:37 ubuntu fprintd[404195]: ...............
Nov  6 14:19:38 ubuntu fprintd[404195]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x0)
Nov  6 14:19:38 ubuntu fprintd[404195]: SBI mode
Nov  6 14:19:38 ubuntu fprintd[404195]: Security check before flashing passed
Nov  6 14:19:38 ubuntu fprintd[404195]: Citadel A0 CID7 Chip Found....
Nov  6 14:19:38 ubuntu fprintd[404195]: Going to update BCM (bcmCitadel_7.otp)
Nov  6 14:19:38 ubuntu fprintd[404195]: Event: FwUpgradeInProgress 4
Nov  6 14:19:38 ubuntu fprintd[404195]: cv_open() return status: 0x57
Nov  6 14:19:38 ubuntu fprintd[404195]: Going to update the BCM with /var/lib/fprint/fw/bcmCitadel_7.otp
Nov  6 14:19:38 ubuntu fprintd[404195]: Please wait, this takes about one minute
Nov  6 14:19:44 ubuntu systemd[1]: systemd-timedated.service: Deactivated successfully.
Nov  6 14:19:46 ubuntu dbus-daemon[902]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.630' (uid=1000 pid=404613 comm="python3 debian/update-fw.py " label="unconfined")
Nov  6 14:20:03 ubuntu fprintd[404195]: Firmware Upgrade Complete
Nov  6 14:20:03 ubuntu fprintd[404195]: Going to Reset Control Vault
Nov  6 14:20:03 ubuntu fprintd[404195]: Event: FwUpgradeInProgress 5
Nov  6 14:20:03 ubuntu fprintd[404195]: Reboot USH
Nov  6 14:20:03 ubuntu fprintd[404195]: Waiting for Control Vault to comeback from reset
Nov  6 14:20:06 ubuntu kernel: [489085.487696] usb 1-8: USB disconnect, device number 7
Nov  6 14:20:08 ubuntu kernel: [489087.511749] usb 1-8: new high-speed USB device number 8 using xhci_hcd
Nov  6 14:20:10 ubuntu kernel: [489089.220066] usb 1-8: New USB device found, idVendor=0a5c, idProduct=5843, bcdDevice= 1.02
Nov  6 14:20:10 ubuntu kernel: [489089.220080] usb 1-8: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov  6 14:20:10 ubuntu kernel: [489089.220086] usb 1-8: Product: 58200
Nov  6 14:20:10 ubuntu kernel: [489089.220090] usb 1-8: Manufacturer: Broadcom Corp
Nov  6 14:20:10 ubuntu kernel: [489089.220094] usb 1-8: SerialNumber: 0123456789ABCD
Nov  6 14:20:10 ubuntu mtp-probe: checking bus 1, device 8: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-8"
Nov  6 14:20:10 ubuntu mtp-probe: bus: 1, device: 8 was not an MTP device
Nov  6 14:20:10 ubuntu upowerd[1341]: treating change event as add on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-8
Nov  6 14:20:10 ubuntu mtp-probe: checking bus 1, device 8: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-8"
Nov  6 14:20:10 ubuntu mtp-probe: bus: 1, device: 8 was not an MTP device
Nov  6 14:20:11 ubuntu dbus-daemon[902]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.639' (uid=1000 pid=404613 comm="python3 debian/update-fw.py " label="unconfined")
Nov  6 14:20:18 ubuntu fprintd[404195]: ...............
Nov  6 14:20:19 ubuntu fprintd[404195]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x0)
Nov  6 14:20:20 ubuntu fprintd[404195]: Citadel A0 CID7 Chip Found....
Nov  6 14:20:20 ubuntu fprintd[404195]: Opening CV session
Nov  6 14:20:20 ubuntu fprintd[404195]: Event: FwUpgradeInProgress 6
Nov  6 14:20:20 ubuntu fprintd[404195]: Control Vault firmware upgrade successful
Nov  6 14:20:20 ubuntu fprintd[404195]: Citadel A0 CID7 Chip Found....
Nov  6 14:20:20 ubuntu fprintd[404195]: Sensor type  : 12 Sensor firmware version on device: 3088084-109-0-3473 length: 18
Nov  6 14:20:20 ubuntu fprintd[404195]: Sensor-firmware file signature verification is valid
Nov  6 14:20:20 ubuntu fprintd[404195]: Sensor Version length: 16
Nov  6 14:20:20 ubuntu fprintd[404195]: Sensor Version: 3031663-2-0-3545
Nov  6 14:20:20 ubuntu fprintd[404195]: cv_check_sensor_firmware_upgradable: FALSE
Nov  6 14:20:20 ubuntu fprintd[404195]: cv_check_sensor_firmware_upgradable: Skipping
Nov  6 14:20:20 ubuntu fprintd[404195]: Sensor Version length: 18
Nov  6 14:20:20 ubuntu fprintd[404195]: Sensor Version: 3088084-109-0-3473
Nov  6 14:20:20 ubuntu fprintd[404195]: cv_check_sensor_firmware_upgradable: FALSE
Nov  6 14:20:20 ubuntu fprintd[404195]: cv_check_sensor_firmware_upgradable: Skipping
Nov  6 14:20:20 ubuntu fprintd[404195]: cv_check_sensor_firmware_upgradable: Skipping
Nov  6 14:20:20 ubuntu fprintd[404195]: Sensor Version length: 16
Nov  6 14:20:20 ubuntu fprintd[404195]: Sensor Version: 3031663-2-0-3528
Nov  6 14:20:20 ubuntu fprintd[404195]: cv_check_sensor_firmware_upgradable: FALSE
Nov  6 14:20:20 ubuntu fprintd[404195]: Couldn't find UPDATABLE sensor-firmware for this sensor
Nov  6 14:20:20 ubuntu fprintd[404195]: Couldn't get UPDATABLE firmware image data for sensor
Nov  6 14:20:20 ubuntu fprintd[404195]: Ignoring device due to initialization error: An unspecified error occurred!
Nov  6 14:20:20 ubuntu fprintd[404195]: g_task_return_boolean: assertion 'G_IS_TASK (task)' failed
Nov  6 14:20:20 ubuntu dbus-daemon[902]: [system] Successfully activated service 'net.reactivated.Fprint'
Nov  6 14:20:20 ubuntu systemd[1]: Started Fingerprint Authentication Daemon.
Nov  6 14:20:24 ubuntu systemd[349499]: Started Application launched by gnome-shell.
Nov  6 14:20:50 ubuntu systemd[1]: fprintd.service: Deactivated successfully.

Had to restart after this to get the device working.

@cbluth
Copy link

cbluth commented Nov 6, 2021

Wow, great work, and a big thank you to the devs that were able to provide patches, bummer I don't have this laptop anymore, otherwise I would confirm your instructions.

@innovativesahil
Copy link

I have tried this with my Precision 7520 (Ubuntu 20.04.3) but the "Additional Drives" window doesn't show any Broadcom option though I get an unknown device from Somerville (I don't know if this has anything to do with the fingerprint reader)...

Try my solution above. It worked for Dell 5400

@innovativesahil
Copy link

The only repo that I've found is https://git.launchpad.net/libfprint-2-tod1-broadcom/tree/ but it doesn't include any code, only config files and a prebuilt dynamic library.

I'm not sure how to use that .so file. Can you please share what steps you followed?

Thank you

I have tried this with my Precision 7520 (Ubuntu 20.04.3) but the "Additional Drives" window doesn't show any Broadcom option though I get an unknown device from Somerville (I don't know if this has anything to do with the fingerprint reader)...

So... does anyone have the instructions for Debian? ...

I have the same fingerprint on Latitude E7470 How can I use it in Ubuntu for login procedure?

I'd like to login with fingerprint reader to my linux.

I would love to be able to use this fingerprint reader on my Dell Precision 7520 which was shipped with Ubuntu and I paid the extra few quid for the reader, but there seems to be no way to get it working.

I wouldn't know where to start with writing a driver for it myself, but maybe if enough people want it we could chip in and pay someone who does know how to do such things to do it for us?

Check instructions above if they are helpful to get it running.

@project-administrator
Copy link

It worked after I upgraded the fprintd to version 1.94
However, the 0a5c:5843 device disappeared after I suspended the laptop (dell latitude 5401) several times.
So, basically, it works only after shutdown and cold boot for some time, until you suspend the system.

@viherbos
Copy link

viherbos commented Nov 9, 2021

None of the proposed solutions seems to work with 0a5c:5834 (Precision 7520) and Ubuntu 20.04. Any ideas?

@eric-saintetienne
Copy link

eric-saintetienne commented Nov 11, 2021

Got it working on Fedora 35, hardware is Lattitude 7400 (0a5c:5843)
I recompiled fprintd from source (tag v1.94.1) and reinstalled it (sudo meson install)
same with libfprintd using branch tod (sudo meson install)
Cloned git://git.launchpad.net/~oem-solutions-engineers/libfprint-2-tod1-broadcom/+git/libfprint-2-tod1-broadcom and ran the install script.

In the end this is what I have:

lrwxrwxrwx. 1 root root      20 Sep 24 16:44 /usr/lib64/libfprint-2.so.2 -> libfprint-2.so.2.0.0
-rwxr-xr-x. 1 root root 2440288 Nov 11 11:59 /usr/lib64/libfprint-2.so.2.0.0
-rwxr-xr-x. 1 root root 1060656 Nov 11 11:31 /usr/lib64/libfprint-2/tod-1/libfprint-2-tod-1-broadcom.so
-rwxr-xr-x. 1 root root  605384 Nov 11 12:00 /usr/lib64/libfprint-2-tod.so
-rwxr-xr-x. 1 root root  605384 Nov 11 11:59 /usr/lib64/libfprint-2-tod.so.1
lrwxrwxrwx. 1 root root      23 Nov 11 12:06 /usr/lib/x86_64-linux-gnu/libfprint-2.so.2 -> /lib64/libfprint-2.so.2
-rwxr-xr-x. 1 root root 1060656 Nov 11 11:56 /usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-2-tod-1-broadcom.so
lrwxrwxrwx. 1 root root      16 Nov 11 11:59 /usr/local/lib64/libfprint-2.so -> libfprint-2.so.2
lrwxrwxrwx. 1 root root      20 Nov 11 11:59 /usr/local/lib64/libfprint-2.so.2 -> libfprint-2.so.2.0.0
-rwxr-xr-x. 1 root root 2440288 Nov 11 11:59 /usr/local/lib64/libfprint-2.so.2.0.0
-rwxr-xr-x. 1 root root 1060656 Nov 11 11:31 /usr/local/lib64/libfprint-2/tod-1/libfprint-2-tod-1-broadcom.so
lrwxrwxrwx. 1 root root      20 Nov 11 11:59 /usr/local/lib64/libfprint-2-tod.so -> libfprint-2-tod.so.1
-rwxr-xr-x. 1 root root  605384 Nov 11 11:58 /usr/local/lib64/libfprint-2-tod.so.1

Now journalctl -u fprintd shows that it has found the device with version 12. But it fails with a dbus error:

failed to claim device: GDBus.Error:net.reactivated.Fprint.Error.PermissionDenied: Not Authorized: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: Action net.reactivated.fprint.device.enroll is not registered

Just reboot and voilà fprintd-enroll now work.

If you use the stock fprintd package from Fedora, then you get another type of error (that's why it's important te rebuild and install it from sources)

Error: 0xb from cv_get_ush_ver()
In cvif_IsUshThere(), cv_get_ush_ver() status: (0xb)
...
Could NOT detect USH.
UpgradeError. Check Firmware Files or CID used or Hardware etc. Error: 0x1c
Ignoring device due to initialization error: An unspecified error occurred!

Thanks all for your help.

EDIT: I can register a fingerprint but fprintd-verify seem to hang:

$ fprintd-verify 
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
 - #0: right-index-finger
Verify started!
Verifying: right-index-finger

At that stage the daemon has output this:

Nov 11 12:53:00 dell systemd[1]: Starting Fingerprint Authentication Daemon...
Nov 11 12:53:00 dell fprintd[2145]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x0)
Nov 11 12:53:00 dell fprintd[2145]: Control Vault getting chip type
Nov 11 12:53:00 dell fprintd[2145]: Citadel A0 CID7 Chip Found....
Nov 11 12:53:00 dell fprintd[2145]: Current AAI Version = 5.8.12.0
Nov 11 12:53:00 dell fprintd[2145]: Current SBI Version = 122
Nov 11 12:53:00 dell fprintd[2145]: AAI version available for upgrade = 5.8.12.0
Nov 11 12:53:00 dell fprintd[2145]: SBI version available for upgrade = 122
Nov 11 12:53:00 dell fprintd[2145]: AAI version matches - it is up do date
Nov 11 12:53:00 dell fprintd[2145]: SBI version matches - it is up do date
Nov 11 12:53:00 dell fprintd[2145]: Citadel A0 CID7 Chip Found....
Nov 11 12:53:00 dell fprintd[2145]: Sensor type  : 12 Sensor firmware version on device: 3088084-109-0-3473 length: 18
Nov 11 12:53:00 dell fprintd[2145]: Sensor-firmware file signature verification is valid
Nov 11 12:53:00 dell fprintd[2145]: Sensor Version length: 16
Nov 11 12:53:00 dell fprintd[2145]: Sensor Version: 3031663-2-0-3545
Nov 11 12:53:00 dell fprintd[2145]: cv_check_sensor_firmware_upgradable: FALSE
Nov 11 12:53:00 dell fprintd[2145]: cv_check_sensor_firmware_upgradable: Skipping
Nov 11 12:53:00 dell fprintd[2145]: Sensor Version length: 18
Nov 11 12:53:00 dell fprintd[2145]: Sensor Version: 3088084-109-0-3473
Nov 11 12:53:00 dell fprintd[2145]: cv_check_sensor_firmware_upgradable: FALSE
Nov 11 12:53:00 dell fprintd[2145]: cv_check_sensor_firmware_upgradable: Skipping
Nov 11 12:53:00 dell fprintd[2145]: cv_check_sensor_firmware_upgradable: Skipping
Nov 11 12:53:00 dell fprintd[2145]: Sensor Version length: 16
Nov 11 12:53:00 dell fprintd[2145]: Sensor Version: 3031663-2-0-3528
Nov 11 12:53:00 dell fprintd[2145]: cv_check_sensor_firmware_upgradable: FALSE
Nov 11 12:53:00 dell fprintd[2145]: Couldn't find UPDATABLE sensor-firmware for this sensor
Nov 11 12:53:00 dell fprintd[2145]: Couldn't get UPDATABLE firmware image data for sensor
Nov 11 12:53:00 dell systemd[1]: Started Fingerprint Authentication Daemon.

Pressing the sensor doesn't do much at this point.

After a few minutes I Ctrl+C to terminate fprint-verify and then the daemon outputs this:

Nov 11 12:59:51 dell fprintd[2145]: Capture Initiated, Please place your finger now on the sensor now
Nov 11 12:59:51 dell fprintd[2145]: The interrupt processed data 3
Nov 11 12:59:51 dell systemd[1]: fprintd.service: Deactivated successfully.

@stonedbear
Copy link

stonedbear commented Nov 26, 2021

0a5c:5834

Can confirm that none of the approaches work for 0a5c:5834 (dell e7470). I noticed that in the repo in the udev rules it doesnt even list 5834:

SUBSYSTEM=="usb", ATTRS{idVendor}=="0a5c", ATTRS{idProduct}=="5842", ATTRS{dev}=="*", TEST=="power/contr> SUBSYSTEM=="usb", ATTRS{idVendor}=="0a5c", ATTRS{idProduct}=="5842", ENV{LIBFPRINT_DRIVER}="Broadcom Sen> SUBSYSTEM=="usb", ATTRS{idVendor}=="0a5c", ATTRS{idProduct}=="5843", ATTRS{dev}=="*", TEST=="power/contr> SUBSYSTEM=="usb", ATTRS{idVendor}=="0a5c", ATTRS{idProduct}=="5843", ENV{LIBFPRINT_DRIVER}="Broadcom Sen> SUBSYSTEM=="usb", ATTRS{idVendor}=="0a5c", ATTRS{idProduct}=="5844", ATTRS{dev}=="*", TEST=="power/contr> SUBSYSTEM=="usb", ATTRS{idVendor}=="0a5c", ATTRS{idProduct}=="5844", ENV{LIBFPRINT_DRIVER}="Broadcom Sen> SUBSYSTEM=="usb", ATTRS{idVendor}=="0a5c", ATTRS{idProduct}=="5845", ATTRS{dev}=="*", TEST=="power/contr> SUBSYSTEM=="usb", ATTRS{idVendor}=="0a5c", ATTRS{idProduct}=="5845", ENV{LIBFPRINT_DRIVER}="Broadcom Sen>

Adding a line for 5834 does nothing.

Any ideas?

@hwti
Copy link

hwti commented Jan 3, 2022

EDIT: I can register a fingerprint but fprintd-verify seem to hang:

$ fprintd-verify 
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
 - #0: right-index-finger
Verify started!
Verifying: right-index-finger

In my case, fprintd-verify only prints the Verify started! message when I press the fingerprint reader, which is wrong.

pam-fprintd on Fedora 35 has the same issue : a sudo doesn't print Place your finger on the fingerprint reader until I press the sensor, and I get Unexpected VerifyResult 'verify-match' in the system logs (the VerifyStatus signal is sent before the VerifyStart completes, which isn't valid).

It seems to be a bug in the closed-source libfprint-2-tod1-broadcom, which blocks on synchronous USB transfers in its verify method.
But using fp_device_identify (which is asynchronous in the library), which is used when asked to verify "any" finger, works.

Ubuntu 20.04 doesn't have https://gitlab.freedesktop.org/libfprint/fprintd/-/commit/fc65055279, so fprintd-verify -f any and pam-fprintd always use fp_device_identify, so they work.

Fedora 35 has the commit, so it only works when at least two fingers are enrolled.

~ fprintd-verify -f any                      
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
 - #0: right-index-finger
 - #1: left-index-finger
Verify started!
Verifying: any
Verify result: verify-match (done)

It seems to make pam-fprintd work on Fedora.

@hwti
Copy link

hwti commented Feb 10, 2022

Also, keeping fprintd running by adding --no-timeout to its command line seems to avoid the fingerprint controller not responding after a few days of use.
By default it only starts when needed, and exits after some time, which maybe leaves the controller in a bad state sometimes, or triggers a memory leak in the firmware due to lots of init/shutdown.

For this I created /etc/systemd/system/fprintd.service.d/override.conf :

[Service]
ExecStart=
ExecStart=/usr/libexec/fprintd --no-timeout

@giannello
Copy link

Here's a quick hack for Debian Testing.

https://gist.github.com/giannello/367b868618950e5687ef344d82d1e204

On the first usage, the closed-source library will upload a firmware to the fingerprint reader. This will take a few minutes (check system logs for progress). If after a few minutes the reader still doesn't work, reboot.

With this, the fingerprint reader will happily start working in Gnome.
If you also want fingerprint support in your terminal, run sudo pam-auth-update and enable "Fingerprint authentication".

Fingerprints can be enrolled either via fprintd-enroll or through Gnome's Users admin panel. Verify them via cli using fprintd-verify -f any - anything else will hang, due to the bug mentioned above.

In case of a fprintd/libfprint update, just re-run the script.

@xhertan
Copy link

xhertan commented May 8, 2022

Ubuntu 22.04 and the script, the fingerprint is detected but disappears after a couple of minutes for 0a5c:5834 (dell e7470).

@prafulla-git
Copy link

Followed these steps and the reader works for maybe 30 seconds, but then fprintd restarts itself and goes through the update process again. Rebooted several times. It's like it's stuck in an update loop. If I switch back to the old firmware it's fine (except the reader goes offline after a day or so, which is what I'm trying to fix).
I'm assuming you didn't encounter any such issue? I'm on a Dell Latitude 5430 with Pop!_OS 22.04 (Ubuntu-based).

What do you have in the logs ? Maybe the update has an issue. Which libfprint-2-tod1-broadcom package do you have ?
As you can see on https://git.launchpad.net/~oem-solutions-engineers/libfprint-2-tod1-broadcom/+git/libfprint-2-tod1-broadcom/log/?h=jammy, there are several versions which haven't been pushed to the repositories :

  • 5.8.012.0-0ubuntu1~22.04.01~oem1, with maybe firmware 5.11.002.0 for CID1 (pre-production) chips, but firmware 5.9.013.0 for CID7 (production), so probably a firmware update loop with the provided bcm_cv_current_version.txt (due to the version mismatch)
  • 5.12.303-0ubuntu1~22.04.01~oem2, with 5.12.004.0 CID1 firmware, but still 5.9.013.0 for CID7 (firmware update loop)
  • 5.12.018-0ubuntu1~22.04.01, with 5.12.018.0 for all chips

So there shouldn't be any need to extract the Windows firmware now, the newer 5.12.018 library and firmwares should be better (but you would have to either build the deb yourself, or update the files yourself).

Any hope that any of the updates will work with 22.10? I am fairly sure that I will only be installing LTS after this, lol.

5.12 release: http://dell.archive.canonical.com/updates/pool/public/libf/libfprint-2-tod1-broadcom/

@prafulla-git
Copy link

prafulla-git commented Nov 2, 2023 via email

@bentech4u
Copy link

HI

i am on fedora 39 and installed packages through dnf,(from the above repos)

after restart fingerprint enroll is showing under user management and when i try to enroll, nothing is happening,

even i tried from command like and found below:

# fprintd-enroll ben
Using device /net/reactivated/Fprint/Device/0
Enrolling right-index-finger finger.
Enroll result: enroll-stage-passed
Enroll result: enroll-unknown-error

device:
Bus 003 Device 004: ID 0a5c:5843 Broadcom Corp. [unknown]

can anyone help me to achieve fingerprint login?

@hwti
Copy link

hwti commented Nov 8, 2023

Enroll result: enroll-unknown-error

Do you get the error when touching the sensor for the second time ? There should be 10 stages, so at least 10 different captures of the same fingerprint.

What do you have in fprind logs (journalctl /usr/libexec/fprintd) ?

@bentech4u
Copy link

HI,

Thanks for the update, i was not aware that it needs to take 10 scans, after i did that, it is enrolled,

$ fprintd-list ben
found 1 devices
Device at /net/reactivated/Fprint/Device/0
Using device /net/reactivated/Fprint/Device/0
Fingerprints for user ben on Broadcom Sensors (press):
- #0: right-index-finger

@prafulla-git
Copy link

prafulla-git commented Nov 9, 2023 via email

@bagnaram
Copy link

bagnaram commented Nov 9, 2023

Hi @bentech4u I tried the same procedure on F39 with the above repo but I see: What did you do for 5843 to get the correct firmware files? Do I need to extract from the windows installer?

Nov 09 10:23:05 fedora systemd[1]: fprintd.service: Deactivated successfully.
Nov 09 10:22:35 fedora systemd[1]: Started fprintd.service - Fingerprint Authentication Daemon.
Nov 09 10:22:35 fedora fprintd[101116]: Ignoring device due to initialization error: An unspecified error occurred!
Nov 09 10:22:35 fedora fprintd[101116]:                 FwUpgradeError. Check Firmware Files or CID used or Hardware etc. Error: 0x1c
Nov 09 10:22:35 fedora fprintd[101116]: Could NOT detect USH.
Nov 09 10:22:34 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:33 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:32 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:31 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:30 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:30 fedora fprintd[101116]: Error: 0x100002 from cv_get_ush_ver()
Nov 09 10:22:30 fedora systemd[1]: Starting fprintd.service - Fingerprint Authentication Daemon...

[fedora@fedora]~% rpm -qa | grep fprint
fprintd-1.94.2-8.fc39.x86_64
libfprint-tod-1.94.5+git20221202+tod1-1.fc37.x86_64
libfprint-tod-broadcom-5.12.018-1.fc37.x86_64

@prafulla-git
Copy link

prafulla-git commented Nov 10, 2023 via email

@hackerb9
Copy link

Hi, I work for broadcom and we support 5843 on linux and we dont have any plans to support 5834 on linux. Prafulla kota

Thank you for letting us know. Would Broadcom be willing to release its internal documentation for the 5834 so the Linux community has a chance to write its own driver? Or does the 5834 rely on such information being kept secret to remain secure?

@prafulla-git
Copy link

prafulla-git commented Nov 13, 2023 via email

@hackerb9
Copy link

Hi, Broadcom company decided to keep information secret about secure fingerprint FIPS compliant chip, if you need support for this legacy chip, DELL can be asked and they will prioritise based on their business needs. Thanks, Prafulla

Thank you, that is again very informative!

My business is not looking for further support with this legacy device. Linux drivers never came, so we wrote it off as a loss long ago. It was yet another reminder to avoid relying on any manufacturer for drivers.

I hope Broadcom executives will someday see that treating the programming information for their chips as proprietary trade secrets dramatically reduces Broadcom's value to businesses.

Thank you again for doing all you can and keeping us informed, Prafulla.

@maurerle
Copy link

maurerle commented Sep 26, 2024

Hi, I have a Dell Latitude 5511 with a Broadcom 0a5c:5834 fingerprint sensor.
On the Ubuntu 24.04.1LTS live iso, I got it working in the following way:
I installed the latest version of:
http://dell.archive.canonical.com/updates/pool/public/libf/libfprint-2-tod1-goodix/
and the 22.04 version of:
http://dell.archive.canonical.com/updates/pool/public/libf/libfprint-2-tod1-broadcom/

This configured the driver, did a firmware upgrade and afterwards, the device did work using fprintd-enroll or through the gnome user settings.

However, I could not get it working on Debian 12 by installing the dependency:
http://archive.ubuntu.com/ubuntu/pool/main/libf/libfprint/libfprint-2-tod1_1.94.3+tod1-0ubuntu2~22.04.08_amd64.deb
(see also)
and then the two packages.

I'll try the above gist later, but I doubt that it changes things

@ElHyperion
Copy link

@maurerle Glad to hear at least someone got it working, I only wish they provided Arch drivers too and not just Ubuntu

@maurerle
Copy link

maurerle commented Oct 2, 2024

In lsusb i have the following device Bus 001 Device 003: ID 0a5c:5843 Broadcom Corp. 58200.
I got it working for debian stable as well as on debian trixie

Debian 12 - bookworm - stable

I did some further things to get it working on Debian 12 bookworm. In total, I did:

  1. apt install libpam-fprintd
  2. apt install ./libfprint-2-tod1_1.94.3+tod1-0ubuntu2~22.04.08_amd64.deb
  3. apt install ./libfprint-2-tod1-broadcom_5.12.018-0ubuntu1~22.04.01_amd64.deb
  4. execute setup.sh from here https://gist.github.com/giannello/367b868618950e5687ef344d82d1e204
  5. apt purge *fprint*
  6. execute setup.sh from here https://gist.github.com/giannello/367b868618950e5687ef344d82d1e204
  7. apt install ./libfprint-2-tod1_1.94.3+tod1-0ubuntu2~22.04.08_amd64.deb
  8. apt install ./libfprint-2-tod1-broadcom_5.12.018-0ubuntu1~22.04.01_amd64.deb
  9. apt install libpam-fprintd
  10. fprintd-enroll does prompt correctly

Though I think that 4 to 7 is the only relevant part :)

I then wanted to try things and upgraded to debian 13 - trixie (which is not released yet).

Debian 13 - Trixie - Testing

The upgrade worked fine, but the fprint did not work anymore.
On top of the existing installation I did:

  1. apt purge *fprint*
  2. execute setup.sh from here https://gist.github.com/giannello/367b868618950e5687ef344d82d1e204 - which failed saying FPrint: invalid "closure" annotation: only valid on callback parameters
  3. so I adjusted the git branch as shown in this diff and executed it that way see here
  4. apt install ./libfprint-2-tod1_1.94.7+tod1-0ubuntu5~24.04.1_amd64.deb (this the noble/24.04/trixie version)
  5. apt install ./libfprint-2-tod1-broadcom_5.12.018-0ubuntu1~22.04.01_amd64.deb
  6. apt install libpam-fprintd
  7. fprintd-enroll does prompt correctly

That way, I got it working on Trixie as well.
Everything a little weird, but I am quite happy that I have it working (hopefully until debian 14 comes out :))

@dpeter99
Copy link

dpeter99 commented Oct 9, 2024

fedora users can use my repo: https://lfarkas.org/linux/packages/fedora/lfarkas.repo

rpm -e --nodeps libfprint
dnf install libfprint-tod libfprint-tod-broadcom

and reboot (sometimes the first reboot not working and needs 2 reboot:-)

our packages directly from: https://lfarkas.org/linux/packages/fedora/37/x86_64/

Hi @bentech4u I tried the same procedure on F39 with the above repo but I see: What did you do for 5843 to get the correct firmware files? Do I need to extract from the windows installer?

Nov 09 10:23:05 fedora systemd[1]: fprintd.service: Deactivated successfully.
Nov 09 10:22:35 fedora systemd[1]: Started fprintd.service - Fingerprint Authentication Daemon.
Nov 09 10:22:35 fedora fprintd[101116]: Ignoring device due to initialization error: An unspecified error occurred!
Nov 09 10:22:35 fedora fprintd[101116]:                 FwUpgradeError. Check Firmware Files or CID used or Hardware etc. Error: 0x1c
Nov 09 10:22:35 fedora fprintd[101116]: Could NOT detect USH.
Nov 09 10:22:34 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:33 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:32 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:31 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:30 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:30 fedora fprintd[101116]: Error: 0x100002 from cv_get_ush_ver()
Nov 09 10:22:30 fedora systemd[1]: Starting fprintd.service - Fingerprint Authentication Daemon...
[fedora@fedora]~% rpm -qa | grep fprint
fprintd-1.94.2-8.fc39.x86_64
libfprint-tod-1.94.5+git20221202+tod1-1.fc37.x86_64
libfprint-tod-broadcom-5.12.018-1.fc37.x86_64

I'm having the exact same issue, just on Fedora 40 Kinoite
I did manage to install the packages but I get the same Could NOT detect USH error
I had to remove the post-install script and re-package cause it was erroring out while ostree installing. But I ran the script multiple times and it had no output
I would greatly appreciate some instruction on how to get it working
My reader is a 0a5c:5843 as well.

@lfarkas
Copy link

lfarkas commented Oct 10, 2024

fedora users can use my repo: https://lfarkas.org/linux/packages/fedora/lfarkas.repo

rpm -e --nodeps libfprint
dnf install libfprint-tod libfprint-tod-broadcom

and reboot (sometimes the first reboot not working and needs 2 reboot:-)
our packages directly from: https://lfarkas.org/linux/packages/fedora/37/x86_64/

Hi @bentech4u I tried the same procedure on F39 with the above repo but I see: What did you do for 5843 to get the correct firmware files? Do I need to extract from the windows installer?

Nov 09 10:23:05 fedora systemd[1]: fprintd.service: Deactivated successfully.
Nov 09 10:22:35 fedora systemd[1]: Started fprintd.service - Fingerprint Authentication Daemon.
Nov 09 10:22:35 fedora fprintd[101116]: Ignoring device due to initialization error: An unspecified error occurred!
Nov 09 10:22:35 fedora fprintd[101116]:                 FwUpgradeError. Check Firmware Files or CID used or Hardware etc. Error: 0x1c
Nov 09 10:22:35 fedora fprintd[101116]: Could NOT detect USH.
Nov 09 10:22:34 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:33 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:32 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:31 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:30 fedora fprintd[101116]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Nov 09 10:22:30 fedora fprintd[101116]: Error: 0x100002 from cv_get_ush_ver()
Nov 09 10:22:30 fedora systemd[1]: Starting fprintd.service - Fingerprint Authentication Daemon...
[fedora@fedora]~% rpm -qa | grep fprint
fprintd-1.94.2-8.fc39.x86_64
libfprint-tod-1.94.5+git20221202+tod1-1.fc37.x86_64
libfprint-tod-broadcom-5.12.018-1.fc37.x86_64

I'm having the exact same issue, just on Fedora 40 Kinoite I did manage to install the packages but I get the same Could NOT detect USH error I had to remove the post-install script and re-package cause it was erroring out while ostree installing. But I ran the script multiple times and it had no output I would greatly appreciate some instruction on how to get it working My reader is a 0a5c:5843 as well.

rebuild everything and copy the fedora 40 rpms into the repo

@dpeter99
Copy link

rebuild everything and copy the fedora 40 rpms into the repo

I might be a bit more of a noob to know how to do that....
Do you mean rebuild from source files? What git repos should I try to get?

@lfarkas
Copy link

lfarkas commented Oct 10, 2024

rebuild everything and copy the fedora 40 rpms into the repo

I might be a bit more of a noob to know how to do that.... Do you mean rebuild from source files? What git repos should I try to get?

from the src.rpm

@dpeter99
Copy link

from the src.rpm

After reading around some about how rpm packages work I think I have successfully rebuilt the packages on my machine using these steps/commands:

sudo rpm-ostree install rpmrebuild rpmdevtools rpmlint doxygen dnf-plugins-core flatpak-builder gcc gcc-c++ gcovr git glib2-devel glibc-devel gobject-introspection-devel gnome-desktop-testing gtk-doc gtk3-devel libabigail libgusb-devel libgudev-devel libX11-devel libXv-devel meson nss-devel pixman-devel python3-cairo python3-gobject systemd umockdev uncrustify valgrind clang-analyzer diffutils

rpmbuild -D 'debug_package %{nil}' --rebuild ~/Documents/Projects/FPrint-work/original/libfprint-tod-1.94.5+git20221202+tod1-1.fc37.src.rpm

rpm -ivh ~/Documents/Projects/FPrint-work/original/libfprint-tod-broadcom-5.12.018-1.fc37.src.rpm

sed -i '/%post/c\#%post Removed for ostree' ~/rpmbuild/SPECS/libfprint-tod1-broadcom.spec
sed -i '/%{_bindir}/libfprint-tod-broadcom-update.py/c\#%{_bindir}/libfprint-tod-broadcom-update.py' ~/rpmbuild/SPECS/libfprint-tod1-broadcom.spec

rpmbuild -ba ~/rpmbuild/SPECS/libfprint-tod1-broadcom.spec

rpm-ostree install /home/dpeter99/rpmbuild/RPMS/x86_64/libfprint-tod-1.94.5+git20221202+tod1-1.fc40.x86_64.rpm /home/dpeter99/rpmbuild/RPMS/x86_64/libfprint-tod-broadcom-5.12.018-1.fc40.x86_64.rpm

# Restart here

/usr/bin/libfprint-tod-broadcom-update.py

I have downloaded the src rpms from https://www.lfarkas.org/linux/packages/fedora/40/SRPMS/
But I'm still getting the Could NOT detect USH. error in journalctl -b -t 'fprintd'

@lfarkas
Copy link

lfarkas commented Oct 12, 2024

updated to the latest version

@prafulla-git
Copy link

prafulla-git commented Oct 12, 2024 via email

@lfarkas
Copy link

lfarkas commented Oct 12, 2024

Hi, Broadcom is currently supporting ubuntu release for Fingerprint sensor module, if there is a business case req't for fedora release, Dell can be asked. Thanks, Prafulla kota Broadcom

where can we request it?
anyway what does the "business case req't" means in case of fedora? which free community os?:-)

@dpeter99
Copy link

updated to the latest version

Could you also make a version that has no post-script as that fails in ostree distros.

error: Running %post for libfprint-tod-broadcom: bwrap(/bin/sh): Child process killed by signal 1; run `journalctl -t 'rpm-ostree(libfprint-tod-broadcom.post)'` for more information
dpeter99@OPTA-01:/var/home/dpeter99$ journalctl -t 'rpm-ostree(libfprint-tod-broadcom.post)'
Oct 09 20:37:10 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[124214]: [INFO] Get an non timeout error.
Oct 09 20:37:10 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[124214]: Traceback (most recent call last):
Oct 09 20:37:10 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[124214]:   File "/usr/bin/libfprint-tod-broadcom-update.py", line 32, in <module>
Oct 09 20:37:10 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[124214]:     raise e
Oct 09 20:37:10 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[124214]:   File "/usr/bin/libfprint-tod-broadcom-update.py", line 22, in <module>
Oct 09 20:37:10 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[124214]:     manager = Gio.DBusProxy.new_for_bus_sync(Gio.BusType.SYSTEM,
Oct 09 20:37:10 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[124214]:               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 09 20:37:10 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[124214]: gi.repository.GLib.GError: g-io-error-quark: Could not connect: No such file or directory (1)
Oct 09 20:41:25 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[126269]: [INFO] Get an non timeout error.
Oct 09 20:41:25 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[126269]: Traceback (most recent call last):
Oct 09 20:41:25 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[126269]:   File "/usr/bin/libfprint-tod-broadcom-update.py", line 32, in <module>
Oct 09 20:41:25 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[126269]:     raise e
Oct 09 20:41:25 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[126269]:   File "/usr/bin/libfprint-tod-broadcom-update.py", line 22, in <module>
Oct 09 20:41:25 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[126269]:     manager = Gio.DBusProxy.new_for_bus_sync(Gio.BusType.SYSTEM,
Oct 09 20:41:25 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[126269]:               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 09 20:41:25 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[126269]: gi.repository.GLib.GError: g-io-error-quark: Could not connect: No such file or directory (1)
-- Boot 2a74dc8c135242f5b105071da086a8f0 --
Oct 10 13:44:27 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[33577]: [INFO] Get an non timeout error.
Oct 10 13:44:27 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[33577]: Traceback (most recent call last):
Oct 10 13:44:27 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[33577]:   File "/usr/bin/libfprint-tod-broadcom-update.py", line 32, in <module>
Oct 10 13:44:27 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[33577]:     raise e
Oct 10 13:44:27 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[33577]:   File "/usr/bin/libfprint-tod-broadcom-update.py", line 22, in <module>
Oct 10 13:44:27 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[33577]:     manager = Gio.DBusProxy.new_for_bus_sync(Gio.BusType.SYSTEM,
Oct 10 13:44:27 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[33577]:               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 10 13:44:27 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[33577]: gi.repository.GLib.GError: g-io-error-quark: Could not connect: No such file or directory (1)
-- Boot b1c949c7eeb545d6bba7a536d3ef7522 --
Oct 13 14:09:30 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[9815]: [INFO] Get an non timeout error.
Oct 13 14:09:30 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[9815]: Traceback (most recent call last):
Oct 13 14:09:30 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[9815]:   File "/usr/bin/libfprint-tod-broadcom-update.py", line 32, in <module>
Oct 13 14:09:30 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[9815]:     raise e
Oct 13 14:09:30 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[9815]:   File "/usr/bin/libfprint-tod-broadcom-update.py", line 22, in <module>
Oct 13 14:09:30 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[9815]:     manager = Gio.DBusProxy.new_for_bus_sync(Gio.BusType.SYSTEM,
Oct 13 14:09:30 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[9815]:               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 13 14:09:30 OPTA-01 rpm-ostree(libfprint-tod-broadcom.post)[9815]: gi.repository.GLib.GError: g-io-error-quark: Could not connect: No such file or directory (1)

@prafulla-git
Copy link

prafulla-git commented Oct 14, 2024 via email

@IceKaching
Copy link

IceKaching commented Oct 22, 2024

@lfarkas - thank you for all your Fedora efforts to date. I'm also having the same issue with Fedora 40 as @dpeter99

Oct 22 20:22:51 fedora fprintd[4503]: Error: 0x100002 from cv_get_ush_ver()
Oct 22 20:22:51 fedora fprintd[4503]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Oct 22 20:22:52 fedora fprintd[4503]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Oct 22 20:22:53 fedora fprintd[4503]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Oct 22 20:22:54 fedora fprintd[4503]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Oct 22 20:22:55 fedora fprintd[4503]: In cvif_IsUshThere(), cv_get_ush_ver() status: (0x100002)
Oct 22 20:22:56 fedora fprintd[4503]: Could NOT detect USH.
Oct 22 20:22:56 fedora fprintd[4503]:                 FwUpgradeError. Check Firmware Files or CID used or Hardware etc. Error: 0x1c
Oct 22 20:22:56 fedora fprintd[4503]: Ignoring device due to initialization error: An unspecified error occurred!

Do you have any other suggestions on what this might be?

@dzwdev
Copy link

dzwdev commented Nov 25, 2024

any update for this?
0a5c:5834

@jannispl
Copy link

jannispl commented Jan 9, 2025

I am also affected by the Could NOT detect USH. error on F41

@crazy-matt
Copy link

fedora users can use my repo: https://lfarkas.org/linux/packages/fedora/lfarkas.repo

rpm -e --nodeps libfprint
dnf install libfprint-tod libfprint-tod-broadcom

and reboot (sometimes the first reboot not working and needs 2 reboot:-)

our packages directly from: https://lfarkas.org/linux/packages/fedora/37/x86_64/

legend !

@Z-SHOCK-E
Copy link

Z-SHOCK-E commented Mar 14, 2025

Any update in the 0a5c:5834 ?

@Kaloyan501
Copy link

THIS REPO HAS NOT BEEN MAINTAINED IN 17 YEARS! POST YOUR ISSUES ON GITLAB! https://gitlab.freedesktop.org/libfprint/fprintd/-/issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests