Understand kernel debugging over 1394 cable

Hi,

I’m trying to do kernel debugging in a PC using 1394 channel. Both host and target PCs are running Win XP. Currently i’m facing issue in successfully launching debug session.

Sometimes i can’t ping each PCs and it works sometimes only if i reboot or unplug cable in target or host PC.

I have one internet cable and Ethernet cable connected to my host and target PCs apart from 1394 cable.

In this scenario, will my 1394 kernel debugging be established successfully or do I need to remove any cable which may affect this 1394 cable debugging?

Basically I wanted to know how to get these two PCs connected in this environment?

It’s not clear whether you have ever successfully set up 1394 kernel debugging before, so please excuse me if I’m teaching you to suck eggs.

1394 debugging does not involve using Internet Protocol; the presence or absence of ethernet cables is not relevant, and ping won’t tell you anything useful.

It’s not even strictly necessary to have a fully installed 1394 device to make it work - I’ve worked with machines which display a yellow triangle in the device manager because Windows couldn’t find the right driver.

What is important, however, is that the hardware is enabled in the BIOS and that you’re using the right physical ports. This is emphasised in the “Troubleshooting Tips for Debugging over a 1394 Cable” section of https://msdn.microsoft.com/en-us/library/windows/hardware/ff556866.aspx .

If you’re not sure how to configure the target, https://msdn.microsoft.com/en-us/library/windows/hardware/ff542279.aspx describes the bootcfg parameters required to set it up (ignore the ‘Vista and later’ sections which use bcdedit).

In my experience, kernel debugging over 1394 is one of the more reliable methods (second only to COM port), so it’s worth persevering.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-581467-
xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: 27 April 2015 07:50
To: Windows System Software Devs Interest List
Subject: [ntdev] Understand kernel debugging over 1394 cable

Hi,

I’m trying to do kernel debugging in a PC using 1394 channel. Both host
and target PCs are running Win XP. Currently i’m facing issue in
successfully launching debug session.

Sometimes i can’t ping each PCs and it works sometimes only if i reboot
or unplug cable in target or host PC.

I have one internet cable and Ethernet cable connected to my host and
target PCs apart from 1394 cable.

In this scenario, will my 1394 kernel debugging be established
successfully or do I need to remove any cable which may affect this
1394 cable debugging?

Basically I wanted to know how to get these two PCs connected in this
environment?
This email message has been delivered safely and archived online by Mimecast.

For more information please visit http://www.mimecast.com

I haven’t worked in 1394 earlier.
I have the 1394 ports enabled in BIOS settings and connected them to the right ports.

I opened WinDbg in host computer and got installation failed msg so i updated the driver for 1394

debugged device in dev. mangr, with 1394kdbg.sys file that came up with debugging tools of WinDDK

7.1.1.
Referred below link for the driver file.
http://stackoverflow.com/questions/9163439/setup-kernel-debugging-on-host-pc-win-7-64-bit-

over-1394-firewire

Then I booted target PC in debug mode and noticed the 1394 host controller marked with yellow

exclamation.

Again i opened WinDbg and trying to connect. Got below lines.

’ Using 1394 for debugging
Checking 1394 debug driver version.
Opened \.\DBG1394_INSTANCE01
Timer Resolution set to 976 usec.
Waiting to reconnect… ’

When given a break cmd got these lines too.

’ Wrote 0 of 1 bytes of the breakin packet.
Failed to write breakin packet to target. Win32 error 0n2
WARNING: The HOST cannot communicate with the TARGET! ’

Sry for typos. Re-posting the content.
I haven’t worked in 1394 earlier.
I have the 1394 ports enabled in BIOS settings and connected their cable to the right ports.

I opened WinDbg in host computer and got driver installation failed msg so i updated the driver for 1394 debugger device in dev. mangr, with 1394kdbg.sys file that came up with debugging tools of WinDDK 7.1.1.
Referred below link for the driver file.
http://stackoverflow.com/questions/9163439/setup-kernel-debugging-on-host-pc-win-7-64-bit-over-1394-firewire

Then I booted target PC in debug mode and noticed the 1394 host controller marked with yellow exclamation.

Again i opened WinDbg and tried to connect. Got below lines.
‘Using 1394 for debugging
Checking 1394 debug driver version.
Opened \.\DBG1394_INSTANCE01
Timer Resolution set to 976 usec.
Waiting to reconnect…’

When given a break cmd got these lines too.
‘Wrote 0 of 1 bytes of the breakin packet.
Failed to write breakin packet to target. Win32 error 0n2
WARNING: The HOST cannot communicate with the TARGET!’

Comments inline.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-581491-
xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com

