Date: Wed, 11 Aug 2004 09:52:02 -0700 (PDT) From: Rostislav Krasny <rosti_bsd@yahoo.com> To: Dan Nelson <dnelson@allantgroup.com> Cc: freebsd-arch@freebsd.org Subject: Re: adv(4) bandaid [Was Re: again question about "IRQ 2 problem"] Message-ID: <20040811165202.51422.qmail@web14822.mail.yahoo.com> In-Reply-To: <20040811022753.GD6474@dan.emsphone.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--- Dan Nelson <dnelson@allantgroup.com> wrote: > In the last episode (Aug 10), Rostislav Krasny said: > > unknown: <PNP0303> can't assign resources (port) > > unknown: <PNP0303> at port 0x60 on isa0 > > unknown: <PNP0800> failed to probe at port 0x61 on isa0 > > unknown: <PNP0a03> can't assign resources (port) > > unknown: <PNP0a03> at port 0x4d0-0x4d1 on isa0 > > unknown: <PNP0c02> can't assign resources (port) > > unknown: <PNP0c02> at port 0x208-0x20f on isa0 > > unknown: <PNP0501> can't assign resources (port) > > unknown: <PNP0501> at port 0x3f8-0x3ff on isa0 > > unknown: <PNP0700> can't assign resources (port) > > unknown: <PNP0700> at port 0x3f2-0x3f5 on isa0 > > unknown: <PNP0401> can't assign resources (port) > > unknown: <PNP0401> at port 0x378-0x37f on isa0 > > unknown: <PNP0501> can't assign resources (port) > > unknown: <PNP0501> at port 0x2f8-0x2ff on isa0 > > > > P.S. What are these "unknown: <PNPXXXX>..." messages? I don't have > > so many PnP devices. And my speaker (port 0x61) is working > > properly. I even can run 'kldload -v /boot/kernel/speaker.ko' and > > then 'morse -p -e -w 23 I am a 5.2-CURRENT, test me.' :-) > > PNP* devices are standard motherboard resources, like the keyboard > (PNP0303) and serial port (PNP0501). There's a table at > http://www.plasma-online.de/english/identify/serial/pnp_id_pnp.html > that lists a lot of them. My -current kernel correctly matches these > up to known devices, though: > > $ devinfo -v | grep PNP0303 > atkbdc0 pnpinfo _HID=PNP0303 _UID=0 at handle=\_SB_.PCI0.ISA_.KBC_ After a little googling I've found that PNPXXXX strings are "Microsoft PnP Device Identification Codes". According to http://www.mclibrary.edu.mn/itbooks/repair_pcs/Chapter_35.pdf all devices in PnP compatable system should have such a code: ==== start of citation ==== For the PC to recognize and configure a PnP device, each and every device must be able to identify itself and its resource requirements to the system—even motherboard busses and devices must be able to identify themselves. Identification is accomplished through a seven-character code. Each manufacturer is assigned a three-character prefix, the following character identifies the device type, and the remaining three characters identify the particular device. For example, the PnP code PNP0907 identifies a “Western Digital VGA” device adapter. Microsoft reserves the code “PNP” for itself, but other manufacturers are assigned their own codes (e.g., Creative Labs uses the “CTL” prefix). The advantage of Microsoft’s prefixes is that they are “generic,” and you can usually identify a device adequately by utilizing the Microsoft generic equivalent. ===== end of citation ===== In my system the output of 'devinfo -v | grep PNP0303' is nothing. But output of 'devinfo -v | grep pnpinfo' is as following: # devinfo -v | grep pnpinfo hostb0 pnpinfo vendor=0x8086 device=0x7100 subvendor=0x0000 subdevice=0x0000 class=0x060000 at slot=0 function=0 isab0 pnpinfo vendor=0x8086 device=0x7110 subvendor=0x0000 subdevice=0x0000 class=0x060100 at slot=7 function=0 atapci0 pnpinfo vendor=0x8086 device=0x7111 subvendor=0x0000 subdevice=0x0000 class=0x010180 at slot=7 function=1 uhci0 pnpinfo vendor=0x8086 device=0x7112 subvendor=0x0000 subdevice=0x0000 class=0x0c0300 at slot=7 function=2 piix0 pnpinfo vendor=0x8086 device=0x7113 subvendor=0x0000 subdevice=0x0000 class=0x068000 at slot=7 function=3 xl0 pnpinfo vendor=0x10b7 device=0x9200 subvendor=0x10b7 subdevice=0x1000 class=0x020000 at slot=17 function=0 unknown pnpinfo vendor=0x1002 device=0x4755 subvendor=0x1002 subdevice=0x4755 class=0x030000 at slot=19 function=0 What is the prospective behaviour of FreeBSD 5.2-CURRENT with those PNP* devices like PNP0303 and PNP0800? This is an old Pentium MMX 200MHz, based on Intel 430TX chipset, system. BTW I think I've found a bug in devinfo(8). Try following scenario on your system: 1. log in as a root and make sure that 'speaker.ko' isn't loaded automatically during boot 2. run 'kldload -v /boot/kernel/speaker.ko' 3. run 'kldunload speaker' 4. run devinfo -v After the last step I've got following on the console: Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00 fault virtual address = 0xc17429b7 fault code = supervisor read, page not present instruction pointer = 0x8:0xc06597f0 stack pointer = 0x10:0x857da18 frame pointer = 0x10:0x857da24 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 492 (devinfo) [thread 100059] Stopped at strlcpy+0x1c: movb 0(%edx),%al db> trace strlcpy(c857da60,c17429b7,20) at strlcpy+0x1c sysctl_devices(c084d9c0,c857dc90,2,c857dc08,c084d9c0) at sysctl_devices()+0xb8 sysctl_root(0,c857dc84,5,c857dc08,c146e580) at sysctl_root()+0x11b userland_sysctl(c146e580,c857dc84,5,bfbfeaf0,bfbfea50) at userland_sysctl()+0xec __sysctl(c146e580,c857dd14,6,9,292) at __sysctl()+0x71 syscall(2f,2f,2f,5,bfbfea50) at syscall()+0x217 Xint80_syscall() at Xint80_syscall()+0x1f --- syscall (202, FreeBSD ELF32, __sysctl), eip = 0x280c3723, esp = 0xbfbfe9dc, ebp = 0xbfbfea18 --- db> __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - Send 10MB messages! http://promotions.yahoo.com/new_mail
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040811165202.51422.qmail>