USB 2.0 debug cable for kernel debugging

I apologize if this has been answered before but searching the lists for
USB brings up a large amount of data to sift through.

Starting with Vista it is supposed to work under certain constraints.
See Microsoft Learn: Build skills that open doors in your career for more
information.

Since USB 2.0 is as fast as 1394A and it is in everything I work on I've
considered buying the one cable that Microsoft has tested and giving it
a try.

But, before I do, I thought I would ask all of you folks if any of you
have tried it. So, anyone out there debugging with the USB gizmo that
Microsoft says will work?

It sells for about $US 80.

Regards,
Robert.

Robert Randall
Owner & Engineer
Proficient Solutions, Inc.
xxxxx@proficientsolutionsinc.com
desk +001 (763) 331-0577
fax: +001 (763) 390-1375

I can’t say that I’ve tried it. As you already now, the cable is
expensive (and used to be impossible to find, or at least I couldn’t),
and while it’s true that everything has usb ports, I believe you lose
all ports on the hub (terminology?) when used for kd; on some laptops,
that’s a problem. Also, this very well may not be correct, but as I
recall, you have to use a particular physical port on the system, that I
don’t recall how you identify; Doron said something about this, perhaps?

I’d say that it’s possible that you find anyone on this list who has
used usb extensively for kd, and if not, let just offer that 1394 was
not without its problems when it first appeared, so if I had to guess, I
would bet the same on usb, but hopefully there is someone here he can
speak with you experience.

Robert Randall wrote:

I apologize if this has been answered before but searching the lists for
USB brings up a large amount of data to sift through.

Starting with Vista it is supposed to work under certain constraints.
See http://msdn.microsoft.com/en-us/library/cc266326.aspx for more
information.

Since USB 2.0 is as fast as 1394A and it is in everything I work on I’ve
considered buying the one cable that Microsoft has tested and giving it
a try.

But, before I do, I thought I would ask all of you folks if any of you
have tried it. So, anyone out there debugging with the USB gizmo that
Microsoft says will work?

http://www.plxtech.com/products/NET2000/NET20DC/default.asp

It sells for about $US 80.

Regards,
Robert.

Yes, you need access to port 0 on the root hub. Many laptops have this port hardwired to an internal device making debugging impossible. while I have not used usb as a debug transport personally, I have not heard positive things about it from those who have.

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Martin O’Brien
Sent: Friday, January 16, 2009 2:20 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] USB 2.0 debug cable for kernel debugging

I can’t say that I’ve tried it. As you already now, the cable is
expensive (and used to be impossible to find, or at least I couldn’t),
and while it’s true that everything has usb ports, I believe you lose
all ports on the hub (terminology?) when used for kd; on some laptops,
that’s a problem. Also, this very well may not be correct, but as I
recall, you have to use a particular physical port on the system, that I
don’t recall how you identify; Doron said something about this, perhaps?

I’d say that it’s possible that you find anyone on this list who has
used usb extensively for kd, and if not, let just offer that 1394 was
not without its problems when it first appeared, so if I had to guess, I
would bet the same on usb, but hopefully there is someone here he can
speak with you experience.

Robert Randall wrote:

I apologize if this has been answered before but searching the lists for
USB brings up a large amount of data to sift through.

Starting with Vista it is supposed to work under certain constraints.
See http://msdn.microsoft.com/en-us/library/cc266326.aspx for more
information.

Since USB 2.0 is as fast as 1394A and it is in everything I work on I’ve
considered buying the one cable that Microsoft has tested and giving it
a try.

But, before I do, I thought I would ask all of you folks if any of you
have tried it. So, anyone out there debugging with the USB gizmo that
Microsoft says will work?

http://www.plxtech.com/products/NET2000/NET20DC/default.asp

It sells for about $US 80.

Regards,
Robert.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

