Much work towards bug #8030.  There is much work left, but I wanted to do a checking now that I have the main structure in place.
This fixes #8033.  The drivers now know how many data channels they have.