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, 9 April 2018

Writing WDF Drivers I: Core Concepts, Manchester, NH, 7 May 2018

Kernel Debugging & Crash Analysis for Windows, Dulles (Sterling), VA, 21 May 2018


Go Back   OSR Online Lists > ntdev
Welcome, Guest
You must login to post to this list
  Message 1 of 5  
13 Feb 18 19:25
Daniel Kulas
xxxxxx@gmail.com
Join Date: 08 Nov 2017
Posts To This List: 3
Understanding code12 resource conflict

I installed a barebones driver on a device I'll be working on (only have DriverEntry/DeviceAdd and both return success). In device manager, my device has a yellow bang over it with the status saying there aren't enough free resources that it can use. Upon inspecting the output of !arbiter, I see a large range of addresses conflicting DEVNODE ffffc88573d039c0 (ACPI\PNP0A08\0) Memory Arbiter "PCI Memory (b=0)" at ffffc88579294ae0 Allocated ranges: 0000000000000000 - 000000000009ffff 00000000 <Not on bus> 0000000000100000 - 000000008fffffff 00000000 <Not on bus> 0000000092500000 - 00000000925fffff ffffc88579293060 (pci) 0000000092600000 - 000000009260ffff ffffc8857928f060 0000000092620000 - 0000000092623fff ffffc88579283060 (HDAudBus) 0000000092628000 - 0000000092629fff ffffc88579295830 (storahci) 000000009262a000 - 000000009262afff ffffc885793d7830 (MEIx64) 000000009262b000 - 000000009262b0ff B ffffc885793f2060 000000009262b800 - 000000009262bfff ffffc88579295830 (storahci) 000000009262c000 - 000000009262c0ff ffffc88579295830 (storahci) 0000000092700000 - 00000000a08fffff ffffc8857928d060 (pci) 00000000c0000000 - 00000000d01fffff ffffc88579293060 (pci) 00000000d0200000 - 00000000d02fffff ffffc88579285060 (pci) 00000000d0300000 - 00000000de2fffff ffffc8857928d060 (pci) 00000000e0000000 - 00000000efffffff 00000000e0000000 - 00000000efffffff CB 00000000 <Not on bus> 00000000e0000000 - 00000000efffffff CB ffffc88579293950 00000000fc800000 - 00000000fccfffff ffffc885793be060 (pci) 00000000fd000000 - 00000000fe7fffff B ffffc88579293950 00000000feb00000 - 0000003fffffffff 00000000feb00000 - 0000003fffffffff C 00000000 <Not on bus> 00000000fed00000 - 00000000fed03fff CB ffffc8857a318a90 00000000fed10000 - 00000000fed17fff CB ffffc88579293950 00000000fed18000 - 00000000fed18fff CB ffffc88579293950 00000000fed19000 - 00000000fed19fff CB ffffc88579293950 00000000fed20000 - 00000000fed3ffff CB ffffc88579293950 00000000fed45000 - 00000000fed8ffff CBA ffffc88579293950 00000000fed90000 - 00000000fed93fff CBA ffffc88579293950 00000000fee00000 - 00000000feefffff CBA ffffc88579293950 00000000fef00000 - 00000000fef0ffff CB ffffc8857a30b8b0 (MyDriver) 00000000ff000000 - 00000000ffffffff CBA ffffc88579293950 00000000ff000000 - 00000000ffffffff CBA ffffc885793c2c90 0000007fffff0000 - 0000007fffffffff ffffc88579283060 (HDAudBus) 0000008000000000 - ffffffffffffffff 0000008000000000 - ffffffffffffffff C 00000000 <Not on bus> 0001000000000000 - ffffffffffffffff C 00000000 <Not on bus> Possible allocation: < none > I noticed there's an address range of 00000000feb00000 - 0000003fffffffff with a note saying "Not on bus". When looking at the output of !devnode on the device I'm interested in, I tells me there's a conflict and to run !code12, yet the output of that command looks goofy. 0: kd> !devnode ffffc8857928e010 DevNode 0xffffc8857928e010 for PDO 0xffffc8857a30b8b0 Parent 0xffffc885793a7a30 Sibling 0xffffc8857928e540 Child 0000000000 InstancePath is "ACPI\DEV0001\4&18e05879&0" ServiceName is "MyDriver" State = DeviceNodeDriversAdded (0x303) Previous State = DeviceNodeInitialized (0x302) StateHistory[01] = DeviceNodeInitialized (0x302) StateHistory[00] = DeviceNodeUninitialized (0x301) StateHistory[19] = Unknown State (0x0) StateHistory[18] = Unknown State (0x0) StateHistory[17] = Unknown State (0x0) StateHistory[16] = Unknown State (0x0) StateHistory[15] = Unknown State (0x0) StateHistory[14] = Unknown State (0x0) StateHistory[13] = Unknown State (0x0) StateHistory[12] = Unknown State (0x0) StateHistory[11] = Unknown State (0x0) StateHistory[10] = Unknown State (0x0) StateHistory[09] = Unknown State (0x0) StateHistory[08] = Unknown State (0x0) StateHistory[07] = Unknown State (0x0) StateHistory[06] = Unknown State (0x0) StateHistory[05] = Unknown State (0x0) StateHistory[04] = Unknown State (0x0) StateHistory[03] = Unknown State (0x0) StateHistory[02] = Unknown State (0x0) Flags (0x6c0020f0) DNF_ENUMERATED, DNF_IDS_QUERIED, DNF_HAS_BOOT_CONFIG, DNF_BOOT_CONFIG_RESERVED, DNF_HAS_PROBLEM, DNF_NO_LOWER_DEVICE_FILTERS, DNF_NO_LOWER_CLASS_FILTERS, DNF_NO_UPPER_DEVICE_FILTERS, DNF_NO_UPPER_CLASS_FILTERS UserFlags (0x00000002) DNUF_DONT_SHOW_IN_UI CapabilityFlags (0x00020080) SilentInstall, NoDisplayInUI Problem = CM_PROB_NORMAL_CONFLICT Problem Status = 0xc0000018 (For more information about this problem, run: !code12 0xffffc8857928e010) !code12: Device node 0xffffc8857928e010 Rebalance triggered by Devnode 0x0000000000000000 Rebalance reason: <data error> Dump conflicting resources that caused rebalance: * Resource type: CmResourceTypeNull (0) * Resource request alternatives count: 0 Dump arbiter instance: !arbinst 0x0000000000000000 !arbinst <address> [<Flags>] Error reading ArbiterInstance 00000000 First question, what exactly does "Not on bus" mean? Second, why does the output of !code12 reference null addresses, lists errors, and say the resource type is CmResourceTypeNull?
  Message 2 of 5  
