Hello old friends. After all these years I recently FINALLY picked up a “Mo-lock NFC” to convert my motorcycle to an NFC ignition and broke out the ol’ proxmark3 but I’m having an issue and it’s been so long I can’t remember how to fix it.
Environment
I’m running up-to-date Pop_OS! (an Ubuntu derivative) and have a Proxmark3 Easy with the Iceman firmware I picked up here a while back. The firmware is likely quite old, but it DID work. The note I have with the device says it is on Iceman v4.9237-1270-g6547867 firmware, and I have no reason to think I’ve updated the firmware but forgot to update that note, so I am presuming that is accurate.
$ proxmark3 --version
Client: Iceman/master/v4.15864-149-gda3fff58f 2022-12-18 12:17:56 a3d49350c compiled with GCC 11.3.0 OS:Linux ARCH:x86_64
I have verified that all dependencies are installed, ModemManager is not installed.
The Issue
When I plug the device in, the OS does not assign it a tty device name. It detects the device, but then fails to validate the module:
$ cat /dev/tty
tty tty16 tty24 tty32 tty40 tty49 tty57 tty8 ttyS14 ttyS22 ttyS30
tty0 tty17 tty25 tty33 tty41 tty5 tty58 tty9 ttyS15 ttyS23 ttyS31
tty1 tty18 tty26 tty34 tty42 tty50 tty59 ttyprintk ttyS16 ttyS24 ttyS4
tty10 tty19 tty27 tty35 tty43 tty51 tty6 ttyS0 ttyS17 ttyS25 ttyS5
tty11 tty2 tty28 tty36 tty44 tty52 tty60 ttyS1 ttyS18 ttyS26 ttyS6
tty12 tty20 tty29 tty37 tty45 tty53 tty61 ttyS10 ttyS19 ttyS27 ttyS7
tty13 tty21 tty3 tty38 tty46 tty54 tty62 ttyS11 ttyS2 ttyS28 ttyS8
tty14 tty22 tty30 tty39 tty47 tty55 tty63 ttyS12 ttyS20 ttyS29 ttyS9
tty15 tty23 tty31 tty4 tty48 tty56 tty7 ttyS13 ttyS21 ttyS3
$ sudo dmesg | grep -i usb
<snip>
[1786364.313660] usb 1-1: new full-speed USB device number 121 using xhci_hcd
[1786366.205639] usb 1-1: new full-speed USB device number 122 using xhci_hcd
[1786366.356534] usb 1-1: New USB device found, idVendor=9ac4, idProduct=4b8f, bcdDevice= 1.00
[1786366.356540] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[1786366.356543] usb 1-1: Product: proxmark3
[1786366.356546] usb 1-1: Manufacturer: proxmark.org
[1786366.356548] usb 1-1: SerialNumber: iceman
But you’ll notice the missing ACM acknowledgement or device ID.
Expand that out a little and I see:
$ sudo dmesg | grep -i usb -b5
<snip>
250305:[1786364.313660] usb 1-1: new full-speed USB device number 121 using xhci_hcd
250383:[1786366.205639] usb 1-1: new full-speed USB device number 122 using xhci_hcd
250461:[1786366.356534] usb 1-1: New USB device found, idVendor=9ac4, idProduct=4b8f, bcdDevice= 1.00
250556:[1786366.356540] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
250639:[1786366.356543] usb 1-1: Product: proxmark3
250684:[1786366.356546] usb 1-1: Manufacturer: proxmark.org
250737:[1786366.356548] usb 1-1: SerialNumber: iceman
250784-[1786366.367882] BPF: type_id=86 bits_offset=32
250834-[1786366.367890] BPF:
250858-[1786366.367892] BPF: Invalid name
250893-[1786366.367894] BPF:
250916-[1786366.367896] failed to validate module [cdc_acm] BTF: -22
I’m not quite sure where to go from here. Suggestions?