I tried to run the same command on Yucto Linux that I build from source (from edison-src-ww05-15.tgz). I added the iw tool (version 3.15) from a recipe.
The output was the same the first time that I ran this command before setting up any wifi network.
"configure_edison --version" returns "SATELLITE" on this system.
After replacing wpa_supplicant.conf with wpa_supplicant.conf.original and rebooting, it looks like one can add a single virtual interface.
~/# iw phy phy0 interface add test0 type managed
Creates a virtual interface.
~/# iw phy phy0 interface add test1 type ibss
[ 970.544245] BUG: unable to handle kernel NULL pointer dereference at 00000010
[ 970.544366] IP: [<c18579d3>] nl80211_send_iface+0x13/0x350
[ 970.544454] *pdpt = 000000003545d001 *pde = 0000000000000000
[ 970.544536] Oops: 0000 [#1] PREEMPT SMP
[ 970.544605] Modules linked in: usb_f_acm u_serial g_multi libcomposite bcm_bt_lpm bcm4334x(O)
[ 970.544741] CPU: 0 PID: 485 Comm: iw Tainted: G O 3.10.17-yocto-standard #1
[ 970.544826] Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 466 2014.06.23:19.20.05
[ 970.544920] task: f5df2160 ti: f5f12000 task.ti: f5f12000
[ 970.544985] EIP: 0060:[<c18579d3>] EFLAGS: 00010286 CPU: 0
[ 970.545053] EIP is at nl80211_send_iface+0x13/0x350
[ 970.545112] EAX: 00000000 EBX: f8dae340 ECX: 552527a0 EDX: 000001e5
[ 970.545183] ESI: f5f56c00 EDI: f5fc0000 EBP: f5f13c28 ESP: f5f13bd8
[ 970.545253] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[ 970.545316] CR0: 80050033 CR2: 00000010 CR3: 35eea000 CR4: 001007f0
[ 970.545386] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[ 970.545454] DR6: ffff0ff0 DR7: 00000400
[ 970.545500] Stack:
[ 970.545532] f5234000 f5f13c1b 000000d0 f5fc06a4 f5eac000 f5fc0460 f5f56920 00000001
[ 970.545677] 000000d0 00000001 f5234000 f5f13c28 c1701bb7 00000000 00001000 000000ac
[ 970.545819] 00bf39d4 f8dae340 c1bfc720 f5fc0000 f5f13c74 c1858085 00000000 f5fc0000
[ 970.545962] Call Trace:
[ 970.546024] [<c1701bb7>] ? __alloc_skb+0x77/0x260
[ 970.546099] [<c1858085>] nl80211_new_interface+0x175/0x430
[ 970.546185] [<c184d780>] ? __cfg80211_rdev_from_attrs+0x180/0x180
[ 970.546269] [<c1730fbe>] genl_rcv_msg+0x23e/0x340
[ 970.546349] [<c1730d80>] ? __genl_register_family_with_ops+0x70/0x70
[ 970.546432] [<c172f6a6>] netlink_rcv_skb+0x86/0xa0
[ 970.546504] [<c172fb01>] genl_rcv+0x21/0x30
[ 970.546570] [<c172f0f8>] netlink_unicast+0x118/0x1a0
[ 970.546645] [<c172f38a>] netlink_sendmsg+0x20a/0x390
[ 970.546724] [<c16fa60b>] sock_sendmsg+0x7b/0xb0
[ 970.546795] [<c145b567>] ? avc_has_perm_flags+0xc7/0x170
[ 970.546875] [<c189a8f5>] ? sub_preempt_count+0x55/0xe0
[ 970.546961] [<c16fa8e9>] ___sys_sendmsg+0x269/0x270
[ 970.547039] [<c12e9106>] ? unlock_page+0x46/0x50
[ 970.547111] [<c1303478>] ? __do_fault+0x3a8/0x4a0
[ 970.547194] [<c12ee932>] ? free_pages_prepare+0xe2/0x160
[ 970.547270] [<c1305f8b>] ? handle_mm_fault+0xbb/0x110
[ 970.547344] [<c16f95ac>] ? sockfd_lookup_light+0x1c/0x60
[ 970.547420] [<c16fb6e8>] __sys_sendmsg+0x38/0x70
[ 970.547495] [<c16fb736>] SyS_sendmsg+0x16/0x20
[ 970.547563] [<c16fbe2b>] SyS_socketcall+0x29b/0x2f0
[ 970.547637] [<c189a640>] ? __do_page_fault+0x510/0x510
[ 970.547713] [<c14b59b4>] ? trace_hardirqs_on_thunk+0xc/0x10
[ 970.547789] [<c1897808>] syscall_call+0x7/0xb
[ 970.547848] Code: c7 45 ec 00 00 00 00 c7 45 c8 00 00 00 00 e9 c1 fd ff ff 90 8d 74 26 00 55 89 e5 57 56 53 83 ec 44 3e 8d 74 26 00 89 c6 8b 45 10 <8b> 58 10 8b 45 08 c7 44 24 08 07 00 00 00 c7 04 24 00 d0 bf c1
[ 970.548547] EIP: [<c18579d3>] nl80211_send_iface+0x13/0x350 SS:ESP 0068:f5f13bd8
[ 970.548647] CR2: 0000000000000010
[ 970.824863] ---[ end trace 5aa104a3c8487c1a ]---
I would like to know how to configure two virtual interfaces so that I can use both at the same time.
So when you try to run the command configure_edison –version the output of the system is “SATELLITE”?
I’ve never seen this error on the Yocto image. What other configurations you made in your system that could have caused this? In case you are using Ubilinux you can also try asking in the ubilinux forum EmutexLabs since they are the ones who support this image.
> So when you try to run the command configure_edison –version the output of the system is “SATELLITE”?
Yes. This is an image built from the latest sources.
> What other configurations you made in your system that could have caused this?
I added the iw utility to the Yocto image.
I'm not using Ubilinux now, but it was what I was using initially. I'm using Yocto and the null ptr error from the linux kernel was produced using Yocto.
What is the output of running
root@edisonR2:~# configure_edison --latest-version
The result must always be 120.
Run the command
to see if this makes any change. After doing this report back the configure_edison –version output. If you get anything other than 120 post a screenshot.
> The result must always be 120.
The output is different when you build the software yourself. The configure_edison script contains this:
f = open('/etc/version','r')
ver_str = f.readline()
return ("edison-" + ver_str.split('-'), ver_str.split('-').splitlines())
Since I build the image from the sources released by Intel, the function prints "SATELLITE".
root@edison:~# cat /etc/version
Custom Edison build by wojci@wojci-SATELLITE-L855 2015-04-07 16:44:15 CEST
I used the sources contained in "edison-src-ww05-15.tgz" to build this software.
If you build your own image and make any recipe changes you have to make sure you enable those changes in the new kernel. For this you can use menuconfig. Run systemctl restart wpa_supplicant and check that systemctl status connman is disabled. What is the status of systemctl status wpa_supplicant?