libusb requires write access to USB device nodes
ERROR: Failed to access device. libusb error: -3
might suggest you might benefit from running Heimdall as root.
Does the phone charge fully and correctly? (It is important to have the battery charged to over 60% - but I doubt this is connected.)
One thing I might do next (just to test the usb module in the phone) is to try any other methods of communicating with the device via usb, like adb commands, maybe even simple attempts to copy from or paste to the SD card with a PC file manager?
To test yet another method, TWRP can be installed from a Windows PC using Odin, as here [HOWTO] Install /e/ on a Samsung smartphone with Windows easily