Windbg teething issues

Guys,

I have an Athlon 64-bit host and a Dell P3 500Mhz Target, connected by both a serial and a 1394 cable. I can get Windbg to work fine over the serial, but I cannot get the host to connect to the target over 1394: I get that “Debugee not connected” message, and no matter what I do, it doesn’t budge. Now, the Windbg doc says that I should disable the 1394 Host Controller on the host side, but not the corresponding Network Adapter. Well… on both my Athlon machine and on my Toshiba Laptop, if I disable the 1394 Host Controller the 1394 Network Adapter is also disabled, actually, it disappears totally from the Device Manager list.

Would that be the cause of my problem, or am I barking up the wrong tree ? Tks,

Alberto.

----- Original Message -----
From: S. Drasnin
To: Windows System Software Devs Interest List
Sent: Friday, February 25, 2005 10:15 PM
Subject: Re: [ntdev] SMBUS

hi

The information below that I’m giving you is based on my experience on type of PC.

The SMBus is the bus that is used to interface with the battery. I’ve seen on the web that SMB refers to both the SMBus as well as SMBattery. I don’t know if this is true on all PCs, but Microsoft has a SMBattery driver that talks to the battery through the SMBus. Also, the SMBus is an I2C bus - serial.

Typically, to talk on the SMBus, you go through a special chip that has SMB interface registers. (How you access the registers is covered in the Mindshare book “PCI System Architecture” and probably in the PCI spec. I used I/O port operations when I did it.)

The special chip is a “South Bridge chip”, a chip that resides on the PCI bus, and interfaces to lots of devices (LAN, USB controllers, etc.) and buses (SMB, LPC, etc). The register interfaces are not exactly standard unfortunately – it varies a bit by manufacturer. For example, the Via South Bridge chip has a slightly difference register interface than the ALI South Bridge chip.

One problem with you getting on the SMBus is that you have to worry about other traffic on the bus and deal with collision detection. So, if you were trying to control a device on the SMBus and your system had a battery driver that also talked on the SMBus, you can run into problems.

In the SMBus registers on a South Bridge part, there is a semaphore bit that is used to gain access to the bus - unfortunately it’s not a true semaphore hardware bit – it’s a half-baked attempt at helping to provide sychronization. You can also check another bit, a busy bit, to see if somebody is using the bus. Handling collisions, by backing off for a random amount of time and then trying again, is one way to deal with things as well.

I’m not sure exactly why you choose a PCI board that had an SMBus interface - that info might help us make recommendations.

Sharon

----- Original Message -----
From: Mark Overby
To: Windows System Software Devs Interest List
Sent: Friday, February 25, 2005 9:12 AM
Subject: RE: [ntdev] SMBUS

SMBus can be handled through ACPI (there is a defined way of doing this
in ACPI 3.0 (it was there is previous versions as well)). However, it is
optional and many chipsets have their own drivers or mechanisms for
doing so. There is no “host controller” standard or specification for an
SMBus upper edge interface. (Certainly the SMBus specifications clearly
define what a host shall do on the physical interconnect)

-----Original Message-----
From: xxxxx@listsosr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Martin Zizka
Sent: Friday, February 25, 2005 3:44 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] SMBUS

Yes, I want to have another interface to the PCI card. It would be a
servicing interface, so I need that driver functional on different types
of chipsets.

So there is no generic SMBus driver? I thought that this is a function
of system bios to handle the SMBus and that this is a standardized
interface to the SMBus. I’ve found a mssmbios.sys installed on different
chipsets, isn’t that a driver that manages the smbus? I havent found any
information about this driver over the internet…

My advantage is that I do not have to support other systems than
windows2000 and windowsXP, because the controlling software does not run
under other systems. So if there would be a support for smbus on that
systems it would be enough for me.

Martin

-----Original Message-----
> From: xxxxx@listsosr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Mats PETERSSON
> Sent: Friday, February 25, 2005 12:10 PM
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] SMBUS
>
>
>
>
>
>
>
> There’s an SMBus driver for Linux out there somewhere.
>
> But essentially, you have to at least configure your driver
> individually for each chipset. The different chipsets are
> probably not dramatically different, but sufficiently that
> you can’t just write an entirely generic driver, you’ll at
> least have to determine which chipset you have and how to
> wiggle the lines around.
>
> What are you trying to achieve? Just a simpler interface to
> your PCI card, or something else?
>
> –
> Mats
>
> -------- Notice --------
> The information in this message is confidential and may be
> legally privileged. It is intended solely for the addressee.
> Access to this message by anyone else is unauthorized. If
> you are not the intended recipient, any disclosure, copying
> or distribution of the message, or any action taken by you in
> reliance on it, is prohibited and may be unlawful. If you
> have received this message in error, please delete it and
> contact the sender immediately. Thank you.
>
>
> xxxxx@lists.osr.com wrote on 02/25/2005 11:02:55 AM:
>
> > Hi everyone.
> >
> > I would like to use a SMBus on my PCI card. I have a
> processor on it
> > that is connected to the system SMBus.
> >
> > My question is - is it possible to create a driver that will be
> > functional on various chipsets without writing a driver for each of
> > it? Do you have an example of this driver? I’ve googled
> some time for
> > any information about SMBus and I haven’t found anything, only that
> > the SMBus is not well supported on Windows and that each
> chipset has
> > its own driver. The only one example that I’ve found (on smbus.org)
> > should enumerate the SMBus devices connected to SMBus, but
> it does not
> > find anything…
> >
> > Martin
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at http://www.
> > osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as:
> xxxxx@3dlabs.com To
> > unsubscribe send a blank email to xxxxx@listsosr.com
>
> > ForwardSourceID:NT0000DB06
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are
> currently subscribed to ntdev as: xxxxx@centrum.cz
> To unsubscribe send a blank email to xxxxx@listsosr.com
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@nvidia.com
To unsubscribe send a blank email to xxxxx@listsosr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@listsosr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

It’s been a while I tried to fool around with 1394, but for sure on the host it has to be disabled, then at the connection attempt time it would say something , dont recall exact words, but I think you might have to reboot the host and try if I could recall.

Make sure the channels are within the ranage and probably on the high end ( who is going to figure out what channels are already being used ).

Also there is an article on osr’s ntOutsider, that might help !

-pro
----- Original Message -----
From: Alberto Moreira
To: Windows System Software Devs Interest List
Sent: Saturday, March 05, 2005 6:26 AM
Subject: [ntdev] Windbg teething issues

Guys,

I have an Athlon 64-bit host and a Dell P3 500Mhz Target, connected by both a serial and a 1394 cable. I can get Windbg to work fine over the serial, but I cannot get the host to connect to the target over 1394: I get that “Debugee not connected” message, and no matter what I do, it doesn’t budge. Now, the Windbg doc says that I should disable the 1394 Host Controller on the host side, but not the corresponding Network Adapter. Well… on both my Athlon machine and on my Toshiba Laptop, if I disable the 1394 Host Controller the 1394 Network Adapter is also disabled, actually, it disappears totally from the Device Manager list.

Would that be the cause of my problem, or am I barking up the wrong tree ? Tks,

Alberto.

----- Original Message -----
From: S. Drasnin
To: Windows System Software Devs Interest List
Sent: Friday, February 25, 2005 10:15 PM
Subject: Re: [ntdev] SMBUS

hi

The information below that I’m giving you is based on my experience on type of PC.

The SMBus is the bus that is used to interface with the battery. I’ve seen on the web that SMB refers to both the SMBus as well as SMBattery. I don’t know if this is true on all PCs, but Microsoft has a SMBattery driver that talks to the battery through the SMBus. Also, the SMBus is an I2C bus - serial.

Typically, to talk on the SMBus, you go through a special chip that has SMB interface registers. (How you access the registers is covered in the Mindshare book “PCI System Architecture” and probably in the PCI spec. I used I/O port operations when I did it.)

The special chip is a “South Bridge chip”, a chip that resides on the PCI bus, and interfaces to lots of devices (LAN, USB controllers, etc.) and buses (SMB, LPC, etc). The register interfaces are not exactly standard unfortunately – it varies a bit by manufacturer. For example, the Via South Bridge chip has a slightly difference register interface than the ALI South Bridge chip.

One problem with you getting on the SMBus is that you have to worry about other traffic on the bus and deal with collision detection. So, if you were trying to control a device on the SMBus and your system had a battery driver that also talked on the SMBus, you can run into problems.

In the SMBus registers on a South Bridge part, there is a semaphore bit that is used to gain access to the bus - unfortunately it’s not a true semaphore hardware bit – it’s a half-baked attempt at helping to provide sychronization. You can also check another bit, a busy bit, to see if somebody is using the bus. Handling collisions, by backing off for a random amount of time and then trying again, is one way to deal with things as well.

I’m not sure exactly why you choose a PCI board that had an SMBus interface - that info might help us make recommendations.

Sharon

----- Original Message -----
From: Mark Overby
To: Windows System Software Devs Interest List
Sent: Friday, February 25, 2005 9:12 AM
Subject: RE: [ntdev] SMBUS