1394 KD has special magical support for DMA'ing the target's memory over the wire for data transfers (i.e. for dump writing over kd). This support doesn't exist in the USB 2.0 debugging support (AFAIK).

I would never recommend USB 2.0 debugging over 1394, and certainly not on the pretense that it'll be better performing.

  • S

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Robert Randall
Sent: Friday, January 16, 2009 5:13 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] USB 2.0 debug cable for kernel debugging

I apologize if this has been answered before but searching the lists for
USB brings up a large amount of data to sift through.

Starting with Vista it is supposed to work under certain constraints.
See Microsoft Learn: Build skills that open doors in your career for more
information.

Since USB 2.0 is as fast as 1394A and it is in everything I work on I've
considered buying the one cable that Microsoft has tested and giving it
a try.

But, before I do, I thought I would ask all of you folks if any of you
have tried it. So, anyone out there debugging with the USB gizmo that
Microsoft says will work?

It sells for about $US 80.

Regards,
Robert.

Robert Randall
Owner & Engineer
Proficient Solutions, Inc.
xxxxx@proficientsolutionsinc.com
desk +001 (763) 331-0577
fax: +001 (763) 390-1375


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:

To unsubscribe, visit the List Server section of OSR Online at ListServer/Forum

It would probably be pretty easy, however, to find the few that have tried
that would be more than happy to sell you a “only used once, well, tried but
not really used” cable for cheap.

I have not *ever* found a system that the correct (or necessary) port was
pinned out and that had support for the whole USB Debug facility. Of course
my search has been limited to systems I have needed to debug. I won’t
pretend that I have done some sort of systematic and exhaustive search.
(Gosh, how useful a document would that have been from say, the team that is
supposed to have run a test plan against this facility).

Now I am sure there are some other systems out there in the wild other than
the two or three in the office of the person whom is responsible for the
USB/KD stub but the motherboard world sure seems to have ignored the whole
thing and especially the laptop MB vendors.

Too bad. The cable/adapter is such nice shade of blue. Maybe I should
cast it into an acrylic paper-weight etched with “nice try, maybe next time”
laser etched into it.

-dave

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Martin O’Brien
Sent: Friday, January 16, 2009 5:20 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] USB 2.0 debug cable for kernel debugging

I can’t say that I’ve tried it. As you already now, the cable is
expensive (and used to be impossible to find, or at least I couldn’t),
and while it’s true that everything has usb ports, I believe you lose
all ports on the hub (terminology?) when used for kd; on some laptops,
that’s a problem. Also, this very well may not be correct, but as I
recall, you have to use a particular physical port on the system, that I
don’t recall how you identify; Doron said something about this, perhaps?

I’d say that it’s possible that you find anyone on this list who has
used usb extensively for kd, and if not, let just offer that 1394 was
not without its problems when it first appeared, so if I had to guess, I
would bet the same on usb, but hopefully there is someone here he can
speak with you experience.

Martin O’Brien wrote:

I can’t say that I’ve tried it. As you already now, the cable is
expensive (and used to be impossible to find, or at least I couldn’t),
and while it’s true that everything has usb ports, I believe you lose
all ports on the hub (terminology?) when used for kd; on some laptops,
that’s a problem. Also, this very well may not be correct, but as I
recall, you have to use a particular physical port on the system, that I
don’t recall how you identify; Doron said something about this, perhaps?

maybe it was Dan Charlton , in this thread:

http://groups.google.com/group/microsoft.public.windbg/browse_thread/thread/39c894b318c97397/bcf697dfabff742b?lnk=gst&q=usb+port#bcf697dfabff742b

regards,
– pa

A 1394 controller is as least as easy to find and at least as cheap as that
USB cable, even if you’re buying a 1394 cardbus adapter for a laptop.

–
Jake Oshins
Hyper-V I/O Architect
Windows Kernel Team

This post implies no warranties and confers no rights.


