Missing Intel WiFI (iwlwifi) on latest prebuilt and 4.4x ti bsp built kernels

I have a custom am57x board that uses the x15 prebuilt images and I noticed that the iwlwifi module is not included. This prevents me from loading my intel 3160 attached to pci

I built the 4.4x ti bsp kernel but the config does not have entries for the Intel Wireless Modules (Device Drivers > Network device support > Wireless LAN > Intel… are all missing.)

If I build the mainline 4.4x, it does have the Intel Wireless config in there and builds the iwlwifi, mvm and dvm modules just fine but I would like to use the TI kernel. I did try to load the mainline iwlwifi module but when using the ti kernel - (modprobe: ERROR: could not insert ‘iwlwifi’: Exec format error)

Any suggestions on getting the ti-linux-kernel-dev to build and include the Intel WiFi modules ?

The iwlwifi configs were hidden because they depend on pci config which are not enabled by default in the 4.4x branch. Once I enabled the pci options I was able to select the intel configs and the modules were built.

Here’s the article I used to select the appropriate pci configs

http://processors.wiki.ti.com/index.php/Linux_Core_PCIe_Driver_User’s_Guide

I’m still having problems bringing the iwlwifi device’s wlan0 interface up but that might be a firmware issue.

Hi Shaun,

I have a custom am57x board that uses the x15 prebuilt images and I noticed
that the iwlwifi module is not included. This prevents me from loading my
intel 3160 attached to pci

I built the 4.4x ti bsp kernel but the config does not have entries for the
Intel Wireless Modules (Device Drivers > Network device support > Wireless
LAN > Intel... are all missing.)

If I build the mainline 4.4x, it does have the Intel Wireless config in
there and builds the iwlwifi, mvm and dvm modules just fine but I would like
to use the TI kernel. I did try to load the mainline iwlwifi module but when
using the ti kernel - (modprobe: ERROR: could not insert 'iwlwifi': Exec
format error)

Any suggestions on getting the ti-linux-kernel-dev to build and include the
Intel WiFi modules ?

What kernel branch do you guys want to target for your application? v4.9-lts

If i remember right, you guys aren't using the pru or video subsystem,
so would mainline v4.12.x make more sense for you?

Right now both v4.4.x-ti/v4.9.x-ti have the PCI subsystem disabled.
Do you guys need lpae/kvm/etc?

Are you happy with default eeprom?

and device tree name?

it's still the 3160HMW pcie module??

Regards,

We’re investigating some code over to use the PRU, I think we’ll still target 4.4x

So far everything looks fine… eeprom and tree works

We had to patch our dts to add the pcie1 back in. We can do a merge request later once we get past the firmware load issue

`
&pcie1_rc {
status = “okay”;
gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
};

&pcie1_ep {
gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
};
`

lspci is showing the bus and the 3160HMW. The firmware is giving us some problems, might be an intel thing however:

dmesg
[ 4.534104] iwlwifi 0000:01:00.0: enabling device (0140 -> 0142) [ 4.555571] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-3160-17.ucode failed with error -2 [ 4.615862] iwlwifi 0000:01:00.0: loaded firmware version 16.242414.0 op_mode iwlmvm [ 4.731836] iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band Wireless AC 3160, REV=0x164 [ 4.732966] iwlwifi 0000:01:00.0: L1 Disabled - LTR Disabled [ 4.733210] iwlwifi 0000:01:00.0: L1 Disabled - LTR Disabled [ 11.502283] iwlwifi 0000:01:00.0: Failed to load firmware chunk! [ 11.508349] iwlwifi 0000:01:00.0: Could not load the [0] uCode section [ 11.516889] iwlwifi 0000:01:00.0: Failed to start INIT ucode: -110 [ 11.523155] iwlwifi 0000:01:00.0: Failed to run INIT ucode: -110 [ 11.542398] iwlwifi 0000:01:00.0: L1 Disabled - LTR Disabled

[ 11.557883] iwlwifi 0000:01:00.0: L1 Disabled - LTR Disabled

iwconfig
wlan0 IEEE 802.11abgn ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=0 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off

ifconfig wlan0 up

SIOCSIFFLAGS: Connection timed out

