Linux ネットワーク

【無線LAN】組み込みボードで無線LANを動かしてみた(QCA9377失敗編)

【無線LAN】組み込みボードで無線LANを動かしてみた(Intel N6300編)を実験したところ、Intel N6300はAPモードになれないことが判明。

そこでクアルコムアセロス社のQCA9377というAPモード対応デバイスを挿してみることにした。

先に結果を書きますが、いろいろやった結果、手詰まりになりました(QCA9377の認識に失敗します。STAすら動いてません)。

最後にも書きましたが、どこかで仕切り直したいです。そのときに今回の失敗事例が役にたつと思うので、記録しておきました。

中途半端で申し訳ありません。

この記事で解決できること

  • クアルコムアセロス社のQCA9377という無線LANカードを組み込みデバイスで動かすための各種手法を知ることが出来る(デバイス動作はこの記事では失敗)

関連記事

【無線LAN】組み込みボードで無線LANを動かしてみた(Intel N6300編)

【無線LAN】組み込みボードで無線LANを動かしてみた(QCA9377失敗編)

【無線LAN】パソコンの無線LANアダプタをアクセスポイント(SoftAP)にする方法

【自宅でNFC】非接触ICカードリーダーPaSoRiを試してみた

【モバイル通信】自宅のインターネット環境をポケットWi-Fiにしよう(お薦めの理由3つ)

QCA9377-5(miniPCIeインタフェースの無線LANモジュール)を挿してみた

QCA9377-5(miniPCIeインタフェースの無線LANモジュール)をminiPCIeポートに挿してみた。

さっそくlspciを実行してみた。Qualcomm Atherosとか出てくるのでPCIeとしては認識した様子。

 command
# lspci
00:00.0 PCI bridge: Synopsys, Inc. Device abcd (rev 01)
01:00.0 Network controller: Qualcomm Atheros Device 0042 (rev 31)

次にlsmodを実行してみた。cfg80211は居るが誰からも参照されてない(Used byがゼロ)。

 command
# lsmod
Module Size Used by
cfg80211 376620 0
ov5640_camera_mipi 53880 0
mxc_v4l2_capture 25411 1 ov5640_camera_mipi
ipu_bg_overlay_sdc 4303 1 mxc_v4l2_capture
ipu_still 1811 1 mxc_v4l2_capture
ipu_prp_enc 4919 1 mxc_v4l2_capture
ipu_csi_enc 3097 1 mxc_v4l2_capture
ipu_fg_overlay_sdc 5199 1 mxc_v4l2_capture
adv7180_tvin 8599 0
v4l2_int_device 1936 3 ov5640_camera_mipi,adv7180_tvin,mxc_v4l2_capture
snd_soc_fsl_asrc 24344 0

dmesgでfirmwareのロード状況を確認。無線LANっぽいのが居ない。

 command
# dmesg | grep firmware
imx-sdma 20ec000.sdma: loaded firmware 3.1
usbserial: USB Serial support registered for Keyspan - (without firmware)
egalax_ts 2-0004: Failed to read firmware version
ili210x_i2c 2-0041: Failed to get firmware version, err: -5

QCA9377のドライバを調べてみる。Linux WirelessのSupported devicesからlist of supported devices by device IDに行き、QCA9377を検索するとath10kというドライバであることが判明。

Linux WirelessのAbout ath10kを読み、QCA9377-5がサポート対象であることを再確認。

実機(BD-SABRE-LITE)上の/lib/modulesを見た。ath10kは居なかった。

 command
# ls /lib/modules/3.14.28-1.0.0_ga\+yocto\+g7ff62b2/kernel/driv
ers/net/wireless/ath/
ath.ko ath9k

/lib/firmwareも見た。当然だがこちらにもath10kは居ない。

 command
# ls /lib/firmware/
TIInit_7.2.31.bts wl127x-fw-4-mr.bin wl128x-fw-4-sr.bin
iwlwifi-6000-4.ucode wl127x-fw-4-plt.bin wl128x-fw-5-mr.bin
ti-connectivity wl127x-fw-4-sr.bin wl128x-fw-5-plt.bin
vpu wl127x-fw-5-mr.bin wl128x-fw-5-sr.bin
wl1251-fw.bin wl127x-fw-5-plt.bin wl128x-fw-ap.bin
wl1251-nvs.bin wl127x-fw-5-sr.bin wl128x-fw-plt-3.bin
wl1271-fw-2.bin wl127x-fw-plt-3.bin wl128x-fw.bin
wl1271-fw-ap.bin wl127x-nvs.bin wl128x-nvs.bin
wl1271-fw.bin wl128x-fw-3.bin wl12xx-nvs.bin
wl1271-nvs.bin wl128x-fw-4-mr.bin
wl127x-fw-3.bin wl128x-fw-4-plt.bin

どうもath10kはインストールされていない様子。Intel N-6300があまりにもアッサリ動いて拍子抜けだったため、私的にはウレシイ感じ。

次回、ath10kを組み込む方法を検討します。

ath10kをBD-SABRE-LITEに組み込む

例によってカーネルconfigを呼び出す。(詳細は【組込Linuxボード】Boundary Devices社のSabre Liteボード(i.MX6)を動かしてみたを参照)

 command
$ cd ~/fido
$ MACHINE=nitrogen6x . setup-environment core-image-sato
$ MACHINE=nitrogen6x bitbake -f -c menuconfig virtual/kernel
Loading cache: 100% |###############################################################| ETA: 00:00:00
Loaded 2088 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies Build Configuration:
BB_VERSION = "1.26.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Ubuntu-14.04"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "nitrogen6x"
DISTRO = "poky"
DISTRO_VERSION = "1.8.2"
TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
TARGET_FPU = "vfp-neon"
meta
meta-yocto = "(nobranch):87631919819b6f85f23f57689cd1065c64d7fb03"
meta-oe
meta-multimedia = "(nobranch):902964a4da26e46018d2a8d17dcdda1ac4627a39"
meta-fsl-arm = "(nobranch):c9f259a4bf8472dfa3ff75f1c3fcbe5e0ded7aaf"
meta-fsl-arm-extra = "(nobranch):b292f6204912ace18e30b7683748a311c5dfa780"
meta-fsl-demos = "(nobranch):17f9da65efb5c65c1d44b5cc18584034b29a742b" NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
Currently 1 running tasks (258 of 258):
0: linux-boundary-3.14.28-r0 do_menuconfig (pid 22956)

フルビルド...OK。

 command
$ bitbake core-image-sato
Loading cache: 100% |###############################################################| ETA: 00:00:00
Loaded 2088 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
NOTE: multiple providers are available for jpeg (jpeg, libjpeg-turbo)
NOTE: consider defining a PREFERRED_PROVIDER entry to match jpeg
NOTE: multiple providers are available for jpeg-native (jpeg-native, libjpeg-turbo-native)
NOTE: consider defining a PREFERRED_PROVIDER entry to match jpeg-native Build Configuration:
BB_VERSION = "1.26.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Ubuntu-14.04"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "nitrogen6x"
DISTRO = "poky"
DISTRO_VERSION = "1.8.2"
TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
TARGET_FPU = "vfp-neon"
meta
meta-yocto = "(nobranch):87631919819b6f85f23f57689cd1065c64d7fb03"
meta-oe
meta-multimedia = "(nobranch):902964a4da26e46018d2a8d17dcdda1ac4627a39"
meta-fsl-arm = "(nobranch):c9f259a4bf8472dfa3ff75f1c3fcbe5e0ded7aaf"
meta-fsl-arm-extra = "(nobranch):b292f6204912ace18e30b7683748a311c5dfa780"
meta-fsl-demos = "(nobranch):17f9da65efb5c65c1d44b5cc18584034b29a742b" NOTE: Preparing RunQueue
WARNING: /home/pavement1234/fido/sources/meta-fsl-arm-extra/recipes-kernel/linux/linux-boundary_3.14.28.bb.do_compile is tainted from a forced run
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: log_check: There is a warn message in the logfile
WARNING: log_check: Matched keyword: [WARNING:] WARNING: log_check: WARNING: The license listed Firmware-ti-connectivity was not in the licenses collected for linux-firmware NOTE: Tasks Summary: Attempted 5308 tasks of which 5192 didn't need to be rerun and all succeeded. Summary: There were 4 WARNING messages shown.

BD-SABRE-LITEのホームディレクトリにあるファイルたち(hostapdとかiwとか色々)をUSBメモリ(/dev/sda)にバックアップして、シャットダウン

 command
# mount /dev/sda /mnt
# cp ~/* /mnt
# shutdown -h now

BD-SABRE-LITEからmicroSDカードを取り出し、カードリーダ経由でUbuntu14 PCに挿す。microSDカードを初期化する。

 command