SMBus can be handled through ACPI (there is a defined way of doing this
in ACPI 3.0 (it was there is previous versions as well)). However, it is
optional and many chipsets have their own drivers or mechanisms for
doing so. There is no “host controller” standard or specification for an
SMBus upper edge interface. (Certainly the SMBus specifications clearly
define what a host shall do on the physical interconnect)

-----Original Message-----
From: xxxxx@listsosr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Martin Zizka
Sent: Friday, February 25, 2005 3:44 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] SMBUS

Yes, I want to have another interface to the PCI card. It would be a
servicing interface, so I need that driver functional on different types
of chipsets.

So there is no generic SMBus driver? I thought that this is a function
of system bios to handle the SMBus and that this is a standardized
interface to the SMBus. I’ve found a mssmbios.sys installed on different
chipsets, isn’t that a driver that manages the smbus? I havent found any
information about this driver over the internet…

My advantage is that I do not have to support other systems than
windows2000 and windowsXP, because the controlling software does not run
under other systems. So if there would be a support for smbus on that
systems it would be enough for me.

Martin

-----Original Message-----
> From: xxxxx@listsosr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Mats PETERSSON
> Sent: Friday, February 25, 2005 12:10 PM
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] SMBUS
>
>
>
>
>
>
>
> There’s an SMBus driver for Linux out there somewhere.
>
> But essentially, you have to at least configure your driver
> individually for each chipset. The different chipsets are
> probably not dramatically different, but sufficiently that
> you can’t just write an entirely generic driver, you’ll at
> least have to determine which chipset you have and how to
> wiggle the lines around.
>
> What are you trying to achieve? Just a simpler interface to
> your PCI card, or something else?
>
> –
> Mats
>
> -------- Notice --------
> The information in this message is confidential and may be
> legally privileged. It is intended solely for the addressee.
> Access to this message by anyone else is unauthorized. If
> you are not the intended recipient, any disclosure, copying
> or distribution of the message, or any action taken by you in
> reliance on it, is prohibited and may be unlawful. If you
> have received this message in error, please delete it and
> contact the sender immediately. Thank you.
>
>
> xxxxx@lists.osr.com wrote on 02/25/2005 11:02:55 AM:
>
> > Hi everyone.
> >
> > I would like to use a SMBus on my PCI card. I have a
> processor on it
> > that is connected to the system SMBus.
> >
> > My question is - is it possible to create a driver that will be
> > functional on various chipsets without writing a driver for each of
> > it? Do you have an example of this driver? I’ve googled
> some time for
> > any information about SMBus and I haven’t found anything, only that
> > the SMBus is not well supported on Windows and that each
> chipset has
> > its own driver. The only one example that I’ve found (on smbus.org)
> > should enumerate the SMBus devices connected to SMBus, but
> it does not
> > find anything…
> >
> > Martin
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at http://www.
> > osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as:
> xxxxx@3dlabs.com To
> > unsubscribe send a blank email to xxxxx@listsosr.com
>
> > ForwardSourceID:NT0000DB06
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are
> currently subscribed to ntdev as: xxxxx@centrum.cz
> To unsubscribe send a blank email to xxxxx@listsosr.com
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@nvidia.com
To unsubscribe send a blank email to xxxxx@listsosr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@listsosr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Also there is a recent blog on osronline.com, and as per that blog, turn the 1394 host controller off on the target as well.

-pro
----- Original Message -----
From: Prokash Sinha
To: Windows System Software Devs Interest List
Sent: Saturday, March 05, 2005 7:29 AM
Subject: Re: [ntdev] Windbg teething issues

It’s been a while I tried to fool around with 1394, but for sure on the host it has to be disabled, then at the connection attempt time it would say something , dont recall exact words, but I think you might have to reboot the host and try if I could recall.

Make sure the channels are within the ranage and probably on the high end ( who is going to figure out what channels are already being used ).

Also there is an article on osr’s ntOutsider, that might help !

-pro
----- Original Message -----
From: Alberto Moreira
To: Windows System Software Devs Interest List
Sent: Saturday, March 05, 2005 6:26 AM
Subject: [ntdev] Windbg teething issues

Guys,

I have an Athlon 64-bit host and a Dell P3 500Mhz Target, connected by both a serial and a 1394 cable. I can get Windbg to work fine over the serial, but I cannot get the host to connect to the target over 1394: I get that “Debugee not connected” message, and no matter what I do, it doesn’t budge. Now, the Windbg doc says that I should disable the 1394 Host Controller on the host side, but not the corresponding Network Adapter. Well… on both my Athlon machine and on my Toshiba Laptop, if I disable the 1394 Host Controller the 1394 Network Adapter is also disabled, actually, it disappears totally from the Device Manager list.

Would that be the cause of my problem, or am I barking up the wrong tree ? Tks,

Alberto.

----- Original Message -----
From: S. Drasnin
To: Windows System Software Devs Interest List
Sent: Friday, February 25, 2005 10:15 PM
Subject: Re: [ntdev] SMBUS

hi

The information below that I’m giving you is based on my experience on type of PC.

The SMBus is the bus that is used to interface with the battery. I’ve seen on the web that SMB refers to both the SMBus as well as SMBattery. I don’t know if this is true on all PCs, but Microsoft has a SMBattery driver that talks to the battery through the SMBus. Also, the SMBus is an I2C bus - serial.

Typically, to talk on the SMBus, you go through a special chip that has SMB interface registers. (How you access the registers is covered in the Mindshare book “PCI System Architecture” and probably in the PCI spec. I used I/O port operations when I did it.)

The special chip is a “South Bridge chip”, a chip that resides on the PCI bus, and interfaces to lots of devices (LAN, USB controllers, etc.) and buses (SMB, LPC, etc). The register interfaces are not exactly standard unfortunately – it varies a bit by manufacturer. For example, the Via South Bridge chip has a slightly difference register interface than the ALI South Bridge chip.

One problem with you getting on the SMBus is that you have to worry about other traffic on the bus and deal with collision detection. So, if you were trying to control a device on the SMBus and your system had a battery driver that also talked on the SMBus, you can run into problems.

In the SMBus registers on a South Bridge part, there is a semaphore bit that is used to gain access to the bus - unfortunately it’s not a true semaphore hardware bit – it’s a half-baked attempt at helping to provide sychronization. You can also check another bit, a busy bit, to see if somebody is using the bus. Handling collisions, by backing off for a random amount of time and then trying again, is one way to deal with things as well.

I’m not sure exactly why you choose a PCI board that had an SMBus interface - that info might help us make recommendations.

Sharon

----- Original Message -----
From: Mark Overby
To: Windows System Software Devs Interest List
Sent: Friday, February 25, 2005 9:12 AM
Subject: RE: [ntdev] SMBUS

SMBus can be handled through ACPI (there is a defined way of doing this
in ACPI 3.0 (it was there is previous versions as well)). However, it is
optional and many chipsets have their own drivers or mechanisms for
doing so. There is no “host controller” standard or specification for an
SMBus upper edge interface. (Certainly the SMBus specifications clearly
define what a host shall do on the physical interconnect)

-----Original Message-----
From: xxxxx@listsosr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Martin Zizka
Sent: Friday, February 25, 2005 3:44 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] SMBUS

Yes, I want to have another interface to the PCI card. It would be a
servicing interface, so I need that driver functional on different types
of chipsets.

So there is no generic SMBus driver? I thought that this is a function
of system bios to handle the SMBus and that this is a standardized
interface to the SMBus. I’ve found a mssmbios.sys installed on different
chipsets, isn’t that a driver that manages the smbus? I havent found any
information about this driver over the internet…

My advantage is that I do not have to support other systems than
windows2000 and windowsXP, because the controlling software does not run
under other systems. So if there would be a support for smbus on that
systems it would be enough for me.

Martin

-----Original Message-----
> From: xxxxx@listsosr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Mats PETERSSON
> Sent: Friday, February 25, 2005 12:10 PM
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] SMBUS
>
>
>
>
>
>
>
> There’s an SMBus driver for Linux out there somewhere.
>
> But essentially, you have to at least configure your driver
> individually for each chipset. The different chipsets are
> probably not dramatically different, but sufficiently that
> you can’t just write an entirely generic driver, you’ll at
> least have to determine which chipset you have and how to
> wiggle the lines around.
>
> What are you trying to achieve? Just a simpler interface to
> your PCI card, or something else?
>
> –
> Mats
>
> -------- Notice --------
> The information in this message is confidential and may be
> legally privileged. It is intended solely for the addressee.
> Access to this message by anyone else is unauthorized. If
> you are not the intended recipient, any disclosure, copying
> or distribution of the message, or any action taken by you in
> reliance on it, is prohibited and may be unlawful. If you
> have received this message in error, please delete it and
> contact the sender immediately. Thank you.
>
>
> xxxxx@lists.osr.com wrote on 02/25/2005 11:02:55 AM:
>
> > Hi everyone.
> >
> > I would like to use a SMBus on my PCI card. I have a
> processor on it
> > that is connected to the system SMBus.
> >
> > My question is - is it possible to create a driver that will be
> > functional on various chipsets without writing a driver for each of
> > it? Do you have an example of this driver? I’ve googled
> some time for
> > any information about SMBus and I haven’t found anything, only that
> > the SMBus is not well supported on Windows and that each
> chipset has
> > its own driver. The only one example that I’ve found (on smbus.org)
> > should enumerate the SMBus devices connected to SMBus, but
> it does not
> > find anything…
> >
> > Martin
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at http://www.
> > osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as:
> xxxxx@3dlabs.com To
> > unsubscribe send a blank email to xxxxx@listsosr.com
>
> > ForwardSourceID:NT0000DB06
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are
> currently subscribed to ntdev as: xxxxx@centrum.cz
> To unsubscribe send a blank email to xxxxx@listsosr.com
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@nvidia.com
To unsubscribe send a blank email to xxxxx@listsosr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@listsosr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

