OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
ipw freezes my system

From: Alexander Nasonov (alnsnyandex.ru)
Date: Wed Apr 23 2008 - 15:53:34 CDT


Hi,
I'm running 4.2 with -current kernel on a centrino notebook with
Intel PRO/Wireless 2100 netword card. I installed ipw-firmware-1.3
but any attempt to configure the card freezes my system.
For instance, if I type

# /sbin/ifconfig -M ipw0

the system gets blocked in tsleep("ipwinit").

If I replace a call to tsleep in ipw_load_firmware with

        uint32_t mask = 0, term = IPW_INTR_FATAL_ERROR |
                IPW_INTR_PARITY_ERROR | IPW_INTR_FW_INIT_DONE;

        /* XXX: timeout */
        while( !(mask & term) )
                mask = CSR_READ_4(sc, IPW_CSR_INTR);

        return (mask & IPW_INTR_FW_INIT_DONE) ? 0 : ENODEV;

the system would block in tsleep("ipwcmd").

I looked at source code of linux ipw2100 project and I didn't like
the way they do it. I'm not a hardware developer, though.

I plan to continue looking into the problem but I need a direction
from experienced folks.
Thanks in advance,
--
Alex

$ dmesg
OpenBSD 4.2-current (GENERIC) #0: Sun Apr 20 23:20:57 BST 2008
    alnsnobx1000:/home/alnsn/bsds/openbsd-current/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Pentium(R) M processor 1300MHz ("GenuineIntel" 686-class) 1.30 GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,TM,SBF,EST,TM2
real mem = 536244224 (511MB)
avail mem = 510627840 (486MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 09/30/03, BIOS32 rev. 0 0xf0000, SMBIOS rev. 2.3 0xfb78b (17 entries)
bios0: vendor Hewlett-Packard version "68BAL Ver. F.10" date 09/30/2003
bios0: Hewlett-Packard Compaq Presario X1000 DN585A#ABA
apm0 at bios0: Power Management spec V1.2 (BIOS managing devices)
apm0: AC on, battery charge unknown
acpi at bios0 function 0x0 not configured
pcibios0 at bios0: rev 2.1 0xf0000/0x2000
pcibios0: PCI IRQ Routing Table rev 1.0 0xf0840/176 (9 entries)
pcibios0: bad IRQ table checksum
pcibios0: PCI IRQ Routing Table rev 1.0 0xf99f0/176 (9 entries)
pcibios0: PCI Exclusive IRQs: 5 10 11
pcibios0: PCI Interrupt Router at 000:31:0 ("Intel 82801DBM LPC" rev 0x00)
pcibios0: PCI bus #3 is the last bus
bios0: ROM list: 0xc0000/0x10000 0xd4000/0x1000
cpu0 at mainbus0
cpu0: Enhanced SpeedStep 1300 MHz (1388 mV): speeds: 1300, 1200, 1000, 800, 600 MHz
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "Intel 82855PE Hub" rev 0x03
agp0 at pchb0: aperture at 0xb0000000, size 0x10000000
ppb0 at pci0 dev 1 function 0 "Intel 82855PE AGP" rev 0x03
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "ATI Radeon Mobility M9 Lf" rev 0x01
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
uhci0 at pci0 dev 29 function 0 "Intel 82801DB USB" rev 0x01: irq 10
uhci1 at pci0 dev 29 function 1 "Intel 82801DB USB" rev 0x01: irq 5
uhci2 at pci0 dev 29 function 2 "Intel 82801DB USB" rev 0x01: irq 5
ehci0 at pci0 dev 29 function 7 "Intel 82801DB USB" rev 0x01: irq 5
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb1 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0x81
pci2 at ppb1 bus 2
"VIA VT6306 FireWire" rev 0x80 at pci2 dev 0 function 0 not configured
re0 at pci2 dev 1 function 0 "Realtek 8139" rev 0x20: RTL8139C+ (0x7480), irq 10, address 00:02:3f:63:eb:1b
rlphy0 at re0 phy 0: RTL internal PHY
ipw0 at pci2 dev 2 function 0 "Intel PRO/Wireless 2100" rev 0x04: irq 11, address 00:04:23:62:22:f3
cbb0 at pci2 dev 4 function 0 "ENE CB-1410 CardBus" rev 0x00: irq 5
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 3 device 0 cacheline 0x8, lattimer 0x20
pcmcia0 at cardslot0
ichpcib0 at pci0 dev 31 function 0 "Intel 82801DBM LPC" rev 0x01: 24-bit timer at 3579545Hz
pciide0 at pci0 dev 31 function 1 "Intel 82801DBM IDE" rev 0x01: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <IC25N040ATMR04-0>
wd0: 16-sector PIO, LBA48, 38154MB, 78140160 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
atapiscsi0 at pciide0 channel 1 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <QSI, CDRW/DVD SBW-241, VH04> SCSI0 5/cdrom removable
cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2
ichiic0 at pci0 dev 31 function 3 "Intel 82801DB SMBus" rev 0x01: irq 10
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 256MB DDR SDRAM non-parity PC2100CL2.5
spdmem1 at iic0 addr 0x51: 256MB DDR SDRAM non-parity PC2100CL2.5
auich0 at pci0 dev 31 function 5 "Intel 82801DB AC97" rev 0x01: irq 10, ICH4 AC97
ac97: codec id 0x41445374 (Analog Devices AD1981B)
ac97: codec features headphone, 20 bit DAC, No 3D Stereo
audio0 at auich0
"Intel 82801DB Modem" rev 0x01 at pci0 dev 31 function 6 not configured
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at ichpcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pmsi0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pmsi0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom2: irq 5 already in use
biomask e76d netmask ef6d ttymask ffef
mtrr: Pentium Pro MTRR support
softraid0 at root
root on wd0a swap on wd0b dump on wd0b