MERCURY127 Posted November 20, 2016 Author Share Posted November 20, 2016 15 minutes ago, Nomen said: IHV kit issue was still kicking around in 2007: http://www.freelists.org/post/wdmaudiodev/UAA-Driver-Information,1 yes, this link give some useful info: https://msdn.microsoft.com/windows/hardware/drivers/audio/high-definition-audio-ddi https://msdn.microsoft.com/windows/hardware/drivers/audio/hd-audio-bus-driver but i cant find here any source code, only recommendation to use sys provided by MS. in short, here is hints for vendors, how write driver with using ms uaa api. Link to comment Share on other sites More sharing options...
MERCURY127 Posted November 20, 2016 Author Share Posted November 20, 2016 Quote For each logical device, class driver builds a Windows Kernel Streaming filter to expose its audio functionality to system this feature (KS) is exist in 9x? i remember file ks.inf... Link to comment Share on other sites More sharing options...
LoneCrusader Posted November 21, 2016 Share Posted November 21, 2016 On Sunday, November 20, 2016 at 2:33 AM, MERCURY127 said: also i see many unicode calls to ntoskrnl, such so RtlGetVersion. are this all work on 9x? Those functions are missing from Windows 9x but are included in WDMEX. More below. 16 hours ago, MERCURY127 said: this feature (KS) is exist in 9x? i remember file ks.inf... Yes, it's there. The ME USB1 drivers depend on KS.SYS but work under 98 so the 98 version is sufficient for them. The ME version of KS.SYS may or may not be useful for HD Audio if we get that far. Here's what we know so far: HDAUDBUS.SYS is missing these functions (a long list ) under Windows 98SE without any WDMSTUB/WDMEX loaded: MmAllocatePagesForMdl MmFreePagesFromMdl MmAllocateContiguousMemorySpecifyCache MmFreeContiguousMemorySpecifyCache MmMapLockedPagesSpecifyCache ExFreePoolWithTag PsGetVersion MmGetSystemRoutineAddress KdDebuggerEnabled IoFreeWorkItem IoQueueWorkItem IoAllocateWorkItem ZwSetSecurityObject ObOpenObjectByPointer IoDeviceObjectType RtlGetDaclSecurityDescriptor RtlGetSaclSecurityDescriptor RtlGetGroupSecurityDescriptor RtlGetOwnerSecurityDescriptor RtlLengthSecurityDescriptor SeCaptureSecurityDescriptor SeExports RtlAddAccessAllowedAce RtlLengthSid RtlAbsoluteToSelfRelativeSD RtlSetDaclSecurityDescriptor RtlCreateSecurityDescriptor rloew's WDMEX covers these functions but we have no way to know if HDAUDBUS.SYS is expecting a different return value for any of these. I experimented further and found that a "HKR,,DevLoader,,*NTKERN" line must be present in the INF or the driver will do absolutely nothing. It will "load" without errors in the Device Manager this way even without WDMEX loaded, so it can't be doing anything and it's no wonder there is no enumeration."Enumeration" is NOT the problem based on this; so we need to see what is the cause of the BSOD I mentioned before we can know anything else. I put the required line back in my INF and now I get this BSOD when Windows 98SE boots and attempts to load the driver:Fatal Exception 0E at 0028:FF097160 in VXD hdaudbus(01) + 000050C0 This can be dismissed but then the system hangs here before the desktop loads and must be reset. Link to comment Share on other sites More sharing options...
MERCURY127 Posted November 21, 2016 Author Share Posted November 21, 2016 yes... it bad news. here is list of functions, exported by wdmstub: Spoiler WmiCompleteRequest WmiSystemControl KeLeaveCriticalRegion KeEnterCriticalRegion IoInitializeRemoveLockEx IoReleaseRemoveLockAndWaitEx IoReleaseRemoveLockEx IoAcquireRemoveLockEx MmMapLockedPagesSpecifyCache IoSetCompletionRoutineEx SeSinglePrivilegeCheck ZwUnloadDriver ZwLoadDriver ExFreePoolWithTag ZwQueryDefaultLocale ZwSetInformationFile ZwQueryInformationFile MmGetSystemRoutineAddress ExIsProcessorFeaturePresent HalTranslateBusAddress IoRaiseInformationalHardError IoReuseIrp KdDebuggerEnabled KeNumberProcessors KeSetTargetProcessorDpc RtlInt64ToUnicodeString RtlUlonglongByteSwap RtlUlongByteSwap RtlUshortByteSwap PsGetVersion IoQueueWorkItem IoFreeWorkItem IoAllocateWorkItem IoCreateSynchronizationEvent IoCreateNotificationEvent ExLocalTimeToSystemTime ExSystemTimeToLocalTime IoReportTargetDeviceChangeAsynchronous PoUnregisterSystemState PoSetSystemState PoRegisterSystemState in our issue wdmstub implement those MmMapLockedPagesSpecifyCache ExFreePoolWithTag MmGetSystemRoutineAddress KdDebuggerEnabled IoQueueWorkItem IoAllocateWorkItem rest 21 is unimplemented. i can debug with WinIce (SoftIce Win 3x/9x Kernel mode debugger) - i do DMRP (Drive model reading patch) for ESDI 7 years to back. WDMEX as seen is nice, but i have no $21 (uh, one dollar per function?) now. and i absolutelly have no interest for buying something, that after requires my additional work "as a slave in the galley"... 1 hour ago, LoneCrusader said: I experimented further and found that a "HKR,,DevLoader,,*NTKERN" line must be present in the INF or the driver will do absolutely nothing. yes, i also so think... what is u try hdaudbus.sys from 835211? i see some diffs in bootlog when replace file from 888111 to 835221. Link to comment Share on other sites More sharing options...
rloew Posted November 22, 2016 Share Posted November 22, 2016 19 hours ago, MERCURY127 said: "as a slave in the galley" Seriously. What I sell is a tool. If you buy a wrench, you still need to do "work" to use it. Of course you are welcome to try to loosen nuts with your fingers or drop forge your own wrench. Incidentally WDMEX has over 100 Functions and I keep adding more as the need arises. Link to comment Share on other sites More sharing options...
LoneCrusader Posted November 22, 2016 Share Posted November 22, 2016 23 hours ago, MERCURY127 said: i can debug with WinIce (SoftIce Win 3x/9x Kernel mode debugger) - i do DMRP (Drive model reading patch) for ESDI 7 years to back. WDMEX as seen is nice, but i have no $21 (uh, one dollar per function?) now. and i absolutelly have no interest for buying something, that after requires my additional work "as a slave in the galley"... I'm sorry you feel that way. It's too bad, since you do have some programming/debugging knowledge you might have been able to help considerably in sorting this out. I have no direct knowledge of such things or patching files; I can only do research, very basic hexediting, and test what is given to me. I feel like it's a worthy investment but not everyone will agree. These days, nowhere else will you find such an experiment as WDMEX. Who else is left with enough knowledge to even make the attempt? Petr, Tihiy, Xeno86, PassingBy, LLXX, and others I'm sure I'm forgetting to mention have all moved on. 23 hours ago, MERCURY127 said: what is u try hdaudbus.sys from 835211? i see some diffs in bootlog when replace file from 888111 to 835221. Fatal Exception 0E at 0028:C026BEE6 in VXD NTKERN(01) + 0000053A Interesting that the BSOD error moves from the HDAUDBUS driver back into NTKERN with the older version. Link to comment Share on other sites More sharing options...
MERCURY127 Posted November 22, 2016 Author Share Posted November 22, 2016 7 hours ago, rloew said: Seriously. i know. i know, that this process can be year long and give no good results. i understand, that ur tool (extender) is very cool and useful. but what i get, if buy ur extender, and after half year or year we get nothing? for sample: i have Tenda usb wifi, based on ralink rt5370 (rt2870? so many chips...), his driver req one unimplemented Ndis*. your extender give me some warranties? no, sure, driver can left unusable. or other sample: Etron USB3. i get xp driver, check this on xp - all good. i slightly modify driver for 9x, chek imports - all need implemented by wdmstub. but driver is not work - error 10, installed only xhci, no hub in subdevices, no enumeration. and what i need do? i even have no BSOD - me did not catch hold here, for to begin debugging... and this without WDMEX. let us then we, for begin, will try to run this usb3, which does not need to buy anything. Link to comment Share on other sites More sharing options...
LoneCrusader Posted November 22, 2016 Share Posted November 22, 2016 4 hours ago, MERCURY127 said: or other sample: Etron USB3. i get xp driver, check this on xp - all good. i slightly modify driver for 9x, chek imports - all need implemented by wdmstub. but driver is not work - error 10, installed only xhci, no hub in subdevices, no enumeration. and what i need do? i even have no BSOD - me did not catch hold here, for to begin debugging... and this without WDMEX. let us then we, for begin, will try to run this usb3, which does not need to buy anything. The Etron USB3 drivers don't even work under Windows 2000, so I wouldn't have much hope they will work on 9x. WDM under XP sometimes behaves differently even for the same functions. I don't think any XP files have been found to work under 9x other than possibly USBCCGP.SYS and even it has not been extensively tested because it requires a specific set of devices that use it and those same devices may work without it, depending instead on USBHUB/USBHUB20. Link to comment Share on other sites More sharing options...
MERCURY127 Posted November 22, 2016 Author Share Posted November 22, 2016 Oh, so baaad... Tomorrow i try install 2k and check all, that can... Link to comment Share on other sites More sharing options...
rloew Posted November 23, 2016 Share Posted November 23, 2016 WDMEX is still in development, so there are no guarantees, but updates are free. These specific Drivers do not currently work even with WDMEX or I would already have them on my Website. WDMEX can be used along with a debugger to help find a solution. Feedback is always welcome and customizations to facilitate debugging will be considered. 1 Link to comment Share on other sites More sharing options...
MERCURY127 Posted November 23, 2016 Author Share Posted November 23, 2016 uhhh... with this 2k appear many problems with install - i want install it on that fatr32 part, where 98, as i already do on P3 machine. but on Core machine appear strange problems... i kiiled half day and at end install 2k to ssd partition instead my XP. it was so slow, that i shocked... 2k want not turn on DMA mode on SSD, i do it manually... and afetr all i see... i see, that here dont work even ordinal USB2, which do work fine in 98 via NUSB 3.5... here no even mouse! i anyway try install drivers for Etron, Intel HDG 4000, and HDA... nothng of this work... but have one GOOD news my hdabus98 inf work on 2k it install bus and do enumeration... after this appear two new audio subdevices... i try install on one my HDA98.inf (converted inf from realtek's driver), it is installed succesfully but say that cant run some file... after this stupid timekillng i restore boot my 7 and 98 and go here later i will try install original drivers from realtek. sorry for poor speak... Link to comment Share on other sites More sharing options...
pangoomis Posted November 24, 2016 Share Posted November 24, 2016 On 23.11.2016 at 4:27 PM, MERCURY127 said: but have one GOOD news my hdabus98 inf work on 2k it install bus and do enumeration... after this appear two new audio subdevices... i try install on one my HDA98.inf (converted inf from realtek's driver), it is installed succesfully but say that cant run some file... That's interesting...now we need to know, what files are parsing the INF file, and what the differences are between the 2K and 98SE files. Also, why not do testing under ME? It has more in common with 2K than 98SE. Link to comment Share on other sites More sharing options...
rloew Posted November 25, 2016 Share Posted November 25, 2016 When I ran my experiments, I revised the INF Files as needed to make them 9x compatible, so that was not an issue. ME has a few more Functions than 98SE but otherwise is built more like 9x than 2K. My WDMEX completely bridges the gap between 98SE and ME but still hasn't solved the problem. 1 Link to comment Share on other sites More sharing options...
MERCURY127 Posted November 25, 2016 Author Share Posted November 25, 2016 (edited) i run HDA on 2K. dxdiag get clear, nice sound, all good. what i do: install only bus (for sample hdabus98), but not full 888111 - get two new subdevices. here only one is true audio codec, second is HDMI for intel HDG, and really implemented in Intel Display driver (now not work). try install Realtek driver via my hda98.inf - insttallation done, but after say that cant run driver. try install Realtek driver from original folder - insttallation done, say nothing, but driver cant work and and ask reinstall after every reboot. manually copying portclass & sysaudio syses from 888111 folder to system32/drivers (under 7, sure) - realtek work also i try manually replace usb*.sys to XP's files - no changes, nothing good... [strange, i remember, that make screenshots in 2k with fscapture, but now cant find, where its be saved...] found. Edited November 25, 2016 by MERCURY127 added screens Link to comment Share on other sites More sharing options...
MERCURY127 Posted November 26, 2016 Author Share Posted November 26, 2016 (edited) USB2 now work... mouse ok, even wifi appear in DM. wothout reinstalling system. what i do? nothing, just delete all pnf and oem*.inf files from windir\inf, remove all not workable from DM and do reboot. but files usb*.sys now grabbed FROM XP... and it work. but USB3 and HDG - no. Edited November 26, 2016 by MERCURY127 fixed image Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now