Date: Tue, 27 May 2003 02:17:06 +0900 (JST) From: Tod McQuillin <devin@spamcop.net> To: freebsd-mobile@freebsd.org Subject: Orinoco Gold trouble with SMP server Message-ID: <20030527020616.J48601@borosilicate.pun-pun.prv>
next in thread | raw e-mail | index | archive | help
I recently set up a new server to replace my old server. The old server, glass, was a DEC Celebris 6200, a Pentium Pro 200MHz machine. The new server, borosilicate, is a Compaq Professional Workstation 5100, a dual CPU Pentium II 300MHz machine. Both machines are running FreeBSD 4-stable. Everything is working fine on the new machine with the exception of the wireless network interface, a Lucent Orinico Gold pcmcia card in the Lucent ISA pcmcia adapter. At boot time, the ISA card is probed: pcic0: <Vadem 469> at port 0x3e2 iomem 0xd4000 irq 9 on isa0 pcic0: management irq 9 pccard0: <PC Card 16-bit bus (classic)> on pcic0 pccard1: <PC Card 16-bit bus (classic)> on pcic0 but when pccardd sees the card, it can't set up the driver properly: wi0 at port 0x240-0x27f irq 10 slot 0 on pccard0 wi0: wi_cmd: busy bit won't clear. wi0: wi_cmd: busy bit won't clear. wi0: init failed wi0: wi_cmd: busy bit won't clear. wi0: wi_cmd: busy bit won't clear. wi0: mac read failed 5 device_probe_and_attach: wi0 attach returned 5 On glass, the server that works, it is probed like this: pcic0: <Vadem 469> at port 0x3e0 iomem 0xd0000 irq 11 on isa0 pcic0: management irq 11 pccard0: <PC Card 16-bit bus (classic)> on pcic0 pccard1: <PC Card 16-bit bus (classic)> on pcic0 wi0 at port 0x240-0x27f irq 15 slot 0 on pccard0 wi0: 802.11 address: 00:02:2d:2b:ab:06 wi0: using Lucent Technologies, WaveLAN/IEEE wi0: Lucent Firmware: Station 8.10.01 Since the hardware works in another machine with exactly the same software, the problem must have something to do with how the two machines are different. The new server is dual CPU (though it fails the same way with a non-SMP kernel), has two pci buses and an isa bus. I gather there is some magic going on with the APIC to get the interrupts routed properly. The new server is faster (300MHz vs. 200MHz) and has more memory (512MB vs. 384MB). I suspect something to do with irq allocation (seems like we aren't getting interrupts from the card) but this is an uninformed opinion. I have been reading the list archives and changing various settings for the past week, with no success so far. Here are some of the things I have tried: * Changed the definition of pcic0 in my kernel config file. I tried both port 0x3e0 iomem 0xd0000 and port 0x3e2 iomem 0xd4000 (this requires changing a jumper on the ISA card). I also tried irq's 9 and 10 as well as polling mode. * Changed settings in /etc/defaults/pccardd.conf. I tried irq's 9, 10 and 12. * Added hw.pcic.intr_path="1" and hw.pcic.init_routing="1" to /boot/loader.conf in varying combinations. * Tried both with and without options PNPBIOS in the kernel config. * Tried a non-SMP kernel. Any suggestions would be most appreciated! Following are the relevant configuration details for the failing server (borosilicate). I have also provided more configuration details on the web at http://distalzou.net/freebsd/ (there is probably too much info there for one email). dmesg output: Copyright (c) 1992-2003 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.8-STABLE #0: Fri May 23 08:24:46 JST 2003 devin@borosilicate.pun-pun.prv:/usr/obj/usr/src/4-stable/src/sys/BOROSILICATE Timecounter "i8254" frequency 1193182 Hz CPU: Pentium II/Pentium II Xeon/Celeron (299.94-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x634 Stepping = 4 Features=0x80fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,MMX> real memory = 536870912 (524288K bytes) avail memory = 518098944 (505956K bytes) APIC_IO: MP table broken: 8259->APIC entry missing! Programming 24 pins in IOAPIC #0 FreeBSD/SMP: Multiprocessor motherboard cpu0 (BSP): apic id: 1, version: 0x00040011, at 0xfee00000 cpu1 (AP): apic id: 0, version: 0x00040011, at 0xfee00000 io0 (APIC): apic id: 8, version: 0x00170011, at 0xfec00000 Preloaded elf kernel "kernel" at 0xc042d000. Pentium Pro MTRR support enabled md0: Malloc disk npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <ServerWorks NB6536 2.0HE host to PCI bridge> on motherboard IOAPIC #0 intpin 19 -> irq 2 IOAPIC #0 intpin 18 -> irq 11 IOAPIC #0 intpin 17 -> irq 15 pci0: <PCI bus> on pcib0 pci0: <Matrox MGA Millennium II 2164W graphics accelerator> at 3.0 irq 2 pci0: <Matrox MGA Millennium II 2164W graphics accelerator> at 4.0 irq 11 fxp0: <Intel 82557/8/9 EtherExpress Pro/100(B) Ethernet> port 0x6000-0x601f mem 0xc0200000-0xc02fffff,0xc0480000-0xc0480fff irq 15 at device 5.0 on pci0 fxp0: Ethernet address 00:a0:c9:c8:b6:2f inphy0: <i82555 10/100 media interface> on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto atapci0: <Promise TX2 ATA100 controller> port 0x6020-0x602f,0x6054-0x6057,0x6048-0x604f,0x6050-0x6053,0x6040-0x6047 mem 0xc0400000-0xc0403fff irq 16 at device 6.0 on pci0 ata2: at 0x6040 on atapci0 ata3: at 0x6048 on atapci0 isab0: <PCI to ISA bridge (vendor=0e11 device=a0f3)> at device 15.0 on pci0 isa0: <ISA bus> on isab0 atapci1: <Generic PCI ATA controller> port 0x6030-0x603f,0-0x3,0-0x7,0-0x3,0-0x7 irq 15 at device 15.1 on pci0 ata0: at 0x1f0 irq 14 on atapci1 ata1: at 0x170 irq 15 on atapci1 pcib1: <ServerWorks NB6536 2.0HE host to PCI bridge> on motherboard IOAPIC #0 intpin 23 -> irq 17 IOAPIC #0 intpin 20 -> irq 18 IOAPIC #0 intpin 21 -> irq 19 pci1: <PCI bus> on pcib1 ohci0: <OHCI (generic) USB controller> mem 0xc0000000-0xc0000fff irq 17 at device 10.0 on pci1 usb0: OHCI version 1.0, legacy support usb0: <OHCI (generic) USB controller> on ohci0 usb0: USB revision 1.0 uhub0: (0x0e11) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered ums0: Logitech USB Receiver, rev 1.10/9.10, addr 2, iclass 3/1 ums0: 5 buttons and Z dir. tl0: <Compaq Netelligent 10/100 TX UTP> port 0x5400-0x540f mem 0xc0180000-0xc018000f irq 18 at device 11.0 on pci1 tl0: Ethernet address: 00:80:5f:9b:03:c6 miibus1: <MII bus> on tl0 nsphy0: <DP83840 10/100 media interface> on miibus1 nsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto tlphy0: <ThunderLAN 10baseT media interface> on miibus1 tlphy0: 10base2/BNC, 10base5/AUI sym0: <875> port 0x5000-0x50ff mem 0xc0080000-0xc0080fff,0xc0100000-0xc01000ff irq 19 at device 12.0 on pci1 sym0: No NVRAM, ID 7, Fast-20, SE, parity checking orm0: <Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xcbfff,0xcc000-0xce7ff on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> pcic0: <Vadem 469> at port 0x3e2 iomem 0xd4000 irq 9 on isa0 pcic0: management irq 9 pccard0: <PC Card 16-bit bus (classic)> on pcic0 pccard1: <PC Card 16-bit bus (classic)> on pcic0 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/8 bytes threshold plip0: <PLIP network interface> on ppbus0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 sbc0: <ESS ES1868> at port 0x220-0x22f,0x388-0x38b,0x330-0x331 irq 5 drq 1,0 on isa0 pcm0: <ESS 18xx DSP> on sbc0 unknown: <PNP0401> can't assign resources unknown: <PNP0501> can't assign resources unknown: <PNP0501> can't assign resources unknown: <PNP0700> can't assign resources unknown: <PNP0303> can't assign resources APIC_IO: routing 8254 via 8259 and IOAPIC #0 intpin 0 ipfw2 initialized, divert enabled, rule-based forwarding enabled, default to deny, logging limited to 20 packets/entry by default IPsec: Initialized Security Association Processing. SMP: AP CPU #1 Launched! ad4: 114473MB <ST3120024A> [232581/16/63] at ata2-master UDMA100 Waiting 3 seconds for SCSI devices to settle pccard: card inserted, slot 0 (probe5:sym0:0:5:0): phase change 6-7 6@1f14bf8c resid=4. Mounting root from ufs:/dev/ad4s1a cd0 at sym0 bus 0 target 5 lun 0 cd0: <COMPAQ CD-ROM CR-503BCQ 1.1c> Removable CD-ROM SCSI-2 device cd0: 3.300MB/s transfers cd0: cd present [312514 x 2048 byte records] Kernel config file: machine i386 cpu I686_CPU ident BOROSILICATE maxusers 0 #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols options INET #InterNETworking options IPFIREWALL options IPFW2 options IPDIVERT options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=20 options IPSEC options IPSEC_ESP options NETATALK options FFS #Berkeley Fast Filesystem options FFS_ROOT #FFS usable as root device [keep this!] options SOFTUPDATES #Enable FFS soft updates support options UFS_DIRHASH #Improve performance on big directories options MFS #Memory Filesystem options NFS #Network Filesystem options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem options FDESC #File descriptor filesystem options KERNFS #Kernel filesystem options PROCFS #Process filesystem options EXT2FS options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=3000 #Delay (in ms) before probing SCSI options UCONSOLE #Allow users to grab the console options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options P1003_1B #Posix P1003_1B real-time extensions options _KPOSIX_PRIORITY_SCHEDULING options ICMP_BANDLIM #Rate limit bad replies options KBD_INSTALL_CDEV # install a CDEV entry in /dev options USER_LDT # To make an SMP kernel, the next two are needed options SMP # Symmetric MultiProcessor Kernel options APIC_IO # Symmetric (APIC) I/O # To support HyperThreading, HTT is needed in addition to SMP and APIC_IO #options HTT # HyperThreading Technology options NETGRAPH options NETGRAPH_PPPOE options NETGRAPH_SOCKET options NETGRAPH_ETHER options PNPBIOS device isa device pci # Floppy drives device fdc0 at isa? port IO_FD1 irq 6 drq 2 device fd0 at fdc0 drive 0 # ATA and ATAPI devices #device ata0 at isa? port IO_WD1 irq 14 #device ata1 at isa? port IO_WD2 irq 15 device ata device atadisk # ATA disk drives device atapicd # ATAPI CDROM drives options ATA_STATIC_ID #Static device numbering # SCSI Controllers device sym # NCR/Symbios Logic (newer chipsets) # SCSI peripherals device scbus # SCSI bus (required) device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access) # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc0 at isa? port IO_KBD device atkbd0 at atkbdc? irq 1 flags 0x1 device psm0 at atkbdc? irq 12 device vga0 at isa? # splash screen/screen saver pseudo-device splash # syscons is the default console driver, resembling an SCO console device sc0 at isa? flags 0x100 # Floating point support - do not disable. device npx0 at nexus? port IO_NPX irq 13 # PCCARD (PCMCIA) support device card device pcic0 at isa? irq 9 port 0x3e2 iomem 0xd4000 # Serial (COM) ports device sio0 at isa? port IO_COM1 flags 0x10 irq 4 device sio1 at isa? port IO_COM2 irq 3 # Parallel port device ppc0 at isa? irq 7 device ppbus # Parallel port bus (required) device lpt # Printer device plip # TCP/IP over parallel device ppi # Parallel port interface device #device vpo # Requires scbus and da # PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! device miibus # MII bus support device fxp # Intel EtherExpress PRO/100B (82557, 82558) device tl # Texas Instruments ThunderLAN # WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really # exists only as a PCMCIA device, so there is no ISA attachment needed # and resources will always be dynamically assigned by the pccard code. device wi # Pseudo devices - the number indicates how many units to allocate. pseudo-device loop # Network loopback pseudo-device ether # Ethernet support pseudo-device sl 1 # Kernel SLIP pseudo-device ppp 1 # Kernel PPP options PPP_FILTER pseudo-device tun # Packet tunnel. pseudo-device pty # Pseudo-ttys (telnet etc) pseudo-device md # Memory "disks" pseudo-device gif # IPv6 and IPv4 tunneling pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation) # The `bpf' pseudo-device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! pseudo-device bpf #Berkeley packet filter # USB support device ohci # OHCI PCI->USB interface device usb # USB Bus (required) device ugen # Generic device uhid # "Human Interface Devices" device ukbd # Keyboard device ulpt # Printer device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse device uscanner # Scanners pseudo-device speaker #Play IBM BASIC-style noises out your speaker pseudo-device vn #Vnode driver (turns a file into a device) device pcm #Sound More details: http://distalzou.net/freebsd/ -- Tod McQuillin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030527020616.J48601>