“Robert Randall” wrote in message
news:xxxxx@ntdev…
>
> I apologize if this has been answered before but searching the lists for
> USB brings up a large amount of data to sift through.
>
> Starting with Vista it is supposed to work under certain constraints.
> See http://msdn.microsoft.com/en-us/library/cc266326.aspx for more
> information.
>
> Since USB 2.0 is as fast as 1394A and it is in everything I work on I’ve
> considered buying the one cable that Microsoft has tested and giving it
> a try.
>
> But, before I do, I thought I would ask all of you folks if any of you
> have tried it. So, anyone out there debugging with the USB gizmo that
> Microsoft says will work?
>
> http://www.plxtech.com/products/NET2000/NET20DC/default.asp
>
> It sells for about $US 80.
>
> Regards,
> Robert.
> –
>
> Robert Randall
> Owner & Engineer
> Proficient Solutions, Inc.
> xxxxx@proficientsolutionsinc.com
> desk +001 (763) 331-0577
> fax: +001 (763) 390-1375
>
>

Jake,

How much effort does the debugger team put on USB debugging?

On most (if not all) ~!@#ing blade servers, there is no fricking way I can put a 1394 card on it. I can get a flaky serial port if I’m lucky. If USB debugging is stable enough, I’m more than happy to pay couple hundred bucks to save me from trouble. At least it will solve all vista+?debugging problems. Dang, I want my softice back, it’s much better than nothing.

–
Calvin Guan
Broadcom Corp.
Connecting Everything(r)

----- Original Message ----
From: Jake Oshins
To: Windows System Software Devs Interest List
Sent: Friday, January 16, 2009 5:46:24 PM
Subject: Re:[ntdev] USB 2.0 debug cable for kernel debugging

A 1394 controller is as least as easy to find and at least as cheap as that
USB cable, even if you’re buying a 1394 cardbus adapter for a laptop.

–
Jake Oshins
Hyper-V I/O Architect
Windows Kernel Team

This post implies no warranties and confers no rights.

--------------------------------------------

“Robert Randall” wrote in message
news:xxxxx@ntdev…
>
> I apologize if this has been answered before but searching the lists for
> USB brings up a large amount of data to sift through.
>
> Starting with Vista it is supposed to work under certain constraints.
> See http://msdn.microsoft.com/en-us/library/cc266326.aspx for more
> information.
>
> Since USB 2.0 is as fast as 1394A and it is in everything I work on I’ve
> considered buying the one cable that Microsoft has tested and giving it
> a try.
>
> But, before I do, I thought I would ask all of you folks if any of you
> have tried it.? So, anyone out there debugging with the USB gizmo that
> Microsoft says will work?
>
> http://www.plxtech.com/products/NET2000/NET20DC/default.asp
>
> It sells for about $US 80.
>
> Regards,
> Robert.
> –
>
> Robert Randall
> Owner & Engineer
> Proficient Solutions, Inc.
> xxxxx@proficientsolutionsinc.com
> desk +001 (763) 331-0577
> fax: +001 (763) 390-1375
>
>

—
NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

So true about SoftICE. I like windbg much better, but there are still a
few things that come up every now and then one of a few things come up
that are by any reasonable standard just something that should be done
with windbg, and sometimes not possible. Though this particular case is
not one that affects me, I still very much miss it when I have to
workaround certain anti-debugger/anti-drm/licensing issues (a la
symantec), need visibility in to the kd/dbg portion of the kernel, and
the ability to debug over ethernet was occasionally a godsend when it
prevented me from having to go to a client’s site; today, all it would
probably buy me is the ability to debug remotely with the need for
additional machines.

mm

Calvin Guan wrote:

Jake,

How much effort does the debugger team put on USB debugging?

On most (if not all) ~!@#ing blade servers, there is no fricking way I can put a 1394 card on it. I can get a flaky serial port if I’m lucky. If USB debugging is stable enough, I’m more than happy to pay couple hundred bucks to save me from trouble. At least it will solve all vista+ debugging problems. Dang, I want my softice back, it’s much better than nothing.

