Date: Sun, 13 Jan 2013 05:54:06 +0000 (UTC) From: Eitan Adler <eadler@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r40596 - head/en_US.ISO8859-1/books/faq Message-ID: <201301130554.r0D5s6OM025658@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: eadler Date: Sun Jan 13 05:54:06 2013 New Revision: 40596 URL: http://svnweb.freebsd.org/changeset/doc/40596 Log: Actually correct and still right, but PNP ISA cards aren't relevant anymore. Noted by: imp Approved by: bcr (mentor) Modified: head/en_US.ISO8859-1/books/faq/book.xml Modified: head/en_US.ISO8859-1/books/faq/book.xml ============================================================================== --- head/en_US.ISO8859-1/books/faq/book.xml Sun Jan 13 05:52:35 2013 (r40595) +++ head/en_US.ISO8859-1/books/faq/book.xml Sun Jan 13 05:54:06 2013 (r40596) @@ -2611,136 +2611,6 @@ bindkey ^[[3~ delete-char # for xterm</p </qandaentry> <qandaentry> - <question id="pnp-not-found"> - <para>Why is my PnP card not found (or found as - <literal>unknown</literal>)?</para> - </question> - - <answer> - <para>The reasons for this behavior are explained by the - following email, posted to the &a.questions; by &a.peter;, in - answer to a question about an internal modem that was no - longer found after an upgrade to - &os; 4.<replaceable>X</replaceable> (the comments in - <literal>[]</literal> have been added to clarify the - context).</para> - - <note> - <para>The contents of this quotation has been updated from - its original text.</para> - </note> - - <blockquote> - <para>The PNP bios preconfigured it [the modem] and left it - laying around in port space, so [in - 3.<replaceable>X</replaceable>] the old-style ISA probes - <quote>found</quote> it there.</para> - - <para>Under 4.0, the ISA code is much more PnP-centric. It - was possible [in 3.<replaceable>X</replaceable>] for an ISA - probe to find a <quote>stray</quote> device and then for - the PNP device ID to match and then fail due to resource - conflicts. So, it disables the programmable cards first - so this double probing cannot happen. It also means that - it needs to know the PnP IDs for supported PnP hardware. - Making this more user tweakable is on the TODO - list.</para> - </blockquote> - - <para>To get the device working again requires finding its PnP - ID and adding it to the list that the ISA probes use to - identify PnP devices. This is obtained using - &man.pnpinfo.8; to probe the device, for example this is the - output from &man.pnpinfo.8; for an internal modem:</para> - - <screen>&prompt.root; <userinput>pnpinfo</userinput> -Checking for Plug-n-Play devices... - -Card assigned CSN #1 -Vendor ID PMC2430 (0x3024a341), Serial Number 0xffffffff -PnP Version 1.0, Vendor Version 0 -Device Description: Pace 56 Voice Internal Plug & Play Modem - -Logical Device ID: PMC2430 0x3024a341 #0 - Device supports I/O Range Check -TAG Start DF - I/O Range 0x3f8 .. 0x3f8, alignment 0x8, len 0x8 - [16-bit addr] - IRQ: 4 - only one type (true/edge)</screen> - - <para>[more TAG lines elided]</para> - - <screen>TAG End DF -End Tag - -Successfully got 31 resources, 1 logical fdevs --- card select # 0x0001 - -CSN PMC2430 (0x3024a341), Serial Number 0xffffffff - -Logical device #0 -IO: 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 -IRQ 5 0 -DMA 4 0 -IO range check 0x00 activate 0x01</screen> - - <para>The information you require is in the <literal>Vendor - ID</literal> line at the start of the output. The - hexadecimal number in parentheses - (<literal>0x3024a341</literal> in this example) is the PnP - ID and the string immediately before this - (<literal>PMC2430</literal>) is a unique ASCII ID.</para> - - <para>Alternatively, if &man.pnpinfo.8; does not list the card - in question, &man.pciconf.8; can be used instead. This is - part of the output from <command>pciconf -vl</command> for - an onboard sound chip:</para> - - <screen>&prompt.root; <userinput>pciconf -vl</userinput> -chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02 hdr=0x00 - vendor = 'Intel Corporation' - device = '82801AA 8xx Chipset AC'97 Audio Controller' - class = multimedia - subclass = audio</screen> - - <para>Here, you would use the <varname>chip</varname> value, - <literal>0x24158086</literal>.</para> - - <para>This information (<literal>Vendor ID</literal> or - <varname>chip</varname> value) needs adding to the file - <filename>/usr/src/sys/dev/sio/sio_isa.c</filename>.</para> - - <para>You should first make a backup of - <filename>sio_isa.c</filename> just in case things go wrong. - You will also need it to make the patch to submit with your - PR (you are going to submit a PR, are you not?) then edit - <filename>sio_isa.c</filename> and search for the - line:</para> - - <programlisting>static struct isa_pnp_id sio_ids[] = {</programlisting> - - <para>Then scroll down to find the correct place to add the - entry for your device. The entries look like this, and are - sorted on the ASCII Vendor ID string which should be - included in the comment to the right of the line of code - along with all (if it will fit) or part of the - <emphasis>Device Description</emphasis> from the output of - &man.pnpinfo.8;:</para> - - <programlisting>{0x0f804f3f, NULL}, /* OZO800f - Zoom 2812 (56k Modem) */ -{0x39804f3f, NULL}, /* OZO8039 - Zoom 56k flex */ -{0x3024a341, NULL}, /* PMC2430 - Pace 56 Voice Internal Modem */ -{0x1000eb49, NULL}, /* ROK0010 - Rockwell ? */ -{0x5002734a, NULL}, /* RSS0250 - 5614Jx3(G) Internal Modem */</programlisting> - - <para>Add the hexadecimal Vendor ID for your device in the - correct place, save the file, rebuild your kernel, and - reboot. Your device should now be found as an - <devicename>sio</devicename> device.</para> - </answer> - </qandaentry> - - <qandaentry> <question id="nlist-failed"> <para>Why do I get the error <errorname>nlist failed</errorname> when running, for example,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301130554.r0D5s6OM025658>