IRQ can't be enabled.
I copied a working revision here and will merge later modification bit by bit.