–
Calvin Guan
Broadcom Corp.
Connecting Everything(r)

----- Original Message ----
From: Jake Oshins
> To: Windows System Software Devs Interest List
> Sent: Friday, January 16, 2009 5:46:24 PM
> Subject: Re:[ntdev] USB 2.0 debug cable for kernel debugging
>
> A 1394 controller is as least as easy to find and at least as cheap as that
> USB cable, even if you’re buying a 1394 cardbus adapter for a laptop.
>

IIRC, from reverse engineering this stuff when I did the VMKD project, USB debugging will provide roughly the same experience as serial if it works. Despite USB2 being ostebsibly higher bandwidth than 1394a, 1394a will give you *way* better performance in bulk data transfer scenarios. This is because the 1394 KD client provides override logic to directly DMA target physical memory for physical reads, instead of sending the “read physical memory” packet. This is not there in USB2 debugging, if memory serves.

So, basically, you’re left with it *JUST* being a connector replacement for rs232 without any other gains.

The main problems that people have with USB2 debugging are:

  1. The hardcoded debugger port. This sucks majorly, IMO, and damn well near kills the ability to use USB2 debugging support at all. This is problematic for several reasons:
  • a) Many “built-in” devices, especially in the laptop space, like integrated Bluetooth or integrated smart card readers, tend to be very commonly internally connected to a USB bus. If “port 0” happens to be one of these internal ports (that might not necessarily even have the usual connector), then USB2 support is pretty much dead on arrival for that computer. This is highly unfortunate given the disappearance of serial ports from anything but docking stations (if even those) on most modern laptops. Even server systems are starting to come with USB2 ports inside the chassis (my Dell PowerEdge 2950 III does, for example, and it’s got Broadcom NICs. :slight_smile: ).
  • b) Most computers come with 4 or more USB2 ports nowadays, and playing “find the port 0” isn’t so fun.
  1. The funny adapter that you must buy for USB2 debugging that nobody seems to have (and if they do, it probably costs more than you think it ought to :slight_smile: ) is a bummer.

If 1) hadn’t come to pass starting just before USB2 debugging started to become supported, things might have been a bit more rosy with respect to the real world usage for it.

Now, if “port 0” is exposed, and you’ve got the funky adapter thingie, then you ought to be set, and I’d expect it to work. If it’s the only way to get the job done, then, well, it’s the proverbial life-saver. But I’d still prefer (and recommend) 1394 as the debugger transport of choice, if you can get it - which, as you’ve noted, sometimes you can’t.

? S

-----Original Message-----
From: Calvin Guan
Sent: Friday, January 16, 2009 20:18
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] USB 2.0 debug cable for kernel debugging

Jake,

How much effort does the debugger team put on USB debugging?

On most (if not all) ~!@#ing blade servers, there is no fricking way I can put a 1394 card on it. I can get a flaky serial port if I’m lucky. If USB debugging is stable enough, I’m more than happy to pay couple hundred bucks to save me from trouble. At least it will solve all vista+ debugging problems. Dang, I want my softice back, it’s much better than nothing.

–
Calvin Guan
Broadcom Corp.
Connecting Everything(r)

----- Original Message ----
From: Jake Oshins
To: Windows System Software Devs Interest List
Sent: Friday, January 16, 2009 5:46:24 PM
Subject: Re:[ntdev] USB 2.0 debug cable for kernel debugging

A 1394 controller is as least as easy to find and at least as cheap as that
USB cable, even if you’re buying a 1394 cardbus adapter for a laptop.

–
Jake Oshins
Hyper-V I/O Architect
Windows Kernel Team

This post implies no warranties and confers no rights.

--------------------------------------------