14 Feb 18 19:36
Pavel A
xxxxxx@fastmail.fm
Join Date: 21 Jul 2008
Posts To This List: 2410
Understanding code12 resource conflict

So, what sort of resources does your driver require? Does it define these resources in the INF? --pa
  Message 3 of 5  
14 Feb 18 20:33
Doron Holan
xxxxxx@microsoft.com
Join Date: 08 Sep 2005
Posts To This List: 10157
Understanding code12 resource conflict

A modern pnp device should never declare its needed resources in an inf. Perhaps msi configuration, but not the hw resources themselves Bent from my phone ________________________________ From: xxxxx@lists.osr.com <xxxxx@lists.osr.com> on behalf of xxxxx@fastmail.fm <xxxxx@lists.osr.com> Sent: Wednesday, February 14, 2018 4:35:45 PM To: Windows System Software Devs Interest List Subject: RE:[ntdev] Understanding code12 resource conflict So, what sort of resources does your driver require? Does it define these resources in the INF? --pa --- NTDEV is sponsored by OSR Visit the list online at: <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.osronline.co m%2Fshowlists.cfm%3Flist%3Dntdev&data=04%7C01%7CDoron.Holan%40microsoft.com%7C052 d07d2dac64031e83008d5740c118d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636542 517551684582%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6 Ik1haWwifQ%3D%3D%7C-1&sdata=1urgiZJTTJsXrYi0Amvh5DysxPMatjWYdEt3jHzjDrg%3D&reserv ed=0> MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers! Details at <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.osr.com%2Fse minars&data=04%7C01%7CDoron.Holan%40microsoft.com%7C052d07d2dac64031e83008d5740c1 18d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636542517551694587%7CUnknown%7CT WFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D%7C-1&sdat a=C6KzHVBis%2FDhds3qEIYSDwWrV0BbdAhO5Kj9CBYIbZI%3D&reserved=0> To unsubscribe, visit the List Server section of OSR Online at <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.osronline.co m%2Fpage.cfm%3Fname%3DListServer&data=04%7C01%7CDoron.Holan%40microsoft.com%7C052 d07d2dac64031e83008d5740c118d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636542 517551694587%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6 Ik1haWwifQ%3D%3D%7C-1&sdata=h%2FJpIgmK3%2F4wexFbMOW1Ba5FU9FvK86%2BWdc5zbeH9mI%3D& reserved=0> --
  Message 4 of 5  
15 Feb 18 10:53
Daniel Kulas
xxxxxx@gmail.com
Join Date: 08 Nov 2017
Posts To This List: 3
Understanding code12 resource conflict

In the resources tab for my device in Device Manager shows it uses a range of IO, has an IRQ line, and has a 64k region of memory. The tree structure for my device looks like PCI Root Complex -> Intel LPC Controller -> My device. The LPC controller does not have any resources dedicated for it but the PCI Root Complex device does. The resources it shows it has allocated for it includes several different memory regions which within it, which several devices use sections of that memory, however, non of which include devices under the LPC controller device. This range is 00000000feb00000 - 0000003fffffffff. Does this mean anything? On Wed, Feb 14, 2018 at 5:33 PM, xxxxx@microsoft.com < xxxxx@lists.osr.com> wrote: > A modern pnp device should never declare its needed resources in an inf. > Perhaps msi configuration, but not the hw resources themselves > > Bent from my phone > ------------------------------ > *From:* xxxxx@lists.osr.com <bounce-646990-26293@lists. > osr.com> on behalf of xxxxx@fastmail.fm <xxxxx@lists.osr.com> > *Sent:* Wednesday, February 14, 2018 4:35:45 PM > *To:* Windows System Software Devs Interest List > *Subject:* RE:[ntdev] Understanding code12 resource conflict <...excess quoted lines suppressed...> --
  Message 5 of 5  
15 Feb 18 15:25
Tim Roberts
xxxxxx@probo.com
Join Date: 28 Jan 2005
Posts To This List: 11800
Understanding code12 resource conflict

xxxxx@gmail.com wrote: > > In the resources tab for my device in Device Manager shows it uses a > range of IO, has an IRQ line, and has a 64k region of memory.  > The tree structure for my device looks like PCI Root Complex -> Intel > LPC Controller -> My device. The LPC controller does not have any > resources dedicated for it but the PCI Root Complex device does. Is that literally how your device is connected?  The LPC controller is mostly used for serial and parallel ports, and some GPIO lines -- things that have I/O ports.  It shouldn't have any PCI memory presence.  If that's not literally where your device is located, then your BIOS ACPI tables are wrong. -- Tim Roberts, xxxxx@probo.com Providenza & Boekelheide, Inc.
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 01:59.


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