Date: Fri, 18 Jul 2008 17:53:09 GMT From: Alex Keda <admin@lissyara.su> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/125756: cannot detect soft-modem on HDA bus Message-ID: <200807181753.m6IHr9oG011893@www.freebsd.org> Resent-Message-ID: <200807181800.m6II03ki084582@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 125756 >Category: kern >Synopsis: cannot detect soft-modem on HDA bus >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Jul 18 18:00:03 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Alex Keda >Release: 8.0 >Organization: USSR >Environment: FreeBSD acer.lissyara.int.otradno.ru 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Wed Jul 9 23:10:07 MSD 2008 lissyara@acer.lissyara.int.otradno.ru:/tmp/obj/usr/src/sys/main-color-console amd64 >Description: cannot detect modem on HDA bus =========== hda - as a hub through which can be connected many devices (audio and modem - which I know) linux determined in all possible devices that are connected to hda BSD made in the implementation wrong, because in many places there are special control points to check - what this device. And if this does not sound - it is ignored that is - not universally hence - Ariff only knows how to implement it hda code to add a modem ============ see patch for detect all HDA devices on my machine I have sound and modem: pcm0: HDA_DEBUG: Scanning HDA codecs [start index=0] ... pcm0: HDA_DEBUG: Probing codec: 0 pcm0: HDA_DEBUG: startnode=1 endnode=2 pcm0: Vendor: 0x10ec0883 pcm0: HDA_DEBUG: Found AFG nid=1 [startnode=1 endnode=2] pcm0: HDA_DEBUG: Probing codec: 1 pcm0: HDA_DEBUG: startnode=2 endnode=3 pcm0: Vendor: 0x14f12bfa pcm0: HDA_DEBUG: AFG not found pcm0: HDA_DEBUG: Probing codec: 3 pcm0: hdac_command_send_internal: TIMEOUT numcmd=1, sent=1, received=0 pcm0: hdac_command_send_internal: TIMEOUT numcmd=1, sent=1, received=0 pcm0: hdac_command_send_internal: TIMEOUT numcmd=1, sent=1, received=0 pcm0: HDA_DEBUG: startnode=255 endnode=510 pcm0: Vendor: 0xffffffff >How-To-Repeat: always >Fix: rewrite HDA Patch attached with submission follows: --- ./sys/dev/sound/pci/hda/hdac.c.orig 2008-07-15 06:34:44.000000000 +0400 +++ ./sys/dev/sound/pci/hda/hdac.c 2008-07-18 21:51:59.000000000 +0400 @@ -1813,8 +1813,9 @@ codec->sc = sc; codec->cad = i; sc->codecs[i] = codec; - if (hdac_probe_codec(codec) != 0) - break; + // if (hdac_probe_codec(codec) != 0) + // break; + hdac_probe_codec(codec); } } /* All codecs have been probed, now try to attach drivers to them */ @@ -1855,6 +1856,8 @@ HDA_BOOTVERBOSE( device_printf(sc->dev, "HDA_DEBUG: \tstartnode=%d endnode=%d\n", startnode, endnode); + device_printf(sc->dev, " Vendor: 0x%08x\n", + vendorid); ); for (i = startnode; i < endnode; i++) { devinfo = hdac_probe_function(codec, i); >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807181753.m6IHr9oG011893>