우선 우리는 표준 리눅스가 아닌 NXP의 임베디드 리눅스를 사용하고 있습니다.
우리가 겪고 있는 문제는 채널 12와 13을 활성화하도록 국가를 설정할 수 없다는 것입니다.
CRDA를 설치했고 Cypress(broadcom) Wi-Fi 칩셋을 사용하고 있습니다.
질문:
Linux가 시작되면 wlan0을 시작하지 않으므로 ifconfig는 다음을 표시합니다.
13:52:15 root@i:~> ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1%1995577040/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:256 errors:0 dropped:0 overruns:0 frame:0
TX packets:256 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:18944 (18.5 KiB) TX bytes:18944 (18.5 KiB)
13:58:41 root@i:~> iw dev
phy#0
Interface wlan0
ifindex 4
wdev 0x1
addr 00:90:4c:11:22:33
type managed
wlan0이 활성화되지 않은 경우 영역 국가를 변경할 수 있습니다.
iw reg set JP
13:54:15 root@i:~> cfg80211: Regulatory domain changed to country: JP
cfg80211: DFS Master region: JP
cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), ( dfs_cac_time)
cfg80211: (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
cfg80211: (4910000 KHz - 4990000 KHz @ 40000 KHz), (N/A, 2300 mBm), (N/A)
cfg80211: (5030000 KHz - 5090000 KHz @ 40000 KHz), (N/A, 2300 mBm), (N/A)
cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
cfg80211: (5490000 KHz - 5710000 KHz @ 160000 KHz), (N/A, 2300 mBm), (0 s)
따라서 iw 목록을 확인하면 채널 12와 13이 활성화되어 있음을 알 수 있습니다.
13:58:27 root@i:~> iw list |grep MHz
* 2412 MHz [1] (20.0 dBm)
* 2417 MHz [2] (20.0 dBm)
* 2422 MHz [3] (20.0 dBm)
* 2427 MHz [4] (20.0 dBm)
* 2432 MHz [5] (20.0 dBm)
* 2437 MHz [6] (20.0 dBm)
* 2442 MHz [7] (20.0 dBm)
* 2447 MHz [8] (20.0 dBm)
* 2452 MHz [9] (20.0 dBm)
* 2457 MHz [10] (20.0 dBm)
* 2462 MHz [11] (20.0 dBm)
* 2467 MHz [12] (20.0 dBm)
* 2472 MHz [13] (20.0 dBm)
* 2484 MHz [14] (20.0 dBm)
문제는 wlan0을 시작할 때 ifup wlan0 또는 ip를 사용하여 wlan0을 설정하고 채널 11과 12를 재설정한다는 것입니다.
14:01:53 root@i:~> iw list |grep MHz
* 2412 MHz [1] (20.0 dBm)
* 2417 MHz [2] (20.0 dBm)
* 2422 MHz [3] (20.0 dBm)
* 2427 MHz [4] (20.0 dBm)
* 2432 MHz [5] (20.0 dBm)
* 2437 MHz [6] (20.0 dBm)
* 2442 MHz [7] (20.0 dBm)
* 2447 MHz [8] (20.0 dBm)
* 2452 MHz [9] (20.0 dBm)
* 2457 MHz [10] (20.0 dBm)
* 2462 MHz [11] (20.0 dBm)
Broadcom은 명령 도구 "wl"을 사용합니다. wlan0이 시작될 때만 이 도구를 사용할 수 있습니다. 사용 가능한 채널을 확인하면 채널 11과 12를 사용할 수 없음을 알 수 있습니다.
14:02:03 root@i:~> wl chan_info
Channel 1 B Band
Channel 2 B Band
Channel 3 B Band
Channel 4 B Band
Channel 5 B Band
Channel 6 B Band
Channel 7 B Band
Channel 8 B Band
Channel 9 B Band
Channel 10 B Band
Channel 11 B Band
국가 지역을 설정하는 경우 wl을 사용합니다.
14:03:32 root@i:~> wl country GB
14:04:25 root@i:~> wl chan_info
Channel 1 B Band
Channel 2 B Band
Channel 3 B Band
Channel 4 B Band
Channel 5 B Band
Channel 6 B Band
Channel 7 B Band
Channel 8 B Band
Channel 9 B Band
Channel 10 B Band
Channel 11 B Band
Channel 12 B Band
Channel 13 B Band
채널 12와 13을 사용할 수 있지만 iw에서는 다음 채널을 표시하지 않습니다.
14:01:53 root@i:~> iw list |grep MHz
* 2412 MHz [1] (20.0 dBm)
* 2417 MHz [2] (20.0 dBm)
* 2422 MHz [3] (20.0 dBm)
* 2427 MHz [4] (20.0 dBm)
* 2432 MHz [5] (20.0 dBm)
* 2437 MHz [6] (20.0 dBm)
* 2442 MHz [7] (20.0 dBm)
* 2447 MHz [8] (20.0 dBm)
* 2452 MHz [9] (20.0 dBm)
* 2457 MHz [10] (20.0 dBm)
* 2462 MHz [11] (20.0 dBm)
국가 지역을 다시 설정하려고 하면 작동하지 않습니다.
14:07:55 root@i:~> iw reg set GB
14:08:01 root@i:~> cfg80211: Regulatory domain changed to country: GB
cfg80211: DFS Master region: ETSI
cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
cfg80211: (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
cfg80211: (5490000 KHz - 5710000 KHz @ 160000 KHz), (N/A, 2700 mBm), (0 s)
cfg80211: (57000000 KHz - 66000000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A)
14:01:53 root@i:~> iw list |grep MHz
* 2412 MHz [1] (20.0 dBm)
* 2417 MHz [2] (20.0 dBm)
* 2422 MHz [3] (20.0 dBm)
* 2427 MHz [4] (20.0 dBm)
* 2432 MHz [5] (20.0 dBm)
* 2437 MHz [6] (20.0 dBm)
* 2442 MHz [7] (20.0 dBm)
* 2447 MHz [8] (20.0 dBm)
* 2452 MHz [9] (20.0 dBm)
* 2457 MHz [10] (20.0 dBm)
* 2462 MHz [11] (20.0 dBm)
질문:
1-ifup이 "채널"을 변경/재설정하는 이유는 무엇입니까? ifup 중에 "드라이버" 로드:
13:59:45 root@i:~> ifup wlan0
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
Dongle Host Driver, version 1.141.92 (r)
Compiled in drivers/net/wireless/bcmdhd
wl_android_wifi_on in
mmc0: queuing unknown CIS tuple 0x80 (2 bytes)
mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
mmc0: queuing unknown CIS tuple 0x80 (7 bytes)
mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
mmc0: queuing unknown CIS tuple 0x80 (6 bytes)
F1 signature OK, socitype:0x1 chip:0xa9a6 rev:0x1 pkg:0x3
DHD: dongle ram size is set to 524288(orig 524288) at 0x0
dhdsdio_write_vars: Download, Upload and compare of NVRAM succeeded.
dhd_bus_init: enable 0x06, ready 0x06 (waited 0us)
wifi_platform_get_mac_addr
Firmware up: op_mode=0x0005, MAC=60:f1:89:cb:cb:17
Firmware version = wl0: Dec 11 2014 04:20:45 version 7.10.323.34 (r520360) FWID 01-ea2beeba
dhd_wlfc_init(): successfully enabled bdcv2 tlv signaling, 79
dhd_wlfc_init: query wlfc_mode succeed, fw_caps=0x1c
dhd_wlfc_init(): wlfc_mode=0x1c, ret=0
CFG80211-ERROR) wl_update_wiphybands : error reading vhtmode (-23)
wl_create_event_handler(): thread:wl_event_handler:246 started
CFG80211-ERROR) wl_event_handler : tsk Enter, tsk = 0x8a46143c
2- 아마도 문제는 wlan0 인터페이스를 불러오기 전에 wl 도구를 실행해야 한다는 것입니다. 그러나 인터페이스가 작동하지 않으면 wl 명령이 인터페이스를 찾을 수 없습니다.
시간 내 주셔서 감사합니다.
답변1
문제는 운전자에게 있습니다. 제조업체에서 오류를 확인했습니다.