iwm(4) works now, but 2.4GHz only.
> iwm0 at pci2 dev 0 function 0: Intel Dual Band Wireless AC 3160 (rev. 0x83) > iwm0: interrupting at ioapic0 pin 18 > iwm0: hw rev: 0x160, fw ver 25.228 (API ver 9), address XX:XX:XX:XX:XX:XX > iwm0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps > iwm0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
This commit is contained in:
parent
2f421602b2
commit
f8baa4e97e
@ -1,4 +1,4 @@
|
||||
# $NetBSD: mi,v 1.1095 2015/01/26 00:20:19 christos Exp $
|
||||
# $NetBSD: mi,v 1.1096 2015/02/13 18:57:46 nonaka Exp $
|
||||
#
|
||||
# Note: Don't delete entries from here - mark them as "obsolete" instead,
|
||||
# unless otherwise stated below.
|
||||
@ -145,6 +145,16 @@
|
||||
./libdata/firmware/if_iwi/ipw2200-bss.fw base-firmware-root
|
||||
./libdata/firmware/if_iwi/ipw2200-ibss.fw base-firmware-root
|
||||
./libdata/firmware/if_iwi/ipw2200-sniffer.fw base-firmware-root
|
||||
./libdata/firmware/if_iwm base-firmware-root
|
||||
./libdata/firmware/if_iwm/LICENSE.iwlwifi-3160-ucode base-firmware-root
|
||||
./libdata/firmware/if_iwm/LICENSE.iwlwifi-7260-ucode base-firmware-root
|
||||
./libdata/firmware/if_iwm/LICENSE.iwlwifi-7265-ucode base-firmware-root
|
||||
./libdata/firmware/if_iwm/README.iwlwifi-3160-ucode base-firmware-root
|
||||
./libdata/firmware/if_iwm/README.iwlwifi-7260-ucode base-firmware-root
|
||||
./libdata/firmware/if_iwm/README.iwlwifi-7265-ucode base-firmware-root
|
||||
./libdata/firmware/if_iwm/iwlwifi-3160-9.ucode base-firmware-root
|
||||
./libdata/firmware/if_iwm/iwlwifi-7260-9.ucode base-firmware-root
|
||||
./libdata/firmware/if_iwm/iwlwifi-7265-9.ucode base-firmware-root
|
||||
./libdata/firmware/if_iwn base-firmware-root
|
||||
./libdata/firmware/if_iwn/LICENSE.iwlwifi-100-ucode base-firmware-root
|
||||
./libdata/firmware/if_iwn/LICENSE.iwlwifi-1000-ucode base-firmware-root
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $NetBSD: NetBSD.dist.base,v 1.142 2015/01/25 15:49:39 christos Exp $
|
||||
# $NetBSD: NetBSD.dist.base,v 1.143 2015/02/13 18:57:47 nonaka Exp $
|
||||
# @(#)4.4BSD.dist 8.1 (Berkeley) 6/13/93
|
||||
|
||||
# Do not customize this file as it may be overwritten on upgrades.
|
||||
@ -68,6 +68,7 @@
|
||||
./libdata/firmware/if_athn
|
||||
./libdata/firmware/if_ipw
|
||||
./libdata/firmware/if_iwi
|
||||
./libdata/firmware/if_iwm
|
||||
./libdata/firmware/if_iwn
|
||||
./libdata/firmware/if_otus
|
||||
./libdata/firmware/if_urtwn
|
||||
|
7
external/intel-fw-public/Makefile
vendored
7
external/intel-fw-public/Makefile
vendored
@ -1,6 +1,7 @@
|
||||
# $NetBSD: Makefile,v 1.8 2014/10/30 13:05:58 nonaka Exp $
|
||||
# $NetBSD: Makefile,v 1.9 2015/02/13 18:57:47 nonaka Exp $
|
||||
|
||||
SUBDIR+= ipw3945 iwl100 iwl105 iwl135 iwl1000 iwl2000 iwl2030 \
|
||||
iwl4965 iwl5000 iwl5150 iwl6000 iwl6005 iwl6030 iwl6050
|
||||
SUBDIR+= ipw3945 iwl100 iwl105 iwl135 iwl1000 iwl2000 iwl2030 iwl3160 \
|
||||
iwl4965 iwl5000 iwl5150 iwl6000 iwl6005 iwl6030 iwl6050 \
|
||||
iwl7260 iwl7265
|
||||
|
||||
.include <bsd.subdir.mk>
|
||||
|
10
external/intel-fw-public/iwl3160/Makefile
vendored
Normal file
10
external/intel-fw-public/iwl3160/Makefile
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
# $NetBSD: Makefile,v 1.1 2015/02/13 18:57:47 nonaka Exp $
|
||||
|
||||
NOMAN= # define
|
||||
|
||||
FILES= dist/LICENSE.iwlwifi-3160-ucode dist/README.iwlwifi-3160-ucode \
|
||||
dist/iwlwifi-3160-9.ucode
|
||||
|
||||
FILESDIR= /libdata/firmware/if_iwm
|
||||
|
||||
.include <bsd.files.mk>
|
39
external/intel-fw-public/iwl3160/dist/LICENSE.iwlwifi-3160-ucode
vendored
Normal file
39
external/intel-fw-public/iwl3160/dist/LICENSE.iwlwifi-3160-ucode
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
Copyright (c) 2014, Intel Corporation.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution. Redistribution and use in binary form, without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions must reproduce the above copyright notice and the
|
||||
following disclaimer in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
* Neither the name of Intel Corporation nor the names of its suppliers
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
* No reverse engineering, decompilation, or disassembly of this software
|
||||
is permitted.
|
||||
|
||||
Limited patent license. Intel Corporation grants a world-wide,
|
||||
royalty-free, non-exclusive license under patents it now or hereafter
|
||||
owns or controls to make, have made, use, import, offer to sell and
|
||||
sell ("Utilize") this software, but solely to the extent that any
|
||||
such patent is necessary to Utilize the software alone, or in
|
||||
combination with an operating system licensed under an approved Open
|
||||
Source license as listed by the Open Source Initiative at
|
||||
http://opensource.org/licenses. The patent license shall not apply to
|
||||
any other combinations which include this software. No hardware per
|
||||
se is licensed hereunder.
|
||||
|
||||
DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
||||
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGE.
|
113
external/intel-fw-public/iwl3160/dist/README.iwlwifi-3160-ucode
vendored
Normal file
113
external/intel-fw-public/iwl3160/dist/README.iwlwifi-3160-ucode
vendored
Normal file
@ -0,0 +1,113 @@
|
||||
Intel Wireless WiFi Link 3160 AC Adapter
|
||||
Copyright (C) 2014 Intel Corporation. All rights reserved.
|
||||
|
||||
Microcode Package README.iwlwifi-3160-ucode
|
||||
|
||||
INDEX
|
||||
|
||||
1. OVERVIEW
|
||||
2. INSTALLATION
|
||||
3. LICENSE
|
||||
|
||||
|
||||
1. OVERVIEW
|
||||
|
||||
The file iwlwifi-3160-9.ucode provided in this package must be
|
||||
present on your system in order for the Intel Wireless WiFi Link
|
||||
AGN driver for Linux (iwlwifi) to operate on your system.
|
||||
|
||||
The "-9" in the filename reflects an interface/architecture version number.
|
||||
It will change only when changes in new uCode releases make the new uCode
|
||||
incompatible with earlier drivers.
|
||||
|
||||
On adapter initialization, and at varying times during the uptime of
|
||||
the adapter, the microcode is loaded into the memory on the network
|
||||
adapter. The microcode provides the low level MAC features including
|
||||
radio control and high precision timing events (backoff, transmit,
|
||||
etc.) while also providing varying levels of packet filtering which can
|
||||
be used to keep the host from having to handle packets that are not of
|
||||
interest given the current operating mode of the device.
|
||||
|
||||
2. INSTALLATION
|
||||
|
||||
The iwlwifi driver will look for the file iwlwifi-3160-9.ucode using the
|
||||
kernel's firmware_class infrastructure. More information can be found under
|
||||
Documentation/firmware_class in kernel source. In order to function
|
||||
correctly, you need to have this support enabled in your kernel. When
|
||||
you configure the kernel, you can find this option in the following
|
||||
location:
|
||||
|
||||
Device Drivers ->
|
||||
Generic Driver Options ->
|
||||
Userspace firmware loading support
|
||||
|
||||
|
||||
You can determine if your kernel currently has firmware loader support
|
||||
by looking for the CONFIG_FW_LOADER definition on your kernel's
|
||||
.config.
|
||||
|
||||
In addition to having the firmware_class support in your kernel, you
|
||||
must also have a working udev and uevent infrastructure configured.
|
||||
The steps for installing and configuring udev are very
|
||||
distribution specific.
|
||||
|
||||
Once you have the firmware loader in place (or if you aren't sure and
|
||||
you just want to try things to see if it works), you need to install
|
||||
the microcode file into the appropriate location.
|
||||
|
||||
Where that appropriate location is depends (again) on your system
|
||||
distribution. You can typically find this location by looking in the
|
||||
udev scripts of your distro, the default is /lib/firmware.
|
||||
|
||||
Installation of the firmware is simply:
|
||||
|
||||
% cp iwlwifi-3160-9.ucode /lib/firmware
|
||||
|
||||
You can now load the driver (see the INSTALL and README.iwlwifi provided with
|
||||
the iwlwifi package for information on building and using that driver.)
|
||||
|
||||
3. LICENSE
|
||||
|
||||
The microcode in this package (iwlwifi-3160-9.ucode) is provided under the
|
||||
terms of the following license (available in the file
|
||||
LICENSE.iwlwifi-3160-ucode):
|
||||
|
||||
Copyright (c) 2014, Intel Corporation.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution. Redistribution and use in binary form, without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions must reproduce the above copyright notice and the
|
||||
following disclaimer in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
* Neither the name of Intel Corporation nor the names of its suppliers
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
* No reverse engineering, decompilation, or disassembly of this software
|
||||
is permitted.
|
||||
|
||||
Limited patent license. Intel Corporation grants a world-wide,
|
||||
royalty-free, non-exclusive license under patents it now or hereafter
|
||||
owns or controls to make, have made, use, import, offer to sell and
|
||||
sell ("Utilize") this software, but solely to the extent that any
|
||||
such patent is necessary to Utilize the software alone, or in
|
||||
combination with an operating system licensed under an approved Open
|
||||
Source license as listed by the Open Source Initiative at
|
||||
http://opensource.org/licenses. The patent license shall not apply to
|
||||
any other combinations which include this software. No hardware per
|
||||
se is licensed hereunder.
|
||||
|
||||
DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
||||
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGE.
|
BIN
external/intel-fw-public/iwl3160/dist/iwlwifi-3160-9.ucode
vendored
Normal file
BIN
external/intel-fw-public/iwl3160/dist/iwlwifi-3160-9.ucode
vendored
Normal file
Binary file not shown.
10
external/intel-fw-public/iwl7260/Makefile
vendored
Normal file
10
external/intel-fw-public/iwl7260/Makefile
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
# $NetBSD: Makefile,v 1.1 2015/02/13 18:57:47 nonaka Exp $
|
||||
|
||||
NOMAN= # define
|
||||
|
||||
FILES= dist/LICENSE.iwlwifi-7260-ucode dist/README.iwlwifi-7260-ucode \
|
||||
dist/iwlwifi-7260-9.ucode
|
||||
|
||||
FILESDIR= /libdata/firmware/if_iwm
|
||||
|
||||
.include <bsd.files.mk>
|
39
external/intel-fw-public/iwl7260/dist/LICENSE.iwlwifi-7260-ucode
vendored
Normal file
39
external/intel-fw-public/iwl7260/dist/LICENSE.iwlwifi-7260-ucode
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
Copyright (c) 2014, Intel Corporation.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution. Redistribution and use in binary form, without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions must reproduce the above copyright notice and the
|
||||
following disclaimer in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
* Neither the name of Intel Corporation nor the names of its suppliers
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
* No reverse engineering, decompilation, or disassembly of this software
|
||||
is permitted.
|
||||
|
||||
Limited patent license. Intel Corporation grants a world-wide,
|
||||
royalty-free, non-exclusive license under patents it now or hereafter
|
||||
owns or controls to make, have made, use, import, offer to sell and
|
||||
sell ("Utilize") this software, but solely to the extent that any
|
||||
such patent is necessary to Utilize the software alone, or in
|
||||
combination with an operating system licensed under an approved Open
|
||||
Source license as listed by the Open Source Initiative at
|
||||
http://opensource.org/licenses. The patent license shall not apply to
|
||||
any other combinations which include this software. No hardware per
|
||||
se is licensed hereunder.
|
||||
|
||||
DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
||||
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGE.
|
113
external/intel-fw-public/iwl7260/dist/README.iwlwifi-7260-ucode
vendored
Normal file
113
external/intel-fw-public/iwl7260/dist/README.iwlwifi-7260-ucode
vendored
Normal file
@ -0,0 +1,113 @@
|
||||
Intel Wireless WiFi Link 7260 AC Adapter
|
||||
Copyright (C) 2014 Intel Corporation. All rights reserved.
|
||||
|
||||
Microcode Package README.iwlwifi-7260-ucode
|
||||
|
||||
INDEX
|
||||
|
||||
1. OVERVIEW
|
||||
2. INSTALLATION
|
||||
3. LICENSE
|
||||
|
||||
|
||||
1. OVERVIEW
|
||||
|
||||
The file iwlwifi-7260-9.ucode provided in this package must be
|
||||
present on your system in order for the Intel Wireless WiFi Link
|
||||
AGN driver for Linux (iwlwifi) to operate on your system.
|
||||
|
||||
The "-9" in the filename reflects an interface/architecture version number.
|
||||
It will change only when changes in new uCode releases make the new uCode
|
||||
incompatible with earlier drivers.
|
||||
|
||||
On adapter initialization, and at varying times during the uptime of
|
||||
the adapter, the microcode is loaded into the memory on the network
|
||||
adapter. The microcode provides the low level MAC features including
|
||||
radio control and high precision timing events (backoff, transmit,
|
||||
etc.) while also providing varying levels of packet filtering which can
|
||||
be used to keep the host from having to handle packets that are not of
|
||||
interest given the current operating mode of the device.
|
||||
|
||||
2. INSTALLATION
|
||||
|
||||
The iwlwifi driver will look for the file iwlwifi-7260-9.ucode using the
|
||||
kernel's firmware_class infrastructure. More information can be found under
|
||||
Documentation/firmware_class in kernel source. In order to function
|
||||
correctly, you need to have this support enabled in your kernel. When
|
||||
you configure the kernel, you can find this option in the following
|
||||
location:
|
||||
|
||||
Device Drivers ->
|
||||
Generic Driver Options ->
|
||||
Userspace firmware loading support
|
||||
|
||||
|
||||
You can determine if your kernel currently has firmware loader support
|
||||
by looking for the CONFIG_FW_LOADER definition on your kernel's
|
||||
.config.
|
||||
|
||||
In addition to having the firmware_class support in your kernel, you
|
||||
must also have a working udev and uevent infrastructure configured.
|
||||
The steps for installing and configuring udev are very
|
||||
distribution specific.
|
||||
|
||||
Once you have the firmware loader in place (or if you aren't sure and
|
||||
you just want to try things to see if it works), you need to install
|
||||
the microcode file into the appropriate location.
|
||||
|
||||
Where that appropriate location is depends (again) on your system
|
||||
distribution. You can typically find this location by looking in the
|
||||
udev scripts of your distro, the default is /lib/firmware.
|
||||
|
||||
Installation of the firmware is simply:
|
||||
|
||||
% cp iwlwifi-7260-9.ucode /lib/firmware
|
||||
|
||||
You can now load the driver (see the INSTALL and README.iwlwifi provided with
|
||||
the iwlwifi package for information on building and using that driver.)
|
||||
|
||||
3. LICENSE
|
||||
|
||||
The microcode in this package (iwlwifi-7260-9.ucode) is provided under the
|
||||
terms of the following license (available in the file
|
||||
LICENSE.iwlwifi-7260-ucode):
|
||||
|
||||
Copyright (c) 2014, Intel Corporation.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution. Redistribution and use in binary form, without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions must reproduce the above copyright notice and the
|
||||
following disclaimer in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
* Neither the name of Intel Corporation nor the names of its suppliers
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
* No reverse engineering, decompilation, or disassembly of this software
|
||||
is permitted.
|
||||
|
||||
Limited patent license. Intel Corporation grants a world-wide,
|
||||
royalty-free, non-exclusive license under patents it now or hereafter
|
||||
owns or controls to make, have made, use, import, offer to sell and
|
||||
sell ("Utilize") this software, but solely to the extent that any
|
||||
such patent is necessary to Utilize the software alone, or in
|
||||
combination with an operating system licensed under an approved Open
|
||||
Source license as listed by the Open Source Initiative at
|
||||
http://opensource.org/licenses. The patent license shall not apply to
|
||||
any other combinations which include this software. No hardware per
|
||||
se is licensed hereunder.
|
||||
|
||||
DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
||||
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGE.
|
BIN
external/intel-fw-public/iwl7260/dist/iwlwifi-7260-9.ucode
vendored
Normal file
BIN
external/intel-fw-public/iwl7260/dist/iwlwifi-7260-9.ucode
vendored
Normal file
Binary file not shown.
10
external/intel-fw-public/iwl7265/Makefile
vendored
Normal file
10
external/intel-fw-public/iwl7265/Makefile
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
# $NetBSD: Makefile,v 1.1 2015/02/13 18:57:47 nonaka Exp $
|
||||
|
||||
NOMAN= # define
|
||||
|
||||
FILES= dist/LICENSE.iwlwifi-7265-ucode dist/README.iwlwifi-7265-ucode \
|
||||
dist/iwlwifi-7265-9.ucode
|
||||
|
||||
FILESDIR= /libdata/firmware/if_iwm
|
||||
|
||||
.include <bsd.files.mk>
|
39
external/intel-fw-public/iwl7265/dist/LICENSE.iwlwifi-7265-ucode
vendored
Normal file
39
external/intel-fw-public/iwl7265/dist/LICENSE.iwlwifi-7265-ucode
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
Copyright (c) 2014, Intel Corporation.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution. Redistribution and use in binary form, without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions must reproduce the above copyright notice and the
|
||||
following disclaimer in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
* Neither the name of Intel Corporation nor the names of its suppliers
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
* No reverse engineering, decompilation, or disassembly of this software
|
||||
is permitted.
|
||||
|
||||
Limited patent license. Intel Corporation grants a world-wide,
|
||||
royalty-free, non-exclusive license under patents it now or hereafter
|
||||
owns or controls to make, have made, use, import, offer to sell and
|
||||
sell ("Utilize") this software, but solely to the extent that any
|
||||
such patent is necessary to Utilize the software alone, or in
|
||||
combination with an operating system licensed under an approved Open
|
||||
Source license as listed by the Open Source Initiative at
|
||||
http://opensource.org/licenses. The patent license shall not apply to
|
||||
any other combinations which include this software. No hardware per
|
||||
se is licensed hereunder.
|
||||
|
||||
DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
||||
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGE.
|
113
external/intel-fw-public/iwl7265/dist/README.iwlwifi-7265-ucode
vendored
Normal file
113
external/intel-fw-public/iwl7265/dist/README.iwlwifi-7265-ucode
vendored
Normal file
@ -0,0 +1,113 @@
|
||||
Intel Wireless WiFi Link 7265 AC Adapter
|
||||
Copyright (C) 2014 Intel Corporation. All rights reserved.
|
||||
|
||||
Microcode Package README.iwlwifi-7265-ucode
|
||||
|
||||
INDEX
|
||||
|
||||
1. OVERVIEW
|
||||
2. INSTALLATION
|
||||
3. LICENSE
|
||||
|
||||
|
||||
1. OVERVIEW
|
||||
|
||||
The file iwlwifi-7265-9.ucode provided in this package must be
|
||||
present on your system in order for the Intel Wireless WiFi Link
|
||||
AGN driver for Linux (iwlwifi) to operate on your system.
|
||||
|
||||
The "-9" in the filename reflects an interface/architecture version number.
|
||||
It will change only when changes in new uCode releases make the new uCode
|
||||
incompatible with earlier drivers.
|
||||
|
||||
On adapter initialization, and at varying times during the uptime of
|
||||
the adapter, the microcode is loaded into the memory on the network
|
||||
adapter. The microcode provides the low level MAC features including
|
||||
radio control and high precision timing events (backoff, transmit,
|
||||
etc.) while also providing varying levels of packet filtering which can
|
||||
be used to keep the host from having to handle packets that are not of
|
||||
interest given the current operating mode of the device.
|
||||
|
||||
2. INSTALLATION
|
||||
|
||||
The iwlwifi driver will look for the file iwlwifi-7265-9.ucode using the
|
||||
kernel's firmware_class infrastructure. More information can be found under
|
||||
Documentation/firmware_class in kernel source. In order to function
|
||||
correctly, you need to have this support enabled in your kernel. When
|
||||
you configure the kernel, you can find this option in the following
|
||||
location:
|
||||
|
||||
Device Drivers ->
|
||||
Generic Driver Options ->
|
||||
Userspace firmware loading support
|
||||
|
||||
|
||||
You can determine if your kernel currently has firmware loader support
|
||||
by looking for the CONFIG_FW_LOADER definition on your kernel's
|
||||
.config.
|
||||
|
||||
In addition to having the firmware_class support in your kernel, you
|
||||
must also have a working udev and uevent infrastructure configured.
|
||||
The steps for installing and configuring udev are very
|
||||
distribution specific.
|
||||
|
||||
Once you have the firmware loader in place (or if you aren't sure and
|
||||
you just want to try things to see if it works), you need to install
|
||||
the microcode file into the appropriate location.
|
||||
|
||||
Where that appropriate location is depends (again) on your system
|
||||
distribution. You can typically find this location by looking in the
|
||||
udev scripts of your distro, the default is /lib/firmware.
|
||||
|
||||
Installation of the firmware is simply:
|
||||
|
||||
% cp iwlwifi-7265-9.ucode /lib/firmware
|
||||
|
||||
You can now load the driver (see the INSTALL and README.iwlwifi provided with
|
||||
the iwlwifi package for information on building and using that driver.)
|
||||
|
||||
3. LICENSE
|
||||
|
||||
The microcode in this package (iwlwifi-7265-9.ucode) is provided under the
|
||||
terms of the following license (available in the file
|
||||
LICENSE.iwlwifi-7265-ucode):
|
||||
|
||||
Copyright (c) 2014, Intel Corporation.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution. Redistribution and use in binary form, without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions must reproduce the above copyright notice and the
|
||||
following disclaimer in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
* Neither the name of Intel Corporation nor the names of its suppliers
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
* No reverse engineering, decompilation, or disassembly of this software
|
||||
is permitted.
|
||||
|
||||
Limited patent license. Intel Corporation grants a world-wide,
|
||||
royalty-free, non-exclusive license under patents it now or hereafter
|
||||
owns or controls to make, have made, use, import, offer to sell and
|
||||
sell ("Utilize") this software, but solely to the extent that any
|
||||
such patent is necessary to Utilize the software alone, or in
|
||||
combination with an operating system licensed under an approved Open
|
||||
Source license as listed by the Open Source Initiative at
|
||||
http://opensource.org/licenses. The patent license shall not apply to
|
||||
any other combinations which include this software. No hardware per
|
||||
se is licensed hereunder.
|
||||
|
||||
DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
||||
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGE.
|
BIN
external/intel-fw-public/iwl7265/dist/iwlwifi-7265-9.ucode
vendored
Normal file
BIN
external/intel-fw-public/iwl7265/dist/iwlwifi-7265-9.ucode
vendored
Normal file
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
# $NetBSD: ALL,v 1.24 2014/12/19 07:04:52 ozaki-r Exp $
|
||||
# $NetBSD: ALL,v 1.25 2015/02/13 18:57:47 nonaka Exp $
|
||||
# From NetBSD: GENERIC,v 1.787 2006/10/01 18:37:54 bouyer Exp
|
||||
#
|
||||
# ALL machine description file
|
||||
@ -17,7 +17,7 @@ include "arch/amd64/conf/std.amd64"
|
||||
|
||||
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
|
||||
|
||||
#ident "ALL-$Revision: 1.24 $"
|
||||
#ident "ALL-$Revision: 1.25 $"
|
||||
|
||||
maxusers 64 # estimated number of users
|
||||
|
||||
@ -912,6 +912,7 @@ gsip* at pci? dev ? function ? # NS83820 Gigabit Ethernet
|
||||
hme* at pci? dev ? function ? # Sun Microelectronics STP2002-STQ
|
||||
ipw* at pci? dev ? function ? # Intel PRO/Wireless 2100
|
||||
iwi* at pci? dev ? function ? # Intel PRO/Wireless 2200BG
|
||||
iwm* at pci? dev ? function ? # Intel Wireless WiFi Link 7xxx
|
||||
iwn* at pci? dev ? function ? # Intel PRO/Wireless 4965AGN
|
||||
ixg* at pci? dev ? function ? # Intel 8259x 10 gigabit
|
||||
jme* at pci? dev ? function ? # JMicron JMC2[56]0 Ethernet
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $NetBSD: GENERIC,v 1.407 2015/02/07 13:20:00 pooka Exp $
|
||||
# $NetBSD: GENERIC,v 1.408 2015/02/13 18:57:47 nonaka Exp $
|
||||
#
|
||||
# GENERIC machine description file
|
||||
#
|
||||
@ -22,7 +22,7 @@ include "arch/amd64/conf/std.amd64"
|
||||
|
||||
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
|
||||
|
||||
#ident "GENERIC-$Revision: 1.407 $"
|
||||
#ident "GENERIC-$Revision: 1.408 $"
|
||||
|
||||
maxusers 64 # estimated number of users
|
||||
|
||||
@ -734,7 +734,7 @@ gsip* at pci? dev ? function ? # NS83820 Gigabit Ethernet
|
||||
ipw* at pci? dev ? function ? # Intel PRO/Wireless 2100
|
||||
iwi* at pci? dev ? function ? # Intel PRO/Wireless 2200BG
|
||||
iwn* at pci? dev ? function ? # Intel PRO/Wireless 4965AGN
|
||||
#iwm* at pci? dev ? function ? # Intel Centrino 7260
|
||||
iwm* at pci? dev ? function ? # Intel Centrino 7260
|
||||
ixg* at pci? dev ? function ? # Intel 8259x 10 gigabit
|
||||
jme* at pci? dev ? function ? # JMicron JMC2[56]0 ethernet
|
||||
hme* at pci? dev ? function ? # Sun Microelectronics STP2002-STQ
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $NetBSD: ALL,v 1.390 2014/12/19 07:04:52 ozaki-r Exp $
|
||||
# $NetBSD: ALL,v 1.391 2015/02/13 18:57:47 nonaka Exp $
|
||||
# From NetBSD: GENERIC,v 1.787 2006/10/01 18:37:54 bouyer Exp
|
||||
#
|
||||
# ALL machine description file
|
||||
@ -17,7 +17,7 @@ include "arch/i386/conf/std.i386"
|
||||
|
||||
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
|
||||
|
||||
#ident "ALL-$Revision: 1.390 $"
|
||||
#ident "ALL-$Revision: 1.391 $"
|
||||
|
||||
maxusers 64 # estimated number of users
|
||||
|
||||
@ -1034,6 +1034,7 @@ gsip* at pci? dev ? function ? # NS83820 Gigabit Ethernet
|
||||
hme* at pci? dev ? function ? # Sun Microelectronics STP2002-STQ
|
||||
ipw* at pci? dev ? function ? # Intel PRO/Wireless 2100
|
||||
iwi* at pci? dev ? function ? # Intel PRO/Wireless 2200BG
|
||||
iwm* at pci? dev ? function ? # Intel Wireless WiFi Link 7xxx
|
||||
iwn* at pci? dev ? function ? # Intel PRO/Wireless 4965AGN
|
||||
ixg* at pci? dev ? function ? # Intel 8259x 10 gigabit
|
||||
jme* at pci? dev ? function ? # JMicron JMC2[56]0 Ethernet
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $NetBSD: GENERIC,v 1.1118 2014/11/16 16:01:41 manu Exp $
|
||||
# $NetBSD: GENERIC,v 1.1119 2015/02/13 18:57:47 nonaka Exp $
|
||||
#
|
||||
# GENERIC machine description file
|
||||
#
|
||||
@ -22,7 +22,7 @@ include "arch/i386/conf/std.i386"
|
||||
|
||||
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
|
||||
|
||||
#ident "GENERIC-$Revision: 1.1118 $"
|
||||
#ident "GENERIC-$Revision: 1.1119 $"
|
||||
|
||||
maxusers 64 # estimated number of users
|
||||
|
||||
@ -975,6 +975,7 @@ gsip* at pci? dev ? function ? # NS83820 Gigabit Ethernet
|
||||
hme* at pci? dev ? function ? # Sun Microelectronics STP2002-STQ
|
||||
ipw* at pci? dev ? function ? # Intel PRO/Wireless 2100
|
||||
iwi* at pci? dev ? function ? # Intel PRO/Wireless 2200BG
|
||||
iwm* at pci? dev ? function ? # Intel Wireless WiFi Link 7xxx
|
||||
iwn* at pci? dev ? function ? # Intel PRO/Wireless 4965AGN
|
||||
ixg* at pci? dev ? function ? # Intel 8259x 10 gigabit
|
||||
jme* at pci? dev ? function ? # JMicron JMC2[56]0 Ethernet
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: if_iwm.c,v 1.4 2015/02/13 18:02:32 nonaka Exp $ */
|
||||
/* $NetBSD: if_iwm.c,v 1.5 2015/02/13 18:57:47 nonaka Exp $ */
|
||||
/* OpenBSD: if_iwm.c,v 1.18 2015/02/11 01:12:42 brad Exp */
|
||||
|
||||
/*
|
||||
@ -105,7 +105,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: if_iwm.c,v 1.4 2015/02/13 18:02:32 nonaka Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: if_iwm.c,v 1.5 2015/02/13 18:57:47 nonaka Exp $");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/conf.h>
|
||||
@ -201,7 +201,6 @@ static const struct iwm_rate {
|
||||
|
||||
struct iwm_newstate_state {
|
||||
struct work ns_wk;
|
||||
struct ieee80211com *ns_ic;
|
||||
enum ieee80211_state ns_nstate;
|
||||
int ns_arg;
|
||||
int ns_generation;
|
||||
@ -415,9 +414,9 @@ static int iwm_release(struct iwm_softc *, struct iwm_node *);
|
||||
static void iwm_calib_timeout(void *);
|
||||
static void iwm_setrates(struct iwm_node *);
|
||||
static int iwm_media_change(struct ifnet *);
|
||||
static void iwm_newstate_cb(void *);
|
||||
static void iwm_newstate_cb(struct work *, void *);
|
||||
static int iwm_newstate(struct ieee80211com *, enum ieee80211_state, int);
|
||||
static void iwm_endscan_cb(void *);
|
||||
static void iwm_endscan_cb(struct work *, void *);
|
||||
static int iwm_init_hw(struct iwm_softc *);
|
||||
static int iwm_init(struct ifnet *);
|
||||
static void iwm_start(struct ifnet *);
|
||||
@ -1217,8 +1216,9 @@ iwm_alloc_tx_ring(struct iwm_softc *sc, struct iwm_tx_ring *ring, int qid)
|
||||
+ offsetof(struct iwm_tx_cmd, scratch);
|
||||
paddr += sizeof(struct iwm_device_cmd);
|
||||
|
||||
error = bus_dmamap_create(sc->sc_dmat, MCLBYTES,
|
||||
IWM_NUM_OF_TBS, MCLBYTES, 0, BUS_DMA_NOWAIT, &data->map);
|
||||
error = bus_dmamap_create(sc->sc_dmat, IWM_RBUF_SIZE,
|
||||
IWM_NUM_OF_TBS, IWM_RBUF_SIZE, 0, BUS_DMA_NOWAIT,
|
||||
&data->map);
|
||||
if (error != 0) {
|
||||
aprint_error_dev(sc->sc_dev,
|
||||
"could not create TX buf DMA map\n");
|
||||
@ -1868,7 +1868,7 @@ iwm_post_alive(struct iwm_softc *sc)
|
||||
return EBUSY;
|
||||
|
||||
if (sc->sched_base != iwm_read_prph(sc, IWM_SCD_SRAM_BASE_ADDR)) {
|
||||
DPRINTF(("%s: sched addr mismatch", DEVNAME(sc)));
|
||||
DPRINTF(("%s: sched addr mismatch\n", DEVNAME(sc)));
|
||||
error = EINVAL;
|
||||
goto out;
|
||||
}
|
||||
@ -1992,10 +1992,9 @@ iwm_phy_db_get_section(struct iwm_softc *sc,
|
||||
|
||||
static int
|
||||
iwm_phy_db_set_section(struct iwm_softc *sc,
|
||||
struct iwm_calib_res_notif_phy_db *phy_db_notif)
|
||||
struct iwm_calib_res_notif_phy_db *phy_db_notif, uint16_t size)
|
||||
{
|
||||
enum iwm_phy_db_section_type type = le16toh(phy_db_notif->type);
|
||||
uint16_t size = le16toh(phy_db_notif->length);
|
||||
struct iwm_phy_db_entry *entry;
|
||||
uint16_t chg_id = 0;
|
||||
|
||||
@ -2008,8 +2007,8 @@ iwm_phy_db_set_section(struct iwm_softc *sc,
|
||||
return EINVAL;
|
||||
|
||||
if (entry->data)
|
||||
kmem_free(entry->data, entry->size);
|
||||
entry->data = kmem_alloc(size, KM_NOSLEEP);
|
||||
kmem_intr_free(entry->data, entry->size);
|
||||
entry->data = kmem_intr_alloc(size, KM_NOSLEEP);
|
||||
if (!entry->data) {
|
||||
entry->size = 0;
|
||||
return ENOMEM;
|
||||
@ -2126,7 +2125,8 @@ iwm_send_phy_db_cmd(struct iwm_softc *sc, uint16_t type,
|
||||
.flags = IWM_CMD_SYNC,
|
||||
};
|
||||
|
||||
DPRINTFN(10, ("Sending PHY-DB hcmd of type %d, of length %d\n", type, length));
|
||||
DPRINTFN(10, ("Sending PHY-DB hcmd of type %d, of length %d\n",
|
||||
type, length));
|
||||
|
||||
/* Set phy db cmd variables */
|
||||
phy_db_cmd.type = le16toh(type);
|
||||
@ -2629,9 +2629,8 @@ iwm_parse_nvm_data(struct iwm_softc *sc,
|
||||
data->sku_cap_11n_enable = 0;
|
||||
|
||||
if (!data->valid_tx_ant || !data->valid_rx_ant) {
|
||||
DPRINTF(("%s: invalid antennas (0x%x, 0x%x)\n",
|
||||
DEVNAME(sc), data->valid_tx_ant,
|
||||
data->valid_rx_ant));
|
||||
DPRINTF(("%s: invalid antennas (0x%x, 0x%x)\n", DEVNAME(sc),
|
||||
data->valid_tx_ant, data->valid_rx_ant));
|
||||
return EINVAL;
|
||||
}
|
||||
|
||||
@ -2797,7 +2796,8 @@ iwm_load_firmware(struct iwm_softc *sc, enum iwm_ucode_type ucode_type)
|
||||
ucode_type, offset, dlen));
|
||||
error = iwm_firmware_load_chunk(sc, offset, data, dlen);
|
||||
if (error) {
|
||||
DPRINTF(("iwm_firmware_load_chunk() chunk %u of %u returned error %02d\n", i, fws->fw_count, error));
|
||||
DPRINTF(("iwm_firmware_load_chunk() chunk %u of %u "
|
||||
"returned error %02d\n", i, fws->fw_count, error));
|
||||
return error;
|
||||
}
|
||||
}
|
||||
@ -3058,7 +3058,8 @@ iwm_mvm_calc_rssi(struct iwm_softc *sc, struct iwm_rx_phy_info *phy_info)
|
||||
* values by -256dBm: practically 0 power and a non-feasible 8 bit value.
|
||||
*/
|
||||
static int
|
||||
iwm_mvm_get_signal_strength(struct iwm_softc *sc, struct iwm_rx_phy_info *phy_info)
|
||||
iwm_mvm_get_signal_strength(struct iwm_softc *sc,
|
||||
struct iwm_rx_phy_info *phy_info)
|
||||
{
|
||||
int energy_a, energy_b, energy_c, max_energy;
|
||||
uint32_t val;
|
||||
@ -3549,7 +3550,7 @@ iwm_send_cmd(struct iwm_softc *sc, struct iwm_host_cmd *hcmd)
|
||||
}
|
||||
cmd = mtod(m, struct iwm_device_cmd *);
|
||||
error = bus_dmamap_load(sc->sc_dmat, data->map, cmd,
|
||||
hcmd->len[0], NULL, BUS_DMA_NOWAIT | BUS_DMA_WRITE);
|
||||
IWM_RBUF_SIZE, NULL, BUS_DMA_NOWAIT | BUS_DMA_WRITE);
|
||||
if (error != 0) {
|
||||
m_freem(m);
|
||||
goto out;
|
||||
@ -3582,16 +3583,15 @@ iwm_send_cmd(struct iwm_softc *sc, struct iwm_host_cmd *hcmd)
|
||||
desc->num_tbs = 1;
|
||||
|
||||
DPRINTFN(8, ("iwm_send_cmd 0x%x size=%lu %s\n",
|
||||
code, hcmd->len[0] + hcmd->len[1] + sizeof(cmd->hdr),
|
||||
async ? " (async)" : ""));
|
||||
code, sizeof(cmd->hdr) + paylen, async ? " (async)" : ""));
|
||||
|
||||
if (hcmd->len[0] > sizeof(cmd->data)) {
|
||||
bus_dmamap_sync(sc->sc_dmat, data->map, 0, hcmd->len[0],
|
||||
BUS_DMASYNC_PREWRITE);
|
||||
if (paylen > sizeof(cmd->data)) {
|
||||
bus_dmamap_sync(sc->sc_dmat, data->map, 0,
|
||||
sizeof(cmd->hdr) + paylen, BUS_DMASYNC_PREWRITE);
|
||||
} else {
|
||||
bus_dmamap_sync(sc->sc_dmat, ring->cmd_dma.map,
|
||||
(char *)(void *)cmd - (char *)(void *)ring->cmd_dma.vaddr,
|
||||
hcmd->len[0] + 4, BUS_DMASYNC_PREWRITE);
|
||||
sizeof(cmd->hdr) + paylen, BUS_DMASYNC_PREWRITE);
|
||||
}
|
||||
bus_dmamap_sync(sc->sc_dmat, ring->desc_dma.map,
|
||||
(char *)(void *)desc - (char *)(void *)ring->desc_dma.vaddr,
|
||||
@ -5284,8 +5284,7 @@ iwm_release(struct iwm_softc *sc, struct iwm_node *in)
|
||||
static struct ieee80211_node *
|
||||
iwm_node_alloc(struct ieee80211_node_table *nt)
|
||||
{
|
||||
|
||||
return kmem_zalloc(sizeof (struct iwm_node), KM_NOSLEEP | M_ZERO);
|
||||
return malloc(sizeof(struct iwm_node), M_80211_NODE, M_NOWAIT | M_ZERO);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -5417,16 +5416,15 @@ iwm_media_change(struct ifnet *ifp)
|
||||
}
|
||||
|
||||
static void
|
||||
iwm_newstate_cb(void *wk)
|
||||
iwm_newstate_cb(struct work *wk, void *v)
|
||||
{
|
||||
struct iwm_softc *sc = v;
|
||||
struct ieee80211com *ic = &sc->sc_ic;
|
||||
struct iwm_newstate_state *iwmns = (void *)wk;
|
||||
struct ieee80211com *ic = iwmns->ns_ic;
|
||||
enum ieee80211_state nstate = iwmns->ns_nstate;
|
||||
int generation = iwmns->ns_generation;
|
||||
struct iwm_node *in;
|
||||
int arg = iwmns->ns_arg;
|
||||
struct ifnet *ifp = IC2IFP(ic);
|
||||
struct iwm_softc *sc = ifp->if_softc;
|
||||
int error;
|
||||
|
||||
kmem_free(iwmns, sizeof(*iwmns));
|
||||
@ -5530,6 +5528,7 @@ iwm_newstate_cb(void *wk)
|
||||
break; }
|
||||
|
||||
default:
|
||||
DPRINTF(("%s: unsupported state %d\n", DEVNAME(sc), nstate));
|
||||
break;
|
||||
}
|
||||
|
||||
@ -5545,13 +5544,12 @@ iwm_newstate(struct ieee80211com *ic, enum ieee80211_state nstate, int arg)
|
||||
|
||||
callout_stop(&sc->sc_calib_to);
|
||||
|
||||
iwmns = kmem_alloc(sizeof(*iwmns), KM_NOSLEEP);
|
||||
iwmns = kmem_intr_alloc(sizeof(*iwmns), KM_NOSLEEP);
|
||||
if (!iwmns) {
|
||||
DPRINTF(("%s: allocating state cb mem failed\n", DEVNAME(sc)));
|
||||
return ENOMEM;
|
||||
}
|
||||
|
||||
iwmns->ns_ic = ic;
|
||||
iwmns->ns_nstate = nstate;
|
||||
iwmns->ns_arg = arg;
|
||||
iwmns->ns_generation = sc->sc_generation;
|
||||
@ -5562,7 +5560,7 @@ iwm_newstate(struct ieee80211com *ic, enum ieee80211_state nstate, int arg)
|
||||
}
|
||||
|
||||
static void
|
||||
iwm_endscan_cb(void *arg)
|
||||
iwm_endscan_cb(struct work *work __unused, void *arg)
|
||||
{
|
||||
struct iwm_softc *sc = arg;
|
||||
struct ieee80211com *ic = &sc->sc_ic;
|
||||
@ -6102,7 +6100,7 @@ iwm_notif_intr(struct iwm_softc *sc)
|
||||
hw = le16toh(sc->rxq.stat->closed_rb_num) & 0xfff;
|
||||
while (sc->rxq.cur != hw) {
|
||||
struct iwm_rx_data *data = &sc->rxq.data[sc->rxq.cur];
|
||||
struct iwm_rx_packet *pkt;
|
||||
struct iwm_rx_packet *pkt, tmppkt;
|
||||
struct iwm_cmd_response *cresp;
|
||||
int qid, idx;
|
||||
|
||||
@ -6133,7 +6131,9 @@ iwm_notif_intr(struct iwm_softc *sc)
|
||||
break;
|
||||
|
||||
case IWM_REPLY_RX_MPDU_CMD:
|
||||
tmppkt = *pkt; // XXX m is freed by ieee80211_input()
|
||||
iwm_mvm_rx_rx_mpdu(sc, pkt, data);
|
||||
pkt = &tmppkt;
|
||||
break;
|
||||
|
||||
case IWM_TX_CMD:
|
||||
@ -6163,7 +6163,11 @@ iwm_notif_intr(struct iwm_softc *sc)
|
||||
struct iwm_calib_res_notif_phy_db *phy_db_notif;
|
||||
SYNC_RESP_STRUCT(phy_db_notif, pkt);
|
||||
|
||||
iwm_phy_db_set_section(sc, phy_db_notif);
|
||||
uint16_t size = le16toh(phy_db_notif->length);
|
||||
bus_dmamap_sync(sc->sc_dmat, data->map,
|
||||
sizeof(*pkt) + sizeof(*phy_db_notif),
|
||||
size, BUS_DMASYNC_POSTREAD);
|
||||
iwm_phy_db_set_section(sc, phy_db_notif, size);
|
||||
|
||||
break; }
|
||||
|
||||
@ -6437,23 +6441,23 @@ iwm_intr(void *arg)
|
||||
*/
|
||||
|
||||
static const pci_product_id_t iwm_devices[] = {
|
||||
0x08b1,
|
||||
#if 0
|
||||
PCI_PRODUCT_INTEL_WL_7260_1,
|
||||
PCI_PRODUCT_INTEL_WL_7260_2,
|
||||
#endif
|
||||
PCI_PRODUCT_INTEL_WIFI_LINK_7260_1,
|
||||
PCI_PRODUCT_INTEL_WIFI_LINK_7260_2,
|
||||
PCI_PRODUCT_INTEL_WIFI_LINK_3160_1,
|
||||
PCI_PRODUCT_INTEL_WIFI_LINK_3160_2,
|
||||
PCI_PRODUCT_INTEL_WIFI_LINK_7265_1,
|
||||
PCI_PRODUCT_INTEL_WIFI_LINK_7265_2,
|
||||
};
|
||||
|
||||
static int
|
||||
iwm_match(device_t parent, cfdata_t match __unused, void *aux)
|
||||
{
|
||||
struct pci_attach_args *pa = aux;
|
||||
size_t i;
|
||||
|
||||
if (PCI_VENDOR(pa->pa_id) != PCI_VENDOR_INTEL)
|
||||
return 0;
|
||||
|
||||
for (i = 0; i < __arraycount(iwm_devices); i++)
|
||||
for (size_t i = 0; i < __arraycount(iwm_devices); i++)
|
||||
if (PCI_PRODUCT(pa->pa_id) == iwm_devices[i])
|
||||
return 1;
|
||||
|
||||
@ -6492,14 +6496,11 @@ iwm_attach_hook(device_t dev)
|
||||
|
||||
KASSERT(!cold);
|
||||
|
||||
sc->sc_wantresp = -1;
|
||||
|
||||
if (iwm_preinit(sc) != 0)
|
||||
return;
|
||||
|
||||
sc->sc_flags |= IWM_FLAG_ATTACHED;
|
||||
|
||||
ic->ic_ifp = ifp;
|
||||
aprint_normal_dev(sc->sc_dev,
|
||||
"hw rev: 0x%x, fw ver %d.%d (API ver %d), address %s\n",
|
||||
sc->sc_hw_rev & IWM_CSR_HW_REV_TYPE_MSK,
|
||||
@ -6508,6 +6509,7 @@ iwm_attach_hook(device_t dev)
|
||||
IWM_UCODE_API(sc->sc_fwver),
|
||||
ether_sprintf(sc->sc_nvm.hw_addr));
|
||||
|
||||
ic->ic_ifp = ifp;
|
||||
ic->ic_phytype = IEEE80211_T_OFDM; /* not only, but not used */
|
||||
ic->ic_opmode = IEEE80211_M_STA; /* default to BSS mode */
|
||||
ic->ic_state = IEEE80211_S_INIT;
|
||||
@ -6550,9 +6552,9 @@ iwm_attach_hook(device_t dev)
|
||||
IFQ_SET_READY(&ifp->if_snd);
|
||||
memcpy(ifp->if_xname, DEVNAME(sc), IFNAMSIZ);
|
||||
|
||||
if_attach(ifp);
|
||||
ic->ic_debug = 0;
|
||||
if_initialize(ifp);
|
||||
ieee80211_ifattach(ic);
|
||||
if_register(ifp);
|
||||
|
||||
ic->ic_node_alloc = iwm_node_alloc;
|
||||
|
||||
@ -6565,7 +6567,6 @@ iwm_attach_hook(device_t dev)
|
||||
iwm_radiotap_attach(sc);
|
||||
callout_init(&sc->sc_calib_to, 0);
|
||||
callout_setfunc(&sc->sc_calib_to, iwm_calib_timeout, sc);
|
||||
iwm_radiotap_attach(sc);
|
||||
|
||||
//task_set(&sc->init_task, iwm_init_task, sc);
|
||||
}
|
||||
@ -6585,6 +6586,7 @@ iwm_attach(device_t parent, device_t self, void *aux)
|
||||
sc->sc_pct = pa->pa_pc;
|
||||
sc->sc_pcitag = pa->pa_tag;
|
||||
sc->sc_dmat = pa->pa_dmat;
|
||||
sc->sc_pciid = pa->pa_id;
|
||||
|
||||
pci_aprint_devinfo(pa, NULL);
|
||||
|
||||
@ -6639,8 +6641,27 @@ iwm_attach(device_t parent, device_t self, void *aux)
|
||||
}
|
||||
aprint_normal_dev(self, "interrupting at %s\n", intrstr);
|
||||
|
||||
/* only one firmware possibility for now */
|
||||
sc->sc_fwname = IWM_FWNAME;
|
||||
sc->sc_wantresp = -1;
|
||||
|
||||
switch (PCI_PRODUCT(sc->sc_pciid)) {
|
||||
case PCI_PRODUCT_INTEL_WIFI_LINK_7260_1:
|
||||
case PCI_PRODUCT_INTEL_WIFI_LINK_7260_2:
|
||||
sc->sc_fwname = "iwlwifi-7260-9.ucode";
|
||||
break;
|
||||
case PCI_PRODUCT_INTEL_WIFI_LINK_3160_1:
|
||||
case PCI_PRODUCT_INTEL_WIFI_LINK_3160_2:
|
||||
sc->sc_fwname = "iwlwifi-3160-9.ucode";
|
||||
break;
|
||||
case PCI_PRODUCT_INTEL_WIFI_LINK_7265_1:
|
||||
case PCI_PRODUCT_INTEL_WIFI_LINK_7265_2:
|
||||
sc->sc_fwname = "iwlwifi-7265-9.ucode";
|
||||
break;
|
||||
default:
|
||||
aprint_error_dev(self, "unknown product %#x",
|
||||
PCI_PRODUCT(sc->sc_pciid));
|
||||
return;
|
||||
}
|
||||
DPRINTF(("%s: firmware=%s\n", DEVNAME(sc), sc->sc_fwname));
|
||||
sc->sc_fwdmasegsz = IWM_FWDMASEGSZ;
|
||||
|
||||
/*
|
||||
@ -6697,9 +6718,9 @@ iwm_attach(device_t parent, device_t self, void *aux)
|
||||
}
|
||||
|
||||
workqueue_create(&sc->sc_eswq, "iwmes",
|
||||
(void *)iwm_endscan_cb, sc, PRI_NONE, IPL_NET, 0);
|
||||
iwm_endscan_cb, sc, PRI_NONE, IPL_NET, 0);
|
||||
workqueue_create(&sc->sc_nswq, "iwmns",
|
||||
(void *)iwm_newstate_cb, sc, PRI_NONE, IPL_NET, 0);
|
||||
iwm_newstate_cb, sc, PRI_NONE, IPL_NET, 0);
|
||||
|
||||
/* Clear pending interrupts. */
|
||||
IWM_WRITE(sc, IWM_CSR_INT, 0xffffffff);
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: if_iwmvar.h,v 1.2 2015/02/13 17:14:06 nonaka Exp $ */
|
||||
/* $NetBSD: if_iwmvar.h,v 1.3 2015/02/13 18:57:47 nonaka Exp $ */
|
||||
/* OpenBSD: if_iwmvar.h,v 1.3 2015/02/07 07:10:44 phessler Exp */
|
||||
|
||||
/*
|
||||
@ -138,7 +138,6 @@ struct iwm_tx_radiotap_header {
|
||||
(1 << IEEE80211_RADIOTAP_CHANNEL))
|
||||
|
||||
#define IWM_UCODE_SECT_MAX 6
|
||||
#define IWM_FWNAME "iwm-7260-9"
|
||||
#define IWM_FWDMASEGSZ (192*1024)
|
||||
/* sanity check value */
|
||||
#define IWM_FWMAXSIZE (2*1024*1024)
|
||||
@ -365,7 +364,7 @@ struct iwm_bf_data {
|
||||
};
|
||||
|
||||
struct iwm_softc {
|
||||
struct device *sc_dev;
|
||||
device_t sc_dev;
|
||||
struct ethercom sc_ec;
|
||||
struct ieee80211com sc_ic;
|
||||
|
||||
@ -382,6 +381,7 @@ struct iwm_softc {
|
||||
bus_dma_tag_t sc_dmat;
|
||||
pci_chipset_tag_t sc_pct;
|
||||
pcitag_t sc_pcitag;
|
||||
pcireg_t sc_pciid;
|
||||
const void *sc_ih;
|
||||
|
||||
/* TX scheduler rings. */
|
||||
|
Loading…
Reference in New Issue
Block a user