FireWire fwkpfv doesn't show IOLog messages

I've used DB_KPRT to send IOLog, printf, and kprintf messages over serial port (115200 baud) to another Mac.

If I try to do the same with FireWire, it appears that only kprintf messages are sent. Is there a boot arg that can change that? If not then what would have to be changed in xnu? A global variable or function or something?

Is there another connection type such as USB or Ethernet that can send IOLog like the serial port can?

I think the solution is to make console_write (called by printf and IOLog indirectly) also call kprintf. It seems to work and it's much faster than serial port which one would expect from a 800Mbps connection compared to a 115.2Kbps.

One problem with this solution is that they both call os_log_with_args(OS_LOG_DEFAULT, OS_LOG_TYPE_DEFAULT, ...). That makes each message appear doubled in the output of dmesg. Maybe I should try making console_write call _doprnt(..., PE_kputc, ...) or make console_printbuf_putc call PE_kputc.

I don't see the IOLog messages in the output of log stream. Is that to be expected, or do I need special arguments for log stream to show IOLog messages? Are IOLog messages stored to a /var/log file? They are not in system.log.

Maybe the oslog documentation should mention some of this non-oslog stuff to show how they relate. I see a bunch of trees but can't see the forest.

FireWire fwkpfv doesn't show IOLog messages
 
 
Q