Some back story on what I want to achieve in the end: I work in a data center, and pretty frequently we get racks of servers in that are configured in a way I don't want. What I want to do is go into BIOS and make a set of changes that are consistent across all the hosts. Unfortunately, though the changes necessary are consistent, boot times seem to vary more than simple timing can account for. I think I'm going to have to listen over serial and reply.

The issue here is that I'd like to do this over 10, 20, or more hosts at a go, and unless I start throwing in CPLDs or bit-banging on a phenomenal scale, most micros only have one or two built in serial ports. I would like to try to multiplex RS232 from all the hosts over one set of wires. It's really slow, 9600-baud VT100, so I'm not too worried over bandwidth.

If I could send one character at a time from each host down the pipe and demultiplex in software, that would be pretty straightforward. This is where the logistics get a bit squirrely. Do I do level shifting before or after multiplexing? Do I have to buffer enough bits for a character from each stream and sent a byte at a time, or can I demultiplex the bits in software? I was wondering if anyone has done anything similar, and how they went about it.

Once I get anything done of this I would love to make an open board design for any other reboot monkeys like myself. Not sure if other companies have a similar problem, but right now we're doing some inelegant work using gangs of Teensy 2s and even that is saving a lot of time. Thanks so much for any advice or assistance!