autodetection works 100% of the time for me, AFTER...
I too was having problems with autodetection in the FreeBSD driver,
but now it works perfectly (at least on a unidirectional port).
The trick was to output the following sequence to the control port
first. Yes, that's right, only the control port, no sending data
down, so hopefully we don't screw up people's printers:
then do the probe for transitions.