Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results
The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.
Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/
Upcoming OSR Seminars | ||
---|---|---|
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead! | ||
Kernel Debugging | 30 January 2023 | Live, Online |
Developing Minifilters | 20 March 2023 | Live, Online |
Internals & Software Drivers | 17 April 2023 | Live, Online |
Writing WDF Drivers | 22 May 2023 | Live, Online |
Comments
I have written several SMBus drivers (Vxd, NT) for Intel chipsets (PIIX4,
ICH) and I don't think I have ever run into this problem. Things to
consider:
1> Is the controller actually enabled? Check your chipset datasheet for
details.
2> Try a read operation to your EEPROM and see what happens.
3> Have you tried accessing another device on the bus? If so, what were the
results?
4> Try a different EEPROM. Could be your EEPROM is the culprit.
5> What type of read were you invoking (byte/word data write, block write)?
- rob
> Rob Strong
> Platform Components Group/Systems Software Engineering
> Intel Corporation
> -------------------------------------------
> Fax - 916.356.3162
> Email - [email protected]
> -------------------------------------------
>
>
-----Original Message-----
From: Amit Kaul [mailto:[email protected]]
Sent: Thursday, February 24, 2000 7:08 AM
To: NT Developers Interest List
Subject: [ntdev] Problems in Command Completion in SMBus
Hi,
I am writing a kernel mode driver for System
Management Bus(SMB) Controller. In my case, the SMBus
has got SEEPROM attached to it as a Host device. I am
able to locate and allocate the resources for the
SMBus controller properly.
The problem starts when i *write* something to the
SEEPROM. There is a register called SMBHSTS (Smb Host
Status Register) whose bit 0 tells us whether the
SMBus controller host is in the process of completing
the command (write). I check this register for this
bit, to know if the SMB is busy completing this
command. And it happens that it always turns out to be
BUSY. I kept some timeout as well as some retries.
But, of no avail. I haven't tried if the same thing
happens with *read*.
If someone has written a driver for System Management
Bus, I would appreciate if he/she can provide me any
help.
thanks
__amit
__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com
---
You are currently subscribed to ntdev as: [email protected]
To unsubscribe send a blank email to $subst('Email.Unsub')