I am trying to get a fairly new mini pcie Intel Wireless card working on the SabreSD board; one that isn't supported by the intree Kernel code. I've built a compat-wireless version of the iwlwifi driver, and am successfully modprobe'ing it.
modprobe output
======================================
PCI: enabling device 0000:01:00.0 (0140 -> 0142)
iwlwifi 0000:01:00.0: pci_resource_len = 0x00002000
iwlwifi 0000:01:00.0: pci_resource_base = dbc84000
iwlwifi 0000:01:00.0: HW Revision ID = 0x34
iwlwifi 0000:01:00.0: pci_enable_msi failed(0Xffffffff) continuing
iwlwifi 0000:01:00.0: U iwl_request_firmware attempting to load firmware 'iwlwifi-6000g2a-6.ucode'
acc_release
iwlwifi 0000:01:00.0: U iwl_request_firmware attempting to load firmware 'iwlwifi-6000g2a-5.ucode'
iwlwifi 0000:01:00.0: U iwl_ucode_callback Loaded firmware file 'iwlwifi-6000g2a-5.ucode' (444128 bytes).
iwlwifi 0000:01:00.0: loaded firmware version 17.168.5.3 build 42301
iwlwifi 0000:01:00.0: U validate_sec_sizes f/w package hdr runtime inst size = 149504
iwlwifi 0000:01:00.0: U validate_sec_sizes f/w package hdr runtime data size = 81920
iwlwifi 0000:01:00.0: U validate_sec_sizes f/w package hdr init inst size = 130552
iwlwifi 0000:01:00.0: U validate_sec_sizes f/w package hdr init data size = 81920
======================================
I can then see this driver the list of modules
======================================
# lsmod
iwlwifi 69887 0 - Live 0xbf041000
cfg80211 167834 1 iwlwifi, Live 0xbf008000
compat 9377 2 iwlwifi,cfg80211, Live 0xbf000000
======================================
but at this point "wlan0" is missing from the output of "ifconfig -a". Instead I only see eth0, ip6tn10, lo, sit0, tunl0.
My assumption was that somewhere in the iwlwifi tree I would find code that creates the wlan0 device file, but I have yet to locate where that would be. Am I way off base in assuming that iwlwifi should be what creates wlan0? Does anyone have a recommendation as to what to try next.
Solved! Go to Solution.
Because PCIe is not enabled by default, can you please confirm whether the following similar changes have been adopted for your PCIe WiFi driver?
10. How to enable intel PCIe WIFI?
Intel PCIe WIFI is supported in this release, but is disabled by default. If you want to enable it, you can change the
BOARD_WLAN_VENDOR to INTEL in SabreSDBoardConfigComm.mk.
There are three versions of wpa_supplicant in external directory. Among them, wpa_supplicant_7 is for intel pcie wifi.
If you define BOARD_WLAN_VENDOR to INTEL,this version of wpa_supplicant will be compiled.
Also in HAL, wifi_intel.c will be compiled if BOARD_WLAN_VENDOR is defined as INTEL
since pcie subsystem is not enabled in default kernel. In order to enable intel pcie wifi,you need to run "make
menuconfig" to enable it.
Kernel configuration:
* -> System Type
-> Freescale MXC Implementations
Select the PCI Express support.
Then config intel WIFI driver:
Generic IEEE 802.11 Networking Stack (mac80211) used by WIFI devices
Symbol: MAC80211 [=y]
Type : tristate
Prompt: Generic IEEE 802.11 Networking Stack (mac80211)
Defined at net/mac80211/Kconfig:1
Depends on: NET [=y] && WIRELESS [=y] && CFG80211 [=y]
Location:
-> Networking support (NET [=y])
-> Wireless (WIRELESS [=y])
Intel iwl4965 or iwl6300 card driver
Symbol: IWL4965 [=y]
Type : tristate
Prompt: Intel Wireless WiFi 4965AGN (iwl4965)
Defined at drivers/net/wireless/iwlegacy/Kconfig:65
Depends on: NETDEVICES [=y] && WLAN [=y] && PCI [=y] && MAC80211 [=y]
Location:
-> Device Drivers
-> Network device support (NETDEVICES [=y])
Finally, you need to add a compile rule in /system/wlan to compile the intel WIFI driver.
Because PCIe is not enabled by default, can you please confirm whether the following similar changes have been adopted for your PCIe WiFi driver?
10. How to enable intel PCIe WIFI?
Intel PCIe WIFI is supported in this release, but is disabled by default. If you want to enable it, you can change the
BOARD_WLAN_VENDOR to INTEL in SabreSDBoardConfigComm.mk.
There are three versions of wpa_supplicant in external directory. Among them, wpa_supplicant_7 is for intel pcie wifi.
If you define BOARD_WLAN_VENDOR to INTEL,this version of wpa_supplicant will be compiled.
Also in HAL, wifi_intel.c will be compiled if BOARD_WLAN_VENDOR is defined as INTEL
since pcie subsystem is not enabled in default kernel. In order to enable intel pcie wifi,you need to run "make
menuconfig" to enable it.
Kernel configuration:
* -> System Type
-> Freescale MXC Implementations
Select the PCI Express support.
Then config intel WIFI driver:
Generic IEEE 802.11 Networking Stack (mac80211) used by WIFI devices
Symbol: MAC80211 [=y]
Type : tristate
Prompt: Generic IEEE 802.11 Networking Stack (mac80211)
Defined at net/mac80211/Kconfig:1
Depends on: NET [=y] && WIRELESS [=y] && CFG80211 [=y]
Location:
-> Networking support (NET [=y])
-> Wireless (WIRELESS [=y])
Intel iwl4965 or iwl6300 card driver
Symbol: IWL4965 [=y]
Type : tristate
Prompt: Intel Wireless WiFi 4965AGN (iwl4965)
Defined at drivers/net/wireless/iwlegacy/Kconfig:65
Depends on: NETDEVICES [=y] && WLAN [=y] && PCI [=y] && MAC80211 [=y]
Location:
-> Device Drivers
-> Network device support (NETDEVICES [=y])
Finally, you need to add a compile rule in /system/wlan to compile the intel WIFI driver.