Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Jan 2008 07:55:29 +0100
From:      vittorio <vdemart1@tin.it>
To:        freebsd-mobile@freebsd.org
Subject:   Re: wpi error: bus_dmamem_alloc failed to align memory properly
Message-ID:  <200801080755.29509.vdemart1@tin.it>
In-Reply-To: <47823E96.6040206@wallnet.com>
References:  <200801061852.29274.vdemart1@tin.it> <200801071435.34302.vdemart1@tin.it> <47823E96.6040206@wallnet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Il Monday 07 January 2008 16:00:38 Tim Kellers ha scritto:
> 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@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@freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> > To unsubscribe, send any mail to
> > "freebsd-questions-unsubscribe@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
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe@freebsd.org"

I added the line but the dhcp operation fails exactly in the same way as I 
described in my original message.

No DHCPOFFERS received.
No working leases in persistent database - sleeping.

Instead, a new error pops up in /var/log/messages

wpi0: wpi_cmd: cmd 72 not sent, busy
wpi0: wpi_cmd: cmd 72 not sent, busy

What's going on?

Ciao
Vittorio



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