I tried that, it doesn’t make any difference! Maybe there’s something to do with the fact that my host is an Athlon ? Maybe I need the 64-bit Debugging package installed on it ?

Alberto.

----- Original Message -----
From: Prokash Sinha
To: Windows System Software Devs Interest List
Sent: Saturday, March 05, 2005 12:50 PM
Subject: Re: [ntdev] Windbg teething issues

Also there is a recent blog on osronline.com, and as per that blog, turn the 1394 host controller off on the target as well.

-pro
----- Original Message -----
From: Prokash Sinha
To: Windows System Software Devs Interest List
Sent: Saturday, March 05, 2005 7:29 AM
Subject: Re: [ntdev] Windbg teething issues

It’s been a while I tried to fool around with 1394, but for sure on the host it has to be disabled, then at the connection attempt time it would say something , dont recall exact words, but I think you might have to reboot the host and try if I could recall.

Make sure the channels are within the ranage and probably on the high end ( who is going to figure out what channels are already being used ).

Also there is an article on osr’s ntOutsider, that might help !

-pro
----- Original Message -----
From: Alberto Moreira
To: Windows System Software Devs Interest List
Sent: Saturday, March 05, 2005 6:26 AM
Subject: [ntdev] Windbg teething issues

Guys,

I have an Athlon 64-bit host and a Dell P3 500Mhz Target, connected by both a serial and a 1394 cable. I can get Windbg to work fine over the serial, but I cannot get the host to connect to the target over 1394: I get that “Debugee not connected” message, and no matter what I do, it doesn’t budge. Now, the Windbg doc says that I should disable the 1394 Host Controller on the host side, but not the corresponding Network Adapter. Well… on both my Athlon machine and on my Toshiba Laptop, if I disable the 1394 Host Controller the 1394 Network Adapter is also disabled, actually, it disappears totally from the Device Manager list.

Would that be the cause of my problem, or am I barking up the wrong tree ? Tks,

Alberto.

----- Original Message -----
From: S. Drasnin
To: Windows System Software Devs Interest List
Sent: Friday, February 25, 2005 10:15 PM
Subject: Re: [ntdev] SMBUS

hi

The information below that I’m giving you is based on my experience on type of PC.

The SMBus is the bus that is used to interface with the battery. I’ve seen on the web that SMB refers to both the SMBus as well as SMBattery. I don’t know if this is true on all PCs, but Microsoft has a SMBattery driver that talks to the battery through the SMBus. Also, the SMBus is an I2C bus - serial.

Typically, to talk on the SMBus, you go through a special chip that has SMB interface registers. (How you access the registers is covered in the Mindshare book “PCI System Architecture” and probably in the PCI spec. I used I/O port operations when I did it.)

The special chip is a “South Bridge chip”, a chip that resides on the PCI bus, and interfaces to lots of devices (LAN, USB controllers, etc.) and buses (SMB, LPC, etc). The register interfaces are not exactly standard unfortunately – it varies a bit by manufacturer. For example, the Via South Bridge chip has a slightly difference register interface than the ALI South Bridge chip.

One problem with you getting on the SMBus is that you have to worry about other traffic on the bus and deal with collision detection. So, if you were trying to control a device on the SMBus and your system had a battery driver that also talked on the SMBus, you can run into problems.

In the SMBus registers on a South Bridge part, there is a semaphore bit that is used to gain access to the bus - unfortunately it’s not a true semaphore hardware bit – it’s a half-baked attempt at helping to provide sychronization. You can also check another bit, a busy bit, to see if somebody is using the bus. Handling collisions, by backing off for a random amount of time and then trying again, is one way to deal with things as well.

I’m not sure exactly why you choose a PCI board that had an SMBus interface - that info might help us make recommendations.

Sharon

----- Original Message -----
From: Mark Overby
To: Windows System Software Devs Interest List
Sent: Friday, February 25, 2005 9:12 AM
Subject: RE: [ntdev] SMBUS

SMBus can be handled through ACPI (there is a defined way of doing this
in ACPI 3.0 (it was there is previous versions as well)). However, it is
optional and many chipsets have their own drivers or mechanisms for
doing so. There is no “host controller” standard or specification for an
SMBus upper edge interface. (Certainly the SMBus specifications clearly
define what a host shall do on the physical interconnect)

-----Original Message-----
From: xxxxx@listsosr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Martin Zizka
Sent: Friday, February 25, 2005 3:44 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] SMBUS

Yes, I want to have another interface to the PCI card. It would be a
servicing interface, so I need that driver functional on different types
of chipsets.

So there is no generic SMBus driver? I thought that this is a function
of system bios to handle the SMBus and that this is a standardized
interface to the SMBus. I’ve found a mssmbios.sys installed on different
chipsets, isn’t that a driver that manages the smbus? I havent found any
information about this driver over the internet…

My advantage is that I do not have to support other systems than
windows2000 and windowsXP, because the controlling software does not run
under other systems. So if there would be a support for smbus on that
systems it would be enough for me.

Martin

-----Original Message-----
> From: xxxxx@listsosr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Mats PETERSSON
> Sent: Friday, February 25, 2005 12:10 PM
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] SMBUS
>
>
>
>
>
>
>
> There’s an SMBus driver for Linux out there somewhere.
>
> But essentially, you have to at least configure your driver
> individually for each chipset. The different chipsets are
> probably not dramatically different, but sufficiently that
> you can’t just write an entirely generic driver, you’ll at
> least have to determine which chipset you have and how to
> wiggle the lines around.
>
> What are you trying to achieve? Just a simpler interface to
> your PCI card, or something else?
>
> –
> Mats
>
> -------- Notice --------
> The information in this message is confidential and may be
> legally privileged. It is intended solely for the addressee.
> Access to this message by anyone else is unauthorized. If
> you are not the intended recipient, any disclosure, copying
> or distribution of the message, or any action taken by you in
> reliance on it, is prohibited and may be unlawful. If you
> have received this message in error, please delete it and
> contact the sender immediately. Thank you.
>
>
> xxxxx@lists.osr.com wrote on 02/25/2005 11:02:55 AM:
>
> > Hi everyone.
> >
> > I would like to use a SMBus on my PCI card. I have a
> processor on it
> > that is connected to the system SMBus.
> >
> > My question is - is it possible to create a driver that will be
> > functional on various chipsets without writing a driver for each of
> > it? Do you have an example of this driver? I’ve googled
> some time for
> > any information about SMBus and I haven’t found anything, only that
> > the SMBus is not well supported on Windows and that each
> chipset has
> > its own driver. The only one example that I’ve found (on smbus.org)
> > should enumerate the SMBus devices connected to SMBus, but
> it does not
> > find anything…
> >
> > Martin
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at http://www.
> > osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as:
> xxxxx@3dlabs.com To
> > unsubscribe send a blank email to xxxxx@listsosr.com
>
> > ForwardSourceID:NT0000DB06
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are
> currently subscribed to ntdev as: xxxxx@centrum.cz
> To unsubscribe send a blank email to xxxxx@listsosr.com
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@nvidia.com
To unsubscribe send a blank email to xxxxx@listsosr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@listsosr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

That could be the problem !

Couple months ago, I was trying 64-bit athlon as target, and found that 1394 giving trouble, but I may be making a slew of mistakes in configuring, so I went back to serial ( KnownDll zone :-). In your case it is source, so may be there is that 32bit compatiblity issues. Are you running 64-bit XP ( the prereleas/beta/… version ) or 32bit os still ?. In my case it was 64bit, and found some 32 bit apps does not work there, for example sony external CD burner, but did not go to find what is the problem ( probably some installation issue, since 32 bit drivers are not compatible, it should not have installed to begin with, … time consuming venture, so graciously prunned those path of investigation(s) ).

Pls don’t forget to post your finding, it would surely save lot of times for others :-).

-pro
----- Original Message -----
From: Alberto Moreira
To: Windows System Software Devs Interest List
Sent: Sunday, March 06, 2005 7:25 AM
Subject: Re: [ntdev] Windbg teething issues

I tried that, it doesn’t make any difference! Maybe there’s something to do with the fact that my host is an Athlon ? Maybe I need the 64-bit Debugging package installed on it ?

Alberto.

