Johannes Bauer wrote: > Hello group, hello,
> I've been using the scan-win-drivers.pl script now and been testing it > with different PCs. I'm seeing an issue here which causes trouble - > traced it because I thought it was a scan-win-drivers.pl issue. It is > not, however. > > The problem is as follows: The (correct!) driver is in the > site/win_drivers directory, however it is not copied. I traced the > problem down to the following: The PCI-ids are different under lspci > compared to Windows. it can't happen: PCI ids are written in the hardware, an OS can't decide to change it (until using tools that manipulate the firmware I guess). But see below. > I first thought that couldn't be, but it's true. > The relevant output of lspci -vv -nn is: > > 80:01.0 Audio device [0403]: VIA Technologies, Inc. VIA High Definition > Audio Controller [1106:3288] (rev 10) > Subsystem: ASUSTeK Computer Inc. Device [1043:81b3] > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- > Stepping- SERR- FastB2B- DisINTx- > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- > <MAbort- >SERR- <PERR- INTx- > Latency: 0, Cache Line Size: 32 bytes > Interrupt: pin A routed to IRQ 10 > Region 0: Memory at bfffc000 (64-bit, non-prefetchable) [size=16K] > Capabilities: [50] Power Management version 2 > Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA > PME(D0+,D1-,D2-,D3hot+,D3cold+) > Status: D0 PME-Enable- DSel=0 DScale=0 PME- > Capabilities: [60] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 > Enable- > Address: 0000000000000000 Data: 0000 > Capabilities: [70] Express (v1) Root Complex Integrated Endpoint, MSI 00 > DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, > L1 <1us > ExtTag- RBE- FLReset- > DevCtl: Report errors: Correctable- Non-Fatal- Fatal- > Unsupported- > RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop- > MaxPayload 128 bytes, MaxReadReq 128 bytes > DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ > TransPend+ > LnkCap: Port #0, Speed unknown, Width x0, ASPM unknown, Latency > L0 > <64ns, L1 <1us > ClockPM- Suprise- LLActRep- BwNot- > LnkCtl: ASPM Disabled; Disabled- Retrain- CommClk- > ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- > LnkSta: Speed unknown, Width x0, TrErr- Train- SlotClk- > DLActive- > BWMgmt- ABWMgmt- > Capabilities: [100] Virtual Channel <?> > > The Device:Vendor combination here is clearly 1106:3288 with the > Subsystem being 1043:81b3. Under Windows, this changes to 11d4:1986 > (leaving the subsystem unchanged): > > # cat AUDIO_SoundMAX_sp32944/SMAXWDM/W2K_XP/ADIHdAud.inf | grep 81B3 > %HdAudioFunctionDriver.ADICodec.DeviceDesc% = A1986AP, > HDAUDIO\FUNC_01&VEN_11D4&DEV_1986&SUBSYS_104381B3 > > Windows displays that VEN_/DEV_ string in the device parameters of the > unknown device and the driver installs successfully. > > How is that possible? I assume full PCI enumeration is done during the > bootup of the kernel, so why does the PCIID change all the sudden? Has > anyone a clue or knows what could be done to resolve the issue? It's not > really a huge problem (also because it's only an audio driver), but it > might be worth having a look into - this problem may occur in other > places, too. "HDAUDIO" is a (virtual ?) bus, it's not PCI ! (see output of your cat command). That's why you see 2 distinct sets of Ids: they are not related, since they identify distinct devices from distinct buses. scan-win-drivers.pl works only with PCI bus(es). So no clue right now, since AudioSoundMax does provides drivers "only" for HDAUDIO bus and not for (real ?) "PCI" devices. On my side, I had also to manually post-install some audio drivers because of the same problem. Does some on the list know how to enumerate devices from an "Intel High Definition Audio (HD Audio) bus interface controller" from command-line tools of linux, like "lspci" do for PCI devices ? or some magic /dev entries ? Any pointer could help me to add some support about it into scan-win-drivers.pl (I hope that I won't have to mimic the Windows PnP's job in perl ;-) So, as reminder, scan-win-drivers.pl limitations are: * only PCI bus(es) * SCSI or HDAUDIO bus(es) are not handled, * mass storage driver are not covered (I mean at the TXTSETUP.OEM level or [F6] / floppy when kernel windows text setup starts, like for RAID device/controller) Some pointers related to HDAUDIO on MSDN: * "INF file specification: Windows Driver Kit : Creating an inf file:" http://msdn.microsoft.com/en-us/library/ms790220.aspx * "High Definition Audio DDI" : http://msdn.microsoft.com/en-us/library/ms790041.aspx > > Kind regards, > Johannes Regards, Pierre Bourgin ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ unattended-devel mailing list unattended-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/unattended-devel