I am trying to connect to a customer's DB via ODBC. The ODBC DSN was setup on the the Windows machine. I don't know the path to the DB or the DB name so I have to rely on the DSN.
From what I've seen in general this does not seem to be possible, but I know Pervasive ODBC allows it and seems like MSSQL also allows it.
Question is, does Firebird 2.5 allow this? If it does could you please help me with the connection string
I've set up a Firebird DB on a local windows machine, created an ODBC DSN (and tested the connection locally).
I then tested connections from unixODBC (isql) and python pyodbc and they all connect fine, but I have to specify DB location and name and credentials.
I need to connect to the remote (windows) Firebird ODBC DSN from python 3.6 pyodbc (linux)
What you want isn't possible*. An ODBC DSN exists only on the machine where it is defined. It is basically a connection configuration that is decoupled from your application, and your application references the configuration by a name.
You can't use a DSN remotely (if that were possible, that would be a pretty big security leak). You will need to define a DSN (or use a DSN-less connection string), on your specific machine to be able to use it from that machine.
Given you're using Python, consider using FDB or pyfirebirdsql instead of using pyODBC.

* Or at least, not possible without some middleware service on the remote machine that mediates between your application and the ODBC DSN on the remote machine.
Connect from python3 - pyodbc (linux) to a firebird 2.5 (windows) ODBC DSN on remote machine