----- Original Message -----
From: Prokash Sinha
To: Windows System Software Devs Interest List
Sent: Saturday, March 05, 2005 12:50 PM
Subject: Re: [ntdev] Windbg teething issues

Also there is a recent blog on osronline.com, and as per that blog, turn the 1394 host controller off on the target as well.

-pro
----- Original Message -----
From: Prokash Sinha
To: Windows System Software Devs Interest List
Sent: Saturday, March 05, 2005 7:29 AM
Subject: Re: [ntdev] Windbg teething issues

It’s been a while I tried to fool around with 1394, but for sure on the host it has to be disabled, then at the connection attempt time it would say something , dont recall exact words, but I think you might have to reboot the host and try if I could recall.

Make sure the channels are within the ranage and probably on the high end ( who is going to figure out what channels are already being used ).

Also there is an article on osr’s ntOutsider, that might help !

-pro
----- Original Message -----
From: Alberto Moreira
To: Windows System Software Devs Interest List
Sent: Saturday, March 05, 2005 6:26 AM
Subject: [ntdev] Windbg teething issues

Guys,

I have an Athlon 64-bit host and a Dell P3 500Mhz Target, connected by both a serial and a 1394 cable. I can get Windbg to work fine over the serial, but I cannot get the host to connect to the target over 1394: I get that “Debugee not connected” message, and no matter what I do, it doesn’t budge. Now, the Windbg doc says that I should disable the 1394 Host Controller on the host side, but not the corresponding Network Adapter. Well… on both my Athlon machine and on my Toshiba Laptop, if I disable the 1394 Host Controller the 1394 Network Adapter is also disabled, actually, it disappears totally from the Device Manager list.

Would that be the cause of my problem, or am I barking up the wrong tree ? Tks,

Alberto.

----- Original Message -----
From: S. Drasnin
To: Windows System Software Devs Interest List
Sent: Friday, February 25, 2005 10:15 PM
Subject: Re: [ntdev] SMBUS

hi

The information below that I’m giving you is based on my experience on type of PC.

The SMBus is the bus that is used to interface with the battery. I’ve seen on the web that SMB refers to both the SMBus as well as SMBattery. I don’t know if this is true on all PCs, but Microsoft has a SMBattery driver that talks to the battery through the SMBus. Also, the SMBus is an I2C bus - serial.

Typically, to talk on the SMBus, you go through a special chip that has SMB interface registers. (How you access the registers is covered in the Mindshare book “PCI System Architecture” and probably in the PCI spec. I used I/O port operations when I did it.)

The special chip is a “South Bridge chip”, a chip that resides on the PCI bus, and interfaces to lots of devices (LAN, USB controllers, etc.) and buses (SMB, LPC, etc). The register interfaces are not exactly standard unfortunately – it varies a bit by manufacturer. For example, the Via South Bridge chip has a slightly difference register interface than the ALI South Bridge chip.

One problem with you getting on the SMBus is that you have to worry about other traffic on the bus and deal with collision detection. So, if you were trying to control a device on the SMBus and your system had a battery driver that also talked on the SMBus, you can run into problems.

In the SMBus registers on a South Bridge part, there is a semaphore bit that is used to gain access to the bus - unfortunately it’s not a true semaphore hardware bit – it’s a half-baked attempt at helping to provide sychronization. You can also check another bit, a busy bit, to see if somebody is using the bus. Handling collisions, by backing off for a random amount of time and then trying again, is one way to deal with things as well.

I’m not sure exactly why you choose a PCI board that had an SMBus interface - that info might help us make recommendations.

Sharon

----- Original Message -----
From: Mark Overby
To: Windows System Software Devs Interest List
Sent: Friday, February 25, 2005 9:12 AM
Subject: RE: [ntdev] SMBUS

SMBus can be handled through ACPI (there is a defined way of doing this
in ACPI 3.0 (it was there is previous versions as well)). However, it is
optional and many chipsets have their own drivers or mechanisms for
doing so. There is no “host controller” standard or specification for an
SMBus upper edge interface. (Certainly the SMBus specifications clearly
define what a host shall do on the physical interconnect)

-----Original Message-----
From: xxxxx@listsosr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Martin Zizka
Sent: Friday, February 25, 2005 3:44 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] SMBUS

Yes, I want to have another interface to the PCI card. It would be a
servicing interface, so I need that driver functional on different types
of chipsets.

So there is no generic SMBus driver? I thought that this is a function
of system bios to handle the SMBus and that this is a standardized
interface to the SMBus. I’ve found a mssmbios.sys installed on different
chipsets, isn’t that a driver that manages the smbus? I havent found any
information about this driver over the internet…

My advantage is that I do not have to support other systems than
windows2000 and windowsXP, because the controlling software does not run
under other systems. So if there would be a support for smbus on that
systems it would be enough for me.

Martin

-----Original Message-----
> From: xxxxx@listsosr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Mats PETERSSON
> Sent: Friday, February 25, 2005 12:10 PM
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] SMBUS
>
>
>
>
>
>
>
> There’s an SMBus driver for Linux out there somewhere.
>
> But essentially, you have to at least configure your driver
> individually for each chipset. The different chipsets are
> probably not dramatically different, but sufficiently that
> you can’t just write an entirely generic driver, you’ll at
> least have to determine which chipset you have and how to
> wiggle the lines around.
>
> What are you trying to achieve? Just a simpler interface to
> your PCI card, or something else?
>
> –
> Mats
>
> -------- Notice --------
> The information in this message is confidential and may be
> legally privileged. It is intended solely for the addressee.
> Access to this message by anyone else is unauthorized. If
> you are not the intended recipient, any disclosure, copying
> or distribution of the message, or any action taken by you in
> reliance on it, is prohibited and may be unlawful. If you
> have received this message in error, please delete it and
> contact the sender immediately. Thank you.
>
>
> xxxxx@lists.osr.com wrote on 02/25/2005 11:02:55 AM:
>
> > Hi everyone.
> >
> > I would like to use a SMBus on my PCI card. I have a
> processor on it
> > that is connected to the system SMBus.
> >
> > My question is - is it possible to create a driver that will be
> > functional on various chipsets without writing a driver for each of
> > it? Do you have an example of this driver? I’ve googled
> some time for
> > any information about SMBus and I haven’t found anything, only that
> > the SMBus is not well supported on Windows and that each
> chipset has
> > its own driver. The only one example that I’ve found (on smbus.org)
> > should enumerate the SMBus devices connected to SMBus, but
> it does not
> > find anything…
> >
> > Martin
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at http://www.
> > osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as:
> xxxxx@3dlabs.com To
> > unsubscribe send a blank email to xxxxx@listsosr.com
>
> > ForwardSourceID:NT0000DB06
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are
> currently subscribed to ntdev as: xxxxx@centrum.cz
> To unsubscribe send a blank email to xxxxx@listsosr.com
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@nvidia.com
To unsubscribe send a blank email to xxxxx@listsosr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@listsosr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Alberto Moreira wrote:

