Driver Problems? Questions? Issues?
Put OSR's experience to work for you! Contact us for assistance with:
  • Creating the right design for your requirements
  • Reviewing your existing driver code
  • Analyzing driver reliability/performance issues
  • Custom training mixed with consulting and focused directly on your specific areas of interest/concern.
Check us out. OSR, the Windows driver experts.

Monthly Seminars at OSR Headquarters

East Coast USA
Windows Internals and SW Drivers, Dulles (Sterling) VA, 13 November 2017

Kernel Debugging & Crash Analysis for Windows, Nashua (Amherst) NH, 4 December 2017

Writing WDF Drivers I: Core Concepts, Nashua (Amherst) NH, 8 January 2018

WDF Drivers II: Advanced Implementation Techniques, Nashua (Amherst) NH, 15 January 2018


Go Back   OSR Online Lists > ntdev
Welcome, Guest
You must login to post to this list
  Message 1 of 4  
03 Nov 17 04:41
Vincent Jin
xxxxxx@gmail.com
Join Date: 30 Nov 2011
Posts To This List: 11
MSI doesn't work in Windows.

I'm working on a storport driver. But the MSI doesn't work in Windows. The same device works fine in Linux. I've done following things. 1. Set HwMSInterruptRoutine in HwFindAdapter routine. 2. Add register as following: HKR, Interrupt Management, 0x00000010 HKR, Interrupt Management\MessageSignaledInterruptProperties, 0x00000010 HKR, Interrupt Management\MessageSignaledInterruptProperties, MSISupported, %REG_DWORD%, 1 HKR, Interrupt Management\MessageSignaledInterruptProperties, MessageNumberLimit, %REG_DWORD%, 32 REG_DWORD = 0x00010001 After driver installed, the resources in the device property shows the right IRQ resources. It's also right to read from StorPortGetMSIInfo and gets this: MSI msgId 0, IntVec 144, IntMode 1 . MSI msgId 1, IntVec 144, IntMode 1 . MSI msgId 2, IntVec 144, IntMode 1 . MSI msgId 3, IntVec 128, IntMode 1 . MSI msgId 4, IntVec 128, IntMode 1 . MSI msgId 5, IntVec 128, IntMode 1 . MSI msgId 6, IntVec 128, IntMode 1 . MSI msgId 7, IntVec 128, IntMode 1 . MSI msgId 8, IntVec 128, IntMode 1 . But the IRQ number in the device property is: 0xFFFFFFA0 (-96) 0xFFFFFF9F (-97) ... So I have 2 questions: 1. What else should I do to make MSI work correctly. 2. Is there any relationship between the numbers returned by StorPortGetMSIInfo and the IRQ value in the resource tab in the device property? Thanks.
  Message 2 of 4  
03 Nov 17 11:59
Tim Roberts
xxxxxx@probo.com
Join Date: 28 Jan 2005
Posts To This List: 11654
MSI doesn't work in Windows.

On Nov 3, 2017, at 1:40 AM, xxxxx@gmail.com <xxxxx@lists.osr.com> = wrote: > ... > After driver installed, the resources in the device property shows the = right IRQ resources. It's also right to read from StorPortGetMSIInfo and = gets this: > MSI msgId 0, IntVec 144, IntMode 1 . > MSI msgId 1, IntVec 144, IntMode 1 . > MSI msgId 2, IntVec 144, IntMode 1 . > MSI msgId 3, IntVec 128, IntMode 1 . > MSI msgId 4, IntVec 128, IntMode 1 . > MSI msgId 5, IntVec 128, IntMode 1 . > MSI msgId 6, IntVec 128, IntMode 1 . > MSI msgId 7, IntVec 128, IntMode 1 . > MSI msgId 8, IntVec 128, IntMode 1 . > But the IRQ number in the device property is: <...excess quoted lines suppressed...> Why do you think it is not working correctly? Have you run the hardware = to see if your IRQ fires? > 2. Is there any relationship between the numbers returned by = StorPortGetMSIInfo and the IRQ value in the resource tab in the device = property? Nope. =E2=80=94=20 Tim Roberts, xxxxx@probo.com Providenza & Boekelheide, Inc.
  Message 3 of 4  
05 Nov 17 21:11
Vincent Jin
xxxxxx@gmail.com
Join Date: 30 Nov 2011
Posts To This List: 11
MSI doesn't work in Windows.

I have the device installed, but there's no interrupt/MSI routine called during the test.
  Message 4 of 4  
07 Nov 17 03:50
Vincent Jin
xxxxxx@gmail.com
Join Date: 30 Nov 2011
Posts To This List: 11
MSI doesn't work in Windows.

I've fixed this problem by setting the MSI registers in the device manually (MSI message data, message address...). It's not the same as Linux which is done by Kernel. I'm not sure I've done correctly.
Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You must login to OSR Online AND be a member of the ntdev list to be able to post.

All times are GMT -5. The time now is 00:33.


Copyright ©2015, OSR Open Systems Resources, Inc.
Based on vBulletin Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Modified under license