Firewire Debugging

From FBSD_tips

Jump to: navigation, search

Firewire is a much more capable replacement for serial ports, for three reasons: one, the port is usable for /alot/ of different things, it's bidirectional, and the host controller gives other machines access to the host's full memory address space.

[edit] Enabling dcons

For most features, you'll need dcons support. If you aren't running a RELENG_7 release, add the following to /boot/loader.conf:

dcons_load="YES"
dcons_crom_load="YES"

[edit] Console

On all machines:

in /etc/ttys, change this line:

dcons   "/usr/libexec/getty std.9600"   vt100   off secure

to:

dcons   "/usr/libexec/getty std.9600"   vt100   on secure

And if you'd like to be able to access the bootloader from firewire, use LOADER_FIREWIRE_SUPPORT="yes" when you buildworld. (note, this only works on releases that have a libfirewire)

Now, to access the remote machine:

fwcontrol

which will give you this:

node           EUI64          status
  0  00-11-06-00-00-00-0b-65      0
 -1  00-90-27-00-01-e2-4a-02      0

The first node is always your machine, following that are other nodes on the firewire bus.

To connect, type:

dconschat -t 00-90-27-00-01-e2-4a-02

where the 00-90 portion is the EUI64 of the target machine.

[edit] Attaching GDB to another machine

just add -G portnumber to dconschat like so:

dconschat -G 12345 -t 00-90-27-00-01-e2-4a-02

and connect to it with gdb:

gdb
(gdb) target remote 127.0.0.1:12345
Personal tools