Maybe there’s something
to do with the fact that my host is an Athlon ? Maybe I need the 64-bit
Debugging package installed on it ? /*

Yes. If you read the Microsoft debugger website, you’ll see:

64-bit debugger on 64-bit HOST OS, used for 32-bit or 64-bit TARGETS
32-bit debugger on 32-bit HSOT OS, used for 32-bit or 64-bit TARGETS

Sorta makes sense when you consider that, according to the docs, the
debugger installs its own 1394 driver.

Peter
OSR

Thanks, Peter ! I was misled by the fact I’m using XP Media Center 2005 on my Athlon, so, I assumed I had to use the 32-bit package. I’ll try the 64-bit and see what happens.

Alberto.

==============

“Peter Viscarola (OSR)” wrote in message news:xxxxx@hormel6.ieee.org
> Alberto Moreira wrote:
>> Maybe there’s something
>> to do with the fact that my host is an Athlon ? Maybe I need the 64-bit
>> Debugging package installed on it ? /*
>
> Yes. If you read the Microsoft debugger website, you’ll see:
>
> 64-bit debugger on 64-bit HOST OS, used for 32-bit or 64-bit TARGETS
> 32-bit debugger on 32-bit HSOT OS, used for 32-bit or 64-bit TARGETS
>
> Sorta makes sense when you consider that, according to the docs, the
> debugger installs its own 1394 driver.
>
> Peter
> OSR
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@ieee.org
> To unsubscribe send a blank email to xxxxx@lists.osr.com

I thought that debugging was disabled on XP Media Center edition.


From: Alberto Moreira [mailto:xxxxx@ieee.org]
Sent: Sunday, March 06, 2005 1:26 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Windbg teething issues

Thanks, Peter ! I was misled by the fact I’m using XP Media Center 2005 on
my Athlon, so, I assumed I had to use the 32-bit package. I’ll try the
64-bit and see what happens.

Alberto.

==============

“Peter Viscarola (OSR)” > wrote in
message news:xxxxx@hormel6.ieee.org
news:xxxxx

> Alberto Moreira wrote:
>> Maybe there’s something
>> to do with the fact that my host is an Athlon ? Maybe I need the 64-bit
>> Debugging package installed on it ? /*
>
> Yes. If you read the Microsoft debugger website, you’ll see:
>
> 64-bit debugger on 64-bit HOST OS, used for 32-bit or 64-bit TARGETS
> 32-bit debugger on 32-bit HSOT OS, used for 32-bit or 64-bit TARGETS
>
> Sorta makes sense when you consider that, according to the docs, the
> debugger installs its own 1394 driver.
>
> Peter
> OSR
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
http:
>
> You are currently subscribed to ntdev as: xxxxx@ieee.org
mailto:xxxxx
> To unsubscribe send a blank email to xxxxx@lists.osr.com
mailto:xxxxx


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com</mailto:xxxxx></mailto:xxxxx></http:></news:xxxxx>

Even host side ? It seems to work fine with a serial connection.

Alberto.

----- Original Message -----
From: Arthur Kreitman
To: Windows System Software Devs Interest List
Sent: Sunday, March 06, 2005 7:52 PM
Subject: RE: [ntdev] Windbg teething issues

I thought that debugging was disabled on XP Media Center edition.


From: Alberto Moreira [mailto:xxxxx@ieee.org]
Sent: Sunday, March 06, 2005 1:26 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Windbg teething issues

Thanks, Peter ! I was misled by the fact I’m using XP Media Center 2005 on my Athlon, so, I assumed I had to use the 32-bit package. I’ll try the 64-bit and see what happens.

Alberto.

==============

“Peter Viscarola (OSR)” wrote in message news:xxxxx@hormel6.ieee.org

> Alberto Moreira wrote:
>> Maybe there’s something
>> to do with the fact that my host is an Athlon ? Maybe I need the 64-bit
>> Debugging package installed on it ? /*
>
> Yes. If you read the Microsoft debugger website, you’ll see:
>
> 64-bit debugger on 64-bit HOST OS, used for 32-bit or 64-bit TARGETS
> 32-bit debugger on 32-bit HSOT OS, used for 32-bit or 64-bit TARGETS
>
> Sorta makes sense when you consider that, according to the docs, the
> debugger installs its own 1394 driver.
>
> Peter
> OSR
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@ieee.org
> To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@ieee.org
To unsubscribe send a blank email to xxxxx@lists.osr.com

I haven’t reviewed the documents lately, so forgive me if I paraphrase them
incorrectly.

I think what the document was trying to say is that you need to disable the
controller itself, and disabling only the 1394 network device is
insufficient. Don’t worry about the networking device. It’s irrelevant.
It should disappear when you disable the controller.

Furthermore, disable the 1394 controller only on the target. It needs to be
working on the debugging host, as that machine needs to use a driver to send
data over 1394, which depends on the host controller driver.


Jake Oshins
Windows Kernel Group

This posting is provided “AS IS” with no warranties, and confers no rights.

“Alberto Moreira” wrote in message news:xxxxx@ntdev…
Guys,

I have an Athlon 64-bit host and a Dell P3 500Mhz Target, connected by both
a serial and a 1394 cable. I can get Windbg to work fine over the serial,
but I cannot get the host to connect to the target over 1394: I get that
“Debugee not connected” message, and no matter what I do, it doesn’t budge.
Now, the Windbg doc says that I should disable the 1394 Host Controller on
the host side, but not the corresponding Network Adapter. Well… on both my
Athlon machine and on my Toshiba Laptop, if I disable the 1394 Host
Controller the 1394 Network Adapter is also disabled, actually, it
disappears totally from the Device Manager list.

Would that be the cause of my problem, or am I barking up the wrong tree ?
Tks,

Alberto.

----- Original Message -----
From: S. Drasnin
To: Windows System Software Devs Interest List
Sent: Friday, February 25, 2005 10:15 PM
Subject: Re: [ntdev] SMBUS

hi

The information below that I’m giving you is based on my experience on type
of PC.

The SMBus is the bus that is used to interface with the battery. I’ve seen
on the web that SMB refers to both the SMBus as well as SMBattery. I don’t
know if this is true on all PCs, but Microsoft has a SMBattery driver that
talks to the battery through the SMBus. Also, the SMBus is an I2C bus -
serial.

Typically, to talk on the SMBus, you go through a special chip that has SMB
interface registers. (How you access the registers is covered in the
Mindshare book “PCI System Architecture” and probably in the PCI spec. I
used I/O port operations when I did it.)

The special chip is a “South Bridge chip”, a chip that resides on the PCI
bus, and interfaces to lots of devices (LAN, USB controllers, etc.) and
buses (SMB, LPC, etc). The register interfaces are not exactly standard
unfortunately – it varies a bit by manufacturer. For example, the Via South
Bridge chip has a slightly difference register interface than the ALI South
Bridge chip.

One problem with you getting on the SMBus is that you have to worry about
other traffic on the bus and deal with collision detection. So, if you were
trying to control a device on the SMBus and your system had a battery driver
that also talked on the SMBus, you can run into problems.

In the SMBus registers on a South Bridge part, there is a semaphore bit that
is used to gain access to the bus - unfortunately it’s not a true semaphore
hardware bit – it’s a half-baked attempt at helping to provide
sychronization. You can also check another bit, a busy bit, to see if
somebody is using the bus. Handling collisions, by backing off for a random
amount of time and then trying again, is one way to deal with things as
well.

I’m not sure exactly why you choose a PCI board that had an SMBus
interface - that info might help us make recommendations.

Sharon

----- Original Message -----
From: Mark Overby
To: Windows System Software Devs Interest List
Sent: Friday, February 25, 2005 9:12 AM
Subject: RE: [ntdev] SMBUS

SMBus can be handled through ACPI (there is a defined way of doing this
in ACPI 3.0 (it was there is previous versions as well)). However, it is
optional and many chipsets have their own drivers or mechanisms for
doing so. There is no “host controller” standard or specification for an
SMBus upper edge interface. (Certainly the SMBus specifications clearly
define what a host shall do on the physical interconnect)

-----Original Message-----
From: xxxxx@listsosr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Martin Zizka
Sent: Friday, February 25, 2005 3:44 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] SMBUS

Yes, I want to have another interface to the PCI card. It would be a
servicing interface, so I need that driver functional on different types
of chipsets.

So there is no generic SMBus driver? I thought that this is a function
of system bios to handle the SMBus and that this is a standardized
interface to the SMBus. I’ve found a mssmbios.sys installed on different
chipsets, isn’t that a driver that manages the smbus? I havent found any
information about this driver over the internet…

My advantage is that I do not have to support other systems than
windows2000 and windowsXP, because the controlling software does not run
under other systems. So if there would be a support for smbus on that
systems it would be enough for me.

Martin

> -----Original Message-----
> From: xxxxx@listsosr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Mats PETERSSON
> Sent: Friday, February 25, 2005 12:10 PM
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] SMBUS
>
>
>
>
>
>
>
> There’s an SMBus driver for Linux out there somewhere.
>
> But essentially, you have to at least configure your driver
> individually for each chipset. The different chipsets are
> probably not dramatically different, but sufficiently that
> you can’t just write an entirely generic driver, you’ll at
> least have to determine which chipset you have and how to
> wiggle the lines around.
>
> What are you trying to achieve? Just a simpler interface to
> your PCI card, or something else?
>
> –
> Mats
>
> -------- Notice --------
> The information in this message is confidential and may be
> legally privileged. It is intended solely for the addressee.
> Access to this message by anyone else is unauthorized. If
> you are not the intended recipient, any disclosure, copying
> or distribution of the message, or any action taken by you in
> reliance on it, is prohibited and may be unlawful. If you
> have received this message in error, please delete it and
> contact the sender immediately. Thank you.
>
>
> xxxxx@lists.osr.com wrote on 02/25/2005 11:02:55 AM:
>
> > Hi everyone.
> >
> > I would like to use a SMBus on my PCI card. I have a
> processor on it
> > that is connected to the system SMBus.
> >
> > My question is - is it possible to create a driver that will be
> > functional on various chipsets without writing a driver for each of
> > it? Do you have an example of this driver? I’ve googled
> some time for
> > any information about SMBus and I haven’t found anything, only that
> > the SMBus is not well supported on Windows and that each
> chipset has
> > its own driver. The only one example that I’ve found (on smbus.org)
> > should enumerate the SMBus devices connected to SMBus, but
> it does not
> > find anything…
> >
> > Martin
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at http://www.
> > osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as:
> xxxxx@3dlabs.com To
> > unsubscribe send a blank email to xxxxx@listsosr.com
>
> > ForwardSourceID:NT0000DB06
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are
> currently subscribed to ntdev as: xxxxx@centrum.cz
> To unsubscribe send a blank email to xxxxx@listsosr.com
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@nvidia.com
To unsubscribe send a blank email to xxxxx@listsosr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@listsosr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

XP Media Center addition is a 32-bit system. So you’ll need to use 32-bit
tools.

By the way, 1394 debugging just can’t work on some systems. One of its
design points was to make it work without changing the configuration of the
target so much that Heisenbugs would be introduced. So kd1394.dll attempts
to enable the controller using the settings that the BIOS used for the
device. If, as is common, the BIOS didn’t configure the device (because it
expected a PnP OS to do that) then kd1394.dll will attempt to assign “safe”
memory ranges. If “safe” ranges are difficult to ascertain, or if the
parent PCI-to-PCI bridge isn’t configured, the code may just bail.

Technical note: I wrote the first version of the code that I’m describing
above, though it has been re-written several times since. It has to
replicate the behavior of the entire PnP subsystem, before memory management
and a heap have become available and while running on a fairly small stack.
It was my intent to make debugging through 1394 work reasonably often,
particularly in situations where the BIOS could be configured to set up the
device, or when configuring the controller wouldn’t radically change the
code paths that executed in the real PnP manager. Of course, people wanted
a stronger guarantee than that and later code maintainers have tried to
deliver those stronger guarantees. I honestly don’t know where they stand
with it today.


Jake Oshins
Windows Kernel Group

This posting is provided “AS IS” with no warranties, and confers no rights.

“Alberto Moreira” wrote in message news:xxxxx@ntdev…
Thanks, Peter ! I was misled by the fact I’m using XP Media Center 2005 on
my Athlon, so, I assumed I had to use the 32-bit package. I’ll try the
64-bit and see what happens.

Alberto.

==============

“Peter Viscarola (OSR)” wrote in message
news:xxxxx@hormel6.ieee.org
> Alberto Moreira wrote:
>> Maybe there’s something
>> to do with the fact that my host is an Athlon ? Maybe I need the 64-bit
>> Debugging package installed on it ? /*
>
> Yes. If you read the Microsoft debugger website, you’ll see:
>
> 64-bit debugger on 64-bit HOST OS, used for 32-bit or 64-bit TARGETS
> 32-bit debugger on 32-bit HSOT OS, used for 32-bit or 64-bit TARGETS
>
> Sorta makes sense when you consider that, according to the docs, the
> debugger installs its own 1394 driver.
>
> Peter
> OSR
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@ieee.org
> To unsubscribe send a blank email to xxxxx@lists.osr.com

Arthur Kreitman wrote:

I thought that debugging was disabled on XP Media Center edition.

No. XP Media Center Edition is nothing more than Windows XP SP2 plus an
extra application and a couple of services. 1394 debugging works fine.
It darned well better; there would be no way to get our TV and capture
drivers working without. The MCE services set up their filter graphs in
an unusual way, and expect some custom interfaces that a standard
DirectShow system doesn’t use, so you can’t debug on a non-MCE system.

In fact, based on my experience, debugging is one of the very few things
that works fine in MCE. When Microsoft goes looking for endorsements
for MCE, I suggest they bypass my phone number.

Brilliant! It works. Thanks, Jake! And thanks, Pro, you too.

For the record, this is how I got it running.

  1. My host is an Hp 3400+ Athlon system running 32-bit XP Media
    Center 2005. That’s an awesome machine, thanks AMD and HP!
  2. My target is my faithful 6-year old Dell 500Mhz P3, running
    WinXP SP2 or Win2K3 SP1 on a dual boot.
  3. I installed the 32-bit Windbg and Tools on both machines.
  4. If I open Device Manager on the host side, I see the
    following devices:
  • 1394 Windows Debug Driver
  • 1394 Windows XP Debug Driver
  • VIA OHCI Compliant IEEE 1394 Host Controller
  • 1394 Net Adapter
  1. I do not disable the 1394 Host Controller on the host side.
    In fact, I do not do anything else on the host side. Not even
    set an Environment Variable. I’m a minimalist! :slight_smile:
  2. On the target side I run bootcfg as follows:
    bootcfg /dbg1394 on /ch 44 /id 1
    Of course the id changes from system to system, and the
    channel is my own choice, yet it must be the same on host and
    target.
  3. If I now reboot the target and look at its Device Manager, I
    still see the following devices:
  • Texas Instruments OHCI Compliant IEEE 1394 Host Controller
  • 1394 Net Adapter
    Funky, no ? I expected those to disappear after I changed
    boot.ini, but no, they didn’t.
    So…
  1. I disable the 1394 Host Controller and reboot the target. I
    now see the 1394 Host Controller disabled, and the 1394 Net
    Adapter is not visible. This probably means that Windbg has
    seized control of the target’s 1394 card.
  2. Now it’s time to get it rolling! Run Windbg on the host,
    click on “File”, “Kernel Debug…”, “1394”, set the Channel to
    44 (it must match the host debugging channel) and click “OK”. I
    get the Windbg Command window.
  3. I now press Ctrl-Break at the host, and…

Surprise! What do you know, the target broke into SoftICE. :slight_smile:
The reason was, my SoftICE was configured with an I3HERE set to
“on”. Now, tell it not to break on Int 3 (“I3HERE OFF”) and
Ctrl-Break again from the host, and it works. This is important:
if you’re running SoftICE on the Target, beware !

A few remarks:

  • The doc needs a revamp, it’s not quite clear in a number of
    places, and even misleading.
  • I haven’t tried to run with more than one 1394 card in the
    target, but I hope I can rely on the second card being
    operational during a debugging session.
  • You can set the _NT_DEBUG_BUS_1394 and the
    _NT_DEBUG_1394_CHANNEL=44 (or your channel number, whatever you
    want it to be) environment variables, but I didn’t bother - all
    I did is to enter the “44” once in Windbg when connecting for
    the first time, and Windbg remembers it forever even if the
    connection isn’t successful.
  • Depending on how you like to operate, you may need to set the
    _NT_DEBUG_1394_SYMLINK to point to your symbols, but I prefer to
    set it inside Windbg.
  • You don’t need to set any environment variable on the target
    side.
  • When you disable the 1394 Host Controller on the target side,
    chances are that the 1394 Net Adapter is going to be turned off
    too. The Windbg doc says explicitly (in the “Disabling the 1394
    Host Controller” section) that you must

“Be careful not to accidentally disable the 1394 net adapter
instead!”

But well, not true, at least not in my case: the 1394 Net
Adapter was indeed disabled and things still work ok.

I also have a few suggestions to the Windbg team, I mean,
besides revamping the doc:

  • It’d be real nice if they provided a utility to test the
    Windbg-to-target 1394 connection for debugger readiness.
  • It’d be also nice if they provided a way of automatically
    recognizing the target OS for the purposes of symbol retrieval.
    I have a target with two OS’s (WinXP and Win2K3) and the current
    mechanisms of setting the symbol path in an environment variable
    or even inside Windbg are a pain because it’s easy to mess up
    and load symbols into the wrong downstream symbol store.
  • If I download the symbols packages provided at the
    http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx
    website, they are installed in a directory layout that’s not
    very agreeable to Windbg. I may be misusing the system, but I
    could only get symbols to work if all the .pdb files are in a
    directory that’s in the symbol path. Well, it’d be nice if
    Windbg could read symbols in the directory format that comes out
    of the Windows Symbols web site - but then, I may be wrong here.

This is getting long, but a little tale to finish. I was running
both my machines on a shared set of keyboard, mouse and display,
through a Belkin switch. Now, that switch doesn’t have an actual
manual switch or button to flip from one machine to another,
it’s one of those semi-intelligent things that flips to this or
that machine depending on which system it detects first. If both
machines are on, you can flip the switch by pressing
ScrollLock-ScrollLock-DownArrow. I bet you can see what
happened: Windbg stops the target, and the keyboard path to the
Belkin switch somehow is frozen: I couldn’t flip to the target
to see what was in its monitor (which happened to be the SoftICE
popped up!). So, get rid of the switch, put in a real monitor
and another keyboard and mouse instead, and presto, I’m in
business. But bother, I had to shift some of my books to the
basement to make space for the second monitor. Still, it
works…

Thanks again, guys!

Alberto.

Alberto Moreira wrote:
> - It’d be also nice if they provided a way of automatically recognizing
> the target OS for the purposes of symbol retrieval. I have a target with
> two OS’s (WinXP and Win2K3) and the current mechanisms of setting the
> symbol path in an environment variable or even inside Windbg are a pain
> because it’s easy to mess up and load symbols into the wrong downstream
> symbol store.

If you use the symbol server, it automatically DOES recognize the target
OS and select the right symbols. Then it automatically DOES download
those symbols to the local symbol store, and it automatically DOES store
them where they will automatically be found by the debugger, based on
the target OS.

Regarding:

  • When you disable the 1394 Host Controller on the target side, chances
    > are that the 1394 Net Adapter is going to be turned off too. The Windbg
    > doc says explicitly (in the “Disabling the 1394 Host Controller”
    > section) that you must
    >
    > “Be careful not to accidentally disable the 1394 net adapter instead!”
    >
    > But well, not true, at least not in my case: the 1394 Net Adapter was
    > indeed disabled and things still work ok.
    >

Jake already explained this, but I’ll explain it again. What the
documentation means (and I’ve gotta say it was crystal clear to me when
I read it) is for you to be sure you disable the RIGHT device. You must
disable the 1394 HOST CONTROLLER… When looking in the Device Manager,
don’t mis-read the display and accidentally disable the 1304 net adapter
INSTEAD thinking that you’re disabling the 1394 host controller – If
you’re not paying 100% attention, or you’re not used to looking at
Device Manager, it’s pretty easy to confuse one for the other. The point
is that disabling the net adapter WON’T SOLVE YOUR CONNECTIVITY
PROBLEM… it’s the 1394 host controller driver that you NEED to disable
in order to solve the connectivity problem. The net adapter driver is
irrelevant in this case, and gets disabled automagically anyways.

And no… I didn’t write it :slight_smile:

Peter

I have many strange problems with the 1394 connection also. It just stop working for no obvious reason. What surprises me is that not many complaints are found on the web about this problem. To work around this problem, I have tried some tricks and they works sometimes. However, I think putting an “int 3” break point in the driver entry will cause the 1394 connection to work everytime.

Vu
“Alberto Moreira” wrote in message news:xxxxx@ntdev…
Guys,

I have an Athlon 64-bit host and a Dell P3 500Mhz Target, connected by both a serial and a 1394 cable. I can get Windbg to work fine over the serial, but I cannot get the host to connect to the target over 1394: I get that “Debugee not connected” message, and no matter what I do, it doesn’t budge. Now, the Windbg doc says that I should disable the 1394 Host Controller on the host side, but not the corresponding Network Adapter. Well… on both my Athlon machine and on my Toshiba Laptop, if I disable the 1394 Host Controller the 1394 Network Adapter is also disabled, actually, it disappears totally from the Device Manager list.

Would that be the cause of my problem, or am I barking up the wrong tree ? Tks,

Alberto.

----- Original Message -----
From: S. Drasnin
To: Windows System Software Devs Interest List
Sent: Friday, February 25, 2005 10:15 PM
Subject: Re: [ntdev] SMBUS

hi

The information below that I’m giving you is based on my experience on type of PC.

The SMBus is the bus that is used to interface with the battery. I’ve seen on the web that SMB refers to both the SMBus as well as SMBattery. I don’t know if this is true on all PCs, but Microsoft has a SMBattery driver that talks to the battery through the SMBus. Also, the SMBus is an I2C bus - serial.

Typically, to talk on the SMBus, you go through a special chip that has SMB interface registers. (How you access the registers is covered in the Mindshare book “PCI System Architecture” and probably in the PCI spec. I used I/O port operations when I did it.)

The special chip is a “South Bridge chip”, a chip that resides on the PCI bus, and interfaces to lots of devices (LAN, USB controllers, etc.) and buses (SMB, LPC, etc). The register interfaces are not exactly standard unfortunately – it varies a bit by manufacturer. For example, the Via South Bridge chip has a slightly difference register interface than the ALI South Bridge chip.

One problem with you getting on the SMBus is that you have to worry about other traffic on the bus and deal with collision detection. So, if you were trying to control a device on the SMBus and your system had a battery driver that also talked on the SMBus, you can run into problems.

In the SMBus registers on a South Bridge part, there is a semaphore bit that is used to gain access to the bus - unfortunately it’s not a true semaphore hardware bit – it’s a half-baked attempt at helping to provide sychronization. You can also check another bit, a busy bit, to see if somebody is using the bus. Handling collisions, by backing off for a random amount of time and then trying again, is one way to deal with things as well.

I’m not sure exactly why you choose a PCI board that had an SMBus interface - that info might help us make recommendations.

Sharon

----- Original Message -----
From: Mark Overby
To: Windows System Software Devs Interest List
Sent: Friday, February 25, 2005 9:12 AM
Subject: RE: [ntdev] SMBUS

SMBus can be handled through ACPI (there is a defined way of doing this
in ACPI 3.0 (it was there is previous versions as well)). However, it is
optional and many chipsets have their own drivers or mechanisms for
doing so. There is no “host controller” standard or specification for an
SMBus upper edge interface. (Certainly the SMBus specifications clearly
define what a host shall do on the physical interconnect)

-----Original Message-----
From: xxxxx@listsosr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Martin Zizka
Sent: Friday, February 25, 2005 3:44 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] SMBUS

Yes, I want to have another interface to the PCI card. It would be a
servicing interface, so I need that driver functional on different types
of chipsets.

So there is no generic SMBus driver? I thought that this is a function
of system bios to handle the SMBus and that this is a standardized
interface to the SMBus. I’ve found a mssmbios.sys installed on different
chipsets, isn’t that a driver that manages the smbus? I havent found any
information about this driver over the internet…

My advantage is that I do not have to support other systems than
windows2000 and windowsXP, because the controlling software does not run
under other systems. So if there would be a support for smbus on that
systems it would be enough for me.

Martin

> -----Original Message-----
> From: xxxxx@listsosr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Mats PETERSSON
> Sent: Friday, February 25, 2005 12:10 PM
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] SMBUS
>
>
>
>
>
>
>
> There’s an SMBus driver for Linux out there somewhere.
>
> But essentially, you have to at least configure your driver
> individually for each chipset. The different chipsets are
> probably not dramatically different, but sufficiently that
> you can’t just write an entirely generic driver, you’ll at
> least have to determine which chipset you have and how to
> wiggle the lines around.
>
> What are you trying to achieve? Just a simpler interface to
> your PCI card, or something else?
>
> –
> Mats
>
> -------- Notice --------
> The information in this message is confidential and may be
> legally privileged. It is intended solely for the addressee.
> Access to this message by anyone else is unauthorized. If
> you are not the intended recipient, any disclosure, copying
> or distribution of the message, or any action taken by you in
> reliance on it, is prohibited and may be unlawful. If you
> have received this message in error, please delete it and
> contact the sender immediately. Thank you.
>
>
> xxxxx@lists.osr.com wrote on 02/25/2005 11:02:55 AM:
>
> > Hi everyone.
> >
> > I would like to use a SMBus on my PCI card. I have a
> processor on it
> > that is connected to the system SMBus.
> >
> > My question is - is it possible to create a driver that will be
> > functional on various chipsets without writing a driver for each of
> > it? Do you have an example of this driver? I’ve googled
> some time for
> > any information about SMBus and I haven’t found anything, only that
> > the SMBus is not well supported on Windows and that each
> chipset has
> > its own driver. The only one example that I’ve found (on smbus.org)
> > should enumerate the SMBus devices connected to SMBus, but
> it does not
> > find anything…
> >
> > Martin
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at http://www.
> > osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as:
> xxxxx@3dlabs.com To
> > unsubscribe send a blank email to xxxxx@listsosr.com
>
> > ForwardSourceID:NT0000DB06
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are
> currently subscribed to ntdev as: xxxxx@centrum.cz
> To unsubscribe send a blank email to xxxxx@listsosr.com
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@nvidia.com
To unsubscribe send a blank email to xxxxx@listsosr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@listsosr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

I am just curious as to what is that you found about MCE that was so annoying?

We are developing for MCE and I could use that information if you don’t mind sharing.

– Max.

No. XP Media Center Edition is nothing more than Windows XP
SP2 plus an extra application and a couple of services. 1394
debugging works fine.
It darned well better; there would be no way to get our TV
and capture drivers working without. The MCE services set up
their filter graphs in an unusual way, and expect some custom
interfaces that a standard DirectShow system doesn’t use, so
you can’t debug on a non-MCE system.

In fact, based on my experience, debugging is one of the very
few things that works fine in MCE. When Microsoft goes
looking for endorsements for MCE, I suggest they bypass my
phone number.

Peter,

What I mean by recognizing the OS is at the level of the
downstream directory: it’d be nice to have Windbg know that
because the target is running Win2K3, the downstream directory
is the Win2k3 one - if I reboot the target to run WinXP, it’d be
nice if Windbg knew that and switched to the WinXP directory,
dynamically, without the need for me to go and reconfigure the
symbols path. Can I do that ? I mean, specify multiple
downstream directories, so that if I’m loading an XP symbol file
it automatically goes to the XP downstream, while if I’m loading
a 2K3 symbol file it automatically goes to the 2K3 downstream ?
Both on the way in (server to downstream) and out (downstream to
debugger) ?

In other words: I don’t want the server to write 2K3 symbols to
my XP directory, or Windbg to read symbols from my XP directory
when it should be reading them from the 2K3 directory, just
because I forgot to flip the symbol path. And, believe me, it’s
a jolly bother to have to do that every time I boot another OS
or service pack.

Alberto.

“Peter Viscarola (OSR)” wrote in message
news:xxxxx@hormel4.ieee.org
> Alberto Moreira wrote:
> > - It’d be also nice if they provided a way of automatically
> > recognizing
> > the target OS for the purposes of symbol retrieval. I have a
> > target with
> > two OS’s (WinXP and Win2K3) and the current mechanisms of
> > setting the
> > symbol path in an environment variable or even inside Windbg
> > are a pain
> > because it’s easy to mess up and load symbols into the wrong
> > downstream
> > symbol store.
>
>
> If you use the symbol server, it automatically DOES recognize
> the target
> OS and select the right symbols. Then it automatically DOES
> download
> those symbols to the local symbol store, and it automatically
> DOES store
> them where they will automatically be found by the debugger,
> based on
> the target OS.
>
> Regarding:
>
> > - When you disable the 1394 Host Controller on the target
> > side, chances
> > are that the 1394 Net Adapter is going to be turned off too.
> > The Windbg
> > doc says explicitly (in the “Disabling the 1394 Host
> > Controller”
> > section) that you must
> >
> > “Be careful not to accidentally disable the 1394 net
> > adapter instead!”
> >
> > But well, not true, at least not in my case: the 1394 Net
> > Adapter was
> > indeed disabled and things still work ok.
> >
>
> Jake already explained this, but I’ll explain it again. What
> the
> documentation means (and I’ve gotta say it was crystal clear
> to me when
> I read it) is for you to be sure you disable the RIGHT device.
> You must
> disable the 1394 HOST CONTROLLER… When looking in the Device
> Manager,
> don’t mis-read the display and accidentally disable the 1304
> net adapter
> INSTEAD thinking that you’re disabling the 1394 host
> controller – If
> you’re not paying 100% attention, or you’re not used to
> looking at
> Device Manager, it’s pretty easy to confuse one for the other.
> The point
> is that disabling the net adapter WON’T SOLVE YOUR
> CONNECTIVITY
> PROBLEM… it’s the 1394 host controller driver that you NEED
> to disable
> in order to solve the connectivity problem. The net adapter
> driver is
> irrelevant in this case, and gets disabled automagically
> anyways.
>
> And no… I didn’t write it :slight_smile:
>
> Peter
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@ieee.org
> To unsubscribe send a blank email to
> xxxxx@lists.osr.com

The way that WinDBG decides which debug symbols to use works along the
lines of timestamps and checksums that make a unique ID that is used for
each module. So it first figures out that you need the debug symbols for
XXX.DLL, then finds the appropriate debug symbols for XXX.DLL of the
timestamp and checksum that your particular XXX.DLL has.

If you where to have a XXX.DLL that exists in both Win2K3 and WinXP, it
will know which one to use based on the timestamp/checksum, so it doesn’t
matter if they are in the same directory tree or not. In fact, it’s better
to have both in the same directory tree, since if you for instance get the
next service pack, which incidentally uses the SAME XXX.DLL as Win2K3, it
will not need to download a second copy of that .PDB file.

More importantly, if we have for instance a driver that is generic for both
WinXP and Win2K3, it would be quite unnecesary to store two .PDB’s for that
on the local machine, right?

My debug symbols directory contains about five and a half thousand files in
about as many directories. I don’t see why I should need to have those in
two different directories… I’m using the same directory for all different
drivers and all different service packs, and so far I’ve never seen any
reason to do things otherways. [And I just stuff my latest .PDB for my
driver in the top of that directory for the purpose of supplying my debug
symbols for the driver I’m working on, but that could well go elsewhere if
you prefer it that way].


Mats

xxxxx@lists.osr.com wrote on 03/08/2005 01:25:20 PM:

Peter,

What I mean by recognizing the OS is at the level of the
downstream directory: it’d be nice to have Windbg know that
because the target is running Win2K3, the downstream directory
is the Win2k3 one - if I reboot the target to run WinXP, it’d be
nice if Windbg knew that and switched to the WinXP directory,
dynamically, without the need for me to go and reconfigure the
symbols path. Can I do that ? I mean, specify multiple
downstream directories, so that if I’m loading an XP symbol file
it automatically goes to the XP downstream, while if I’m loading
a 2K3 symbol file it automatically goes to the 2K3 downstream ?
Both on the way in (server to downstream) and out (downstream to
debugger) ?

In other words: I don’t want the server to write 2K3 symbols to
my XP directory, or Windbg to read symbols from my XP directory
when it should be reading them from the 2K3 directory, just
because I forgot to flip the symbol path. And, believe me, it’s
a jolly bother to have to do that every time I boot another OS
or service pack.

Alberto.

“Peter Viscarola (OSR)” wrote in message
> news:xxxxx@hormel4.ieee.org
> > Alberto Moreira wrote:
> > > - It’d be also nice if they provided a way of automatically
> > > recognizing
> > > the target OS for the purposes of symbol retrieval. I have a
> > > target with
> > > two OS’s (WinXP and Win2K3) and the current mechanisms of
> > > setting the
> > > symbol path in an environment variable or even inside Windbg
> > > are a pain
> > > because it’s easy to mess up and load symbols into the wrong
> > > downstream
> > > symbol store.
> >
> >
> > If you use the symbol server, it automatically DOES recognize
> > the target
> > OS and select the right symbols. Then it automatically DOES
> > download
> > those symbols to the local symbol store, and it automatically
> > DOES store
> > them where they will automatically be found by the debugger,
> > based on
> > the target OS.
> >
> > Regarding:
> >
> > > - When you disable the 1394 Host Controller on the target
> > > side, chances
> > > are that the 1394 Net Adapter is going to be turned off too.
> > > The Windbg
> > > doc says explicitly (in the “Disabling the 1394 Host
> > > Controller”
> > > section) that you must
> > >
> > > “Be careful not to accidentally disable the 1394 net
> > > adapter instead!”
> > >
> > > But well, not true, at least not in my case: the 1394 Net
> > > Adapter was
> > > indeed disabled and things still work ok.
> > >
> >
> > Jake already explained this, but I’ll explain it again. What
> > the
> > documentation means (and I’ve gotta say it was crystal clear
> > to me when
> > I read it) is for you to be sure you disable the RIGHT device.
> > You must
> > disable the 1394 HOST CONTROLLER… When looking in the Device
> > Manager,
> > don’t mis-read the display and accidentally disable the 1304
> > net adapter
> > INSTEAD thinking that you’re disabling the 1394 host
> > controller – If
> > you’re not paying 100% attention, or you’re not used to
> > looking at
> > Device Manager, it’s pretty easy to confuse one for the other.
> > The point
> > is that disabling the net adapter WON’T SOLVE YOUR
> > CONNECTIVITY
> > PROBLEM… it’s the 1394 host controller driver that you NEED
> > to disable
> > in order to solve the connectivity problem. The net adapter
> > driver is
> > irrelevant in this case, and gets disabled automagically
> > anyways.
> >
> > And no… I didn’t write it :slight_smile:
> >
> > Peter
> >
> > —
> > Questions? First check the Kernel Driver FAQ at
> > http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as: xxxxx@ieee.org
> > To unsubscribe send a blank email to
> > xxxxx@lists.osr.com
>
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.
> osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@3dlabs.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

> ForwardSourceID:NT0000E53E

First thanks for taking the time to jot down the steps. IT WOULD CERTAINLY
HELP …

One thing though, when the target has softice installed, it’s a two party
game. We did debug this way, one sits on the softice console, and the other
on the 'Bag host console. It is really fun if you debug that way …

-pro

Just one thing to add here: disabling the host side 1394 network controller
is, in my experience, essential to getting a reliable high speed 1394 debug
connection.

=====================
Mark Roddy

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Peter Viscarola (OSR)
Sent: Monday, March 07, 2005 11:29 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Windbg teething issues

Alberto Moreira wrote:
> - It’d be also nice if they provided a way of automatically recognizing

the target OS for the purposes of symbol retrieval. I have a target with
two OS’s (WinXP and Win2K3) and the current mechanisms of setting the >
symbol path in an environment variable or even inside Windbg are a pain >
because it’s easy to mess up and load symbols into the wrong downstream >
symbol store.

If you use the symbol server, it automatically DOES recognize the target OS
and select the right symbols. Then it automatically DOES download those
symbols to the local symbol store, and it automatically DOES store them
where they will automatically be found by the debugger, based on the target
OS.

Regarding:

  • When you disable the 1394 Host Controller on the target side, chances
    are that the 1394 Net Adapter is going to be turned off too. The Windbg >
    doc says explicitly (in the “Disabling the 1394 Host Controller”
    > section) that you must
    >
    > “Be careful not to accidentally disable the 1394 net adapter instead!”
    >
    > But well, not true, at least not in my case: the 1394 Net Adapter was >
    indeed disabled and things still work ok.
    >

Jake already explained this, but I’ll explain it again. What the
documentation means (and I’ve gotta say it was crystal clear to me when I
read it) is for you to be sure you disable the RIGHT device. You must
disable the 1394 HOST CONTROLLER… When looking in the Device Manager,
don’t mis-read the display and accidentally disable the 1304 net adapter
INSTEAD thinking that you’re disabling the 1394 host controller – If you’re
not paying 100% attention, or you’re not used to looking at Device Manager,
it’s pretty easy to confuse one for the other. The point is that disabling
the net adapter WON’T SOLVE YOUR CONNECTIVITY PROBLEM… it’s the 1394 host
controller driver that you NEED to disable in order to solve the
connectivity problem. The net adapter driver is irrelevant in this case,
and gets disabled automagically anyways.

And no… I didn’t write it :slight_smile:

Peter


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@stratus.com To
unsubscribe send a blank email to xxxxx@lists.osr.com