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

Reply via email to