[LinuxBIOS] USB Host to Host Debug Dongle/Cable
smithbone at gmail.com
Sun Jul 23 04:15:02 CEST 2006
> yes, but ... depending on obsolete hardware for future debug strategy is
> not a good plan.
I've been looking over the spec sheets and I think the larger problem
is not the external hardware or even the USB stack.
We have a somewhat unique situation in that its a Host-to-Host
connection and we control both sides of the cable. At the bottom rung
USB is just a special packet of data with some preable and a checksum.
Nothing says we have to do things the "USB" way.
I see having the target send control packets with the serial bytes in
them. Are any of our debug prints greater than say 50 characters or
so? Max control packet is 64 bytes and both sides must support that
since they are hosts.
I see having the target just spit OUTs with the debug data in them.
The debug host computer would need to put the USB bridge into some
sort of raw mode where you would just read the packets and dump them
to the screen. Perhaps we could make some sort of software serial
device driver that could be opened by minicom or some other terminal
None of that really concerns me. Its fuzzy but I see a path.
What concerns me is a topic that Stefan already brought up. Talking
to the USB bridge on the target. AFAICT you have to have ram working
to use an [OUE]HCI controller. You set up the base address on a 4k
RAM boundary, then the frame counter, then stuff the data your want to
send in ram and hit the go bit.
How are we going to do that when RAM is not up?
Can CAR make that work? I don't know a lot about CAR but something
tells me the USB bridge can't fetch from inside the cache.
So even if USB can be made to fly I don't think it will serve our needs.
Stefan mentioned that a simple pci serial port adapter wouldn't really
work since you have to go through the serial bus to find it.
What about making a PCI card that ignored spec and always positively
decoded port 80 or 90 or what ever we picked. Then you could stick it
in and data would come out whenever outs to that port happened.
I like Bari's idea of a DIMM module that sat on the SMbus. Thats cool.
Getting the SMbus to work sometimes is a pain though.
If most new motherboards comming out now don't have serial ports on
them then how are the mfg's debugging the boards? JTAG? If so then I
think we better start learning how to do JTAG. Of course the mfgs may
drop the jtag interface on a production run.
Its a tough issue. But one we are going to have to solve.
Richard A. Smith
More information about the coreboot