Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Jan 2008 14:35:33 +0100
From:      vittorio <vdemart1@tin.it>
To:        freebsd-mobile@freebsd.org
Cc:        freebsd-questions@freebsd.org
Subject:   Re: wpi error: bus_dmamem_alloc failed to align memory properly
Message-ID:  <200801071435.34302.vdemart1@tin.it>
In-Reply-To: <47818BED.1000701@clearchain.com>
References:  <200801061852.29274.vdemart1@tin.it> <47818BED.1000701@clearchain.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Il Monday 07 January 2008 03:18:21 Benjamin Close ha scritto:
> vittorio wrote:
> > Context: HP laptop DV6000, centrino duo, FreeBSD 7.0-BETA4
> > When loading if_wpi I get the following line saying that
> > "bus_dmamem_alloc failed to align memory properly"
> > <SNIP>
> > wpi0: <Intel(R) PRO/Wireless 3945ABG> mem 0xd8000000-0xd8000fff irq 16 =
at
> > device 0.0 on pci2
> > bus_dmamem_alloc failed to align memory properly.
> > last message repeated 30 times
> > wpi0: Ethernet address: 00:19:d2:99:e3:cb
> > wpi0: [ITHREAD]
> > wpi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
> > wpi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
> > wpi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps
> > 24Mbps 36Mbps 48Mbps 54
> > </SNIP>
> >
> > Therefore I'm unable to make wpi0 work at all.
> >
> > Could you please tell me what should I do?
> >
> > Ciao, Vittorio
>
> The bus_dmamem_alloc message is harmless in your case. Due to
> limitations in the freebsd allocator, sometimes requesting a 16k aligned
> block of dma memory fails. As a temporary work around the wpi driver
> reattempts the allocation. If it truely does fail you'll not get a wpi0
> device showing up, which clearly you did :).
>
> These warning messages will go away when I sync the next lot of updates
> to the driver which aren't quite ready yet.
>
> Can you describe a little more what you mean by wpi doesn't work?
>
> Cheers,
>     Benjamin
>     wpi driver maintainer


Ben,
here you are a longer explanation

Context:
Router ZyXEL ADSL+2 with dhcp up and running

Laptop HP Pavillion Entertainment DV6000 intel centrino duo 2GB of memory
hpbsd# uname -a
=46reeBSD hpbsd.vic 7.0-BETA4 FreeBSD 7.0-BETA4 #0: Thu Dec 27 22:18:53 CET=
 2007 =A0 =A0=20
root@hpbsd.vic:/usr/obj/usr/src/sys/HP03 =A0i386
hpbsd#
all wpi's necessary devices are compiled in the kernel
=A0=A0=A0=A0=A0=A0=A0=A0 =A0 device wpi
=A0 =A0 =A0 =A0 =A0 =A0device pci
=A0 =A0 =A0 =A0 =A0 =A0device wlan
=A0 =A0 =A0 =A0 =A0 =A0device wlan_amrr
=A0 =A0 =A0 =A0 =A0 =A0device firmware

/var/log/messages
kernel: wpi0: <Intel(R) PRO/Wireless 3945ABG> mem 0xd8000000-0xd8000fff irq=
 16=20
at device 0.0 on pci2
kernel: wpi0: Ethernet address: 00:19:d2:99:e3:cb
kernel: wpi0: [ITHREAD]
kernel: wpi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54M=
bps
kernel: wpi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
kernel: wpi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mb=
ps=20
24Mbps 36Mbps 48Mbps 54Mbps

the line=20

legal.intel_wpi.license_ack=3D1=20

is in /boot/loader.conf=20

BUT
1)
it seems that sysctl is unable to find it and I have to set it via=20
kenv legal.intel_wpi.license_ack=3D1 in a shell.

Shouldn't this variable be set by either sysctl or by loader.conf (that is =
is=20
a system variable) OR is it supposed to be set via kenv only?

2)
dhclient is unable to get an IP address (BTW trying to set wpi0 up with a=20
fixed IP makes wpi0 not associated to any AP)

Here it is a session log

<SNIP>
hpbsd# sysctl -a|grep legal
hpbsd#
hpbsd# kenv legal.intel_wpi.license_ack=3D1
legal.intel_wpi.license_ack=3D"1"
hpbsd# kenv legal.intel_wpi.license_ack
1

hpbsd# ifconfig wpi0 ssid "my_wireless" weptxkey 1 wepmode on wepkey=20
0x1f7b0a5a0d

hpbsd# dhclient wpi0
DHCPDISCOVER on wpi0 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on wpi0 to 255.255.255.255 port 67 interval 12
DHCPDISCOVER on wpi0 to 255.255.255.255 port 67 interval 9
DHCPDISCOVER on wpi0 to 255.255.255.255 port 67 interval 18
DHCPDISCOVER on wpi0 to 255.255.255.255 port 67 interval 12
DHCPDISCOVER on wpi0 to 255.255.255.255 port 67 interval 5
No DHCPOFFERS received.
No working leases in persistent database - sleeping.

hpbsd# ifconfig wpi0
wpi0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 150=
0=20
=A0 =A0 =A0 =A0 ether 00:19:d2:99:e3:cb
=A0 =A0 =A0 =A0 inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
=A0 =A0 =A0 =A0 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbp=
s)
=A0 =A0 =A0 =A0 status: associated
=A0 =A0 =A0 =A0 ssid my_wireless channel 6 (2437 Mhz 11g) bssid 00:02:cf:61=
:81:fd
=A0 =A0 =A0 =A0 authmode OPEN privacy ON deftxkey 1 wepkey 1:40-bit txpower=
 50
=A0 =A0 =A0 =A0 bmiss 7 scanvalid 60 protmode CTS

=A0</SNIP>

Even giving an ip fixed address to wpi0 doesn't seem to work, - that is - I=
=20
cannot ping anything and for netstat -rn wpi0 doesn't seem to exist.

Please help
Ciao from Rome




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801071435.34302.vdemart1>