“Robert Randall” wrote in message
news:xxxxx@ntdev…
>
> I apologize if this has been answered before but searching the lists for
> USB brings up a large amount of data to sift through.
>
> Starting with Vista it is supposed to work under certain constraints.
> See http://msdn.microsoft.com/en-us/library/cc266326.aspx for more
> information.
>
> Since USB 2.0 is as fast as 1394A and it is in everything I work on I’ve
> considered buying the one cable that Microsoft has tested and giving it
> a try.
>
> But, before I do, I thought I would ask all of you folks if any of you
> have tried it. So, anyone out there debugging with the USB gizmo that
> Microsoft says will work?
>
> http://www.plxtech.com/products/NET2000/NET20DC/default.asp
>
> It sells for about $US 80.
>
> Regards,
> Robert.
> –
>
> Robert Randall
> Owner & Engineer
> Proficient Solutions, Inc.
> xxxxx@proficientsolutionsinc.com
> desk +001 (763) 331-0577
> fax: +001 (763) 390-1375
>
>

—
NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

—
NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

>because the 1394 KD client provides override logic to directly DMA target physical memory for

physical reads, instead of sending the “read physical memory” packet. This is not there in USB2
debugging, if memory serves.

IIRC this is not possible at all due to differences between OHCI1394 and USB HC hardware.

OHCI1394 really allows you to describe an aperture which will DMA the data between RAM and 1394 without the CPU help. USB controllers cannot do this.

–
Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

Just my $.02: I’ve been using the PLX USB debugging cable with Vista and Win7 WinDbg targets for a couple years. It has worked flawlessly for me on virtually all computers. Most newer computers (and I tend to deal with pre-release laptops from major OEMs) do in fact have the root hub’s first port exposed.

Hope it helps,

Ilya Faenson
Rockville, MD USA

Ilya,

That is encouraging to hear. I like Calvin (apparently) do not do much with
laptops these days but instead with high-density blade servers and such. It
has been rather frustrating to say the least to try and get a 1394 card into
one of these and/or use the serial port infrastructure in these systems for
KD work. In some very popular designs the serial port is multiplexed
through a management blade and so only a single node can use it at a time or
it is run through some hideously poor serial-over-tcp implementation and KD
just does not like it very much. If you have budget and a soldering iron,
sometimes you can pin-out a serial port manually. This platform category
would have benefitted from the HW vendors putting that root port out on the
front panel as one of the (commonly two or four) ports available. If it
was being built to my spec., I would have asked for a 1394 hub built into
the backplane and 1394 controllers on every MB :wink:

Cheers,
-dave

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@hotmail.com
Sent: Saturday, January 17, 2009 9:17 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] USB 2.0 debug cable for kernel debugging

Just my $.02: I’ve been using the PLX USB debugging cable with Vista and
Win7 WinDbg targets for a couple years. It has worked flawlessly for me on
virtually all computers. Most newer computers (and I tend to deal with
pre-release laptops from major OEMs) do in fact have the root hub’s first
port exposed.

Hope it helps,

Ilya Faenson
Rockville, MD USA


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Dave,

Unfortunatley most of the blade servers do not get the USB right.
Personally the one time I got it working on a system I found USB debugging
to poor, with multiple drops in connections and in general reliability
problems that did not make it worth the time.

–
Don Burn (MVP, Windows DDK)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

