WiFi 손실을 진단하는 동안 WiFi 인터페이스의 규제 도메인이 "세계"(00)로 설정되어 있음을 발견했습니다. 이를 내 지역(미국)으로 변경하면 문제 해결에 도움이 될 것입니다. 그러나 내가 한 모든 시도는 무시되었습니다.
달리기는 iw reg set US
뚜렷한 효과가 없습니다.
$ iw reg get
country 00: DFS-UNSET
(2402 - 2472 @ 40), (6, 20), (N/A)
(2457 - 2482 @ 40), (6, 20), (N/A), PASSIVE-SCAN
(2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
(5170 - 5250 @ 160), (6, 20), (N/A), PASSIVE-SCAN
(5250 - 5330 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
(5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
(5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
(57240 - 63720 @ 2160), (N/A, 0), (N/A)
$ sudo iw reg set US
$ iw reg get
country 00: DFS-UNSET
(2402 - 2472 @ 40), (6, 20), (N/A)
(2457 - 2482 @ 40), (6, 20), (N/A), PASSIVE-SCAN
(2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
(5170 - 5250 @ 160), (6, 20), (N/A), PASSIVE-SCAN
(5250 - 5330 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
(5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
(5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
(57240 - 63720 @ 2160), (N/A, 0), (N/A)
iw reg set
해당 주제에 대해 광범위하게 인터넷 검색을 한 결과 커널이 udev 이벤트를 발생시켜 crda
실행을 유발하고 관련 감독 정보를 뱉어내는 것 같습니다 . 그러나 내가 아는 한 udevadm
이 이벤트는 발생하지 않습니다. 이 이벤트가 없다는 것은 다음 kluge가 작동하지 않는 것으로 확인됩니다.
$ sudo iw reg set US; sudo COUNTRY=US crda
Failed to set regulatory domain: -7
오류 메시지는 crda
커널이 udev 이벤트/요청을 발행하고 응답을 기대하는 경우에만 WiFi 규정 변경을 허용합니다. crda
실패 로 인해 커널은 분명히 이를 예상하지 않았으며 이는 udev 이벤트가 발생하지 않았음을 나타냅니다.
WiFi 인터페이스는 Intel 7265D입니다 . 해당 커널 드라이버 는 입니다 iwlmvm
. 드라이버를 제거하고 다시 로드해도 효과가 crda
없습니다 .wireless-regdb
/etc/default/crda
REGDOMAIN=US
iwlmvm
확인해 볼 만한 다른 제안이 있나요?
답변1
어제 문제를 다시 시도했지만 커널 4.6.3에서도 여전히 문제가 있습니다. 최신 펌웨어 이미지를 수동으로 설치해도 도움이 되지 않았습니다. 그러나 iw reg set US
동일한 커널을 실행하는 두 번째 랩톱에서 시도하면 문제 없이 실행되었습니다.
문제 기기는 Intel 7265D WiFi 카드가 탑재된 Thinkpad X1 Carbon(3세대)이고, 작업 기기는 Intel 7260이 탑재된 Thinkpad T440p입니다. 그래서 7265D 드라이버나 펌웨어에 버그가 있다는 결론을 내렸습니다.
해결책
7265D에 대한 해결 방법도 찾았습니다. 이는 해결 방법이며 실제 수정 사항이 출시되면 충돌이 발생할 수 있습니다.
- 모든 WiFi 커널 드라이버 및 종속 모듈을 제거합니다.
sudo modprobe -r iwlmvm
cfg80211
규제 도메인(이 경우 "US")을 강제 적용하기 위해 커널 매개변수를 사용하여 커널 모듈을 설치합니다 .
sudo modprobe cfg80211 ieee80211_regdom=US
- WiFi 커널 드라이버를 다시 설치하십시오.
sudo modprobe iwlmvm
이제 미국(또는 기타) 규제 도메인에 대해 구성된 WiFi 인터페이스가 표시됩니다.
$ iw reg get
country US: DFS-FCC
(2402 - 2472 @ 40), (N/A, 30), (N/A)
(5170 - 5250 @ 80), (N/A, 17), (N/A)
(5250 - 5330 @ 80), (N/A, 23), (0 ms), DFS
(5490 - 5730 @ 160), (N/A, 23), (0 ms), DFS
(5735 - 5835 @ 80), (N/A, 30), (N/A)
(57240 - 63720 @ 2160), (N/A, 40), (N/A)
2016.11.17 업데이트: 커널 4.8 시리즈에서 수정됨
몇 주 전에 4.8.x 커널로 업데이트한 후 오늘 문제를 다시 확인한 결과 WiFi 인터페이스가 이제 규제 도메인을 올바르게 수락하는 것 같습니다. 이는 커널 버전 4.8.5 이하에서 발생합니다.
$ iw reg get
global
country 00: DFS-UNSET
(2402 - 2472 @ 40), (6, 20), (N/A)
(2457 - 2482 @ 20), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
(2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
(5170 - 5250 @ 80), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
(5250 - 5330 @ 80), (6, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
(5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
(5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
(57240 - 63720 @ 2160), (N/A, 0), (N/A)
phy#0 (self-managed)
country US: DFS-UNSET
(2402 - 2482 @ 40), (6, 22), (N/A), AUTO-BW, NO-HT40PLUS, NO-80MHZ, NO-160MHZ
(5170 - 5250 @ 80), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, NO-160MHZ, PASSIVE-SCAN
(5250 - 5330 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, NO-160MHZ, PASSIVE-SCAN
(5490 - 5730 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, NO-160MHZ, PASSIVE-SCAN
(5735 - 5815 @ 80), (6, 22), (N/A), AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, NO-160MHZ, PASSIVE-SCAN
(5815 - 5835 @ 20), (6, 22), (N/A), AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, NO-HT40PLUS, NO-80MHZ, NO-160MHZ, PASSIVE-SCAN
답변2
일부 코드 조사 후 문제를 발견했습니다.
Intel WiFi 장치는 "자체 관리형" 장치로 나타나므로 iw reg 세트가 적용되지 않습니다.
iwlwifi
매개변수를 설정하기만 하면 됩니다 lar_disable=1
.
- 수동:
modprobe -r iwlwifi & modprobe iwlwifi lar_disable=1
- 자동으로:
echo "options iwlwifi lar_disable=1" >/etc/modprobe.d/iwlwifi.conf
답변3
내 경우 BCM43228
( b43
드라이버에서 보고 한 대로 lspci
) b43
커널 드라이버를 사용할 때 regdb에서 허용하는 확장된 채널 범위를 보는 데 도움이 되지 않았습니다. 00
내 로컬 데이터베이스(현재)의 교차점 만 AM
유효하게 사용할 수 있습니다.
독점 broadcom-sta
드라이버로 전환하면 문제가 즉시 해결되었으며 이제 필요한 모든 무선 네트워크가 표시됩니다. 그런데 이 운전자는 BCM4359
에서 카드를 호출합니다.dmesg
답변4
#!/bin/bash
echo "hello root"
git clone git://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git
echo ""
cd wireless-regdb/
sleep 3
echo ""
gedit db.txt
sleep 1
echo ""
make
echo ""
sudo rm /lib/crda/regulatory.bin
echo ""
sudo cp regulatory.bin /lib/crda/regulatory.bin
echo ""
sudo cp $USER.key.pub.pem /lib/crda/pubkeys/
echo ""
sudo iw reg get
echo ""
ip link set wlan1 down
sleep 3
echo "Boosting Tx Power To 30 Fixed"
iw dev wlan1 set txpower fixed 30mbm
sleep 3
echo "starting wlan1"
ip link set wlan1 up
sleep 2
echo "Checking wlan1 TxPower"
iw dev
sleep 3
echo "Checking Regulatory Domain"
iw reg get
sleep 2
echo "Good Luck"