wpi error: bus_dmamem_alloc failed to align memory properly

Tim Kellers timothyk at wallnet.com
Mon Jan 7 07:31:15 PST 2008


vittorio wrote:
> 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
> FreeBSD hpbsd.vic 7.0-BETA4 FreeBSD 7.0-BETA4 #0: Thu Dec 27 22:18:53 CET 2007     
> root at hpbsd.vic:/usr/obj/usr/src/sys/HP03  i386
> hpbsd#
> all wpi's necessary devices are compiled in the kernel
>            device wpi
>            device pci
>            device wlan
>            device wlan_amrr
>            device firmware
>
> /var/log/messages
> kernel: wpi0: <Intel(R) PRO/Wireless 3945ABG> mem 0xd8000000-0xd8000fff irq 16 
> 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 54Mbps
> kernel: wpi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
> kernel: wpi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 
> 24Mbps 36Mbps 48Mbps 54Mbps
>
> the line 
>
> legal.intel_wpi.license_ack=1 
>
> is in /boot/loader.conf 
>
> BUT
> 1)
> it seems that sysctl is unable to find it and I have to set it via 
> kenv legal.intel_wpi.license_ack=1 in a shell.
>
> Shouldn't this variable be set by either sysctl or by loader.conf (that is is 
> 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 
> 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=1
> legal.intel_wpi.license_ack="1"
> hpbsd# kenv legal.intel_wpi.license_ack
> 1
>
> hpbsd# ifconfig wpi0 ssid "my_wireless" weptxkey 1 wepmode on wepkey 
> 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=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 
>         ether 00:19:d2:99:e3:cb
>         inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
>         media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
>         status: associated
>         ssid my_wireless channel 6 (2437 Mhz 11g) bssid 00:02:cf:61:81:fd
>         authmode OPEN privacy ON deftxkey 1 wepkey 1:40-bit txpower 50
>         bmiss 7 scanvalid 60 protmode CTS
>
>  </SNIP>
>
> Even giving an ip fixed address to wpi0 doesn't seem to work, - that is - I 
> cannot ping anything and for netstat -rn wpi0 doesn't seem to exist.
>
> Please help
> Ciao from Rome
>
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>
>
>   
Vittorio,
 
Do you have a line just like the below in your /etc/rc.conf?  I've found 
DHCP a little tricky to set up on wireless laptops, and after a Lot of 
testing, I got mine to work.  (This is getting a dhcp address from a 
Linksys router)

ifconfig_wpi0="ssid [your network name] nwkey [your network key] DHCP"

Tim


More information about the freebsd-mobile mailing list