“David R. Cattley” wrote in message news:xxxxx@ntdev…
> Ilya,
>
> That is encouraging to hear. I like Calvin (apparently) do not do much
> with
> laptops these days but instead with high-density blade servers and such.
> It
> has been rather frustrating to say the least to try and get a 1394 card
> into
> one of these and/or use the serial port infrastructure in these systems
> for
> KD work. In some very popular designs the serial port is multiplexed
> through a management blade and so only a single node can use it at a time
> or
> it is run through some hideously poor serial-over-tcp implementation and
> KD
> just does not like it very much. If you have budget and a soldering
> iron,
> sometimes you can pin-out a serial port manually. This platform category
> would have benefitted from the HW vendors putting that root port out on
> the
> front panel as one of the (commonly two or four) ports available. If it
> was being built to my spec., I would have asked for a 1394 hub built into
> the backplane and 1394 controllers on every MB :wink:
>
> Cheers,
> -dave
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of
> xxxxx@hotmail.com
> Sent: Saturday, January 17, 2009 9:17 AM
> To: Windows System Software Devs Interest List
> Subject: RE:[ntdev] USB 2.0 debug cable for kernel debugging
>
> Just my $.02: I’ve been using the PLX USB debugging cable with Vista and
> Win7 WinDbg targets for a couple years. It has worked flawlessly for me
> on
> virtually all computers. Most newer computers (and I tend to deal with
> pre-release laptops from major OEMs) do in fact have the root hub’s first
> port exposed.
>
> Hope it helps,
>
> Ilya Faenson
> Rockville, MD USA
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>

> On most (if not all) ~!@#ing blade servers, there is no

fricking way I can put a 1394 card on it. I can get a flaky
serial port if I’m lucky. If USB debugging is stable enough,

What I’d like to see is for MSFT to document the windbg protocol, and
support a generic debug interface driver. For example, I work with Infinband
hardware, which has better RDMA that firewire, and there are Infiniband
mezzanine cards for some blade servers. I believe some Ethernet nic cards
support RDMA too (they support iWARP). If it were technically possible, the
IPMI management interfaces could have debugging support added. A BIG issue
has always been the kernel debug support was not extensible.

If I were Dell/HP/IBM, I perhaps ask Broadcom to enhance the firmware in
it’s TOE nic cards to support kernel debugging over Ethernet. This could
also allow you to have remote initiated crash dumps on a frozen server,
although care would need to be taken to assure it was secure.

Actually, the Singularity OS works with windbg and since the source is all
there assume the windbg protocol is publically available.

Some years ago there was an SMM based debugger, which implies BIOS vendors
could potentially build an SMM debug stub that talked over the onboard
Ethernet. This could potentially debug things like boot bios code, and early
phases of the OS loader. Hardware cost might be really low. If you could
cause entry to SMM mode via a timer (or specifc Ethernet packet), you might
have a very robust debugger.

It seems like there are multiple ways debugging support could be improved on
platforms.

Jan

There is actually a “pluggable” (for some definitions of “pluggable”) interface for KD transport modules that I investigated using for the VMKD project. However, winload seems to enforce a requirement that KD transport modules need to be signed by a Microsoft-issued cert >= for Vista.

What I ended up doing with VMKD was to hook kdcom (dirty, ugly), and from there, provide my own data transport mechanism. This is probably not something you want to do in production environments for obvious reasons, however, and it’s surely not a blessed thing going forward. :slight_smile:

Have you considered sending a mail to xxxxx@microsoft.com to see what they think about your request?

  • S

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Jan Bottorff
Sent: Saturday, January 17, 2009 2:06 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] USB 2.0 debug cable for kernel debugging

On most (if not all) ~!@#ing blade servers, there is no
fricking way I can put a 1394 card on it. I can get a flaky
serial port if I’m lucky. If USB debugging is stable enough,

What I’d like to see is for MSFT to document the windbg protocol, and
support a generic debug interface driver. For example, I work with Infinband
hardware, which has better RDMA that firewire, and there are Infiniband
mezzanine cards for some blade servers. I believe some Ethernet nic cards
support RDMA too (they support iWARP). If it were technically possible, the
IPMI management interfaces could have debugging support added. A BIG issue
has always been the kernel debug support was not extensible.

If I were Dell/HP/IBM, I perhaps ask Broadcom to enhance the firmware in
it’s TOE nic cards to support kernel debugging over Ethernet. This could
also allow you to have remote initiated crash dumps on a frozen server,
although care would need to be taken to assure it was secure.