Still investigating this

I'll need to back port that into jessie..

https://packages.debian.org/search?suite=stretch&arch=any&searchon=contents&keywords=iwlwifi-3160-16.ucode

But you guys really want xenial right?

https://packages.ubuntu.com/search?suite=xenial&arch=any&mode=exactfilename&searchon=contents&keywords=iwlwifi-3160-16.ucode

ubuntu: linux-firmware

Regards,

opps already backported:

http://repos.rcn-ee.net/debian/pool/main/f/firmware-nonfree/

sudo apt update ; sudo apt install firmware-iwlwifi

Regards,

Support for both would be ideal, we’re going to target xenial

I have a custom am57x board that uses the x15 prebuilt images and I noticed that the iwlwifi module is not included. This prevents me from loading my intel 3160 attached to pci

I built the 4.4x ti bsp kernel but the config does not have entries for the Intel Wireless Modules (Device Drivers > Network device support > Wireless LAN > Intel… are all missing.)

Looks like Robert added it for the next build…

https://github.com/beagleboard/image-builder/commit/6ed1546209ddc100964ed33d7bbe8f80f7788615

Ok great.

As far as testing… I downloaded the deb on xenial and installed it but I’m still seeing the load errors.

`

mv /lib/firmware/iwlwifi-* /home/ubuntu/old_iwlwifi_firmware/

dpkg -i --force-all firmware-iwlwifi_20161130-2_all.deb

ll /lib/firmware/ | grep iwlwifi-3160

-rw-r–r-- 1 root root 683996 Dec 14 16:53 iwlwifi-3160-12.ucode
-rw-r–r-- 1 root root 918080 Dec 14 16:53 iwlwifi-3160-14.ucode
-rw-r–r-- 1 root root 918212 Dec 14 16:53 iwlwifi-3160-16.ucode
-rw-r–r-- 1 root root 918268 Dec 14 16:53 iwlwifi-3160-17.ucode
-rw-r–r-- 1 root root 669872 Dec 14 16:53 iwlwifi-3160-9.ucode

(rebooted after this)

dmesg

[ 4.496271] iwlwifi 0000:01:00.0: enabling device (0140 → 0142)
[ 4.575832] iwlwifi 0000:01:00.0: loaded firmware version 17.352738.0 op_mode iwlmvm
[ 4.697282] iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band Wireless AC 3160, REV=0x164

[ 11.365551] iwlwifi 0000:01:00.0: Failed to load firmware chunk!
[ 11.371616] iwlwifi 0000:01:00.0: Could not load the [0] uCode section
[ 11.381291] iwlwifi 0000:01:00.0: Failed to start INIT ucode: -110
[ 11.387560] iwlwifi 0000:01:00.0: Failed to run INIT ucode: -110
[ 11.413666] iwlwifi 0000:01:00.0: L1 Disabled - LTR Disabled
[ 11.431834] iwlwifi 0000:01:00.0: L1 Disabled - LTR Disabled

ifconfig wlan0 up
SIOCSIFFLAGS: Connection timed out

`

I’m attaching my dmesg output as there is an unhandled fault in there that might be related

dmesg_sndrblock_iwlwifi.txt (45.2 KB)

Ok great.

As far as testing.. I downloaded the deb on xenial and installed it but I'm
still seeing the load errors.

mv /lib/firmware/iwlwifi-* /home/ubuntu/old_iwlwifi_firmware/

dpkg -i --force-all firmware-iwlwifi_20161130-2_all.deb

ll /lib/firmware/ | grep iwlwifi-3160

-rw-r--r-- 1 root root 683996 Dec 14 16:53 iwlwifi-3160-12.ucode
-rw-r--r-- 1 root root 918080 Dec 14 16:53 iwlwifi-3160-14.ucode
-rw-r--r-- 1 root root 918212 Dec 14 16:53 iwlwifi-3160-16.ucode
-rw-r--r-- 1 root root 918268 Dec 14 16:53 iwlwifi-3160-17.ucode
-rw-r--r-- 1 root root 669872 Dec 14 16:53 iwlwifi-3160-9.ucode

(rebooted after this)

dmesg

