Simplified filename
Used the full_cable sub rule
Improved comments
Added generic print routine & fixed whitespace
Simplified var name
Multiple changes:

Note the dependencies to consult/2
Fixed port list line endings
Added experimental (& commented-out) rule
Added handy show_ports/1 rule