Actually, the Singularity OS works with windbg and since the source is all
there assume the windbg protocol is publically available.

Some years ago there was an SMM based debugger, which implies BIOS vendors
could potentially build an SMM debug stub that talked over the onboard
Ethernet. This could potentially debug things like boot bios code, and early
phases of the OS loader. Hardware cost might be really low. If you could
cause entry to SMM mode via a timer (or specifc Ethernet packet), you might
have a very robust debugger.

It seems like there are multiple ways debugging support could be improved on
platforms.

Jan


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Allow me to chime in with one blade system vendor’s perspective (*).

Hewlett-Packard blades allow you to plug a dongle into the front of the blade, providing a direct physical connection for serial, USB, and video. The serial port works fine for kernel debugging. Unfortunately, the dongle doesn’t include USB port 0. There’s a reason for this. Corporate customers require a way to disable external USB ports. The way most (all?) USB controllers work, you can only disable “port N and above”. This means that internal devices have to be on the lowest numbered ports. I suspect the same issue exists on desktop/laptop systems intended for the corporate market.

1394 isn’t economically feasible. Only 0.001% of blade customers want a 1394 port. The NTDEV membership isn’t a large enough market :slight_smile:

HP blades have an onboard management processor, with implements a virtual serial port over TCP feature. We have a utility you run on the client system that connects to the management processor, logs in, starts the virtual serial port, and launches WinDbg. Performance is similar to 115,200 baud serial.

In a perfect world, Microsoft would get together with all the major system and NIC vendors and come up with a “KD direct to Ethernet” strategy. In that same perfect world, this new scheme would be implemented at no additional cost. It ain’t gonna happen. I can’t see any way to justify the expense.

–John

(*) #include <disclaimer.h> I’m speaking for myself, sharing my own observations and experiences, and not acting as a spokesperson for my employer.</disclaimer.h>

John,

Thanks for that explanation.

And of course, I should have made it clear my 1394 ‘for debugging’ HW
addition was a joke for exactly the economic reasons you point out :wink:

-Dave

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of McNamee, John
Sent: Tuesday, January 20, 2009 10:31 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] USB 2.0 debug cable for kernel debugging

Allow me to chime in with one blade system vendor’s perspective (*).

Hewlett-Packard blades allow you to plug a dongle into the front of the
blade, providing a direct physical connection for serial, USB, and video.
The serial port works fine for kernel debugging. Unfortunately, the dongle
doesn’t include USB port 0. There’s a reason for this. Corporate customers
require a way to disable external USB ports. The way most (all?) USB
controllers work, you can only disable “port N and above”. This means that
internal devices have to be on the lowest numbered ports. I suspect the
same issue exists on desktop/laptop systems intended for the corporate
market.

1394 isn’t economically feasible. Only 0.001% of blade customers want a
1394 port. The NTDEV membership isn’t a large enough market :slight_smile:

HP blades have an onboard management processor, with implements a virtual
serial port over TCP feature. We have a utility you run on the client
system that connects to the management processor, logs in, starts the
virtual serial port, and launches WinDbg. Performance is similar to 115,200
baud serial.

In a perfect world, Microsoft would get together with all the major system
and NIC vendors and come up with a “KD direct to Ethernet” strategy. In
that same perfect world, this new scheme would be implemented at no
additional cost. It ain’t gonna happen. I can’t see any way to justify the
expense.

–John

(*) #include <disclaimer.h> I’m speaking for myself, sharing my own
observations and experiences, and not acting as a spokesperson for my
employer.

—
NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer</disclaimer.h>

There are 1394 PCIe cards that one could plug to the blade (assuming it has a spare slot), but we could not get one working for debugging.

> There are 1394 PCIe cards that one could plug to the blade (assuming it has a spare slot), but we

could not get one working for debugging.

They are not OHCI-compatible maybe. So, you will need a PCIe->PCI riser and the PCI OHCI controller card on it.

–
Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com