[ 4.496271] iwlwifi 0000:01:00.0: enabling device (0140 -> 0142)
[ 4.575832] iwlwifi 0000:01:00.0: loaded firmware version 17.352738.0
op_mode iwlmvm
[ 4.697282] iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band Wireless AC
3160, REV=0x164
...
[ 11.365551] iwlwifi 0000:01:00.0: Failed to load firmware chunk!
[ 11.371616] iwlwifi 0000:01:00.0: Could not load the [0] uCode section
[ 11.381291] iwlwifi 0000:01:00.0: Failed to start INIT ucode: -110
[ 11.387560] iwlwifi 0000:01:00.0: Failed to run INIT ucode: -110
[ 11.413666] iwlwifi 0000:01:00.0: L1 Disabled - LTR Disabled
[ 11.431834] iwlwifi 0000:01:00.0: L1 Disabled - LTR Disabled

ifconfig wlan0 up

SIOCSIFFLAGS: Connection timed out

I'm attaching my dmesg output as there is an unhandled fault in there that
might be related

I got it working with:

CONFIG_IWLWIFI=m
CONFIG_IWLWIFI_LEDS=y
CONFIG_IWLDVM=m
CONFIG_IWLMVM=m <- needed for 3160 devices

debian@beaglebone:~$ dmesg | grep iw
[ 21.224893] iwlwifi 0000:01:00.0: enabling device (0140 -> 0142)
[ 21.224961] iwlwifi 0000:01:00.0: pci_enable_msi failed(0Xffffffda)
[ 21.659880] iwlwifi 0000:01:00.0: loaded firmware version
17.352738.0 op_mode iwlmvm
[ 21.776953] iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band
Wireless AC 3160, REV=0x164
[ 21.778425] iwlwifi 0000:01:00.0: L1 Disabled - LTR Disabled
[ 21.778670] iwlwifi 0000:01:00.0: L1 Disabled - LTR Disabled
[ 21.935380] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
[ 21.941364] iwlwifi 0000:01:00.0: L1 Disabled - LTR Disabled
[ 21.941808] iwlwifi 0000:01:00.0: L1 Disabled - LTR Disabled
[ 22.050470] iwlwifi 0000:01:00.0: L1 Disabled - LTR Disabled
[ 22.050716] iwlwifi 0000:01:00.0: L1 Disabled - LTR Disabled

wlan0 Link encap:Ethernet HWaddr 78:0c:b8:fc:e7:5c
          UP BROADCAST MULTICAST DYNAMIC MTU:1500 Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

debian@beaglebone:~$ sudo connmanctl

enable wifi

Error wifi: Already enabled

scan wifi

Scan completed for wifi

services

    BeagleBone-ABCDEF
wifi_780cb8fce75c_426561676c65426f6e652d414243444546_managed_psk
    DKE_Guest wifi_780cb8fce75c_444b455f4775657374_managed_psk
    DKE_Employee
wifi_780cb8fce75c_444b455f456d706c6f796565_managed_ieee8021x

agent on

Agent registered
_psk anctl> connect
wifi_780cb8fce75c_426561676c65426f6e652d414243444546_managed_
Agent RequestInput
wifi_780cb8fce75c_426561676c65426f6e652d414243444546_managed_psk
  Passphrase = [ Type=psk, Requirement=mandatory ]
Passphrase? BeagleBoneBeagleBone

quit

debian@beaglebone:~$ sudo ifconfig -a wlan0
wlan0 Link encap:Ethernet HWaddr 78:0c:b8:fc:e7:5c
          inet addr:192.168.0.113 Bcast:192.168.0.255 Mask:255.255.255.0
          inet6 addr: fe80::7a0c:b8ff:fefc:e75c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST DYNAMIC MTU:1500 Metric:1
          RX packets:30 errors:0 dropped:0 overruns:0 frame:0
          TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3546 (3.4 KiB) TX bytes:13717 (13.3 KiB)

and pushed it as part of r107:

Regards,

r107 passes all tests on my end. thanks!

Awesome!!

Btw, i start forward porting to v4.9.x-ti, that same firmware issue
you had is back.. even with CONFIG_IWLMVM=m, so stay with v4.4.x-ti
for now. :wink:

Regards,