$ sudo dd if=/dev/zero of=/dev/sdc bs=1M
dd: `/dev/sdc' の書き込みエラー: デバイスに空き領域がありません 15071+0 レコード入力
15070+0 レコード出力
15802040320 バイト (16 GB) コピーされました、 816.964 秒、 19.3 MB/秒

BD-SABRE-LITEのSDカードイメージをmicroSDに書き込む。

 command
$ cd ~/fido/core-image-sato/tmp/deploy/images/nitrogen6x/
$ sudo umount /dev/sdc
$ sudo dd if=core-image-sato-nitrogen6x.sdcard of=/dev/sdc bs=1M
288+0 レコード入力
288+0 レコード出力
301989888 バイト (302 MB) コピーされました、 18.4428 秒、 16.4 MB/秒
$ sync

microSDカードをBD-SABRE-LITEに挿し、起動。lspciしてみる。デバイスの認識はしてる。

 command
# lspci
00:00.0 PCI bridge: Synopsys, Inc. Device abcd (rev 01)
01:00.0 Network controller: Qualcomm Atheros Device 0042 (rev 31)

ath10kドライバはあるね。

 command
# ls /lib/modules/3.14.28-1.0.0_ga+yocto+g7ff62b2/kernel/drivers/net/wireless/ath/ath10k
ath10k_core.ko ath10k_pci.ko

lsmodした。cfg80211がない…。

 command
# lsmod
Module Size Used by
ov5640_camera_mipi 53356 0
mxc_v4l2_capture 24972 1 ov5640_camera_mipi
ipu_bg_overlay_sdc 4175 1 mxc_v4l2_capture
ipu_still 1719 1 mxc_v4l2_capture
ipu_prp_enc 4791 1 mxc_v4l2_capture
ipu_csi_enc 2969 1 mxc_v4l2_capture
ipu_fg_overlay_sdc 5059 1 mxc_v4l2_capture
adv7180_tvin 8323 0
v4l2_int_device 1796 3 ov5640_camera_mipi,adv7180_tvin,mxc_v4l2_capture
snd_soc_fsl_asrc 23760 0

cfg80211は...あった。

 command
# ls /lib/modules/3.14.28-1.0.0_ga+yocto+g7ff62b2/kernel/net/wireless
cfg80211.ko

何はともあれまずcfg802.11.koをinsmod。なんかCRDAのメッセージが出るが一応OKっぽい。

 command
# cd /lib/modules/3.14.28-1.0.0_ga+yocto+g7ff62b2/kernel/net/wireless
# insmod cfg80211.ko
cfg80211: Calling CRDA to update world regulatory domain

lsmodしてみる。cfg80211が読み込まれた。

 command
# lsmod
Module Size Used by
cfg80211 190001 0
ov5640_camera_mipi 53356 0
mxc_v4l2_capture 24972 1 ov5640_camera_mipi
ipu_bg_overlay_sdc 4175 1 mxc_v4l2_capture
ipu_still 1719 1 mxc_v4l2_capture
ipu_prp_enc 4791 1 mxc_v4l2_capture
ipu_csi_enc 2969 1 mxc_v4l2_capture
ipu_fg_overlay_sdc 5059 1 mxc_v4l2_capture
adv7180_tvin 8323 0
v4l2_int_device 1796 3 ov5640_camera_mipi,adv7180_tvin,mxc_v4l2_capture
snd_soc_fsl_asrc 23760 0

ath10kのとこに行き、ath10k_core.koをinsmod。エラー発生。ieee80211_radar_detected などのシンボルが見つからないと言われてる。

 command
# cd /lib/modules/3.14.28-1.0.0_ga+yocto+g7ff62b2/kernel/drivers/net/wireless/ath/ath10k
# insmod ath10k_core.ko
ath10k_core: Unknown symbol ieee80211_free_hw (err 0)
ath10k_core: Unknown symbol ieee80211_alloc_hw (err 0)
ath10k_core: Unknown symbol ieee80211_register_hw (err 0)
ath10k_core: Unknown symbol ieee80211_restart_hw (err 0)
ath10k_core: Unknown symbol ieee80211_find_sta (err 0)
ath10k_core: Unknown symbol ieee80211_tx_status_irqsafe (err 0)
ath10k_core: Unknown symbol wiphy_to_ieee80211_hw (err 0)
ath10k_core: Unknown symbol ath_reg_notifier_apply (err 0)
ath10k_core: Unknown symbol ieee80211_remain_on_channel_expired (err 0)
ath10k_core: Unknown symbol ieee80211_rx (err 0)
ath10k_core: Unknown symbol ath_is_world_regd (err 0)
ath10k_core: Unknown symbol ieee80211_wake_queues (err 0)
ath10k_core: Unknown symbol ieee80211_free_txskb (err 0)
ath10k_core: Unknown symbol ieee80211_tx_status (err 0)
ath10k_core: Unknown symbol ieee80211_ready_on_channel (err 0)
ath10k_core: Unknown symbol ieee80211_stop_queues (err 0)
ath10k_core: Unknown symbol ieee80211_scan_completed (err 0)
ath10k_core: Unknown symbol ieee80211_iterate_active_interfaces_atomic (err 0)
ath10k_core: Unknown symbol ieee80211_unregister_hw (err 0)
ath10k_core: Unknown symbol ath_regd_init (err 0)
ath10k_core: Unknown symbol ieee80211_beacon_get_tim (err 0)
ath10k_core: Unknown symbol ieee80211_radar_detected (err 0)
ath10k_core: Unknown symbol ieee80211_queue_work (err 0)
insmod: ERROR: could not insert module ath10k_core.ko: Unknown symbol in module

なんとなくath10k_pci.koのinsmodも試してみたが失敗(ath10k_pci.koはath10k_core.koに依存している様子)。

 command
# insmod ath10k_pci.ko
ath10k_pci: Unknown symbol ath10k_warn (err 0)
ath10k_pci: Unknown symbol ath10k_err (err 0)
ath10k_pci: Unknown symbol ath10k_core_create (err 0)
ath10k_pci: Unknown symbol ath10k_core_destroy (err 0)
ath10k_pci: Unknown symbol ath10k_core_register (err 0)
ath10k_pci: Unknown symbol ath10k_info (err 0)
ath10k_pci: Unknown symbol ath10k_core_unregister (err 0)
insmod: ERROR: could not insert module ath10k_pci.ko: Unknown symbol in module

ath10k_core.koのエラーを見ると、ieee80211_radar_detectedなどのシンボルが解決できない様子だったので、ieee80211_radar_detectedをgoogle検索するとLinux source code: ieee80211_radar_detected identifier (v4.1) - Bootlinが見つかった。ieee80211_radar_detectedはmac80211.hに定義されているようだ。

mac80211.koをinsmodしてみる。エラーは出なかった。

 command
# cd /lib/modules/3.14.28-1.0.0_ga+yocto+g7ff62b2/kernel/net/mac80211
# insmod mac80211.ko

lsmodしてみる。mac80211がロードされた(mac80211はcfg80211に依存している様子)。

 command
# lsmod
Module Size Used by
mac80211 259271 0
cfg80211 190001 1 mac80211
ov5640_camera_mipi 53356 0
mxc_v4l2_capture 24972 1 ov5640_camera_mipi
ipu_bg_overlay_sdc 4175 1 mxc_v4l2_capture
ipu_still 1719 1 mxc_v4l2_capture
ipu_prp_enc 4791 1 mxc_v4l2_capture
ipu_csi_enc 2969 1 mxc_v4l2_capture
ipu_fg_overlay_sdc 5059 1 mxc_v4l2_capture
adv7180_tvin 8323 0
v4l2_int_device 1796 3 ov5640_camera_mipi,adv7180_tvin,mxc_v4l2_capture
snd_soc_fsl_asrc 23760 0

再びath10k_core.koをinsmodしてみる。ath_reg_notifier_apply が見つからないと言ってるのでgoogle検索するとLinux source code: ath_reg_notifier_apply identifier (v4.7) - Bootlinが見つかった。ath_reg_notifier_apply はath/regd.hに定義されてる様子。

 command
# cd /lib/modules/3.14.28-1.0.0_ga+yocto+g7ff62b2/kernel/drivers/net/wireless/ath/ath10k
# insmod ath10k_core.ko
ath10k_core: Unknown symbol ath_reg_notifier_apply (err 0)
ath10k_core: Unknown symbol ath_is_world_regd (err 0)
ath10k_core: Unknown symbol ath_regd_init (err 0)
insmod: ERROR: could not insert module ath10k_core.ko: Unknown symbol in module

ath.koをinsmodしてみる。エラーは出なかった。

 command
# cd /lib/modules/3.14.28-1.0.0_ga+yocto+g7ff62b2/kernel/drivers/net/wireless/ath
# insmod ath.ko

lsmodしてみる。athが読み込まれた(athもcfg80211に依存してる様子)。

 command
# lsmod
Module Size Used by
ath 17462 0
mac80211 259271 0
cfg80211 190001 2 ath,mac80211
ov5640_camera_mipi 53356 0
mxc_v4l2_capture 24972 1 ov5640_camera_mipi
ipu_bg_overlay_sdc 4175 1 mxc_v4l2_capture
ipu_still 1719 1 mxc_v4l2_capture
ipu_prp_enc 4791 1 mxc_v4l2_capture
ipu_csi_enc 2969 1 mxc_v4l2_capture
ipu_fg_overlay_sdc 5059 1 mxc_v4l2_capture
adv7180_tvin 8323 0
v4l2_int_device 1796 3 ov5640_camera_mipi,adv7180_tvin,mxc_v4l2_capture
snd_soc_fsl_asrc 23760 0

再びath10k_core.koをinsmodしてみる。エラーは出ない。
続いてinsmod ath10k_pci.koもinsmodしてみる。エラーは出ない。

 command
# cd /lib/modules/3.14.28-1.0.0_ga+yocto+g7ff62b2/kernel/drivers/net/wireless/ath/ath10k
# insmod ath10k_core.ko
# insmod ath10k_pci.ko

lsmodした。これでath10kに関係するドライバは全て読み込めたか?

 command
# lsmod
Module Size Used by
ath10k_pci 25979 0
ath10k_core 76884 1 ath10k_pci
ath 17462 1 ath10k_core
mac80211 259271 1 ath10k_core
cfg80211 190001 3 ath,mac80211,ath10k_core
ov5640_camera_mipi 53356 0
mxc_v4l2_capture 24972 1 ov5640_camera_mipi
ipu_bg_overlay_sdc 4175 1 mxc_v4l2_capture
ipu_still 1719 1 mxc_v4l2_capture
ipu_prp_enc 4791 1 mxc_v4l2_capture
ipu_csi_enc 2969 1 mxc_v4l2_capture
ipu_fg_overlay_sdc 5059 1 mxc_v4l2_capture
adv7180_tvin 8323 0
v4l2_int_device 1796 3 ov5640_camera_mipi,adv7180_tvin,mxc_v4l2_capture
snd_soc_fsl_asrc 23760 0

まとめるとこんな感じの依存関係になっていた。上から順にinsmodすれば良い。

cfg80211
mac80211
ath
ath10k_core
ath10k_pci

iwたちをUSBメモリからホームディレクトリにコピー。iwは実行できた。

 command
# mount /dev/sda /mnt
# cd /mnt
# cp iwlwifi-6000-4.ucode hostapd_cli hostapd.conf2 iw hostapd.conf hostapd ~
# cd
# ./iw
Usage: ./iw [options] command
Options:
--debug enable netlink debugging
--version show version (5.3-3-g3708f61)
Commands:
dev <devname> ap stop
(以下略)

lspci -kを実行。PCIは認識してる。

 command
# lspci -k
00:00.0 PCI bridge: Synopsys, Inc. Device abcd (rev 01)
Kernel driver in use: pcieport
01:00.0 Network controller: Qualcomm Atheros Device 0042 (rev 31)
Subsystem: AzureWave Device 2a51

ip linkを打ってみる。wlan0は無い。

 command
# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: can0: <NOARP40000> mtu 16 qdisc noop qlen 10
link/[280] 3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:19:b8:06:ca:7f brd ff:ff:ff:ff:ff:ff
4: sit0@NONE: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0

firmwareがロードされたか見てみる。なんかathと名の付くファームは無い感じ。

 command
# dmesg | grep firmware
imx-sdma 20ec000.sdma: loaded firmware 3.1
usbserial: USB Serial support registered for Keyspan - (without firmware)
egalax_ts 2-0004: Failed to read firmware version
ili210x_i2c 2-0041: Failed to get firmware version, err: -5

/lib/firmwareをlsしてみる。athはナイネ。カーネルコンフィグで選択しないとダメか?

 command
# ls /lib/firmware
TIInit_7.2.31.bts wl127x-fw-4-mr.bin wl128x-fw-4-plt.bin
ti-connectivity wl127x-fw-4-plt.bin wl128x-fw-4-sr.bin
vpu wl127x-fw-4-sr.bin wl128x-fw-5-mr.bin
wl1251-fw.bin wl127x-fw-5-mr.bin wl128x-fw-5-plt.bin
wl1251-nvs.bin wl127x-fw-5-plt.bin wl128x-fw-5-sr.bin
wl1271-fw-2.bin wl127x-fw-5-sr.bin wl128x-fw-ap.bin
wl1271-fw-ap.bin wl127x-fw-plt-3.bin wl128x-fw-plt-3.bin
wl1271-fw.bin wl127x-nvs.bin wl128x-fw.bin
wl1271-nvs.bin wl128x-fw-3.bin wl128x-nvs.bin
wl127x-fw-3.bin wl128x-fw-4-mr.bin wl12xx-nvs.bin

再びカーネルconfigを呼び出す。

 command
$ cd ~/fido
$ MACHINE=nitrogen6x . setup-environment core-image-sato
$ MACHINE=nitrogen6x bitbake -f -c menuconfig virtual/kernel
Loading cache: 100% |###############################################################| ETA: 00:00:00
Loaded 2088 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies Build Configuration:
BB_VERSION = "1.26.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Ubuntu-14.04"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "nitrogen6x"
DISTRO = "poky"
DISTRO_VERSION = "1.8.2"
TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
TARGET_FPU = "vfp-neon"
meta
meta-yocto = "(nobranch):87631919819b6f85f23f57689cd1065c64d7fb03"
meta-oe
meta-multimedia = "(nobranch):902964a4da26e46018d2a8d17dcdda1ac4627a39"
meta-fsl-arm = "(nobranch):c9f259a4bf8472dfa3ff75f1c3fcbe5e0ded7aaf"
meta-fsl-arm-extra = "(nobranch):b292f6204912ace18e30b7683748a311c5dfa780"
meta-fsl-demos = "(nobranch):17f9da65efb5c65c1d44b5cc18584034b29a742b" NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
Currently 1 running tasks (258 of 258):
0: linux-boundary-3.14.28-r0 do_menuconfig (pid 22956)

カーネルコンフィグにath10kのファームウェアに関する設定は見つからなかった。

Linux Wirelessのath10k firmwareを読んだ。ath10k-firmware(github)にath10kのファームがあるみたい。QCA9377の記載がある。

このページの下の方にあるhttps://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/に進んでみる。

gitのサイトにたどり着いた。

このページの下の方に書いてあるURLをクローンしてみようとした。半分ぐらいダウンロードしたところでサイズを見ると165Mbyte。どこまで増えるんだこれ。もしかするとLinuxのファームウェアを全て含んだアーカイブってことかな。一旦キャンセル。

 command
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
Cloning into 'linux-firmware'...
remote: Counting objects: 8694, done.
remote: Compressing objects: 100% (3061/3061), done.
Receiving objects: 53% (4627/8694), 165.01 MiB | 429.00 KiB/s

改めてath10k-firmware(github)の右上にある緑ボタンを押しZIPをダウンロードしてみる。約81Mbyte。これならいけそうだ。

ath10k-firmware-master.zipを解凍。ath10k-firmware-masterの中はこんな感じ。QCA9377もある。

さて、このファイルをどう置けばいいのか。Ubuntu14のファームを見てみた。こういう階層に置けばよいみたい。

 command
$ ls /lib/firmware/ath10k/QCA988X/hw2.0
board.bin firmware.bin otp.bin

QCA9377のファームが格納されたディレクトリを /lib/firmware/ath10kにコピーしreboot。

 command
# mkdir /lib/firmware/ath10k
# mount /dev/sda /mnt
# cp -r /mnt/ath10k-firmware-master/QCA9377 /lib/firmware/ath10k
# reboot

ドライバたちをinsmod。

 command
insmod /lib/modules/3.14.28-1.0.0_ga+yocto+g7ff62b2/kernel/net/wireless/cfg80211.ko
insmod /lib/modules/3.14.28-1.0.0_ga+yocto+g7ff62b2/kernel/net/mac80211/mac80211.ko
insmod /lib/modules/3.14.28-1.0.0_ga+yocto+g7ff62b2/kernel/drivers/net/wireless/ath/ath.ko
insmod /lib/modules/3.14.28-1.0.0_ga+yocto+g7ff62b2/kernel/drivers/net/wireless/ath/ath10k/ath10k_core.ko
insmod /lib/modules/3.14.28-1.0.0_ga+yocto+g7ff62b2/kernel/drivers/net/wireless/ath/ath10k/ath10k_pci.ko

再びlspci -kを実行。PCIは認識してる。

 command
# lspci -k
00:00.0 PCI bridge: Synopsys, Inc. Device abcd (rev 01)
Kernel driver in use: pcieport
01:00.0 Network controller: Qualcomm Atheros Device 0042 (rev 31)
Subsystem: AzureWave Device 2a51

再びip linkを打ってみる。wlan0は無い。嫌な予感…。

 command
# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: can0: <NOARP40000> mtu 16 qdisc noop qlen 10
link/[280] 3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:19:b8:06:ca:7f brd ff:ff:ff:ff:ff:ff
4: sit0@NONE: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0

firmwareがロードされたか見てみる。やはりathと名の付くファームは無い感じ。ath10kのQCA9377ファームを読ませるために何をすればよいのか分からない。

 command
# dmesg | grep firmware
imx-sdma 20ec000.sdma: loaded firmware 3.1
usbserial: USB Serial support registered for Keyspan - (without firmware)
egalax_ts 2-0004: Failed to read firmware version
ili210x_i2c 2-0041: Failed to get firmware version, err: -5

一旦頭をリセットして記事を読み返してみた。そういえばcfg80211.koをinsmodしたときにcfg80211: Calling CRDA to update world regulatory domainってメッセージが出てた。これは何なんだろう。

cfg80211: Calling CRDA to update world regulatory domainをgoogleで検索したら、Linuxドライバのはなし(SILEX)がヒットした。なんかいい感じのことが書いてありそう。

 

とりあえず、カーネル3.14.28のカーネルコンフィグでath10kを入れてみたがQCA9377ファームが無く、ファームを読み込ませるための方法がイマイチわからない。と言う状況。

カーネル3.14(Yocto)のath10kコードを見てみる

fidoのカーネルコードはここにあった。

 command
$ cd ~/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/source
$ ls
COPYING Kconfig REPORTING-BUGS drivers init mm security usr
CREDITS MAINTAINERS arch firmware ipc net sound virt
Documentation Makefile block fs kernel samples tools
Kbuild README crypto include lib scripts ubuntunize

ath10kはここ。デバイスを特定するにはハードウェアから取得したデバイスIDを照合しないと不可能。というわけでまずhw.hを見てみる。

 command
$ cd ~/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/source/drivers/net/wireless/ath/ath10k
$ ls
Kconfig bmi.h core.c debug.h htc.h htt_rx.c mac.c pci.h trace.c txrx.h
Makefile ce.c core.h hif.h htt.c htt_tx.c mac.h rx_desc.h trace.h wmi.c
bmi.c ce.h debug.c htc.c htt.h hw.h pci.c targaddrs.h txrx.c wmi.h

hw.hにはデバイスIDを識別する値はなかった。しかもQCA988xしか書かれていない。今回のデバイスはQCA9377なのだ。

 command
$ vi hw.h
次にpci.cを見てみる。デバイスIDは見つかったがやはりQCA988xの1種のみ。

 command
$ vi pci.c
うーむ...。とりあえずLinuxの最新ソースコードを見てみるか。Bootlin Linux Sourceを開いてみた。カーネル5.3.6のツリーが見れる。

カーネル5.3.6のath10を開く。

pci.cを開いてみた。QCA9377が居た。しかしデバイスIDはここで定義されてない。

pci.cからQCA9377_1_0_DEVICE_IDを掘ってみた。

まずQCA9377_1_0_DEVICE_IDをクリック。

hw.hで定義されてるみたいなのでhw.hをクリック。QCA9377_1_0_DEVICE_IDは0x0042。ん...。なんか見たことあるIDだな。

思い出した。BD-SABRE-LITEでlspci -kしたときにデバイスID 0042が出てきてた。やはり想像通りカーネル3.14のath10ドライバはQCA9377が認識できない様子(定義されてないから)。

 command
# lspci -k
00:00.0 PCI bridge: Synopsys, Inc. Device abcd (rev 01)
Kernel driver in use: pcieport
01:00.0 Network controller: Qualcomm Atheros Device 0042 (rev 31)
Subsystem: AzureWave Device 2a51

状況を整理する

①カーネル5.6にはQCA9377のDEVICE_ID定義があるが、カーネル3.14にはQCA9377のDEVICE_ID定義がないため、デバイスをPCIeに挿しても認識できない。

②BD-SABRE-LITEがサポートするカーネルVerは3.14なのでQCA9377のDEVICE_ID定義を移植したいが、カーネル3.14と5.6はギャップが大きいため、単純な移植では済まなそう。

③新しいカーネルからサポートされた機能を古いカーネルに移植するbackportsというものがあるのを思い出した。

QCA9377のデバイスIDが定義されたカーネルのath10コードを、カーネル3.14にbackportしたath10kドライバを見つければいいのかな。

 

backportを見てみる

新しいカーネルからサポートされた機能を古いカーネルに移植するbackportsを見てみる。

①backportを調べてみる

backportsを見た。Documentationを読んで、Releasesからソースコードをダウンロードしてみようと思う。

①Documentationを読んでみる

Overviewを読んでみる。

気になった点を抜粋した。なんとなくわかったような気になった。おそらく今回はパッケージリリースモードでOKな気がする。

The Backports Project aims to backport current Linux upstream device drivers for use with older kernels. The objective (1) is to provide a central mechanism for backporting the device drivers of any subsystem, thereby enabling (2) both users and developers to always focus on upstream Linux kernel development.
(Google和訳)
バックポートプロジェクトは、古いカーネルで使用するために、現在のLinuxアップストリームデバイスドライバーをバックポートすることを目的としています。目的(1)は、サブシステムのデバイスドライバーをバックポートするための中心的なメカニズムを提供し、それによって(2)ユーザーと開発者の両方が常に上流のLinuxカーネル開発に集中できるようにすることです。

Every backports release has been test compiled for usage against all supported kernels. The oldest release is (currently) 3.0.
(Google和訳)
すべてのバックポートリリースは、サポートされているすべてのカーネルに対して使用するためにテストコンパイルされています。最も古いリリースは(現在)3.0です。

Backports provides users with a choice of two workflows:
1. kernel integration mode (documentation)
future kernel source tree and older kernel source tree must be present
on the same machine at the same time
backports suite integrates the subsystems/drivers of the future kernel directly
into the older kernel
2.package releases mode (documentation)
future kernel source tree and older kernel source tree do not need to be present
on the same machine at the same time
on machine hosting future kernel source tree, backport package is generated
on machine hosting older kernel, backport package is built out-of-tree
against older kernel
backport package is loosely akin to a patch file
(Google和訳)
バックポートは、ユーザーに次の2つのワークフローの選択肢を提供します。
1.カーネル統合モード(ドキュメント)
将来のカーネルソースツリーと古いカーネルソースツリーが
同時に同じマシンに存在する必要があります
バックポートスイートは、将来のカーネルのサブシステム/ドライバーを
古いカーネルに直接統合します
2.パッケージリリースモード(ドキュメント)
将来のカーネルソースツリーと古いカーネルソースツリーは、
同じマシン上に同時に存在する必要はありません
将来のカーネルソースツリーをホストするマシンで、
バックポートパッケージが生成されます
古いカーネルをホストしているマシンでは、バックポートパッケージは
古いカーネルに対してツリー外に構築されます
バックポートパッケージは、パッチファイルに大まかに似ています

Backported Subsystems
Device drivers are available for the following subsystems:
Ethernet
Wireless
Bluetooth
NFC
ieee802154
Media
Regulator
(Google和訳)
バックポートされたサブシステム
デバイスドライバーは、次のサブシステムで使用できます。
イーサネット
無線
ブルートゥース
NFC
ieee802154
メディア
レギュレーター

Backported Drivers
Whether or not a device driver is available from a subsytem will depend on whether or not a developer decided to backport it and if the device driver is backported down to the kernel you are on. If you see the driver on make menuconfig it means you can use it. An alternative is to look at the git tree dependencies file. Note that the dependencies does not exist on a final release, it only exists on the development git tree and the one linked here is the one on the master branch -- you should look at the release branches for their respective dependencies file if using an older release. Someone is welcome to come up with a fancy page that provides the device driver <--> kernel dependency map page. If a device driver is available on make menuconfig but is not listed on the dependencies file it means it is available for usage on all supported kernel.
Users should just install what they know they need, if not sure don't enable a driver. Typically Linux distributions would use the backports project and build modules for you and you'd have a backports package available for your distribution.
(Google和訳)
バックポートされたドライバー
サブシステムからデバイスドライバーを使用できるかどうかは、開発者がそれをバックポートすることを決定したかどうか、およびデバイスドライバーが使用中のカーネルにバックポートされるかどうかによって異なります。 make menuconfigにドライバーが表示されている場合、それを使用できることを意味します。別の方法は、gitツリー依存関係ファイルを確認することです。依存関係は最終リリースには存在せず、開発gitツリーにのみ存在し、ここにリンクされているのはmasterブランチにあることに注意してください。リリース。誰かが、デバイスドライバーの<->カーネル依存マップページを提供する派手なページを作成することを歓迎します。 make menuconfigでデバイスドライバーが使用できるが、依存関係ファイルにリストされていない場合、サポートされているすべてのカーネルで使用できることを意味します。
わからない場合は、ドライバーを有効にしないでください。通常、Linuxディストリビューションはbackportsプロジェクトを使用してモジュールをビルドし、ディストリビューションで利用可能なbackportsパッケージを用意します。

パッケージリリースモードの説明を読んでみる。

気になるところを抜粋した。

Cross compiling
To cross compile:
set -a
CROSS_COMPILE=${CROSS_COMPILE}
ARCH=${TARGET_CPU}
KLIB_BUILD=${DEV_PATH}/${LINUX_DIR}
KLIB=${TARGET_ROOT_ON_HOST}
set +a
make oldconfig # menuconfig worked here too
make
make install
(Google和訳)
クロスコンパイル
クロスコンパイルするには:
セット-a
CROSS_COMPILE = $ {CROSS_COMPILE}
ARCH = $ {TARGET_CPU}
KLIB_BUILD = $ {DEV_PATH} / $ {LINUX_DIR}
KLIB = $ {TARGET_ROOT_ON_HOST}
セット+ a
ここでもoldconfig#menuconfigが機能しました
作る
インストールする

②Releasesからソースコードをダウンロード

Releasesを開く。とにかく新しいやつを試したいが一番上のbackports-5.3-rc4-1.tar.xzはrcがついてるので正式リリースではないので、次に新しいbackports-5.2.8-1.tar.xzをダウンロードする。

backports-5.2.8-1.tar.xzをダウンロードして解凍。中身はこんな構成になっている。

 command
$ mkdir ~/backports
$ wget https://cdn.kernel.org/pub/linux/kernel/projects/backports/stable/v5.2.8/backports-5.2.8-1.tar.xz
$ tar xvf backports-5.2.8-1.tar.xz
$ ls ~/backports/backports-5.2.8-1
COPYING LICENSES backport-include local-symbols
Documentation MAINTAINERS compat net
Kconfig Makefile defconfigs scripts
Kconfig.local Makefile.build drivers versions
Kconfig.package.hacks Makefile.kernel include
Kconfig.sources Makefile.real kconf

compatを覗いてみた。とりあえず分かったのは、backports-5.2はカーネル5.2向けドライバをカーネル3.10~カーネル5.2までの任意のカーネルバージョン向けにビルドできるということ。つまりカーネル5.2向けドライバをカーネル3.14向けにビルドできると理解。

 command
$ ls ~/backports/backports-5.2.8-1/compat/
Kconfig backport-4.2.c compat-3.6.c
Makefile backport-4.3.c compat-3.7.c
backport-3.10.c backport-4.4.c compat-3.8.c
backport-3.11.c backport-4.5.c compat-3.9.c
backport-3.12.c backport-4.6.c drivers-base-devcoredump.c
backport-3.13.c backport-4.7.c hid-ids.h
backport-3.14.c backport-4.8.c lib-asn1_decoder.c
backport-3.15.c backport-5.2.c lib-bucket_locks.c
backport-3.17.c backport-genetlink.c lib-math-cordic.c
backport-3.18.c backports.h lib-oid_registry.c
backport-3.19.c build_OID_registry lib-refcount.c
backport-3.2.c compat-3.0.c lib-rhashtable.c
backport-4.0.c compat-3.1.c main.c
backport-4.1.c compat-3.3.c memneq.c
backport-4.10.c compat-3.4.c user_namespace.c
backport-4.18.c compat-3.5.c verification

念のためath10kのhw.hを確認。ちゃんとQCA9377が存在する。

 command
$ vi ./backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/hw.h
次回、backports-5.2.8-1をBD-SABRE-LITEのカーネル3.14向けにビルドする。

backportをビルド

①まずはbackportsをPCでビルド

パッケージリリースモードの説明を改めて読んでみる。PCでビルドするにはこんな感じらしい。

Building backports follows the same build mechanism as building the Linux kernel.

# as a user
make menuconfig
make -j4
# as root
make install
# reboot and enjoy

実際にやってみる。

 command
$ cd ~/backports/backports-5.2.8-1
$ make menuconfig

開いた。とりあえずcfg80211とnl80211 testmode commandはビルドしておくか...。

変更前
<> cfg80211 - wireless configuration API
*** CFG80211 needs to be enabled for MAC80211 ***

変更後
<M> cfg80211 - wireless configuration API
[ * ] nl80211 testmode command
[ ] enable developer warnings (NEW)
[ ] cfg80211 certification onus (NEW)
[ * ] enable powersave by default (NEW)
[ ] cfg80211 DebugFS entriesonus (NEW)
[ * ] support CRDA (NEW)
[ ] cfg80211 wireless extension compatibility (NEW)

メイクする。compat.koとcfg80211.koが生成された。これならARM版も作れそうな感じ。

 command
$ make -j4
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o conf.o conf.c
cc conf.o zconf.tab.o -o conf
#
# configuration written to .config
#
Building backport-include/backport/autoconf.h ... done.
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.5.o…
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/main.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/core.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.6.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.7.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/sysfs.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/radiotap.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.8.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.10.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.18.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-5.2.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/util.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/reg.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/scan.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-genetlink.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/verify.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/pkcs7.asn1.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/pkcs7_verify.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/pkcs7_parser.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/nl80211.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/mlme.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/x509.asn1.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/ibss.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/x509_akid.asn1.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/x509_cert_parser.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/x509_public_key.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/pkcs7_trust.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/key.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/public_key.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/sme.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/chan.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/rsa.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/bignum.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/md_wrap.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/md.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/sha256.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/ethtool.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/mesh.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/oid.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/asn1parse.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/rsapubkey.asn1.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/lib-asn1_decoder.o
GEN /home/pavement1234/backports/backports-5.2.8-1/compat/oid_registry_data.c
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/ap.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/trace.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/lib-refcount.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/lib-oid_registry.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/ocb.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/compat/compat.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/pmsr.o
GEN /home/pavement1234/backports/backports-5.2.8-1/net/wireless/shipped-certs.c
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/shipped-certs.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/cfg80211.o
Building modules, stage 2.
MODPOST 2 modules
CC /home/pavement1234/backports/backports-5.2.8-1/compat/compat.mod.o
CC /home/pavement1234/backports/backports-5.2.8-1/net/wireless/cfg80211.mod.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/compat/compat.ko
LD [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/cfg80211.ko

②backportsをBD-SABRE-LITE向けにビルド

とはいえ、まずPC向けビルドをクリーンしとく。

 command
$ make clean

さて、クロスコンパイル向けのビルドはこんな感じ。

 command
To cross compile:
set -a
CROSS_COMPILE=${CROSS_COMPILE}
ARCH=${TARGET_CPU}
KLIB_BUILD=${DEV_PATH}/${LINUX_DIR}
KLIB=${TARGET_ROOT_ON_HOST}
set +a
make oldconfig # menuconfig worked here too
make
make install

何はともあれ、やってみる。WEBサイトの例ではCROSS_COMPILEなどを個別指定しているが私はYoctoの環境設定スクリプトで代替した。で、make oldconfigを実行したらエラー発生。Yoctoのスクリプトがいけないのか?WEBサイトの方法に忠実にやってみるか...。

 command
$ . /opt/poky/1.8.2/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi
$ make oldconfig
arm-poky-linux-gnueabi-gcc -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o conf.o conf.c
arm-poky-linux-gnueabi-gcc -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o zconf.tab.o zconf.tab.c
arm-poky-linux-gnueabi-gcc -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conf.o zconf.tab.o -o conf
./kconf/conf: 1: ./kconf/conf: Syntax error: word unexpected (expecting ")")
Makefile.real:27: ターゲット 'oldconfig' のレシピで失敗しました
make[1]: *** [oldconfig] エラー 2
Makefile:40: ターゲット 'oldconfig' のレシピで失敗しました
make: *** [oldconfig] エラー 2

というわけで、こいつらを解決する必要がある。

CROSS_COMPILE=${CROSS_COMPILE}
ARCH=${TARGET_CPU}
KLIB_BUILD=${DEV_PATH}/${LINUX_DIR}
KLIB=${TARGET_ROOT_ON_HOST}

Yocto環境設定スクリプトとかYoctoのディレクトリを見ながら設定してみた...がKLIB、KLIB?BUILDがいまいちわからん。テキトーに設定してmake oldconfigしたが、やはりエラー発生。迷走し始めているので、Yocto環境変数を設定してビルドしたときのエラー解析を進めてみる。

 command
$ set -a
$ CROSS_COMPILE=/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi-
$ ARCH=arm
$ KLIB_BUILD=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/lib/modules/3.14.28-1.0.0_ga+yocto+g7ff62b2
$ KLIB=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
$ set +a
$ make oldconfig
/--------------
| Your kernel headers are incomplete/not installed.
| Please install kernel headers, including a .config
| file or use the KLIB/KLIB_BUILD make variables to
| set the kernel to build against, e.g.
| make KLIB=/lib/modules/3.1.7/
| to compile/install for the installed kernel 3.1.7
| (that isn't currently running.)
\--
Makefile:40: ターゲット 'oldconfig' のレシピで失敗しました
make: *** [oldconfig] エラー 1

./kconf/conf: 1: ./kconf/conf: Syntax error: word unexpected (expecting ")")で検索してみたら、いくつかヒットした。そのうちの1つがコレ

このエラーの内容と、chmod +x が必要なことから推測すると、lineFollow2 は、g++ でコンパイルしてできた実行ファイル(いわゆるバイナリー)ではなくて、何かのテキストファイルのようです。(C++のプログラムが、実行時に syntax error になるとは考えられないです。コンパイル時になるはずですよね)
ターミナルから head lineFollow2 とタイプしてファイルの内容の先頭部分を表示することで、そのファイルが何者なのか、なぜそこに作られているのか、といったことを調べてみてください。
って書いてから思いましたが、これは、もしかして、Pythonスクリプトですかね。いずれにせよ、そのファイルの1行目に文法エラーがあるそうなので、head コマンドで、内容を確認してみてください。

なんかわかってきた。confという実行ファイルに問題がありそう。

PCでmake oldconfigすると~/backports/backports-5.2.8-1/kconf/confという実行ファイルができる。PCでビルドしたので当然だがx86_64アーキテクチャである。

 command
(一旦ログアウト)
$ cd ~/backports/backports-5.2.8-1/
$ make clean
$ make oldconfig
c -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o conf.o conf.c
cc conf.o zconf.tab.o -o conf
#
# configuration written to .config
#
$ objdump -f ~/backports/backports-5.2.8-1/kconf/conf
/home/pavement1234/backports/backports-5.2.8-1/kconf/conf: ファイル形式 elf64-x86-64
アーキテクチャ: i386:x86-64, フラグ 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
開始アドレス 0x00000000004021c0

次にYoctoでmake oldconfig。objdumpしてみるとelf32-little(ARMまでは判別できず)だがビルド環境のCPU(x86_64)では実行できない形式であることが判明。

 command
(一旦ログアウト)
$ cd ~/backports/backports-5.2.8-1/
$ make clean
$ . /opt/poky/1.8.2/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi
$ make oldconfg
arm-poky-linux-gnueabi-gcc -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o conf.o conf.c
arm-poky-linux-gnueabi-gcc -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o zconf.tab.o zconf.tab.c
arm-poky-linux-gnueabi-gcc -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conf.o zconf.tab.o -o conf
./kconf/conf: 1: ./kconf/conf: Syntax error: word unexpected (expecting ")")
Makefile.real:27: ターゲット 'oldconfig' のレシピで失敗しました
make[1]: *** [oldconfig] エラー 2
Makefile:40: ターゲット 'oldconfig' のレシピで失敗しました
make: *** [oldconfig] エラー 2
$ objdump -f ~/backports/backports-5.2.8-1/kconf/conf
/home/pavement1234/backports/backports-5.2.8-1/kconf/conf: ファイル形式 elf32-little
アーキテクチャ: UNKNOWN!, フラグ 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
開始アドレス 0x00009b48

寄り道したが、KLIB、KLIB_BUILDの指定方法がいまいちわからない。

③KLIB、KLIB_BUILDとは何か調べる。試行錯誤

backports移植rtlwifi驅動を読んだ。しかしKLIB、KLIB_BUILDについていまいち理解できない。

その一方で、backports移植rtlwifi驅動に張ってあったath10k backports releasesというリンク先を読んだところbackportsでath10kドライバをビルドするには最初にmake defconfig-ath10kと打つ必要があるようだ

前回PCビルドしたときにath10kが無いのが若干気になってたが、試してみたらath10kがビルドされるようになった。クロスコンパイル時もこれが必要になるだろう。

 command
$ make defconfig-ath10k
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o conf.o conf.c
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o zconf.tab.o zconf.tab.c
cc conf.o zconf.tab.o -o conf
#
# configuration written to .config
#
Building backport-include/backport/autoconf.h ... done.
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/main.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.5.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.6.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.7.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.8.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.10.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.18.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-5.2.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-genetlink.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/verify.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/pkcs7.asn1.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/pkcs7_verify.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/pkcs7_parser.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/x509.asn1.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/x509_akid.asn1.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/x509_cert_parser.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/x509_public_key.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/pkcs7_trust.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/key.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/public_key.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/rsa.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/bignum.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/md.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/md_wrap.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/sha256.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/oid.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/asn1parse.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/rsapubkey.asn1.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/lib-asn1_decoder.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/lib-oid_registry.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/lib-refcount.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/lib-rhashtable.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/lib-bucket_locks.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/compat/compat.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/main.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/regd.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/hw.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/key.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/dfs_pattern_detector.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/dfs_pri_detector.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/debug.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/core.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/htc.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/htt.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/htt_rx.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/htt_tx.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/txrx.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/wmi.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/wmi-tlv.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/bmi.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/hw.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/p2p.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/swap.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/thermal.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/wow.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/coredump.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/ce.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/ath10k_core.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/pci.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/ath10k_pci.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/sdio.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/ath10k_sdio.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/usb.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/ath10k_usb.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/main.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/status.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/driver-ops.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/sta_info.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/wep.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/aead_api.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/wpa.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/scan.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/offchannel.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/ht.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/agg-tx.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/agg-rx.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/vht.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/he.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/ibss.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/iface.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/rate.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/michael.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/tkip.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/aes_cmac.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/aes_gmac.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/fils_aead.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/cfg.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/ethtool.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/rx.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/spectmgmt.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/tx.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/key.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/util.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/wme.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/chan.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/trace.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/mlme.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/tdls.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/ocb.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/led.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/mesh.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/mesh_pathtbl.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/mesh_plink.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/mesh_hwmp.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/mesh_sync.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/mesh_ps.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/pm.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/rc80211_minstrel.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/rc80211_minstrel_ht.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/mac80211.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/core.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/sysfs.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/radiotap.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/util.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/reg.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/scan.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/nl80211.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/mlme.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/ibss.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/sme.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/chan.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/ethtool.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/mesh.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/ap.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/trace.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/ocb.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/pmsr.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/wext-compat.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/wext-sme.o
GEN /home/pavement1234/backports/backports-5.2.8-1/net/wireless/shipped-certs.c
CC [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/shipped-certs.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/cfg80211.o
Building modules, stage 2.
MODPOST 8 modules
CC /home/pavement1234/backports/backports-5.2.8-1/compat/compat.mod.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/compat/compat.ko
CC /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath.mod.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath.ko
CC /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/ath10k_core.mod.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/ath10k_core.ko
CC /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/ath10k_pci.mod.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
CC /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/ath10k_sdio.mod.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/ath10k_sdio.ko
CC /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/ath10k_usb.mod.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/ath10k_usb.ko
CC /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/mac80211.mod.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/net/mac80211/mac80211.ko
CC /home/pavement1234/backports/backports-5.2.8-1/net/wireless/cfg80211.mod.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/cfg80211.ko

ath10kがビルドされない問題がたまたま解決したが、問題のKLIB、KLIB_BUILDは未解決。初心に帰り、backportsのWEBサイトの通りにやってみるか...。

 command
(一旦ログアウト)
$ cd ~/backports/backports-5.2.8-1/
$ make clean
$ set -a
$ CROSS_COMPILE=/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi-
$ ARCH=arm
$ KLIB_BUILD=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
$ KLIB=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
$ set +a
$ make defconfig-ath10k
/--------------
| Your kernel headers are incomplete/not installed.
| Please install kernel headers, including a .config
| file or use the KLIB/KLIB_BUILD make variables to
| set the kernel to build against, e.g.
| make KLIB=/lib/modules/3.1.7/
| to compile/install for the installed kernel 3.1.7
| (that isn't currently running.)
\--
Makefile:40: ターゲット 'defconfig-ath10k' のレシピで失敗しました
make: *** [defconfig-ath10k] エラー 1

makeに--debugを指定するとデバッグできるみたい。上の状態から続けてやってみたが有用な情報が得られていない。

 command
$ make --debug defconfig-ath10k
GNU Make 4.1
このプログラムは x86_64-pc-linux-gnu 用にビルドされました
Copyright (C) 1988-2014 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 以降 <http://gnu.org/licenses/gpl.html>
これはフリーソフトウェアです: 自由に変更および配布できます.
法律の許す限り、 無保証 です.
makefile を読み込みます...
最終ターゲットを更新中....
ファイル 'defconfig-ath10k' が存在しません.
ターゲット 'defconfig-ath10k' を再make する必要があります.
/--------------
| Your kernel headers are incomplete/not installed.
| Please install kernel headers, including a .config
| file or use the KLIB/KLIB_BUILD make variables to
| set the kernel to build against, e.g.
| make KLIB=/lib/modules/3.1.7/
| to compile/install for the installed kernel 3.1.7
| (that isn't currently running.)
\--
Makefile:40: ターゲット 'defconfig-ath10k' のレシピで失敗しました
make: *** [defconfig-ath10k] エラー 1

デバッグ情報を見るためにYocto環境変数だけ設定してビルドを試みたが大した情報は得られなかった。しかしKLIB、KLIB_BUILDより1歩先に進んでる気もする。

confがARM向けにビルドされちゃうのがダメなら、confまではPCビルドすればよい?

 command
(一旦ログアウト)
$ cd ~/backports/backports-5.2.8-1/
$ . /opt/poky/1.8.2/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi
$ make defconfig-ath10k
GNU Make 4.1
このプログラムは x86_64-pc-linux-gnu 用にビルドされました
Copyright (C) 1988-2014 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 以降 <http://gnu.org/licenses/gpl.html>
これはフリーソフトウェアです: 自由に変更および配布できます.
法律の許す限り、 無保証 です.
makefile を読み込みます...
最終ターゲットを更新中....
ファイル 'defconfig-ath10k' が存在しません.
ターゲット 'defconfig-ath10k' を再make する必要があります.
GNU Make 4.1
このプログラムは x86_64-pc-linux-gnu 用にビルドされました
Copyright (C) 1988-2014 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 以降 <http://gnu.org/licenses/gpl.html>
これはフリーソフトウェアです: 自由に変更および配布できます.
法律の許す限り、 無保証 です.
makefile を読み込みます...
最終ターゲットを更新中....
ファイル 'defconfig-ath10k' が存在しません.
ターゲット 'defconfig-ath10k' を再make する必要があります.
GNU Make 4.1
このプログラムは x86_64-pc-linux-gnu 用にビルドされました
Copyright (C) 1988-2014 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 以降 <http://gnu.org/licenses/gpl.html>
これはフリーソフトウェアです: 自由に変更および配布できます.
法律の許す限り、 無保証 です.
makefile を読み込みます...
最終ターゲットを更新中....
make[2]: 'conf' は更新済みです.
./kconf/conf: 1: ./kconf/conf: Syntax error: word unexpected (expecting ")")
Makefile.real:41: ターゲット 'defconfig-ath10k' のレシピで失敗しました
make[1]: *** [defconfig-ath10k] エラー 2
Makefile:40: ターゲット 'defconfig-ath10k' のレシピで失敗しました
make: *** [defconfig-ath10k] エラー 2

というわけで、途中までPCビルド、最後のmakeだけYoctoビルドってパターンをやってみた。進展したかのように見えたが失敗。

 command
(一旦ログアウト)
$ cd ~/backports/backports-5.2.8-1/
$ make defconfig-ath10k
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o conf.o conf.c
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o zconf.tab.o zconf.tab.c
cc conf.o zconf.tab.o -o conf
#
# configuration written to .config
#
$ make oldconfig
make[2]: 'conf' は更新済みです.
#
# configuration written to .config
#
$ . /opt/poky/1.8.2/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi
$ make
make[5]: 'conf' は更新済みです.
#
# configuration written to .config
#
Building backport-include/backport/autoconf.h ... done.
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/main.o
In file included from include/linux/irqflags.h:15:0,
from ./arch/arm/include/asm/bitops.h:27,
from include/linux/bitops.h:36,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/bitops.h:3,
from include/linux/kernel.h:10,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/kernel.h:3,
from include/linux/list.h:8,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/list.h:3,
from include/linux/module.h:9,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/module.h:3,
from /home/pavement1234/backports/backports-5.2.8-1/compat/main.c:1:
./arch/arm/include/asm/irqflags.h:21:5: warning: "__LINUX_ARM_ARCH__" is not defined [-Wundef] #if __LINUX_ARM_ARCH__ >= 6
^
In file included from /home/pavement1234/backports/backports-5.2.8-1/backport-include/asm/barrier.h:7:0,
from ./arch/arm/include/asm/bitops.h:28,
from include/linux/bitops.h:36,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/bitops.h:3,
from include/linux/kernel.h:10,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/kernel.h:3,
from include/linux/list.h:8,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/list.h:3,
from include/linux/module.h:9,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/module.h:3,
from /home/pavement1234/backports/backports-5.2.8-1/compat/main.c:1:
./arch/arm/include/asm/barrier.h:8:5: warning: "__LINUX_ARM_ARCH__" is not defined [-Wundef] #if __LINUX_ARM_ARCH__ >= 7 || \
^
./arch/arm/include/asm/barrier.h:9:3: warning: "__LINUX_ARM_ARCH__" is not defined [-Wundef] (__LINUX_ARM_ARCH__ == 6 && defined(CONFIG_CPU_32v6K))
^
./arch/arm/include/asm/barrier.h:15:5: warning: "__LINUX_ARM_ARCH__" is not defined [-Wundef] #if __LINUX_ARM_ARCH__ >= 7
^
./arch/arm/include/asm/barrier.h:19:35: warning: "__LINUX_ARM_ARCH__" is not defined [-Wundef] #elif defined(CONFIG_CPU_XSC3) || __LINUX_ARM_ARCH__ == 6
^
In file included from include/linux/bitops.h:36:0,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/bitops.h:3,
from include/linux/kernel.h:10,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/kernel.h:3,
from include/linux/list.h:8,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/list.h:3,
from include/linux/module.h:9,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/module.h:3,
from /home/pavement1234/backports/backports-5.2.8-1/compat/main.c:1:
./arch/arm/include/asm/bitops.h:215:5: warning: "__LINUX_ARM_ARCH__" is not defined [-Wundef] #if __LINUX_ARM_ARCH__ < 5
^
In file included from ./arch/arm/include/asm/bitops.h:218:0,
from include/linux/bitops.h:36,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/bitops.h:3,
from include/linux/kernel.h:10,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/kernel.h:3,
from include/linux/list.h:8,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/list.h:3,
from include/linux/module.h:9,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/module.h:3,
from /home/pavement1234/backports/backports-5.2.8-1/compat/main.c:1:
include/asm-generic/bitops/__fls.h: In function '__fls':
include/asm-generic/bitops/__fls.h:17:2: warning: left shift count >= width of type
if (!(word & (~0ul << 32))) {
^
include/asm-generic/bitops/__fls.h:19:3: warning: left shift count >= width of type
word <<= 32;
^
include/asm-generic/bitops/__fls.h:22:2: warning: left shift count >= width of type
if (!(word & (~0ul << (BITS_PER_LONG-16)))) {
^
include/asm-generic/bitops/__fls.h:26:2: warning: left shift count >= width of type
if (!(word & (~0ul << (BITS_PER_LONG-8)))) {
^
include/asm-generic/bitops/__fls.h:30:2: warning: left shift count >= width of type
if (!(word & (~0ul << (BITS_PER_LONG-4)))) {
^
include/asm-generic/bitops/__fls.h:34:2: warning: left shift count >= width of type
if (!(word & (~0ul << (BITS_PER_LONG-2)))) {
^
include/asm-generic/bitops/__fls.h:38:2: warning: left shift count >= width of type
if (!(word & (~0ul << (BITS_PER_LONG-1))))
^
In file included from ./arch/arm/include/asm/bitops.h:219:0,
from include/linux/bitops.h:36,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/bitops.h:3,
from include/linux/kernel.h:10,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/kernel.h:3,
from include/linux/list.h:8,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/list.h:3,
from include/linux/module.h:9,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/module.h:3,
from /home/pavement1234/backports/backports-5.2.8-1/compat/main.c:1:
include/asm-generic/bitops/__ffs.h: In function '__ffs':
include/asm-generic/bitops/__ffs.h:19:3: warning: right shift count >= width of type
word >>= 32;
^
In file included from ./arch/arm/include/asm/swab.h:18:0,
from include/uapi/linux/swab.h:6,
from include/linux/swab.h:4,
from include/uapi/linux/byteorder/little_endian.h:12,
from include/linux/byteorder/little_endian.h:4,
from ./arch/arm/include/uapi/asm/byteorder.h:21,
from include/asm-generic/bitops/le.h:5,
from ./arch/arm/include/asm/bitops.h:340,
from include/linux/bitops.h:36,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/bitops.h:3,
from include/linux/kernel.h:10,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/kernel.h:3,
from include/linux/list.h:8,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/list.h:3,
from include/linux/module.h:9,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/module.h:3,
from /home/pavement1234/backports/backports-5.2.8-1/compat/main.c:1:
./arch/arm/include/uapi/asm/swab.h: At top level:
./arch/arm/include/uapi/asm/swab.h:26:29: warning: "__LINUX_ARM_ARCH__" is not defined [-Wundef] #if !defined(__KERNEL__) || __LINUX_ARM_ARCH__ < 6
^
In file included from include/uapi/linux/swab.h:6:0,
from include/linux/swab.h:4,
from include/uapi/linux/byteorder/little_endian.h:12,
from include/linux/byteorder/little_endian.h:4,
from ./arch/arm/include/uapi/asm/byteorder.h:21,
from include/asm-generic/bitops/le.h:5,
from ./arch/arm/include/asm/bitops.h:340,
from include/linux/bitops.h:36,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/bitops.h:3,
from include/linux/kernel.h:10,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/kernel.h:3,
from include/linux/list.h:8,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/list.h:3,
from include/linux/module.h:9,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/module.h:3,
from /home/pavement1234/backports/backports-5.2.8-1/compat/main.c:1:
./arch/arm/include/asm/swab.h:20:5: warning: "__LINUX_ARM_ARCH__" is not defined [-Wundef] #if __LINUX_ARM_ARCH__ >= 6
^
In file included from include/linux/spinlock.h:50:0,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/spinlock.h:3,
from include/linux/seqlock.h:35,
from include/linux/time.h:5,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/time.h:3,
from include/linux/stat.h:18,
from include/linux/module.h:10,
from /home/pavement1234/backports/backports-5.2.8-1/backport-include/linux/module.h:3,
from /home/pavement1234/backports/backports-5.2.8-1/compat/main.c:1:
include/linux/preempt.h:59:25: fatal error: asm/preempt.h: No such file or directory
#include <asm/preempt.h>
^
compilation terminated.
scripts/Makefile.build:258: ターゲット '/home/pavement1234/backports/backports-5.2.8-1/compat/main.o' のレシピで失敗しました
make[6]: *** [/home/pavement1234/backports/backports-5.2.8-1/compat/main.o] エラー 1
scripts/Makefile.build:403: ターゲット '/home/pavement1234/backports/backports-5.2.8-1/compat' のレシピで失敗しました
make[5]: *** [/home/pavement1234/backports/backports-5.2.8-1/compat] エラー 2
Makefile:1396: ターゲット '_module_/home/pavement1234/backports/backports-5.2.8-1' のレシピで失敗しました
make[4]: *** [_module_/home/pavement1234/backports/backports-5.2.8-1] エラー 2
Makefile.build:6: ターゲット 'modules' のレシピで失敗しました
make[3]: *** [modules] エラー 2
Makefile.real:88: ターゲット 'modules' のレシピで失敗しました
make[2]: *** [modules] エラー 2
Makefile:40: ターゲット 'modules' のレシピで失敗しました
make[1]: *** [modules] エラー 2
Makefile:30: ターゲット 'default' のレシピで失敗しました
make: *** [default] エラー 2

さらに迷走してきた感じ。Yoctoのlocal.confにbackportsを指定して、コンポーネントとして取り込んだほうが楽なのかな...。と1瞬弱気になったが、もう1度トライしてみようと思う。

Makefile解析してみるかなぁ...。

④Makefileを解析する前に単純ミスをみつけた

1つ間違えに気づいた。CROSS_COMPILEのパスが間違ってるので直した。但し今回のエラーはKLIB、KLIB_BUILDのパス設定に問題があるのでそれ以前のエラー。(KLIB、KLIB_BUILDが通った後に発生したハズ。

(修正前)
CROSS_COMPILE=/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi-
(修正版)
CROSS_COMPILE=/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-

⑤Makefileを解析する

まず全体を貼っつけた。

PC向けにmakeを実行するとこんな出力になる。

 command
$ make
KERNELRELEASE=
MAKEFLAGS= --no-print-directory
SHELL= /bin/bash
BACKPORT_DIR= /home/pavement1234/backports/backports-5.2.8-1
KMODDIR= updates
KLIB= /lib/modules/4.4.0-21-generic/
KLIB_BUILD= /lib/modules/4.4.0-21-generic//build/
KMODPATH_ARG=
KERNEL_CONFIG= /lib/modules/4.4.0-21-generic//build//.config
KERNEL_MAKEFILE= /lib/modules/4.4.0-21-generic//build//Makefile
CONFIG_MD5= f38c3518d47033e59018d0b553554103
(ここからビルド開始…)

次にクロスコンパイル向けにmakeを実行してみる(冒頭に説明したCROSS_COMPILEは修正。他は1つ前の記事と同じ)。ピンク字の部分(KERNEL_CONFIGとKERNEL_MAKEFILEが所定のパスに存在しない)に問題がありそう。

 command
(一旦ログアウト)
$ cd ~/backports/backports-5.2.8-1/
$ make clean
$ set -a
$ CROSS_COMPILE=/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-
$ ARCH=arm
$ KLIB_BUILD=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
$ KLIB=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
$ set +a
$ make
KERNELRELEASE=
MAKEFLAGS= --no-print-directory
SHELL= /bin/bash
BACKPORT_DIR= /home/pavement1234/backports/backports-5.2.8-1
KMODDIR= updates
KLIB=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
KLIB_BUILD= /opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
KMODPATH_ARG= INSTALL_MOD_PATH=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
KERNEL_CONFIG= /opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/.config
KERNEL_MAKEFILE=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/Makefile
CONFIG_MD5=
/--------------
| Your kernel headers are incomplete/not installed.
| Please install kernel headers, including a .config
| file or use the KLIB/KLIB_BUILD make variables to
| set the kernel to build against, e.g.
| make KLIB=/lib/modules/3.1.7/
| to compile/install for the installed kernel 3.1.7
| (that isn't currently running.)
\--
Makefile:50: ターゲット 'modules' のレシピで失敗しました
make[1]: *** [modules] エラー 1
Makefile:29: ターゲット 'default' のレシピで失敗しました
make: *** [default] エラー 2

KERNEL_CONFIGとKERNEL_MAKEFILEが所定のパスに存在しないのでYoctoのソース、Makefile、.configがあるフォルダをKLIB、KLIB_BUILDに指定してmakeしたら…。途中ワーニングっぽいメッセージが出るもののビルドできました。やはり謎のエラーが出たときはechoしてちゃんと解析しないとダメですね。

 command
(一旦ログアウト)
$ cd ~/backports/backports-5.2.8-1/
$ make clean
$ set -a
$ CROSS_COMPILE=/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-
$ ARCH=arm
$ KLIB_BUILD=/home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
$ KLIB=/home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
$ set +a
$ make
ERNELRELEASE=
MAKEFLAGS= --no-print-directory
SHELL= /bin/bash
BACKPORT_DIR= /home/pavement1234/backports/backports-5.2.8-1
KMODDIR= updates
KLIB= /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
KLIB_BUILD= /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
KMODPATH_ARG= INSTALL_MOD_PATH=/home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
KERNEL_CONFIG= /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/.config
KERNEL_MAKEFILE= /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/Makefile
CONFIG_MD5= f706b202afd342e26ebdbc13615bc255
Generating local configuration database from kernel ... done.
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o conf.o conf.c
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o zconf.tab.o zconf.tab.c
cc conf.o zconf.tab.o -o conf
boolean symbol BT tested for 'm'? test forced to 'n'
#
# configuration written to .config
#
Building backport-include/backport/autoconf.h ... done.
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/main.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-3.15.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-3.17.o
(途中省略)
Building modules, stage 2.
MODPOST 2 modules
WARNING: "ktime_divns" [/home/pavement1234/backports/backports-5.2.8-1/compat/compat.ko] undefined!
CC /home/pavement1234/backports/backports-5.2.8-1/compat/compat.mod.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/compat/compat.ko
CC /home/pavement1234/backports/backports-5.2.8-1/net/wireless/cfg80211.mod.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/cfg80211.ko

⑥ath10向けにビルドする

さて、前の項ではKLIB、KLIB_BUILDをデバッグするために単にmakeを実行しましたが、KLIB、KLIB_BUILDの問題が片付いたので、この項ではath10k向けにビルドするためmake defconfig-ath10kを指定してからmakeしました。...が、ath10kがビルドされませんでした。

 command
(一旦ログアウト)
$ cd ~/backports/backports-5.2.8-1/
$ make clean
$ set -a
$ CROSS_COMPILE=/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-
$ ARCH=arm
$ KLIB_BUILD=/home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
$ KLIB=/home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
$ set +a
$ make defconfig-ath10k
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o conf.o conf.c
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o zconf.tab.o zconf.tab.c
cc conf.o zconf.tab.o -o conf
boolean symbol BT tested for 'm'? test forced to 'n'
#
# configuration written to .config
#
$ make
KERNELRELEASE=
MAKEFLAGS= --no-print-directory
SHELL= /bin/bash
BACKPORT_DIR= /home/pavement1234/backports/backports-5.2.8-1
KMODDIR= updates
KLIB= /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
KLIB_BUILD= /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
KMODPATH_ARG= INSTALL_MOD_PATH=/home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
KERNEL_CONFIG= /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/.config
KERNEL_MAKEFILE= /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/Makefile
CONFIG_MD5= f706b202afd342e26ebdbc13615bc255
make[5]: 'conf' は更新済みです.
boolean symbol BT tested for 'm'? test forced to 'n'
#
# configuration written to .config
#
Building backport-include/backport/autoconf.h ... done.
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/main.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-3.15.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-3.17.o
(途中省略)
Building modules, stage 2.
MODPOST 2 modules
WARNING: "ktime_divns" [/home/pavement1234/backports/backports-5.2.8-1/compat/compat.ko] undefined!
CC /home/pavement1234/backports/backports-5.2.8-1/compat/compat.mod.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/compat/compat.ko
CC /home/pavement1234/backports/backports-5.2.8-1/net/wireless/cfg80211.mod.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/net/wireless/cfg80211.ko

backportsの.configを見たところ、ath10kのCONFIGが全部OFFになってました。make defconfig-ath10kが効いてない感じ?

 command
$ vi .config
#
# Automatically generated file; DO NOT EDIT.
# Backports from "Linux" "v5.2.8-0-gd36a8d2fb62c" (backports "v5.2.8-1-0-ga33d4e95")
#
CPTCFG_WIRELESS=y
CPTCFG_NET_CORE=y
CPTCFG_EXPERT=y
(途中省略)
# CPTCFG_BACKPORTED_ATH10K is not set
# CPTCFG_BACKPORTED_ATH10K_CE is not set
# CPTCFG_BACKPORTED_ATH10K_PCI is not set
# CPTCFG_BACKPORTED_ATH10K_AHB is not set
# CPTCFG_BACKPORTED_ATH10K_SDIO is not set
# CPTCFG_BACKPORTED_ATH10K_USB is not set
# CPTCFG_BACKPORTED_ATH10K_SNOC is not set
# CPTCFG_BACKPORTED_ATH10K_DEBUG is not set
# CPTCFG_BACKPORTED_ATH10K_DEBUGFS is not set
# CPTCFG_BACKPORTED_ATH10K_SPECTRAL is not set
# CPTCFG_BACKPORTED_ATH10K_TRACING is not set
# CPTCFG_BACKPORTED_ATH10K_DFS_CERTIFIED is not set
(以下省略)

まぁでも、compat.koとcfg80211.koがビルドできてるので、もう一歩かな。

⑦なぜクロスコンパイルするとath10kドライバたちがビルドされないの?

初心に帰り.configを削除してmenuconfigからやってみる。

 command
(一旦ログアウト)
$ cd ~/backports/backports-5.2.8-1/
$ make clean
$ rm .config
$ make menuconfig

変更前
<> cfg80211 - wireless configuration API
*** CFG80211 needs to be enabled for MAC80211 ***

変更後
<M> cfg80211 - wireless configuration API
[ * ] nl80211 testmode command
[ ] enable developer warnings (NEW)
[ ] cfg80211 certification onus (NEW)
[ * ] enable powersave by default (NEW)
[ ] cfg80211 DebugFS entriesonus (NEW)
[ * ] support CRDA (NEW)
[ ] cfg80211 wireless extension compatibility (NEW)

menuconfig画面を閉じて、デフォルトの.configをバックアップ。

 command
$ cp .config .config-default

make defconfig-ath10kを実施しath10k向けの.configをバックアップ

 command
$ make defconfig-ath10k
$ cp .config .config-ath10k

.configを比較。めちゃめちゃ差分あるなぁ…。

 command
$ diff .config-default .config-ath10k
9a10
> CPTCFG_BPAUTO_LEDS_TRIGGERS=y
10a12
> CPTCFG_BPAUTO_WANT_DEV_COREDUMP=y
11a14,15
> CPTCFG_BPAUTO_RHASHTABLE=y
> CPTCFG_BPAUTO_BUCKET_LOCKS=y
19c23
< CPTCFG_NL80211_TESTMODE=y
---
> # CPTCFG_NL80211_TESTMODE is not set
27c31
< # CPTCFG_CFG80211_WEXT is not set
---
> CPTCFG_CFG80211_WEXT=y
29c33,42
< # CPTCFG_MAC80211 is not set
---
> CPTCFG_MAC80211=m
> CPTCFG_MAC80211_HAS_RC=y
> CPTCFG_MAC80211_RC_MINSTREL=y
> CPTCFG_MAC80211_RC_DEFAULT_MINSTREL=y
> CPTCFG_MAC80211_RC_DEFAULT="minstrel_ht"
> CPTCFG_MAC80211_MESH=y
> CPTCFG_MAC80211_LEDS=y
> # CPTCFG_MAC80211_DEBUGFS is not set
> # CPTCFG_MAC80211_MESSAGE_TRACING is not set
> # CPTCFG_MAC80211_DEBUG_MENU is not set
33a47,48
> # CPTCFG_ADM8211 is not set
> CPTCFG_ATH_COMMON=m
35a51
> # CPTCFG_ATH5K is not set
36a53,55
> # CPTCFG_ATH9K is not set
> # CPTCFG_ATH9K_HTC is not set
> # CPTCFG_CARL9170 is not set
37a57
> # CPTCFG_AR5523 is not set
38a59,67
> CPTCFG_ATH10K=m
> CPTCFG_ATH10K_CE=y
> CPTCFG_ATH10K_PCI=m
> CPTCFG_ATH10K_SDIO=m
> CPTCFG_ATH10K_USB=m
> CPTCFG_ATH10K_DEBUG=y
> CPTCFG_ATH10K_DEBUGFS=y
> # CPTCFG_ATH10K_SPECTRAL is not set
> # CPTCFG_ATH10K_TRACING is not set
39a69
> # CPTCFG_AT76C50X_USB is not set
40a71,73
> # CPTCFG_B43 is not set
> # CPTCFG_B43LEGACY is not set
> # CPTCFG_BRCMSMAC is not set
47a81,82
> # CPTCFG_IWL4965 is not set
> # CPTCFG_IWL3945 is not set
50a86
> # CPTCFG_P54_COMMON is not set
53a90
> # CPTCFG_LIBERTAS_THINFIRM is not set
54a92
> # CPTCFG_MWL8K is not set
55a94,100
> # CPTCFG_MT7601U is not set
> # CPTCFG_MT76x0U is not set
> # CPTCFG_MT76x0E is not set
> # CPTCFG_MT76x2E is not set
> # CPTCFG_MT76x2U is not set
> # CPTCFG_MT7603E is not set
> # CPTCFG_MT7615E is not set
56a102
> # CPTCFG_RT2X00 is not set
57a104,117
> # CPTCFG_RTL8180 is not set
> # CPTCFG_RTL8187 is not set
> CPTCFG_RTL_CARDS=m
> # CPTCFG_RTL8192CE is not set
> # CPTCFG_RTL8192SE is not set
> # CPTCFG_RTL8192DE is not set
> # CPTCFG_RTL8723AE is not set
> # CPTCFG_RTL8723BE is not set
> # CPTCFG_RTL8188EE is not set
> # CPTCFG_RTL8192EE is not set
> # CPTCFG_RTL8821AE is not set
> # CPTCFG_RTL8192CU is not set
> # CPTCFG_RTL8XXXU is not set
> # CPTCFG_RTW88 is not set
58a119
> # CPTCFG_RSI_91X is not set
59a121
> # CPTCFG_CW1200 is not set
60a123,126
> # CPTCFG_WL1251 is not set
> # CPTCFG_WL12XX is not set
> # CPTCFG_WL18XX is not set
> # CPTCFG_WLCORE is not set
62a129
> # CPTCFG_ZD1211RW is not set
64a132
> # CPTCFG_MAC80211_HWSIM is not set
6352c6420
< # CPTCFG_BACKPORTED_BPAUTO_LEDS_TRIGGERS is not set
---
> CPTCFG_BACKPORTED_BPAUTO_LEDS_TRIGGERS=y
6354c6422
< # CPTCFG_BACKPORTED_BPAUTO_WANT_DEV_COREDUMP is not set
---
> CPTCFG_BACKPORTED_BPAUTO_WANT_DEV_COREDUMP=y
6356,6357c6424,6425
< # CPTCFG_BACKPORTED_BPAUTO_RHASHTABLE is not set
< # CPTCFG_BACKPORTED_BPAUTO_BUCKET_LOCKS is not set
---
> CPTCFG_BACKPORTED_BPAUTO_RHASHTABLE=y
> CPTCFG_BACKPORTED_BPAUTO_BUCKET_LOCKS=y
6365c6433
< CPTCFG_BACKPORTED_NL80211_TESTMODE=y
---
> # CPTCFG_BACKPORTED_NL80211_TESTMODE is not set
6376c6444
< # CPTCFG_BACKPORTED_CFG80211_WEXT is not set
---
> CPTCFG_BACKPORTED_CFG80211_WEXT=y
6383,6386c6451,6454
< # CPTCFG_BACKPORTED_MAC80211 is not set
< # CPTCFG_BACKPORTED_MAC80211_HAS_RC is not set
< # CPTCFG_BACKPORTED_MAC80211_RC_MINSTREL is not set
< # CPTCFG_BACKPORTED_MAC80211_RC_DEFAULT_MINSTREL is not set
---
> CPTCFG_BACKPORTED_MAC80211=m
> CPTCFG_BACKPORTED_MAC80211_HAS_RC=y
> CPTCFG_BACKPORTED_MAC80211_RC_MINSTREL=y
> CPTCFG_BACKPORTED_MAC80211_RC_DEFAULT_MINSTREL=y
6388,6389c6456,6457
< # CPTCFG_BACKPORTED_MAC80211_MESH is not set
< # CPTCFG_BACKPORTED_MAC80211_LEDS is not set
---
> CPTCFG_BACKPORTED_MAC80211_MESH=y
> CPTCFG_BACKPORTED_MAC80211_LEDS=y
6419c6487
< # CPTCFG_BACKPORTED_ATH_COMMON is not set
---
> CPTCFG_BACKPORTED_ATH_COMMON=m
6468,6470c6536,6538
< # CPTCFG_BACKPORTED_ATH10K is not set
< # CPTCFG_BACKPORTED_ATH10K_CE is not set
< # CPTCFG_BACKPORTED_ATH10K_PCI is not set
---
> CPTCFG_BACKPORTED_ATH10K=m
> CPTCFG_BACKPORTED_ATH10K_CE=y
> CPTCFG_BACKPORTED_ATH10K_PCI=m
6472,6473c6540,6541
< # CPTCFG_BACKPORTED_ATH10K_SDIO is not set
< # CPTCFG_BACKPORTED_ATH10K_USB is not set
---
> CPTCFG_BACKPORTED_ATH10K_SDIO=m
> CPTCFG_BACKPORTED_ATH10K_USB=m
6475,6476c6543,6544
< # CPTCFG_BACKPORTED_ATH10K_DEBUG is not set
< # CPTCFG_BACKPORTED_ATH10K_DEBUGFS is not set
---
> CPTCFG_BACKPORTED_ATH10K_DEBUG=y
> CPTCFG_BACKPORTED_ATH10K_DEBUGFS=y
6651c6719
< # CPTCFG_BACKPORTED_RTL_CARDS is not set
---
> CPTCFG_BACKPORTED_RTL_CARDS=m

MAC80211とATH10KのCONFIGを強制的にONにしてビルドしてみた。しかしath10k、mac80211のビルドを試みるも、コンパイルエラー発生。

 command
(一旦ログアウト)
$ cd ~/backports/backports-5.2.8-1/
$ make clean
$ set -a
$ CROSS_COMPILE=/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-
$ ARCH=arm
$ KLIB_BUILD=/home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
$ KLIB=/home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
$ export CPTCFG_MAC80211=m
$ export CPTCFG_MAC80211_HAS_RC=y
$ export CPTCFG_MAC80211_RC_MINSTREL=y
$ export CPTCFG_MAC80211_RC_DEFAULT_MINSTREL=y
$ export CPTCFG_MAC80211_RC_DEFAULT="minstrel_ht"
$ export CPTCFG_MAC80211_MESH=y
$ export CPTCFG_MAC80211_LEDS=y
$ export CPTCFG_ATH10K=m
$ export CPTCFG_ATH10K_CE=y
$ export CPTCFG_ATH10K_PCI=m
$ export CPTCFG_ATH10K_SDIO=m
$ export CPTCFG_ATH10K_USB=m
$ export CPTCFG_ATH10K_DEBUG=y
$ export CPTCFG_ATH10K_DEBUGFS=y
$ set +a
$ make
KERNELRELEASE=
MAKEFLAGS= --no-print-directory
SHELL= /bin/bash
BACKPORT_DIR= /home/pavement1234/backports/backports-5.2.8-1
KMODDIR= updates
KLIB= /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
KLIB_BUILD= /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
KMODPATH_ARG= INSTALL_MOD_PATH=/home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
KERNEL_CONFIG= /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/.config
KERNEL_MAKEFILE= /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/Makefile
CONFIG_MD5= f706b202afd342e26ebdbc13615bc255
Generating local configuration database from kernel ... done.
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o conf.o conf.c
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o zconf.tab.o zconf.tab.c
cc conf.o zconf.tab.o -o conf
boolean symbol BT tested for 'm'? test forced to 'n'
.config:729:warning: symbol value 'm' invalid for BINFMT_MISC
.config:762:warning: symbol value 'm' invalid for NET_IP_TUNNEL
.config:777:warning: symbol value 'm' invalid for INET_TUNNEL
.config:782:warning: symbol value 'm' invalid for INET_DIAG
.config:783:warning: symbol value 'm' invalid for INET_TCP_DIAG
.config:812:warning: symbol value 'm' invalid for INET6_XFRM_MODE_TRANSPORT
.config:813:warning: symbol value 'm' invalid for INET6_XFRM_MODE_TUNNEL
.config:814:warning: symbol value 'm' invalid for INET6_XFRM_MODE_BEET
.config:817:warning: symbol value 'm' invalid for IPV6_SIT
.config:1142:warning: symbol value 'm' invalid for VLAN_8021Q
.config:1146:warning: symbol value 'm' invalid for LLC
.config:1147:warning: symbol value 'm' invalid for LLC2
.config:1276:warning: symbol value 'm' invalid for CAN
.config:1277:warning: symbol value 'm' invalid for CAN_RAW
.config:1278:warning: symbol value 'm' invalid for CAN_BCM
.config:1279:warning: symbol value 'm' invalid for CAN_GW
.config:1282:warning: symbol value 'm' invalid for CAN_DEV
.config:1299:warning: symbol value 'm' invalid for CAN_M_CAN
.config:1343:warning: symbol value 'm' invalid for BT
.config:1345:warning: symbol value 'm' invalid for BT_RFCOMM
.config:1347:warning: symbol value 'm' invalid for BT_BNEP
.config:1400:warning: symbol value 'm' invalid for RFKILL_GPIO
.config:1467:warning: symbol value 'm' invalid for MTD
.config:1469:warning: symbol value 'm' invalid for MTD_CMDLINE_PARTS
.config:1471:warning: symbol value 'm' invalid for MTD_BLKDEVS
.config:1472:warning: symbol value 'm' invalid for MTD_BLOCK
.config:1483:warning: symbol value 'm' invalid for MTD_CFI
.config:1484:warning: symbol value 'm' invalid for MTD_JEDECPROBE
.config:1485:warning: symbol value 'm' invalid for MTD_GEN_PROBE
.config:1493:warning: symbol value 'm' invalid for MTD_CFI_STAA
.config:1494:warning: symbol value 'm' invalid for MTD_CFI_UTIL
.config:1517:warning: symbol value 'm' invalid for MTD_M25P80
.config:1518:warning: symbol value 'm' invalid for MTD_SST25L
.config:1547:warning: symbol value 'm' invalid for MTD_SPI_NOR
.config:1645:warning: symbol value 'm' invalid for EEPROM_AT24
.config:1646:warning: symbol value 'm' invalid for EEPROM_AT25
.config:1788:warning: symbol value 'm' invalid for SATA_AHCI
.config:1789:warning: symbol value 'm' invalid for SATA_AHCI_PLATFORM
.config:2202:warning: symbol value 'm' invalid for AT803X_PHY
.config:2221:warning: symbol value 'm' invalid for MICREL_PHY
.config:2376:warning: symbol value 'm' invalid for INPUT_POLLDEV
.config:2392:warning: symbol value 'm' invalid for KEYBOARD_GPIO
.config:2498:warning: symbol value 'm' invalid for TOUCHSCREEN_ILI210X
.config:2546:warning: symbol value 'm' invalid for TOUCHSCREEN_TSC2004
.config:2616:warning: symbol value 'm' invalid for SERIO_SERPORT
.config:2690:warning: symbol value 'm' invalid for SERIAL_FSL_LPUART
.config:2746:warning: symbol value 'm' invalid for I2C_MUX
.config:2747:warning: symbol value 'm' invalid for I2C_MUX_GPIO
.config:2754:warning: symbol value 'm' invalid for I2C_ALGOBIT
.config:2799:warning: symbol value 'm' invalid for SPI_BITBANG
.config:2816:warning: symbol value 'm' invalid for SPI_SPIDEV
.config:2822:warning: symbol value 'm' invalid for PPS
.config:2826:warning: symbol value 'm' invalid for PTP_1588_CLOCK
.config:2843:warning: symbol value 'm' invalid for GPIO_GENERIC
.config:3302:warning: symbol value 'm' invalid for REGULATOR_FIXED_VOLTAGE
.config:3309:warning: symbol value 'm' invalid for REGULATOR_ANATOP
.config:3379:warning: symbol value 'm' invalid for MEDIA_SUPPORT
.config:3387:warning: symbol value 'm' invalid for VIDEO_DEV
.config:3389:warning: symbol value 'm' invalid for VIDEO_V4L2
.config:3393:warning: symbol value 'm' invalid for VIDEOBUF_GEN
.config:3397:warning: symbol value 'm' invalid for VIDEOBUF2_CORE
.config:3635:warning: symbol value 'm' invalid for SOC_CAMERA
.config:3738:warning: symbol value 'm' invalid for MEDIA_TUNER
.config:3739:warning: symbol value 'm' invalid for MEDIA_TUNER_SIMPLE
.config:3740:warning: symbol value 'm' invalid for MEDIA_TUNER_TDA8290
.config:3741:warning: symbol value 'm' invalid for MEDIA_TUNER_TDA827X
.config:3742:warning: symbol value 'm' invalid for MEDIA_TUNER_TDA18271
.config:3743:warning: symbol value 'm' invalid for MEDIA_TUNER_TDA9887
.config:3744:warning: symbol value 'm' invalid for MEDIA_TUNER_TEA5761
.config:3745:warning: symbol value 'm' invalid for MEDIA_TUNER_TEA5767
.config:3747:warning: symbol value 'm' invalid for MEDIA_TUNER_MT20XX
.config:3753:warning: symbol value 'm' invalid for MEDIA_TUNER_XC2028
.config:3754:warning: symbol value 'm' invalid for MEDIA_TUNER_XC5000
.config:3755:warning: symbol value 'm' invalid for MEDIA_TUNER_XC4000
.config:3758:warning: symbol value 'm' invalid for MEDIA_TUNER_MC44S803
.config:3883:warning: symbol value 'm' invalid for DRM
.config:4018:warning: symbol value 'm' invalid for LCD_CLASS_DEVICE
.config:4019:warning: symbol value 'm' invalid for LCD_L4F00242T03
.config:4026:warning: symbol value 'm' invalid for LCD_PLATFORM
.config:4033:warning: symbol value 'm' invalid for BACKLIGHT_GENERIC
.config:4036:warning: symbol value 'm' invalid for BACKLIGHT_PWM
.config:4068:warning: symbol value 'm' invalid for SOUND
.config:4070:warning: symbol value 'm' invalid for SND
.config:4071:warning: symbol value 'm' invalid for SND_TIMER
.config:4072:warning: symbol value 'm' invalid for SND_PCM
.config:4073:warning: symbol value 'm' invalid for SND_DMAENGINE_PCM
.config:4076:warning: symbol value 'm' invalid for SND_COMPRESS_OFFLOAD
.config:4235:warning: symbol value 'm' invalid for SND_SOC
.config:4243:warning: symbol value 'm' invalid for SND_SOC_FSL_SAI
.config:4244:warning: symbol value 'm' invalid for SND_SOC_FSL_SSI
.config:4247:warning: symbol value 'm' invalid for SND_SOC_IMX_AUDMUX
.config:4267:warning: symbol value 'm' invalid for SND_SOC_I2C_AND_SPI
.config:4306:warning: symbol value 'm' invalid for SND_SOC_SGTL5000
.config:4350:warning: symbol value 'm' invalid for HID
.config:4354:warning: symbol value 'm' invalid for HID_GENERIC
.config:4442:warning: symbol value 'm' invalid for USB_HID
.config:4485:warning: symbol value 'm' invalid for USB_STORAGE
.config:4516:warning: symbol value 'm' invalid for USB_CHIPIDEA
.config:4525:warning: symbol value 'm' invalid for USB_SERIAL
.config:4534:warning: symbol value 'm' invalid for USB_SERIAL_CP210X
.config:4537:warning: symbol value 'm' invalid for USB_SERIAL_FTDI_SIO
.config:4548:warning: symbol value 'm' invalid for USB_SERIAL_KEYSPAN
.config:4570:warning: symbol value 'm' invalid for USB_SERIAL_PL2303
.config:4573:warning: symbol value 'm' invalid for USB_SERIAL_QUALCOMM
.config:4580:warning: symbol value 'm' invalid for USB_SERIAL_WWAN
.config:4610:warning: symbol value 'm' invalid for USB_EZUSB_FX2
.config:4625:warning: symbol value 'm' invalid for USB_GADGET
.config:4710:warning: symbol value 'm' invalid for MMC_BLOCK
.config:4713:warning: symbol value 'm' invalid for MMC_SDHCI
.config:4717:warning: symbol value 'm' invalid for MMC_SDHCI_PLTFM
.config:4748:warning: symbol value 'm' invalid for LEDS_GPIO
.config:4785:warning: symbol value 'm' invalid for LEDS_TRIGGER_GPIO
.config:4852:warning: symbol value 'm' invalid for RTC_DRV_ISL1208
.config:5385:warning: symbol value 'm' invalid for IIO
.config:5686:warning: symbol value 'm' invalid for AUTOFS4_FS
.config:5700:warning: symbol value 'm' invalid for MSDOS_FS
.config:5716:warning: symbol value 'm' invalid for CONFIGFS_FS
.config:5744:warning: symbol value 'm' invalid for SQUASHFS
.config:5773:warning: symbol value 'm' invalid for NFS_FS
.config:5774:warning: symbol value 'm' invalid for NFS_V2
.config:5775:warning: symbol value 'm' invalid for NFS_V3
.config:5777:warning: symbol value 'm' invalid for NFS_V4
.config:5798:warning: symbol value 'm' invalid for LOCKD
.config:5800:warning: symbol value 'm' invalid for NFS_ACL_SUPPORT
.config:5802:warning: symbol value 'm' invalid for SUNRPC
.config:5803:warning: symbol value 'm' invalid for SUNRPC_GSS
.config:5863:warning: symbol value 'm' invalid for NLS_ASCII
.config:5864:warning: symbol value 'm' invalid for NLS_ISO8859_1
.config:5874:warning: symbol value 'm' invalid for NLS_ISO8859_15
.config:5888:warning: symbol value 'm' invalid for NLS_UTF8
.config:6041:warning: symbol value 'm' invalid for CRYPTO_AEAD
.config:6057:warning: symbol value 'm' invalid for CRYPTO_USER
.config:6059:warning: symbol value 'm' invalid for CRYPTO_GF128MUL
.config:6060:warning: symbol value 'm' invalid for CRYPTO_NULL
.config:6066:warning: symbol value 'm' invalid for CRYPTO_AUTHENC
.config:6070:warning: symbol value 'm' invalid for CRYPTO_CCM
.config:6071:warning: symbol value 'm' invalid for CRYPTO_GCM
.config:6073:warning: symbol value 'm' invalid for CRYPTO_SEQIV
.config:6076:warning: symbol value 'm' invalid for CRYPTO_CTR
.config:6077:warning: symbol value 'm' invalid for CRYPTO_CTS
.config:6079:warning: symbol value 'm' invalid for CRYPTO_LRW
.config:6081:warning: symbol value 'm' invalid for CRYPTO_XTS
.config:6093:warning: symbol value 'm' invalid for CRYPTO_GHASH
.config:6096:warning: symbol value 'm' invalid for CRYPTO_MD4
.config:6098:warning: symbol value 'm' invalid for CRYPTO_MICHAEL_MIC
.config:6099:warning: symbol value 'm' invalid for CRYPTO_RMD128
.config:6100:warning: symbol value 'm' invalid for CRYPTO_RMD160
.config:6101:warning: symbol value 'm' invalid for CRYPTO_RMD256
.config:6102:warning: symbol value 'm' invalid for CRYPTO_RMD320
.config:6110:warning: symbol value 'm' invalid for CRYPTO_TGR192
.config:6111:warning: symbol value 'm' invalid for CRYPTO_WP512
.config:6117:warning: symbol value 'm' invalid for CRYPTO_ARC4
.config:6118:warning: symbol value 'm' invalid for CRYPTO_BLOWFISH
.config:6119:warning: symbol value 'm' invalid for CRYPTO_BLOWFISH_COMMON
.config:6121:warning: symbol value 'm' invalid for CRYPTO_CAMELLIA
.config:6130:warning: symbol value 'm' invalid for CRYPTO_DES
.config:6144:warning: symbol value 'm' invalid for CRYPTO_TWOFISH
.config:6145:warning: symbol value 'm' invalid for CRYPTO_TWOFISH_COMMON
.config:6219:warning: symbol value 'm' invalid for CRC_CCITT
.config:6222:warning: symbol value 'm' invalid for CRC_ITU_T
.config:6225:warning: symbol value 'm' invalid for CRC7
.config:6226:warning: symbol value 'm' invalid for LIBCRC32C
#
# configuration written to .config
#
Building backport-include/backport/autoconf.h ... done.
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/main.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-3.15.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-3.17.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-3.18.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-3.19.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.0.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.1.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.2.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.3.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.4.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.5.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.6.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.7.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.8.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.10.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-4.18.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-5.2.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/backport-genetlink.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/verify.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/pkcs7.asn1.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/pkcs7_verify.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/pkcs7_parser.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/x509.asn1.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/x509_akid.asn1.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/x509_cert_parser.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/x509_public_key.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/pkcs7_trust.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/key.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/public_key.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/rsa.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/bignum.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/md.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/md_wrap.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/sha256.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/oid.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/asn1parse.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/verification/rsapubkey.asn1.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/lib-asn1_decoder.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/lib-oid_registry.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/compat/lib-refcount.o
LD [M] /home/pavement1234/backports/backports-5.2.8-1/compat/compat.o
CC [M] /home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.o
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8395:61: warning: 'union acpi_object' declared inside parameter list
static u32 ath10k_mac_wrdd_get_mcc(struct ath10k *ar, union acpi_object *wrdd)
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8395:61: warning: its scope is only this definition or declaration, which is probably not what you want
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c: In function 'ath10k_mac_wrdd_get_mcc':
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8402:10: error: dereferencing pointer to incomplete type
if (wrdd->type != ACPI_TYPE_PACKAGE ||
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8402:20: error: 'ACPI_TYPE_PACKAGE' undeclared (first use in this function)
if (wrdd->type != ACPI_TYPE_PACKAGE ||
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8402:20: note: each undeclared identifier is reported only once for each function it appears in
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8403:10: error: dereferencing pointer to incomplete type
wrdd->package.count < 2 ||
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8404:10: error: dereferencing pointer to incomplete type
wrdd->package.elements[0].type != ACPI_TYPE_INTEGER ||
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8404:40: error: 'ACPI_TYPE_INTEGER' undeclared (first use in this function)
wrdd->package.elements[0].type != ACPI_TYPE_INTEGER ||
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8405:10: error: dereferencing pointer to incomplete type
wrdd->package.elements[0].integer.value != 0) {
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8410:22: error: dereferencing pointer to incomplete type
for (i = 1; i < wrdd->package.count; ++i) {
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8411:18: error: dereferencing pointer to incomplete type
mcc_pkg = &wrdd->package.elements[i];
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8413:14: error: dereferencing pointer to incomplete type
if (mcc_pkg->type != ACPI_TYPE_PACKAGE)
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8415:14: error: dereferencing pointer to incomplete type
if (mcc_pkg->package.count < 2)
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8417:14: error: dereferencing pointer to incomplete type
if (mcc_pkg->package.elements[0].type != ACPI_TYPE_INTEGER ||
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8418:14: error: dereferencing pointer to incomplete type
mcc_pkg->package.elements[1].type != ACPI_TYPE_INTEGER)
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8421:25: error: dereferencing pointer to incomplete type
domain_type = &mcc_pkg->package.elements[0];
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8422:18: error: dereferencing pointer to incomplete type
if (domain_type->integer.value != WRDD_WIFI)
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8425:23: error: dereferencing pointer to incomplete type
mcc_value = &mcc_pkg->package.elements[1];
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8426:19: error: dereferencing pointer to incomplete type
return mcc_value->integer.value;
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c: In function 'ath10k_mac_get_wrdd_regulatory':
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8433:2: error: unknown type name 'acpi_handle'
acpi_handle root_handle;
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8434:2: error: unknown type name 'acpi_handle'
acpi_handle handle;
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8435:9: error: variable 'wrdd' has initializer but incomplete type
struct acpi_buffer wrdd = {ACPI_ALLOCATE_BUFFER, NULL};
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8435:29: error: 'ACPI_ALLOCATE_BUFFER' undeclared (first use in this function)
struct acpi_buffer wrdd = {ACPI_ALLOCATE_BUFFER, NULL};
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8435:9: warning: excess elements in struct initializer
struct acpi_buffer wrdd = {ACPI_ALLOCATE_BUFFER, NULL};
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8435:9: warning: (near initialization for 'wrdd')
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8435:9: warning: excess elements in struct initializer
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8435:9: warning: (near initialization for 'wrdd')
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8435:21: error: storage size of 'wrdd' isn't known
struct acpi_buffer wrdd = {ACPI_ALLOCATE_BUFFER, NULL};
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8436:2: error: unknown type name 'acpi_status'
acpi_status status;
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8440:14: warning: assignment makes integer from pointer without a cast
root_handle = ACPI_HANDLE(ar->dev);
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8444:2: error: implicit declaration of function 'acpi_get_handle' [-Werror=implicit-function-declaration] status = acpi_get_handle(root_handle, (acpi_string)WRD_METHOD, &handle);
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8444:41: error: 'acpi_string' undeclared (first use in this function)
status = acpi_get_handle(root_handle, (acpi_string)WRD_METHOD, &handle);
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8392:20: error: expected ')' before string constant
#define WRD_METHOD "WRDD"
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8444:53: note: in expansion of macro 'WRD_METHOD'
status = acpi_get_handle(root_handle, (acpi_string)WRD_METHOD, &handle);
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8445:2: error: implicit declaration of function 'ACPI_FAILURE' [-Werror=implicit-function-declaration] if (ACPI_FAILURE(status)) {
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8451:2: error: implicit declaration of function 'acpi_evaluate_object' [-Werror=implicit-function-declaration] status = acpi_evaluate_object(handle, NULL, NULL, &wrdd);
^
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8435:21: warning: unused variable 'wrdd' [-Wunused-variable] struct acpi_buffer wrdd = {ACPI_ALLOCATE_BUFFER, NULL};
^
cc1: some warnings being treated as errors
/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build:308: ターゲット '/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.o' のレシピで失敗しました
make[10]: *** [/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.o] エラー 1
/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build:455: ターゲット '/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k' のレシピで失敗しました
make[9]: *** [/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k] エラー 2
/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build:455: ターゲット '/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath' のレシピで失敗しました
make[8]: *** [/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath] エラー 2
/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build:455: ターゲット '/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless' のレシピで失敗しました
make[7]: *** [/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless] エラー 2
/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/Makefile:1276: ターゲット '_module_/home/pavement1234/backports/backports-5.2.8-1' のレシピで失敗しました
make[6]: *** [_module_/home/pavement1234/backports/backports-5.2.8-1] エラー 2
Makefile:133: ターゲット 'sub-make' のレシピで失敗しました
make[5]: *** [sub-make] エラー 2
Makefile:26: ターゲット 'all' のレシピで失敗しました
make[4]: *** [all] エラー 2
Makefile.build:6: ターゲット 'modules' のレシピで失敗しました
make[3]: *** [modules] エラー 2
Makefile.real:88: ターゲット 'modules' のレシピで失敗しました
make[2]: *** [modules] エラー 2
Makefile:50: ターゲット 'modules' のレシピで失敗しました
make[1]: *** [modules] エラー 2
Makefile:29: ターゲット 'default' のレシピで失敗しました
make: *** [default] エラー 2

怪しい箇所を抜粋。①②から.configの整合性が取れていない雰囲気が感じられ、③④で明確にビルドエラーが発生している。まぁエラーが出たほうがヒントが得られるのでありがたい。

①クロスコンパイル時に前から出てるワーニング
boolean symbol BT tested for 'm'? test forced to 'n'

②MAC80211とATH10Kを強制的に有効化したことにより出てきた.configのワーニング
.config:729:warning: symbol value 'm' invalid for BINFMT_MISC

③/drivers/net/wireless/ath/ath10k/mac.cがコンパイルエラー
/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.c:8402:10: error: dereferencing pointer to incomplete type
if (wrdd->type != ACPI_TYPE_PACKAGE ||
^

④KLIB、KLIB_BUILDで指定していない箇所のMakefileが参照されている。
/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build:308: ターゲット '/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.o' のレシピで失敗しました
make[10]: *** [/home/pavement1234/backports/backports-5.2.8-1/drivers/net/wireless/ath/ath10k/mac.o] エラー 1

⑧backportsのカーネル4.4版入手と、ATH10Kビルド方法(解決した)

試行錯誤の末、わかったこと。なんでそうなるかはまだわからない(いつか調べたい)。

ターゲットがカーネル3.14で、backportsがカーネル4.19以上だとATH10Kがビルドされない。
ターゲットがカーネル3.14で、backportsがカーネル4.4以下ならATH10Kがビルドされる。

私はKLIBとKLIB_BUILDを同じ値にしていたが、Kernel Driver Backports Integrationを見て、間違ってることに気づいた。後で訂正する。

export KLIB=<target-rootfs>
export KLIB_BUILD=<path-to-the-kernel-build-directory>

うまく行った方法をメモする。ちなみにKLIBはホスト上のターゲットrootfsに変更した。

 command
$ cd ~/backports
$ wget https://cdn.kernel.org/pub/linux/kernel/projects/backports/stable/v4.4.2/backports-4.4.2-1.tar.xz
$ tar xvf backports-4.4.2-1.tar.xz
$ cd backports-4.4.2-1
$ set -a
$ CROSS_COMPILE=/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-
$ ARCH=arm
$ KLIB_BUILD=/home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
$ KLIB=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/
$ set +a
$ make menuconfig

カーネルコンフィギュレーションを以下のように変える。

変更前
<> cfg80211 - wireless configuration API
*** CFG80211 needs to be enabled for MAC80211 ***

変更後
<M> cfg80211 - wireless configuration API
[ * ] nl80211 testmode command
[ ] enable developer warnings (NEW)
[ ] cfg80211 certification onus (NEW)
[ * ] enable powersave by default (NEW)
[ ] cfg80211 DebugFS entriesonus (NEW)
[ * ] support CRDA (NEW)
[ ] cfg80211 wireless extension compatibility (NEW)

menuconfig画面を閉じる。ath10k向け設定をしてmakeする。

 command
$ make defconfig-ath10k
$ make
make[5]: 'conf' は更新済みです.
boolean symbol HWMON tested for 'm'? test forced to 'n'
#
# configuration written to .config
#
Building backport-include/backport/autoconf.h ... done.
CC [M] /home/pavement1234/backports/backports-4.4.2-1/compat/main.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.15.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.17.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.18.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.19.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.0.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.1.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.2.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.3.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.4.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/compat/lib-rhashtable.o
LD [M] /home/pavement1234/backports/backports-4.4.2-1/compat/compat.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/main.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/regd.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/hw.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/key.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/dfs_pattern_detector.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/dfs_pri_detector.o
LD [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/mac.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/debug.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/core.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htc.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htt.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htt_rx.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htt_tx.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/txrx.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/wmi.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/wmi-tlv.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/bmi.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/hw.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/p2p.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/swap.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/spectral.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/thermal.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/wow.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/pci.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ce.o
LD [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.o
LD [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/main.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/status.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/driver-ops.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/sta_info.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/wep.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/wpa.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/scan.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/offchannel.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ht.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/agg-tx.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/agg-rx.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/vht.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ibss.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/iface.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rate.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/michael.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/tkip.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_ccm.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_gcm.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_cmac.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_gmac.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/cfg.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ethtool.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rx.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/spectmgmt.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/tx.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/key.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/util.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/wme.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/chan.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/trace.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mlme.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/tdls.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ocb.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/led.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_pathtbl.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_plink.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_hwmp.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_sync.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_ps.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/pm.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rc80211_minstrel.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rc80211_minstrel_ht.o
LD [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/core.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/sysfs.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/radiotap.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/util.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/reg.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/scan.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/nl80211.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/mlme.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ibss.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/sme.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/chan.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ethtool.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/mesh.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ap.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/trace.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ocb.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/wext-compat.o
CC [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/wext-sme.o
LD [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.o
Building modules, stage 2.
MODPOST 6 modules
CC /home/pavement1234/backports/backports-4.4.2-1/compat/compat.mod.o
LD [M] /home/pavement1234/backports/backports-4.4.2-1/compat/compat.ko
CC /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.mod.o
LD [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.ko
CC /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.mod.o
LD [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.ko
CC /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.mod.o
LD [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
CC /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.mod.o
LD [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.ko
CC /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.mod.o
LD [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.ko

無事ビルド終了。昨日までの試行錯誤でいろいろノウハウを得た。これらのバイナリをターゲットにコピーする。

⑨ターゲットでATH10Kを動作させる

ホームディレクトリにドライバたちをコピー。

 command
$ cd ~/backports/backports-4.4.2-1
$ cp ./net/wireless/cfg80211.ko ~
$ cp ./net/mac80211/mac80211.ko ~
$ cp ./drivers/net/wireless/ath/ath.ko ~
$ cp ./drivers/net/wireless/ath/ath10k/ath10k_core.ko ~
$ cp ./drivers/net/wireless/ath/ath10k/ath10k_pci.ko ~

VMWareのUbuntuを開き、ホームディレクトリにあるドライバ群をWindowsにコピー(私はVMware tools経由で仮想OSからWindowsにドラッグ&ドロップした。

USBメモリをターゲットに挿し、*.koをホームディレクトリ(~)にコピー。

 command
# mount /dev/sda /mnt
# cd /mnt
# cp *.ko ~
# cd ~
# insmod ./compat.ko
Loading modules backported from Linux version v4.4.2-0-g1cb8570
Backport generated by backports.git v4.4.2-1-0-gbec4037
# insmod ./cfg80211.ko
# insmod ./mac80211.ko
# insmod ./ath.ko
# insmod ./ath10k_core.ko
# insmod ./ath10k_pci.ko
PCI: enabling device 0000:01:00.0 (0140 -> 0142)
ath10k_pci 0000:01:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
# ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA9377/hw1.0/firmware-5.bin': -2
ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA9377/hw1.0/firmware-4.bin': -2
ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA9377/hw1.0/firmware-3.bin': -2
ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA9377/hw1.0/firmware-2.bin': -2
ath10k_pci 0000:01:00.0: could not fetch firmware (-2)
ath10k_pci 0000:01:00.0: could not fetch firmware files (-2)
ath10k_pci 0000:01:00.0: could not probe fw (-2)

ファームを配置しないとダメっぽい。あとでTRYする。

⑩Makeについてもうちょっと詳しく知りたい

今回はたまたま解決したがmakeのトラブルは今後も避けられないものと思われる。というわけで、make を使いこなすためのメモMake覚書make の実行に関する情報を表示するMan page on makeを読んでみた。

make の実行に関する情報を表示するにmakeのデバッグに関するオプションが多数紹介されている。とりあえず-n、-d、-pあたりが気になる。

-n -nオプションを使用して make を実行すると、make が実行するコマンドを実際には実行せずに表示だけを行います。このオプションは、メークファイルのマクロが意図しているとおりに展開されているかどうかを確認する際に便利です。

-d ターゲットが最新でないと make が決定する条件を表示します。-n オプションとは異なり、以下の例のようにターゲットの処理は実行します。このオプションは、環境変数 (デフォルトでは NULL) から取り込んだ MAKEFLAGS マクロの値も表示します。

-p すべてのマクロ定義およびターゲットのエントリを表示します。

make -nオプションを指定してマクロの展開結果を見てみた。これはいい感じ。

 command
(一旦ログアウト)
$ cd ~/backports/backports-4.4.2-1
$ make clean
$ set -a
$ CROSS_COMPILE=/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-
$ ARCH=arm
$ KLIB_BUILD=/home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build
$ KLIB=/opt/poky/1.8.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/
$ set +a
$ make -n defconfig-ath10k
set -e ; test -f .local-symbols || ( \
echo "/--------------" ;\
echo "| You shouldn't run make in the backports tree, but only in" ;\
echo "| the generated output. This here is only the skeleton code" ;\
echo "| copied into the output directory. To use the backport system" ;\
echo "| from scratch, go into the top-level directory and run" ;\
echo "| ./gentree.py /path/to/linux-next/ /tmp/output" ;\
echo "| and then make menuconfig/... in the output directory. See" ;\
echo "| ./gentree.py --help" ;\
echo "| for more options." ;\
echo "\\--" ;\
false)
set -e ; test -f /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/.config || ( \
echo "/--------------" ;\
echo "| Your kernel headers are incomplete/not installed." ;\
echo "| Please install kernel headers, including a .config" ;\
echo "| file or use the KLIB/KLIB_BUILD make variables to" ;\
echo "| set the kernel to build against, e.g." ;\
echo "| make KLIB=/lib/modules/3.1.7/" ;\
echo "| to compile/install for the installed kernel 3.1.7" ;\
echo "| (that isn't currently running.)" ;\
echo "\\--" ;\
false)
set -e ; if [ "$(cat .kernel_config_md5 2>/dev/null)" != "f706b202afd342e26ebdbc13615bc255" ] ;\
then \
echo -n "Generating local configuration database from kernel ..." ;\
grep -v -f .local-symbols /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/.config | grep = | ( \
while read l ; do \
if [ "${l:0:7}" != "CONFIG_" ] ; then \
continue ;\
fi ;\
l=${l:7} ;\
n=${l%%=*} ;\
v=${l#*=} ;\
if [ "$v" = "m" ] ; then \
echo config $n ;\
echo ' tristate' ;\
elif [ "$v" = "y" ] ; then \
echo config $n ;\
echo ' bool' ;\
else \
continue ;\
fi ;\
echo " default $v" ;\
echo "" ;\
done \
) > Kconfig.kernel ;\
kver=$(make --no-print-directory -C /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build kernelversion | sed 's/^\(\([3-4]\|2\.6\)\.[0-9]\+\).*/\1/;t;d') ;\
test "$kver" != "" || echo "Kernel version parse failed!" ;\
test "$kver" != "" ;\
kvers="$(seq 14 39 | sed 's/^/2.6./')" ;\
kvers="$kvers $(seq 0 19 | sed 's/^/3./')" ;\
kvers="$kvers $(seq 0 99 | sed 's/^/4./')" ;\
print=0 ;\
for v in $kvers ; do \
if [ "$print" = "1" ] ; then \
echo config KERNEL_$(echo $v | tr . _) ;\
echo " def_bool y" ;\
fi ;\
if [ "$v" = "$kver" ] ; then print=1 ; fi ;\
done > Kconfig.versions ;\
# RHEL as well, sadly we need to grep for it ;\
RHEL_MAJOR=$(grep '^RHEL_MAJOR' /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/Makefile | sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
RHEL_MINOR=$(grep '^RHEL_MINOR' /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/Makefile | sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
for v in $(seq 0 $RHEL_MINOR) ; do \
echo config BACKPORT_RHEL_KERNEL_${RHEL_MAJOR}_$v ;\
echo " def_bool y" ;\
done >> Kconfig.versions ;\
echo " done." ;\
fi ;\
echo "f706b202afd342e26ebdbc13615bc255" > .kernel_config_md5
make -f Makefile.real "defconfig-ath10k"
make -C kconf conf
make[2]: 'conf' は更新済みです.
./kconf/conf --defconfig=defconfigs/ath10k Kconfig

さらにmakeしてみる。

 command
$ make - n
make modules
set -e ; test -f .local-symbols || ( \
echo "/--------------" ;\
echo "| You shouldn't run make in the backports tree, but only in" ;\
echo "| the generated output. This here is only the skeleton code" ;\
echo "| copied into the output directory. To use the backport system" ;\
echo "| from scratch, go into the top-level directory and run" ;\
echo "| ./gentree.py /path/to/linux-next/ /tmp/output" ;\
echo "| and then make menuconfig/... in the output directory. See" ;\
echo "| ./gentree.py --help" ;\
echo "| for more options." ;\
echo "\\--" ;\
false)
set -e ; test -f /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/.config || ( \
echo "/--------------" ;\
echo "| Your kernel headers are incomplete/not installed." ;\
echo "| Please install kernel headers, including a .config" ;\
echo "| file or use the KLIB/KLIB_BUILD make variables to" ;\
echo "| set the kernel to build against, e.g." ;\
echo "| make KLIB=/lib/modules/3.1.7/" ;\
echo "| to compile/install for the installed kernel 3.1.7" ;\
echo "| (that isn't currently running.)" ;\
echo "\\--" ;\
false)
set -e ; if [ "$(cat .kernel_config_md5 2>/dev/null)" != "f706b202afd342e26ebdbc13615bc255" ] ;\
then \
echo -n "Generating local configuration database from kernel ..." ;\
grep -v -f .local-symbols /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/.config | grep = | ( \
while read l ; do \
if [ "${l:0:7}" != "CONFIG_" ] ; then \
continue ;\
fi ;\
l=${l:7} ;\
n=${l%%=*} ;\
v=${l#*=} ;\
if [ "$v" = "m" ] ; then \
echo config $n ;\
echo ' tristate' ;\
elif [ "$v" = "y" ] ; then \
echo config $n ;\
echo ' bool' ;\
else \
continue ;\
fi ;\
echo " default $v" ;\
echo "" ;\
done \
) > Kconfig.kernel ;\
kver=$(make --no-print-directory -C /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build kernelversion | sed 's/^\(\([3-4]\|2\.6\)\.[0-9]\+\).*/\1/;t;d') ;\
test "$kver" != "" || echo "Kernel version parse failed!" ;\
test "$kver" != "" ;\
kvers="$(seq 14 39 | sed 's/^/2.6./')" ;\
kvers="$kvers $(seq 0 19 | sed 's/^/3./')" ;\
kvers="$kvers $(seq 0 99 | sed 's/^/4./')" ;\
print=0 ;\
for v in $kvers ; do \
if [ "$print" = "1" ] ; then \
echo config KERNEL_$(echo $v | tr . _) ;\
echo " def_bool y" ;\
fi ;\
if [ "$v" = "$kver" ] ; then print=1 ; fi ;\
done > Kconfig.versions ;\
# RHEL as well, sadly we need to grep for it ;\
RHEL_MAJOR=$(grep '^RHEL_MAJOR' /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/Makefile | sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
RHEL_MINOR=$(grep '^RHEL_MINOR' /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/Makefile | sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
for v in $(seq 0 $RHEL_MINOR) ; do \
echo config BACKPORT_RHEL_KERNEL_${RHEL_MAJOR}_$v ;\
echo " def_bool y" ;\
done >> Kconfig.versions ;\
echo " done." ;\
fi ;\
echo "f706b202afd342e26ebdbc13615bc255" > .kernel_config_md5
make -f Makefile.real "modules"
make -f Makefile.build modules
make -C /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build M=/home/pavement1234/backports/backports-4.4.2-1 modules
make -C /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source O=/home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/. modules
make -C /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build \
KBUILD_SRC=/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source \
KBUILD_EXTMOD="/home/pavement1234/backports/backports-4.4.2-1" -f /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/Makefile \
modules
mkdir -p /home/pavement1234/backports/backports-4.4.2-1/.tmp_versions ; rm -f /home/pavement1234/backports/backports-4.4.2-1/.tmp_versions/*
test -e /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/Module.symvers || ( \
echo; \
echo " WARNING: Symbol version dump /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/Module.symvers"; \
echo " is missing; modules will have no dependencies and modversions."; \
echo )
make -f /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build obj=/home/pavement1234/backports/backports-4.4.2-1
make -f /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build obj=/home/pavement1234/backports/backports-4.4.2-1/compat
set -e; echo ' LD [M] /home/pavement1234/backports/backports-4.4.2-1/compat/compat.o'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -o /home/pavement1234/backports/backports-4.4.2-1/compat/compat.o /home/pavement1234/backports/backports-4.4.2-1/compat/main.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.15.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.17.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.18.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.19.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.0.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.1.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.2.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.3.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.4.o /home/pavement1234/backports/backports-4.4.2-1/compat/lib-rhashtable.o ; echo 'cmd_/home/pavement1234/backports/backports-4.4.2-1/compat/compat.o := /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -o /home/pavement1234/backports/backports-4.4.2-1/compat/compat.o /home/pavement1234/backports/backports-4.4.2-1/compat/main.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.15.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.17.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.18.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.19.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.0.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.1.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.2.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.3.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.4.o /home/pavement1234/backports/backports-4.4.2-1/compat/lib-rhashtable.o ' > /home/pavement1234/backports/backports-4.4.2-1/compat/.compat.o.cmd
{ echo /home/pavement1234/backports/backports-4.4.2-1/compat/compat.ko; echo /home/pavement1234/backports/backports-4.4.2-1/compat/main.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.15.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.17.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.18.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-3.19.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.0.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.1.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.2.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.3.o /home/pavement1234/backports/backports-4.4.2-1/compat/backport-4.4.o /home/pavement1234/backports/backports-4.4.2-1/compat/lib-rhashtable.o; } > /home/pavement1234/backports/backports-4.4.2-1/.tmp_versions/compat.mod
(cat /dev/null; echo kernel//home/pavement1234/backports/backports-4.4.2-1/compat/compat.ko;) > /home/pavement1234/backports/backports-4.4.2-1/compat/modules.order
:
make -f /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build obj=/home/pavement1234/backports/backports-4.4.2-1/drivers/net/ethernet
make -f /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build obj=/home/pavement1234/backports/backports-4.4.2-1/drivers/net/ethernet/atheros
(cat /dev/null; ) > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/ethernet/atheros/modules.order
:
make -f /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build obj=/home/pavement1234/backports/backports-4.4.2-1/drivers/net/ethernet/broadcom
(cat /dev/null; ) > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/ethernet/broadcom/modules.order
:
make -f /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build obj=/home/pavement1234/backports/backports-4.4.2-1/drivers/net/ethernet/intel
(cat /dev/null; ) > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/ethernet/intel/modules.order
:
(cat /dev/null; cat /home/pavement1234/backports/backports-4.4.2-1/drivers/net/ethernet/atheros/modules.order; cat /home/pavement1234/backports/backports-4.4.2-1/drivers/net/ethernet/broadcom/modules.order; cat /home/pavement1234/backports/backports-4.4.2-1/drivers/net/ethernet/intel/modules.order;) > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/ethernet/modules.order
:
make -f /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build obj=/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless
make -f /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build obj=/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath
set -e; echo ' LD [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.o'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/main.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/regd.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/hw.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/key.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/dfs_pattern_detector.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/dfs_pri_detector.o ; echo 'cmd_/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.o := /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/main.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/regd.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/hw.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/key.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/dfs_pattern_detector.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/dfs_pri_detector.o ' > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/.ath.o.cmd
{ echo /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.ko; echo /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/main.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/regd.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/hw.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/key.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/dfs_pattern_detector.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/dfs_pri_detector.o; } > /home/pavement1234/backports/backports-4.4.2-1/.tmp_versions/ath.mod
make -f /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build obj=/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k
set -e; echo ' LD [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.o'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/mac.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/debug.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/core.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htc.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htt.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htt_rx.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htt_tx.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/txrx.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/wmi.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/wmi-tlv.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/bmi.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/hw.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/p2p.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/swap.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/spectral.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/thermal.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/wow.o ; echo 'cmd_/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.o := /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/mac.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/debug.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/core.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htc.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htt.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htt_rx.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htt_tx.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/txrx.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/wmi.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/wmi-tlv.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/bmi.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/hw.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/p2p.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/swap.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/spectral.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/thermal.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/wow.o ' > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_core.o.cmd
{ echo /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.ko; echo /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/mac.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/debug.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/core.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htc.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htt.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htt_rx.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/htt_tx.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/txrx.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/wmi.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/wmi-tlv.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/bmi.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/hw.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/p2p.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/swap.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/spectral.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/thermal.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/wow.o; } > /home/pavement1234/backports/backports-4.4.2-1/.tmp_versions/ath10k_core.mod
set -e; echo ' LD [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.o'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/pci.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ce.o ; echo 'cmd_/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.o := /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/pci.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ce.o ' > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_pci.o.cmd
{ echo /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.ko; echo /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/pci.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ce.o; } > /home/pavement1234/backports/backports-4.4.2-1/.tmp_versions/ath10k_pci.mod
(cat /dev/null; echo kernel//home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.ko; echo kernel//home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.ko;) > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/modules.order
:
(cat /dev/null; cat /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/modules.order; echo kernel//home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.ko;) > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/modules.order
:
make -f /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build obj=/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/realtek
(cat /dev/null; ) > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/realtek/modules.order
:
(cat /dev/null; cat /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/realtek/modules.order; cat /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/modules.order;) > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/modules.order
:
make -f /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build obj=/home/pavement1234/backports/backports-4.4.2-1/net/mac80211
set -e; echo ' LD [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.o'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/main.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/status.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/driver-ops.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/sta_info.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/wep.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/wpa.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/scan.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/offchannel.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ht.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/agg-tx.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/agg-rx.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/vht.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ibss.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/iface.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rate.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/michael.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/tkip.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_ccm.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_gcm.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_cmac.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_gmac.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/cfg.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ethtool.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rx.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/spectmgmt.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/tx.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/key.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/util.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/wme.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/chan.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/trace.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mlme.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/tdls.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ocb.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/led.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_pathtbl.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_plink.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_hwmp.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_sync.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_ps.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/pm.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rc80211_minstrel.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rc80211_minstrel_ht.o ; echo 'cmd_/home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.o := /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/main.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/status.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/driver-ops.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/sta_info.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/wep.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/wpa.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/scan.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/offchannel.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ht.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/agg-tx.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/agg-rx.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/vht.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ibss.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/iface.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rate.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/michael.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/tkip.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_ccm.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_gcm.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_cmac.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_gmac.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/cfg.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ethtool.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rx.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/spectmgmt.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/tx.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/key.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/util.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/wme.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/chan.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/trace.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mlme.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/tdls.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ocb.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/led.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_pathtbl.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_plink.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_hwmp.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_sync.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_ps.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/pm.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rc80211_minstrel.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rc80211_minstrel_ht.o ' > /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/.mac80211.o.cmd
{ echo /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.ko; echo /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/main.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/status.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/driver-ops.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/sta_info.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/wep.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/wpa.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/scan.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/offchannel.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ht.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/agg-tx.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/agg-rx.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/vht.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ibss.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/iface.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rate.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/michael.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/tkip.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_ccm.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_gcm.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_cmac.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/aes_gmac.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/cfg.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ethtool.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rx.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/spectmgmt.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/tx.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/key.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/util.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/wme.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/chan.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/trace.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mlme.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/tdls.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/ocb.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/led.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_pathtbl.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_plink.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_hwmp.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_sync.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mesh_ps.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/pm.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rc80211_minstrel.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/rc80211_minstrel_ht.o; } > /home/pavement1234/backports/backports-4.4.2-1/.tmp_versions/mac80211.mod
(cat /dev/null; echo kernel//home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.ko;) > /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/modules.order
:
make -f /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.build obj=/home/pavement1234/backports/backports-4.4.2-1/net/wireless
set -e; echo ' LD [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.o'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/core.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/sysfs.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/radiotap.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/util.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/reg.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/scan.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/nl80211.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/mlme.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ibss.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/sme.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/chan.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ethtool.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/mesh.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ap.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/trace.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ocb.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/wext-compat.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/wext-sme.o ; echo 'cmd_/home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.o := /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/core.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/sysfs.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/radiotap.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/util.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/reg.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/scan.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/nl80211.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/mlme.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ibss.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/sme.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/chan.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ethtool.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/mesh.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ap.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/trace.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ocb.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/wext-compat.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/wext-sme.o ' > /home/pavement1234/backports/backports-4.4.2-1/net/wireless/.cfg80211.o.cmd
{ echo /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.ko; echo /home/pavement1234/backports/backports-4.4.2-1/net/wireless/core.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/sysfs.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/radiotap.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/util.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/reg.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/scan.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/nl80211.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/mlme.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ibss.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/sme.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/chan.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ethtool.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/mesh.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ap.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/trace.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/ocb.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/wext-compat.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/wext-sme.o; } > /home/pavement1234/backports/backports-4.4.2-1/.tmp_versions/cfg80211.mod
(cat /dev/null; echo kernel//home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.ko;) > /home/pavement1234/backports/backports-4.4.2-1/net/wireless/modules.order
:
(cat /dev/null; cat /home/pavement1234/backports/backports-4.4.2-1/compat/modules.order; cat /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/modules.order; cat /home/pavement1234/backports/backports-4.4.2-1/drivers/net/ethernet/modules.order; cat /home/pavement1234/backports/backports-4.4.2-1/net/wireless/modules.order; cat /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/modules.order;) > /home/pavement1234/backports/backports-4.4.2-1/modules.order
:
echo ' Building modules, stage 2.';
make -f /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/Makefile.modpost
echo ' MODPOST 6 modules'; find /home/pavement1234/backports/backports-4.4.2-1/.tmp_versions -name '*.mod' | xargs -r grep -h '\.ko$' | sort -u | sed 's/\.ko$/.o/' | scripts/mod/modpost -m -a -i /home/pavement1234/fido/core-image-sato/tmp/work/nitrogen6x-poky-linux-gnueabi/linux-boundary/3.14.28-r0/build/Module.symvers -I /home/pavement1234/backports/backports-4.4.2-1/Module.symvers -o /home/pavement1234/backports/backports-4.4.2-1/Module.symvers -S -w -s -T - vmlinux
set -e; echo ' CC /home/pavement1234/backports/backports-4.4.2-1/compat/compat.mod.o'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -Wp,-MD,/home/pavement1234/backports/backports-4.4.2-1/compat/.compat.mod.o.d -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/ -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/uapi -I/home/pavement1234/backports/backports-4.4.2-1/include/ -I/home/pavement1234/backports/backports-4.4.2-1/include/uapi -include /home/pavement1234/backports/backports-4.4.2-1/backport-include/backport/backport.h -Wno-unused-but-set-variable -DCPTCFG_VERSION=\""v4.4.2-1-0-gbec4037"\" -DCPTCFG_KERNEL_VERSION=\""v4.4.2-0-g1cb8570"\" -DCPTCFG_KERNEL_NAME=\""Linux"\" -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include -Iarch/arm/include/generated -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include -Iinclude -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/uapi -Iinclude/generated/uapi -include /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/linux/kconfig.h -I/home/pavement1234/backports/backports-4.4.2-1 -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(compat.mod)" -D"KBUILD_MODNAME=KBUILD_STR(compat)" -DMODULE -c -o /home/pavement1234/backports/backports-4.4.2-1/compat/compat.mod.o /home/pavement1234/backports/backports-4.4.2-1/compat/compat.mod.c; scripts/basic/fixdep /home/pavement1234/backports/backports-4.4.2-1/compat/.compat.mod.o.d /home/pavement1234/backports/backports-4.4.2-1/compat/compat.mod.o '/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -Wp,-MD,/home/pavement1234/backports/backports-4.4.2-1/compat/.compat.mod.o.d -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/ -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/uapi -I/home/pavement1234/backports/backports-4.4.2-1/include/ -I/home/pavement1234/backports/backports-4.4.2-1/include/uapi -include /home/pavement1234/backports/backports-4.4.2-1/backport-include/backport/backport.h -Wno-unused-but-set-variable -DCPTCFG_VERSION=\""v4.4.2-1-0-gbec4037"\" -DCPTCFG_KERNEL_VERSION=\""v4.4.2-0-g1cb8570"\" -DCPTCFG_KERNEL_NAME=\""Linux"\" -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include -Iarch/arm/include/generated -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include -Iinclude -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/uapi -Iinclude/generated/uapi -include /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/linux/kconfig.h -I/home/pavement1234/backports/backports-4.4.2-1 -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(compat.mod)" -D"KBUILD_MODNAME=KBUILD_STR(compat)" -DMODULE -c -o /home/pavement1234/backports/backports-4.4.2-1/compat/compat.mod.o /home/pavement1234/backports/backports-4.4.2-1/compat/compat.mod.c' > /home/pavement1234/backports/backports-4.4.2-1/compat/.compat.mod.o.tmp; rm -f /home/pavement1234/backports/backports-4.4.2-1/compat/.compat.mod.o.d; mv -f /home/pavement1234/backports/backports-4.4.2-1/compat/.compat.mod.o.tmp /home/pavement1234/backports/backports-4.4.2-1/compat/.compat.mod.o.cmd
set -e; echo ' LD [M] /home/pavement1234/backports/backports-4.4.2-1/compat/compat.ko'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -T /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/module-common.lds --build-id -o /home/pavement1234/backports/backports-4.4.2-1/compat/compat.ko /home/pavement1234/backports/backports-4.4.2-1/compat/compat.o /home/pavement1234/backports/backports-4.4.2-1/compat/compat.mod.o; echo 'cmd_/home/pavement1234/backports/backports-4.4.2-1/compat/compat.ko := /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -T /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/module-common.lds --build-id -o /home/pavement1234/backports/backports-4.4.2-1/compat/compat.ko /home/pavement1234/backports/backports-4.4.2-1/compat/compat.o /home/pavement1234/backports/backports-4.4.2-1/compat/compat.mod.o' > /home/pavement1234/backports/backports-4.4.2-1/compat/.compat.ko.cmd
set -e; echo ' CC /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.mod.o'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -Wp,-MD,/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/.ath.mod.o.d -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/ -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/uapi -I/home/pavement1234/backports/backports-4.4.2-1/include/ -I/home/pavement1234/backports/backports-4.4.2-1/include/uapi -include /home/pavement1234/backports/backports-4.4.2-1/backport-include/backport/backport.h -Wno-unused-but-set-variable -DCPTCFG_VERSION=\""v4.4.2-1-0-gbec4037"\" -DCPTCFG_KERNEL_VERSION=\""v4.4.2-0-g1cb8570"\" -DCPTCFG_KERNEL_NAME=\""Linux"\" -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include -Iarch/arm/include/generated -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include -Iinclude -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/uapi -Iinclude/generated/uapi -include /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/linux/kconfig.h -I/home/pavement1234/backports/backports-4.4.2-1 -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(ath.mod)" -D"KBUILD_MODNAME=KBUILD_STR(ath)" -DMODULE -c -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.mod.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.mod.c; scripts/basic/fixdep /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/.ath.mod.o.d /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.mod.o '/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -Wp,-MD,/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/.ath.mod.o.d -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/ -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/uapi -I/home/pavement1234/backports/backports-4.4.2-1/include/ -I/home/pavement1234/backports/backports-4.4.2-1/include/uapi -include /home/pavement1234/backports/backports-4.4.2-1/backport-include/backport/backport.h -Wno-unused-but-set-variable -DCPTCFG_VERSION=\""v4.4.2-1-0-gbec4037"\" -DCPTCFG_KERNEL_VERSION=\""v4.4.2-0-g1cb8570"\" -DCPTCFG_KERNEL_NAME=\""Linux"\" -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include -Iarch/arm/include/generated -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include -Iinclude -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/uapi -Iinclude/generated/uapi -include /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/linux/kconfig.h -I/home/pavement1234/backports/backports-4.4.2-1 -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(ath.mod)" -D"KBUILD_MODNAME=KBUILD_STR(ath)" -DMODULE -c -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.mod.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.mod.c' > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/.ath.mod.o.tmp; rm -f /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/.ath.mod.o.d; mv -f /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/.ath.mod.o.tmp /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/.ath.mod.o.cmd
set -e; echo ' LD [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.ko'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -T /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/module-common.lds --build-id -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.ko /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.mod.o; echo 'cmd_/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.ko := /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -T /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/module-common.lds --build-id -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.ko /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath.mod.o' > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/.ath.ko.cmd
set -e; echo ' CC /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.mod.o'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -Wp,-MD,/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_core.mod.o.d -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/ -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/uapi -I/home/pavement1234/backports/backports-4.4.2-1/include/ -I/home/pavement1234/backports/backports-4.4.2-1/include/uapi -include /home/pavement1234/backports/backports-4.4.2-1/backport-include/backport/backport.h -Wno-unused-but-set-variable -DCPTCFG_VERSION=\""v4.4.2-1-0-gbec4037"\" -DCPTCFG_KERNEL_VERSION=\""v4.4.2-0-g1cb8570"\" -DCPTCFG_KERNEL_NAME=\""Linux"\" -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include -Iarch/arm/include/generated -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include -Iinclude -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/uapi -Iinclude/generated/uapi -include /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/linux/kconfig.h -I/home/pavement1234/backports/backports-4.4.2-1 -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(ath10k_core.mod)" -D"KBUILD_MODNAME=KBUILD_STR(ath10k_core)" -DMODULE -c -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.mod.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.mod.c; scripts/basic/fixdep /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_core.mod.o.d /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.mod.o '/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -Wp,-MD,/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_core.mod.o.d -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/ -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/uapi -I/home/pavement1234/backports/backports-4.4.2-1/include/ -I/home/pavement1234/backports/backports-4.4.2-1/include/uapi -include /home/pavement1234/backports/backports-4.4.2-1/backport-include/backport/backport.h -Wno-unused-but-set-variable -DCPTCFG_VERSION=\""v4.4.2-1-0-gbec4037"\" -DCPTCFG_KERNEL_VERSION=\""v4.4.2-0-g1cb8570"\" -DCPTCFG_KERNEL_NAME=\""Linux"\" -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include -Iarch/arm/include/generated -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include -Iinclude -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/uapi -Iinclude/generated/uapi -include /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/linux/kconfig.h -I/home/pavement1234/backports/backports-4.4.2-1 -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(ath10k_core.mod)" -D"KBUILD_MODNAME=KBUILD_STR(ath10k_core)" -DMODULE -c -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.mod.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.mod.c' > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_core.mod.o.tmp; rm -f /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_core.mod.o.d; mv -f /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_core.mod.o.tmp /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_core.mod.o.cmd
set -e; echo ' LD [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.ko'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -T /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/module-common.lds --build-id -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.ko /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.mod.o; echo 'cmd_/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.ko := /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -T /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/module-common.lds --build-id -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.ko /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_core.mod.o' > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_core.ko.cmd
set -e; echo ' CC /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.mod.o'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -Wp,-MD,/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_pci.mod.o.d -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/ -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/uapi -I/home/pavement1234/backports/backports-4.4.2-1/include/ -I/home/pavement1234/backports/backports-4.4.2-1/include/uapi -include /home/pavement1234/backports/backports-4.4.2-1/backport-include/backport/backport.h -Wno-unused-but-set-variable -DCPTCFG_VERSION=\""v4.4.2-1-0-gbec4037"\" -DCPTCFG_KERNEL_VERSION=\""v4.4.2-0-g1cb8570"\" -DCPTCFG_KERNEL_NAME=\""Linux"\" -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include -Iarch/arm/include/generated -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include -Iinclude -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/uapi -Iinclude/generated/uapi -include /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/linux/kconfig.h -I/home/pavement1234/backports/backports-4.4.2-1 -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(ath10k_pci.mod)" -D"KBUILD_MODNAME=KBUILD_STR(ath10k_pci)" -DMODULE -c -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.mod.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.mod.c; scripts/basic/fixdep /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_pci.mod.o.d /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.mod.o '/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -Wp,-MD,/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_pci.mod.o.d -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/ -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/uapi -I/home/pavement1234/backports/backports-4.4.2-1/include/ -I/home/pavement1234/backports/backports-4.4.2-1/include/uapi -include /home/pavement1234/backports/backports-4.4.2-1/backport-include/backport/backport.h -Wno-unused-but-set-variable -DCPTCFG_VERSION=\""v4.4.2-1-0-gbec4037"\" -DCPTCFG_KERNEL_VERSION=\""v4.4.2-0-g1cb8570"\" -DCPTCFG_KERNEL_NAME=\""Linux"\" -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include -Iarch/arm/include/generated -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include -Iinclude -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/uapi -Iinclude/generated/uapi -include /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/linux/kconfig.h -I/home/pavement1234/backports/backports-4.4.2-1 -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(ath10k_pci.mod)" -D"KBUILD_MODNAME=KBUILD_STR(ath10k_pci)" -DMODULE -c -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.mod.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.mod.c' > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_pci.mod.o.tmp; rm -f /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_pci.mod.o.d; mv -f /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_pci.mod.o.tmp /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_pci.mod.o.cmd
set -e; echo ' LD [M] /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.ko'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -T /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/module-common.lds --build-id -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.ko /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.mod.o; echo 'cmd_/home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.ko := /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -T /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/module-common.lds --build-id -o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.ko /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.o /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/ath10k_pci.mod.o' > /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k/.ath10k_pci.ko.cmd
set -e; echo ' CC /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.mod.o'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -Wp,-MD,/home/pavement1234/backports/backports-4.4.2-1/net/mac80211/.mac80211.mod.o.d -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/ -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/uapi -I/home/pavement1234/backports/backports-4.4.2-1/include/ -I/home/pavement1234/backports/backports-4.4.2-1/include/uapi -include /home/pavement1234/backports/backports-4.4.2-1/backport-include/backport/backport.h -Wno-unused-but-set-variable -DCPTCFG_VERSION=\""v4.4.2-1-0-gbec4037"\" -DCPTCFG_KERNEL_VERSION=\""v4.4.2-0-g1cb8570"\" -DCPTCFG_KERNEL_NAME=\""Linux"\" -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include -Iarch/arm/include/generated -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include -Iinclude -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/uapi -Iinclude/generated/uapi -include /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/linux/kconfig.h -I/home/pavement1234/backports/backports-4.4.2-1 -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(mac80211.mod)" -D"KBUILD_MODNAME=KBUILD_STR(mac80211)" -DMODULE -c -o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.mod.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.mod.c; scripts/basic/fixdep /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/.mac80211.mod.o.d /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.mod.o '/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -Wp,-MD,/home/pavement1234/backports/backports-4.4.2-1/net/mac80211/.mac80211.mod.o.d -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/ -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/uapi -I/home/pavement1234/backports/backports-4.4.2-1/include/ -I/home/pavement1234/backports/backports-4.4.2-1/include/uapi -include /home/pavement1234/backports/backports-4.4.2-1/backport-include/backport/backport.h -Wno-unused-but-set-variable -DCPTCFG_VERSION=\""v4.4.2-1-0-gbec4037"\" -DCPTCFG_KERNEL_VERSION=\""v4.4.2-0-g1cb8570"\" -DCPTCFG_KERNEL_NAME=\""Linux"\" -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include -Iarch/arm/include/generated -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include -Iinclude -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/uapi -Iinclude/generated/uapi -include /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/linux/kconfig.h -I/home/pavement1234/backports/backports-4.4.2-1 -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(mac80211.mod)" -D"KBUILD_MODNAME=KBUILD_STR(mac80211)" -DMODULE -c -o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.mod.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.mod.c' > /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/.mac80211.mod.o.tmp; rm -f /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/.mac80211.mod.o.d; mv -f /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/.mac80211.mod.o.tmp /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/.mac80211.mod.o.cmd
set -e; echo ' LD [M] /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.ko'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -T /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/module-common.lds --build-id -o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.ko /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.mod.o; echo 'cmd_/home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.ko := /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -T /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/module-common.lds --build-id -o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.ko /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.o /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/mac80211.mod.o' > /home/pavement1234/backports/backports-4.4.2-1/net/mac80211/.mac80211.ko.cmd
set -e; echo ' CC /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.mod.o'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -Wp,-MD,/home/pavement1234/backports/backports-4.4.2-1/net/wireless/.cfg80211.mod.o.d -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/ -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/uapi -I/home/pavement1234/backports/backports-4.4.2-1/include/ -I/home/pavement1234/backports/backports-4.4.2-1/include/uapi -include /home/pavement1234/backports/backports-4.4.2-1/backport-include/backport/backport.h -Wno-unused-but-set-variable -DCPTCFG_VERSION=\""v4.4.2-1-0-gbec4037"\" -DCPTCFG_KERNEL_VERSION=\""v4.4.2-0-g1cb8570"\" -DCPTCFG_KERNEL_NAME=\""Linux"\" -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include -Iarch/arm/include/generated -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include -Iinclude -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/uapi -Iinclude/generated/uapi -include /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/linux/kconfig.h -I/home/pavement1234/backports/backports-4.4.2-1 -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(cfg80211.mod)" -D"KBUILD_MODNAME=KBUILD_STR(cfg80211)" -DMODULE -c -o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.mod.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.mod.c; scripts/basic/fixdep /home/pavement1234/backports/backports-4.4.2-1/net/wireless/.cfg80211.mod.o.d /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.mod.o '/opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -Wp,-MD,/home/pavement1234/backports/backports-4.4.2-1/net/wireless/.cfg80211.mod.o.d -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/ -I/home/pavement1234/backports/backports-4.4.2-1/backport-include/uapi -I/home/pavement1234/backports/backports-4.4.2-1/include/ -I/home/pavement1234/backports/backports-4.4.2-1/include/uapi -include /home/pavement1234/backports/backports-4.4.2-1/backport-include/backport/backport.h -Wno-unused-but-set-variable -DCPTCFG_VERSION=\""v4.4.2-1-0-gbec4037"\" -DCPTCFG_KERNEL_VERSION=\""v4.4.2-0-g1cb8570"\" -DCPTCFG_KERNEL_NAME=\""Linux"\" -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include -Iarch/arm/include/generated -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include -Iinclude -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/uapi -Iinclude/generated/uapi -include /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/include/linux/kconfig.h -I/home/pavement1234/backports/backports-4.4.2-1 -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(cfg80211.mod)" -D"KBUILD_MODNAME=KBUILD_STR(cfg80211)" -DMODULE -c -o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.mod.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.mod.c' > /home/pavement1234/backports/backports-4.4.2-1/net/wireless/.cfg80211.mod.o.tmp; rm -f /home/pavement1234/backports/backports-4.4.2-1/net/wireless/.cfg80211.mod.o.d; mv -f /home/pavement1234/backports/backports-4.4.2-1/net/wireless/.cfg80211.mod.o.tmp /home/pavement1234/backports/backports-4.4.2-1/net/wireless/.cfg80211.mod.o.cmd
set -e; echo ' LD [M] /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.ko'; /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -T /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/module-common.lds --build-id -o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.ko /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.mod.o; echo 'cmd_/home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.ko := /opt/poky/1.8.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ld -EL -r -T /home/pavement1234/fido/core-image-sato/tmp/work-shared/nitrogen6x/kernel-source/scripts/module-common.lds --build-id -o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.ko /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.o /home/pavement1234/backports/backports-4.4.2-1/net/wireless/cfg80211.mod.o' > /home/pavement1234/backports/backports-4.4.2-1/net/wireless/.cfg80211.ko.cmd

 

backportをインストール(失敗

①ath10kのファームウェアをダウンロード

この記事の上の方でダウンロードしたQCA9377ファームウェアの内容を確認。当時could not fetch firmware file 'ath10k/QCA9377/hw1.0/firmware-5.bin': -2というエラーが出ていたのを思い出した。たぶん青字のファイルがファームだろう。

QCA9377
hw1.0
CNSS.TF.1.0
notice.txt_CNSS.TF.1.0-00267-QCATFSWPZ-1
WLAN.TF.1.0
.priority
firmware-5.bin_WLAN.TF.1.0-00002-QCATFSWPZ-5
firmware-5.bin_WLAN.TF.1.0-00023-QCATFSWPZ-1
notice.txt_WLAN.TF.1.0-00002-QCATFSWPZ-5
notice.txt_WLAN.TF.1.0-00023-QCATFSWPZ-1
WLAN.TF.2.1
.priority
firmware-6.bin_WLAN.TF.2.1-00014-QCARMSWP-1
firmware-6.bin_WLAN.TF.2.1-00016-QCARMSWP-1
firmware-6.bin_WLAN.TF.2.1-00021-QCARMSWP-1
notice.txt_WLAN.TF.2.1-00014-QCARMSWP-1
notice.txt_WLAN.TF.2.1-00016-QCARMSWP-1
notice.txt_WLAN.TF.2.1-00021-QCARMSWP-1
board-2.bin
board.bin
untested
notice.txt_WLAN.TF.1.1.1-00061-QCATFSWPZ-1.txt

念のため/lib/firmware/を確認。ath10kというディレクトリはない。

 command
# ls /lib/firmware
TIInit_7.2.31.bts wl127x-fw-4-mr.bin wl128x-fw-4-plt.bin
ti-connectivity wl127x-fw-4-plt.bin wl128x-fw-4-sr.bin
vpu wl127x-fw-4-sr.bin wl128x-fw-5-mr.bin
wl1251-fw.bin wl127x-fw-5-mr.bin wl128x-fw-5-plt.bin
wl1251-nvs.bin wl127x-fw-5-plt.bin wl128x-fw-5-sr.bin
wl1271-fw-2.bin wl127x-fw-5-sr.bin wl128x-fw-ap.bin
wl1271-fw-ap.bin wl127x-fw-plt-3.bin wl128x-fw-plt-3.bin
wl1271-fw.bin wl127x-nvs.bin wl128x-fw.bin
wl1271-nvs.bin wl128x-fw-3.bin wl128x-nvs.bin
wl127x-fw-3.bin wl128x-fw-4-mr.bin wl12xx-nvs.bin

というわけで、ath10kというディレクトリを作り、ファームが格納されたディレクトリ(QCA9377)を/lib/firmwareにコピー。/lib/firmware/ath10k/QCA9377/hw1.0/WLAN.TF.1.0/firmware-5.bin_WLAN.TF.1.0-00002-QCATFSWPZ-5を/lib/firmware/ath10k/QCA9377/hw1.0/firmware-5.binにコピー(firmware-5.binは***00002***と***00023***の2種類あるが、バージョンが低そうな***00022***を選んだ)

 command
# mkdir /lib/firmware/ath10k
# cp -r ~/QCA9377 /lib/firmware/ath10k
# cd /lib/firmware/ath10k/QCA9377/hw1.0
# cp WLAN.TF.1.0/firmware-5.bin_WLAN.TF.1.0-00002-QCATFSWPZ-5 /lib/firmware/ath10k/QCA9377/hw1.0/firmware-5.bin
# ls -la
drwxr-x--- 6 root root 1024 Nov 7 12:08 .
drwxr-x--- 3 root root 1024 Nov 6 10:03 ..
drwxr-x--- 2 root root 1024 Nov 6 10:07 CNSS.TF.1.0
drwxr-x--- 2 root root 1024 Nov 6 10:08 WLAN.TF.1.0
drwxr-x--- 2 root root 1024 Nov 6 10:06 WLAN.TF.2.1
-rwxr-x--- 1 root root 304308 Nov 6 10:03 board-2.bin
-rwxr-x--- 1 root root 8124 Nov 6 10:03 board.bin
-rwxr-x--- 1 root root 783336 Nov 7 12:08 firmware-5.bin
drwxr-x--- 2 root root 1024 Nov 6 10:03 untested

ホームディレクトリに戻りlsmod。前回エラーが発生したときにリブートしてるのでath10kドライバは綺麗に消えている。

 command
# cd
# lsmod
Module Size Used by
ov5640_camera_mipi 53356 0
mxc_v4l2_capture 24972 1 ov5640_camera_mipi
ipu_bg_overlay_sdc 4175 1 mxc_v4l2_capture
ipu_still 1719 1 mxc_v4l2_capture
ipu_prp_enc 4791 1 mxc_v4l2_capture
ipu_csi_enc 2969 1 mxc_v4l2_capture
adv7180_tvin 8323 0
ipu_fg_overlay_sdc 5059 1 mxc_v4l2_capture
v4l2_int_device 1796 3 ov5640_camera_mipi,adv7180_tvin,mxc_v4l2_capture
snd_soc_fsl_asrc 23760 0

再びインストール。ファームは見つかったみたいだが、微妙なメッセージ***(0140 -> 0142)が出た上でファームウェアロードに失敗というメッセージ。うーん...。

 command
# insmod compat.ko
Loading modules backported from Linux version v4.4.2-0-g1cb8570
Backport generated by backports.git v4.4.2-1-0-gbec4037
# insmod cfg80211.ko
# insmod mac80211.ko
# insmod ath.ko
# insmod ath10k_core.ko
# insmod ath10k_pci.ko
PCI: enabling device 0000:01:00.0 (0140 -> 0142)
ath10k_pci 0000:01:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
root@nitrogen6x:~# ath10k_pci 0000:01:00.0: failed to receive control response completion, polling..
ath10k_pci 0000:01:00.0: ctl_resp never came in (-110)
ath10k_pci 0000:01:00.0: failed to connect to HTC: -110
ath10k_pci 0000:01:00.0: could not init core (-110)
ath10k_pci 0000:01:00.0: could not probe fw (-110)

ath10kドライバのインストール状態を見る。インストール自体はされているがath10k_pci.koはファームロードに失敗しているからゾンビ状態である。

 command
# lsmod
Module Size Used by
ath10k_pci 31020 0
ath10k_core 248318 1 ath10k_pci
ath 17622 1 ath10k_core
mac80211 363953 1 ath10k_core
cfg80211 213383 3 ath,mac80211,ath10k_core
compat 14986 4 cfg80211,mac80211,ath10k_pci,ath10k_core
ov5640_camera_mipi 53356 0
mxc_v4l2_capture 24972 1 ov5640_camera_mipi
ipu_bg_overlay_sdc 4175 1 mxc_v4l2_capture
ipu_still 1719 1 mxc_v4l2_capture
ipu_prp_enc 4791 1 mxc_v4l2_capture
ipu_csi_enc 2969 1 mxc_v4l2_capture
adv7180_tvin 8323 0
ipu_fg_overlay_sdc 5059 1 mxc_v4l2_capture
v4l2_int_device 1796 3 ov5640_camera_mipi,adv7180_tvin,mxc_v4l2_capture
snd_soc_fsl_asrc 23760 0

ゾンビ状態のath10k_pciをアンインストール(rmmod)し、2つあったfirmware-5.binのうち、新しいバージョン***00023***にする。そして再びホームディレクトリのath10k_pci.koをインストール。微妙なメッセージ***(0140 -> 0142)は出なくなったが、そのあとは前回と全く同じエラー。

 command
# rmmod ath10k_pci
# cd /lib/firmware/ath10k/QCA9377/hw1.0/WLAN.TF.1.0
# cp firmware-5.bin_WLAN.TF.1.0-00023-QCATFSWPZ-1 ../firmware-5.bin
# cd
# insmod ath10k_pci.ko
ath10k_pci 0000:01:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
root@nitrogen6x:~# ath10k_pci 0000:01:00.0: failed to receive control response completion, polling..
ath10k_pci 0000:01:00.0: ctl_resp never came in (-110)
ath10k_pci 0000:01:00.0: failed to connect to HTC: -110
ath10k_pci 0000:01:00.0: could not init core (-110)
ath10k_pci 0000:01:00.0: could not probe fw (-110)

dmesgをfirmwareでgrep。ath10kは出てこない。

 command
# dmesg | grep firmware
imx-sdma 20ec000.sdma: loaded firmware 3.1
usbserial: USB Serial support registered for Keyspan - (without firmware)
egalax_ts 2-0004: Failed to read firmware version
ili210x_i2c 2-0041: Failed to get firmware version, err: -5

lspci -kをやったところ、以前は出てこなかったドライバ名称が出てきた

 command
# lspci -k
00:00.0 PCI bridge: Synopsys, Inc. Device abcd (rev 01)
Kernel driver in use: pcieport
01:00.0 Network controller: Qualcomm Atheros Device 0042 (rev 31)
Subsystem: AzureWave Device 2a51
        Kernel driver in use: ath10k_pci

pci irq msi interrupts 1 irq_mode 0 reset_mode 0でgoogle検索。ubuntu14.04 - 私のWiFiは機能していませんがヒットしたが、なんか違う感じ。

続いてath10k_pci 0000:01:00.0: failed to receive control response completion, polling..でgoogle検索。Qualcomm QCA6174 - Ubuntu Forumsがヒットしたが、これも違う感じ。

うーん...。困ったね。

②なぜファームダウンロードに失敗するのか

まずエラー発生状況を振り返る。まず”failed to receive control response completion, polling..”に着目した。

 command
# insmod compat.ko
Loading modules backported from Linux version v4.4.2-0-g1cb8570
Backport generated by backports.git v4.4.2-1-0-gbec4037
# insmod cfg80211.ko
# insmod mac80211.ko
# insmod ath.ko
# insmod ath10k_core.ko
# insmod ath10k_pci.ko
ath10k_pci 0000:01:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
root@nitrogen6x:~# ath10k_pci 0000:01:00.0: failed to receive control response completion, polling..
ath10k_pci 0000:01:00.0: ctl_resp never came in (-110)
ath10k_pci 0000:01:00.0: failed to connect to HTC: -110
ath10k_pci 0000:01:00.0: could not init core (-110)
ath10k_pci 0000:01:00.0: could not probe fw (-110)

”failed to receive control response completion, polling..”でgrepしてみたらhtc.cがヒットしたのでviで開く。

 command
$ cd /home/pavement1234/backports/backports-4.4.2-1/drivers/net/wireless/ath/ath10k
$ grep "failed to receive control response completion, polling.." *.c
htc.c: ath10k_warn(ar, "failed to receive control response completion, polling..\n");
$ vi htc.c

該当の文字列が定義されている関数を抜き出した。エラー要因についてworkaroundが書いてある。

Googleで和訳してみた。KVM PCIパススルーにすると割込みが伝播されないことがある。みたいな話かね。ところでKVM PCIパススルーって何だろう?

Workaround In some cases the PCI HIF doesn't receive interrupt for the control response message even if the buffer was completed. It is suspected iomap writes unmasking PCI CE irqs aren't propagated properly in KVM PCI-passthrough sometimes.

(Google和訳)
【回避策】場合によっては、バッファが完了しても、PCI HIFは制御応答メッセージの割り込みを受信しません。 iomapの書き込みマスク解除PCI CE irqがKVM PCIパススルーで適切に伝播されないことがあると思われます。

KVM PCIパススルーでGoogle検索してみたら、めずらしく日本語サイトがヒット。KVM PCIパススルー (PCI PassThrough)を読んだ。仮想PCにPCIを見せる技術であるのはわかるが、結局KVMって何?

Google検索したらKVMとはKernel-based Virtual Machineであることが判明。Kernel-based Virtual Machineを読むと、どうも仮想OS的な話みたいだけど、今回実機で動かしてるから仮想化は関係ない気がする。

次にタイムアウトを発生させているwait_for_completion_timeoutをgrepしてみた。呼び出ししかない...。カーネルAPIか...。

 command
$ grep "wait_for_completion_timeout" *.c
ath10k_core.mod.c: { 0x7cf9099, __VMLINUX_SYMBOL_STR(wait_for_completion_timeout) },
core.c: time_left = wait_for_completion_timeout(&ar->target_suspend, 1 * HZ);
debug.c: wait_for_completion_timeout(&ar->debug.fw_stats_complete,
debug.c: time_left = wait_for_completion_timeout(&ar->debug.tpc_complete,
htc.c: time_left = wait_for_completion_timeout(&htc->ctl_resp,
htc.c: wait_for_completion_timeout(&htc->ctl_resp,
htc.c: time_left = wait_for_completion_timeout(&htc->ctl_resp,
htt.c: status = wait_for_completion_timeout(&htt->target_version_received,
mac.c: time_left = wait_for_completion_timeout(&ar->install_key_done, 3 * HZ);
mac.c: time_left = wait_for_completion_timeout(&ar->vdev_setup_done,
mac.c: wait_for_completion_timeout(&ar->offchan_tx_completed, 3 * HZ);
mac.c: ret = wait_for_completion_timeout(&ar->scan.completed, 3*HZ);
mac.c: ret = wait_for_completion_timeout(&ar->scan.started, 1*HZ);
mac.c: ret = wait_for_completion_timeout(&ar->scan.on_channel, 3*HZ);
thermal.c: time_left = wait_for_completion_timeout(&ar->thermal.wmi_sync,
wmi.c: time_left = wait_for_completion_timeout(&ar->wmi.service_ready,
wmi.c: time_left = wait_for_completion_timeout(&ar->wmi.unified_ready,
wow.c: ret = wait_for_completion_timeout(&ar->target_suspend, 3 * HZ);
wow.c: ret = wait_for_completion_timeout(&ar->wow.wakeup_completed, 3 * HZ);

wait_for_completion_timeoutkernel/sched/completion.cに定義されてる様子

wait_for_completion_timeoutの中でwait_for_commonが呼ばれてる。

wait_for_commonの中で __wait_for_commonが呼ばれてる。

__wait_for_commonの中でdo_wait_for_commonが呼ばれてる。

do_wait_for_commonはこんな感じ。ウェイト処理ということですね。

次にタイムアウトが発生している関数。ath10k_htc_wait_targetを呼び出してる箇所を調べてみる。core.cで呼ばれてるのでviで開いた。

$ grep "ath10k_htc_wait_target" *.c
core.c: status = ath10k_htc_wait_target(&ar->htc);
htc.c:int ath10k_htc_wait_target(struct ath10k_htc *htc)
$ vi core.c

ath10k_htc_wait_targetが呼ばれている関数を抜き出したath10k_htc_wait_targetath10k_hif_startの処理結果を待つ関数のようだ。

次にath10k_hif_startをgrepした(最初*.cで検索したらヒットしないので*.hで検索したらヒットした)。hif.hにインライン定義されている様子なのでviで開く。

 command
$ grep "ath10k_hif_start" *.h
hif.h:static inline int ath10k_hif_start(struct ath10k *ar)
$ vi hif.h

ath10k_hif_startの定義箇所を抜き出した。startが呼ばれてる。

startでgrep。たくさん出てきたがpci.cath10k_pci_hif_startがヒットだろう。

 command
$ grep "start" *.c
(省略)
pci.c: .start = ath10k_pci_hif_start,
(省略)

ath10k_pci_hif_startを抜き出した。ath10k_pci_rx_postが呼ばれてる。

ath10k_pci_rx_postからath10k_pci_rx_post_pipeが呼ばれてる。

ath10k_pci_rx_post_pipeから__ath10k_pci_rx_post_bufが呼ばれてる。

__ath10k_pci_rx_post_bufではdev_alloc_skbでskb(ソケットバッファ)を作り、dma_map_singleでDMA領域を獲得(参考:Linuxネットワークドライバの開発)して、__ath10k_ce_rx_post_bufを呼び、dma_unmap_singleでDMA領域を解放してる。

__ath10k_ce_rx_post_bufをgrepした。ce.cがヒットしたのでviで開く。

 command
$ grep "__ath10k_ce_rx_post_buf" *.c
ce.c:int __ath10k_ce_rx_post_buf(struct ath10k_ce_pipe *pipe, void *ctx, u32 paddr)
ce.c: ret = __ath10k_ce_rx_post_buf(pipe, ctx, paddr);
pci.c: ret = __ath10k_ce_rx_post_buf(ce_pipe, skb, paddr);
pci.c: ret = __ath10k_ce_rx_post_buf(ce_diag, NULL, ce_data);
pci.c: ret = __ath10k_ce_rx_post_buf(ce_diag, NULL, address);
$ vi ce.c

__ath10k_ce_rx_post_bufを抜き出す。__ath10k_ce_rx_post_bufからath10k_ce_dest_ring_write_index_setが呼ばれてる。

ath10k_ce_dest_ring_write_index_setからath10k_pci_write32が呼ばれてる。

ath10k_pci_write32をgrepした。たくさんヒットするがpci.cに定義されてるようだ。pci.cをviで開く。

 command
$ grep "ath10k_pci_write32" *.c
(省略)
pci.c:void ath10k_pci_write32(struct ath10k *ar, u32 offset, u32 value)
(省略)
$ vi pci.c

ath10k_pci_write32ではath10k_pci_wakeでPCI起床しiowrite32を実行しath10k_pci_sleepでPCI休眠させる。ほぼここが末端だろう。

さて、いろいろ見てみた結果、PCIe経由で無線チップにデータを書き込みしたが、チップから応答がなくて止まっちゃったみたいな感じ?

③一旦立ち止まる

backportsでやったことを整理してみる(詳細は上を参照)。

①backportsのソースコード(backports-5.2.8-1)をダウンロードした(成功
②LinuxPCでbackports-5.2.8-1のmake menuconfigを実行しカーネルコンフィグを変更した(成功
③LinuxPCでbackports-5.2.8-1のmakeを実行しドライバを生成した(成功
※但し、ath10kドライバがビルドされなかった。
④LinuxPCでbackports-5.2.8-1のmake defconfig-ath10kを実行しath10kがターゲットに含まれるようにしてmakeを実行しドライバを生成した(成功
※ath10kドライバがビルドされるようになった。但し、ath10kドライバがPCに挿さらないため動作確認はせず。
⑤Yoctoの環境変数を読み込み、クロスコンパイラでbackportss-5.2.8-1のmakeを実行しドライバを生成した(失敗
※backportsはYoctoの環境変数ではなくCROSS_COMPILE、ARCH、KLIB、KLIB_BUILDを指定することを推奨している。
⑥CROSS_COMPILE、ARCH、KLIB、KLIB_BUILDを設定して、クロスコンパイラでbackports-5.2.8-1のmakeを実行しドライバを生成した(成功
※当初、KLIB、KLIB?BUILDの設定をミスっていたが正しい設定を見つけた。
※但し、ath10kドライバがビルドされなかった。
⑦CROSS_COMPILE、ARCH、KLIB、KLIB_BUILDを設定して、クロスコンパイラでbackports-5.2.8-1のmake defconfig-ath10kを行うことでath10kドライバをビルドできるようにした(成功
※試行錯誤したところ、backports-4.4.2-1以下のバージョンにすることでBD-SABRE-LITE向けカーネル3.14のath10kドライバがビルドできることを確認した。
※ath10kドライバがビルドされるようになり、実機にインストールした。
⑧実機にath10kドライバをインストールした(失敗
※ath10k_pci.koをインストールするときにQCA9377ファーム読み込みでエラー発生(ファイルがない)。
⑨実機にath10kファームをインストールしてath10kドライバをインストールした(失敗
※ath10k_pci.koをインストールするときにQCA9377ファーム読み込みでエラー発生(ファイルはあるがモジュールから応答が来ない)。

④デバイスを変えてみる

以下、【右】がQCA9377(miniPCIe)だがドライバ・ファームインストールしたときにモジュールが応答を返してくれない。そのため【中】のQCA6174(M.2)を【左】のM.2からminiPCIeに変換するアダプタにつなぎ、BD-SABRE-LITEに接続した。

BD-SABRE-LITEを起動し、lspciを見てみる。ハードウェアは認識した様子。

 command
# lspci -k
00:00.0 PCI bridge: Synopsys, Inc. Device abcd (rev 01)
Kernel driver in use: pcieport
01:00.0 Network controller: Qualcomm Atheros Device 003e (rev 32)
Subsystem: Lenovo Device 0827

ドライバたちをインストールした。QCA6174のファームがないと言っている。インストールしてないから当たり前。

 command
# insmod ./compat.ko
Loading modules backported from Linux version v4.4.2-0-g1cb8570
Backport generated by backports.git v4.4.2-1-0-gbec4037
# insmod ./cfg80211.ko
# insmod ./mac80211.ko
# insmod ./ath.ko
# insmod ./ath10k_core.ko
# insmod ./ath10k_pci.ko
ath10k_pci 0000:01:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
# ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-5.bin': -2
ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-4.bin': -2
ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-3.bin': -2
ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-2.bin': -2
ath10k_pci 0000:01:00.0: could not fetch firmware (-2)
ath10k_pci 0000:01:00.0: could not fetch firmware files (-2)
ath10k_pci 0000:01:00.0: could not probe fw (-2)

全ドライバをアンインストールしておく。

 command
# rmmod ath10k_pci
# rmmod ath10k_core
# rmmod ath
# rmmod mac80211
# rmmod cfg80211
# rmmod compat

QCA6174のファームをSD-SABRE-LITEの/lib/firmware/ath10k/QCA6174にコピー。QCA6174に何が入ってるか見てみた。予想通りhw3.0/firmware-5.binがない。

 command
# cd /lib/firmware/ath10k/QCA6174/hw3.0
# ls -la
drwxr-x--- 8 root root 1024 Nov 7 13:31 .
drwxr-x--- 4 root root 1024 Nov 7 13:25 ..
drwxr-x--- 2 root root 1024 Nov 7 13:25 4.4
drwxr-x--- 2 root root 4096 Nov 7 13:25 4.4.1
drwxr-x--- 2 root root 1024 Nov 7 13:25 4.4.1.c1
drwxr-x--- 2 root root 1024 Nov 7 13:25 4.4.1.c2
drwxr-x--- 2 root root 1024 Nov 7 13:25 4.4.1.c3
-rwxr-x--- 1 root root 567608 Nov 7 13:25 board-2.bin
-rwxr-x--- 1 root root 8124 Nov 7 13:25 board.bin
-rwxr-x--- 1 root root 733784 Nov 7 13:25 firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1
-rwxr-x--- 1 root root 79801 Nov 7 13:25 notice.txt_WLAN.RM.2.0-00180-QCARMSWPZ-1
drwxr-x--- 2 root root 1024 Nov 7 13:25 sdio-4.4.1

ファームがどこにあるか見てみた。No5のファームは1つだけ(水色)。

/lib/firmware/ath10k/QCA6174/hw2.1./firmware-5.bin_SW_RM.1.1.1-00157-QCARMSWPZ-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4/firmware-6.bin_WLAN.RM.4.4-00022-QCARMSWPZ-2
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00008-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00014-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00026-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00051-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00058-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00065-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00079-QCARMSWPZ-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00102-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00110-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00119-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00124-QCARMSWPZ-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00128-QCARMSWPZ-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00132-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00140-QCARMSWPZ-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c1/firmware-6.bin_RM.4.4.1.c1-00031-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c1/firmware-6.bin_RM.4.4.1.c1-00035-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c1/firmware-6.bin_RM.4.4.1.c1-00037-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c1/firmware-6.bin_RM.4.4.1.c1-00038-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c1/firmware-6.bin_RM.4.4.1.c1-00041-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c1/firmware-6.bin_RM.4.4.1.c1-00042-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c1/firmware-6.bin_RM.4.4.1.c1-00045-QCARMSWP-3
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c1/firmware-6.bin_RM.4.4.1.c1-00049-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c2/firmware-6.bin_RM.4.4.1.c2-00041-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c2/firmware-6.bin_RM.4.4.1.c2-00057-QCARMSWP-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c3/firmware-6.bin_RM.4.4.1.c3-00013-QCARMSWPZ-1
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c3/firmware-6.bin_WLAN.RM.4.4.1.c3-00030
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c3/firmware-6.bin_WLAN.RM.4.4.1.c3-00031
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c3/firmware-6.bin_WLAN.RM.4.4.1.c3-00035
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c3/firmware-6.bin_WLAN.RM.4.4.1.c3-00037-
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c3/firmware-6.bin_WLAN.RM.4.4.1.c3-00038
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c3/firmware-6.bin_WLAN.RM.4.4.1.c3-00049-
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c3/firmware-6.bin_WLAN.RM.4.4.1.c3-00050
/lib/firmware/ath10k/QCA6174/hw3.0/4.4.1.c3/firmware-6.bin_WLAN.RM.4.4.1.c3-00058

/lib/firmware/ath10k/QCA6174/hw3.0/firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1
/lib/firmware/ath10k/QCA6174/hw3.0/sdio-4.4.1/firmware-sdio-6.bin_WLAN.RMH.4.4.1-00011-QCARMSWP-2
/lib/firmware/ath10k/QCA6174/hw3.0/sdio-4.4.1/firmware-sdio-6.bin_WLAN.RMH.4.4.1-00017-QCARMSWPZ-2

一致したファームを/lib/firmware/ath10k/QCA6174/hw3.0/firmware-5.binに配置して、再度ドライバをインストール。またもやタイムアウトエラー(firmware-6.binとかfirmware-4.binをfirmware-5.binに書き換えてやってみたが結果変わらず)。

 command
# insmod ./compat.ko
Loading modules backported from Linux version v4.4.2-0-g1cb8570
Backport generated by backports.git v4.4.2-1-0-gbec4037
# insmod ./cfg80211.ko
# insmod ./mac80211.ko
# insmod ./ath.ko
# insmod ./ath10k_core.ko
# insmod ./ath10k_pci.ko
ath10k_pci 0000:01:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
# # ath10k_pci 0000:01:00.0: failed to receive control response completion, polling..
ath10k_pci 0000:01:00.0: ctl_resp never came in (-110)
ath10k_pci 0000:01:00.0: failed to connect to HTC: -110
ath10k_pci 0000:01:00.0: could not init core (-110)
ath10k_pci 0000:01:00.0: could not probe fw (-110)

う~ん。HWを変えてもダメってことはLinuxカーネル(PCIeのMSI、MSI-X割込み?)、backportsドライバあたりをもう一度疑わなくてはならないのだろうか?

 

まとめ

中途半端で申し訳ないのですがこのまま進めても解決しなそうなので、一旦手詰まりということで検討STOPします。

どこかで仕切り直したいです。そのときに今回の失敗事例が役にたつと思うので、記録しておきました。

関連記事

【無線LAN】組み込みボードで無線LANを動かしてみた(Intel N6300編)

【無線LAN】組み込みボードで無線LANを動かしてみた(QCA9377失敗編)

【無線LAN】パソコンの無線LANアダプタをアクセスポイント(SoftAP)にする方法

【自宅でNFC】非接触ICカードリーダーPaSoRiを試してみた

【モバイル通信】自宅のインターネット環境をポケットWi-Fiにしよう(お薦めの理由3つ)

 

  • この記事を書いた人
  • 最新記事

ペイヴメント

ペイヴメントのエンジニア塾(当ブログ)では20年以上の経験から得られたプログラミング系ノウハウについてベテランにも満足して頂けるような内容の濃いコンテンツを初心者にも分かりやすい形で日々発信しています。【経歴】ベンチャーのソフトハウスで4年勤務後、精密機器メーカーのソフト開発部門に勤務し今に至ります。

-Linux, ネットワーク

Copyright© ペイヴメントのエンジニア塾 , 2020 All Rights Reserved.