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

161 views
Skip to first unread message

Custom AM5718

unread,
May 31, 2017, 3:06:57 PM5/31/17
to BeagleBoard
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 ?


-------------------
References:


Custom AM5718

unread,
Jun 1, 2017, 1:23:12 PM6/1/17
to BeagleBoard
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


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

Robert Nelson

unread,
Jun 1, 2017, 1:24:25 PM6/1/17
to Beagle Board, shaun...@gmail.com
Hi Shaun,

On Wed, May 31, 2017 at 10:24 AM, Custom AM5718 <shaun...@gmail.com> wrote:
> 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?

https://github.com/RobertCNelson/boot-scripts/blob/master/device/x15/SB_A-eeprom.dump

and device tree name?

it's still the 3160HMW pcie module??

Regards,

--
Robert Nelson
https://rcn-ee.com/

Custom AM5718

unread,
Jun 1, 2017, 1:38:03 PM6/1/17
to BeagleBoard, shaun...@gmail.com
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

Robert Nelson

unread,
Jun 1, 2017, 1:48:46 PM6/1/17
to Beagle Board, shaun...@gmail.com

Robert Nelson

unread,
Jun 1, 2017, 1:51:55 PM6/1/17
to Beagle Board, shaun...@gmail.com
opps already backported:

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

sudo apt update ; sudo apt install firmware-iwlwifi

Custom AM5718

unread,
Jun 1, 2017, 1:53:04 PM6/1/17
to BeagleBoard, shaun...@gmail.com
Support for both would be ideal, we're going to target xenial

Jason Kridner

unread,
Jun 1, 2017, 4:40:43 PM6/1/17
to beagl...@googlegroups.com
On Wed, May 31, 2017 at 11:24 AM Custom AM5718 <shaun...@gmail.com> wrote:
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 ?


-------------------
References:


--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/fa6575de-6958-4645-87e3-ba01fc6a507a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Custom AM5718

unread,
Jun 2, 2017, 9:30:13 AM6/2/17
to BeagleBoard
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

Robert Nelson

unread,
Jun 2, 2017, 11:25:09 AM6/2/17
to Beagle Board, Shaun Murphy
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
connmanctl> enable wifi
Error wifi: Already enabled
connmanctl> scan wifi
Scan completed for wifi
connmanctl> services
BeagleBone-ABCDEF
wifi_780cb8fce75c_426561676c65426f6e652d414243444546_managed_psk
DKE_Guest wifi_780cb8fce75c_444b455f4775657374_managed_psk
DKE_Employee
wifi_780cb8fce75c_444b455f456d706c6f796565_managed_ieee8021x
connmanctl> 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
connmanctl> 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:

https://github.com/RobertCNelson/ti-linux-kernel-dev/commit/538107ffc6c5d32304bf20a4db497df1b87578d4

Custom AM5718

unread,
Jun 2, 2017, 1:53:32 PM6/2/17
to BeagleBoard, shaun...@gmail.com
r107 passes all tests on my end. thanks!

Robert Nelson

unread,
Jun 2, 2017, 1:59:13 PM6/2/17
to Beagle Board, Shaun Murphy
On Fri, Jun 2, 2017 at 12:53 PM, Custom AM5718 <shaun...@gmail.com> wrote:
> 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. ;)
Reply all
Reply to author
Forward
0 new messages