desertfish's post in Read disk directory in assembly was marked as the answer
Odd, secondary address 0 should and does work for me.
The code that I use essentially does OPEN 13,8,0,"$" - read byte from channel 13 and print it to the screen, until break/error/EOF - CLOSE #13.
(the printing is a bit more involved than that because it has to decode the block numbers)
Are you sure you SETNAM/ SETLFS correctly?