Sry for typos. Re-posting the content.
I haven’t worked in 1394 earlier.
I have the 1394 ports enabled in BIOS settings and connected their
cable to the right ports.

I opened WinDbg in host computer and got driver installation failed msg
so i updated the driver for 1394 debugger device in dev. mangr, with
1394kdbg.sys file that came up with debugging tools of WinDDK 7.1.1.
Referred below link for the driver file.
http://stackoverflow.com/questions/9163439/setup-kernel-debugging-on-
host-pc-win-7-64-bit-over-1394-firewire

Then I booted target PC in debug mode and noticed the 1394 host
controller marked with yellow exclamation.

Don’t worry about this on the target PC. It’s expected (the normal 1394 driver can’t complete its usual initialisation because the kernel debug server has exclusive access to the device).

If you’re still seeing a yellow exclamation on the debugging host machine, then that needs fixing.

Again i opened WinDbg and tried to connect. Got below lines.
‘Using 1394 for debugging
Checking 1394 debug driver version.
Opened \.\DBG1394_INSTANCE01
Timer Resolution set to 976 usec.
Waiting to reconnect…’

When given a break cmd got these lines too.
‘Wrote 0 of 1 bytes of the breakin packet.
Failed to write breakin packet to target. Win32 error 0n2
WARNING: The HOST cannot communicate with the TARGET!’

Did you read the ‘Troubleshooting’ page I referred to earlier? How many 1394 controllers do you have on your debug host? Also, what settings have you configured using bootcfg on the target, and are they consistent with the 1394 channel parameter you are using on the host?
This email message has been delivered safely and archived online by Mimecast.

For more information please visit http://www.mimecast.com

Yes, I referred.

I have only one 1394 controller each in both host and target PCs.

Boot loader file added with debug settings: /debug /debugport=1394 /channel=1

I see the yellow exclamation mark in 1394 host controller and 1394 LAN disappearance from network connection in target PC only after booting in debug mode. I guess these are to indicate that the port is no longer available for other configurations since they are blocked for kernel debugging.

Hmm, I’m running out of ideas to help.

This is clutching at straws, but if your target is not running Windows XP SP3 32-bit there may be extra things to do. Also, do you have another 1394 cable you can try, in case the one you are using is somehow faulty?

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-581494-
xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: 27 April 2015 13:27
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Understand kernel debugging over 1394 cable

Yes, I referred.

I have only one 1394 controller each in both host and target PCs.

Boot loader file added with debug settings: /debug /debugport=1394
/channel=1

I see the yellow exclamation mark in 1394 host controller and 1394 LAN
disappearance from network connection in target PC only after booting
in debug mode. I guess these are to indicate that the port is no longer
available for other configurations since they are blocked for kernel
debugging.
This email message has been delivered safely and archived online by Mimecast.

For more information please visit http://www.mimecast.com

I do not have any. Is there any way to check whether the cable is working fine?

Well, yes there is; however, the test equipment is not cheap and if you don’t
have a spare 1394 cable you probably don’t have the equipment. If you have a multimeter and steady hands
you could probably do some basic continuity tests, but using a known good cable is easier.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-581500-
xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: 27 April 2015 13:56
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Understand kernel debugging over 1394 cable

I do not have any. Is there any way to check whether the cable is
working fine?
This email message has been delivered safely and archived online by Mimecast.

For more information please visit http://www.mimecast.com

would any other methods help like using hyperterminal for serial communication verification?

I previously checked the cables using ping command by connecting through 1394 cables only. I could see them ping each other. Is this sufficient to test the cable working?

We are now planning to connect the host with one more PC (as target now) that has similar config to my PCs.
Try to connect them by connecting

  1. Network+1394 cables in host and 1394 only in new target.
  2. Network+1394 cables in host and 1394+Ethernet cable in new target.

Hope will get any good result by these tests.

xxxxx@gmail.com wrote:

I previously checked the cables using ping command by connecting through 1394 cables only. I could see them ping each other. Is this sufficient to test the cable working?

Yes. (This option is only available through XP; Microsoft removed the
automatic 1394 network connection after that.)

Remember that not every 1394 adapter supports kernel debugging. Do you
know what brand/model of 1394 host controller you have in your debug target?


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

I have LSI FW3227 controller in both target and host PCs.

xxxxx@gmail.com wrote:

I have LSI FW3227 controller in both target and host PCs.

Not sure what to tell you. I have a cheap PNY board using an LSI FW323
controller that works fine. My first suggestion is for you to hop out
to an electronics store and try a different one. If that works, then
you have an answer. If it doesn’t, then there are other issues.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.