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>