iPhone 개인 Wi-Fi 핫스팟에 대한 Ubuntu Linux의 연결이 왜 그렇게 불안정합니까?

iPhone 개인 Wi-Fi 핫스팟에 대한 Ubuntu Linux의 연결이 왜 그렇게 불안정합니까?

개인 핫스팟이 켜져 있는 iPhone(11)이 있습니다. 때로는 Wi-Fi가 없는 곳에 있을 때 iPhone의 개인 핫스팟을 Ubuntu 22.04를 실행하는 노트북의 인터넷 연결로 사용하고 싶습니다. Ubuntu에 이 핫스팟에 연결하도록 요청하면 핫스팟("Steve's iPhone")이 연결할 수 있는 네트워크 목록에 표시되고 연결될 수 있지만 때로는 표시되지 않을 수도 있습니다. 목록. 이 연결이 언제 발견되거나 발견되지 않을지에 대한 운율이나 이유가 없습니다. Wi-Fi를 껐다가 다시 켜도 문제가 해결되지 않았습니다. 연결도 안보이네요

sudo iwlist wlp4s0 scan | grep ESSID

(wlp4s0은 현재 Wi-Fi에서 사용하는 인터페이스입니다 ifconfig. 때로는 wlan0으로 표시되기도 하는데, 이는 언젠가 이해하고 싶은 또 다른 미스터리입니다.)

이 이상하고 일관성 없는 행동에 대한 설명은 무엇입니까? 이 시스템을 사용하여 Wi-Fi 연결이 보다 일관되게 작동하도록 하는 방법을 아는 사람이 있습니까?

[업데이트] 아래 댓글 작성자는 위의 설명이 너무 모호하다고 생각하지만 모호성은 문제에 내재되어 있습니다. 작동할 때도 있고 작동하지 않을 때도 있는데, 작동하거나 실패하는 이유를 알 수 없습니다. 의견 제시자들은 이 문제를 해결하는 방법에 대한 정보를 요청하는 것이 가장 좋을 것이라고 제안했습니다. 좋은 생각이라 이렇게 묻겠습니다.

이 문제를 어떻게 해결할 수 있나요?

[업데이트 2: @telcoM의 질문에 대한 답변]

브랜드/모델은 Lenovo Thinkpad T540(2014)입니다.

$ sudo lspci -s 4:0 -nnv
04:00.0 Network controller [0280]: Intel Corporation Wireless 7260 [8086:08b2] (rev 83)
    Subsystem: Intel Corporation Dual Band Wireless-AC 7260 [8086:c270]
    Flags: bus master, fast devsel, latency 0, IRQ 32
    Memory at f1400000 (64-bit, non-prefetchable) [size=8K]
    Capabilities: [c8] Power Management version 3
    Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [40] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Device Serial Number e8-2a-ea-ff-ff-15-8a-1f
    Capabilities: [14c] Latency Tolerance Reporting
    Capabilities: [154] Vendor Specific Information: ID=cafe Rev=1 Len=014 <?>
    Kernel driver in use: iwlwifi
    Kernel modules: iwlwifi

$ ethtool -i wlp4s0
driver: iwlwifi
version: 5.15.0-37-generic
firmware-version: 17.3216344376.0 7260-17.ucode
expansion-rom-version: 
bus-info: 0000:04:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

$ sudo dmidecode -s system-product-name; sudo dmidecode -s system-sku-number; sudo dmidecode -s system-manufacturer
20BECTO1WW
LENOVO_MT_20BE
LENOVO

$ sudo dmidecode -s bios-version; sudo dmidecode -s bios-release-date
GMET91WW (2.39 )
06/03/2021

답변1

노트북에서 사용 가능한 WiFi 채널이 iPhone보다 더 제한적인 것 같습니다. 일반적으로 핫스팟(iPhone)에 따라 사용할 채널이 결정됩니다. 핫스팟 기능이 켜져 있으면 iPhone에서 자동으로 이 결정을 내릴 수 있습니다. 노트북이 사용할 수 없는 채널을 선택하면 노트북이 핫스팟을 찾을 수 없습니다.

를 사용하면 iw reg getLinux가 현재 채택하고 있는 국가별 무선 주파수 제한 세트를 볼 수 있으며, 를 사용하면 iw list노트북의 WiFi 어댑터가 조정할 수 있는 채널 목록을 볼 수 있습니다. 예를 들어 , Linux는 Wi-Fi 어댑터가 어느 국가에 있고 어떤 국가별 제한 사항을 사용해야 하는지 알려줄 수 있는 기지국을 들을 때 iw reg get까지 전역 사용이 허용되는 채널에서만 전송합니다.country 00: DFS-UNSET

일부 WiFi 어댑터는 국가별 주파수 제한을 완전히 내부적으로 처리하며(군용 레이더 간섭으로 인한 법적 문제 가능성을 피하기 위해) 다른 어댑터는 커널에서 입력을 받을 수 있습니다. 를 사용하면 iw reg set <two-letter country code>적용 가능한 국가 코드가 무엇인지에 대한 아이디어를 커널에 알릴 수 있습니다(현재 국가 코드가 설정되어 있지 않은 경우).

어떤 이유로든 일부 WiFi 어댑터(및/또는 해당 드라이버)는 해당 국가의 모든 법적 채널을 사용하지 못할 수 있습니다. 한때 Broadcom BCM43228이 포함된 시스템이 있었는데, b43오픈 소스 드라이버와 함께 사용할 때 사용 가능한 5GHz 채널 세트가 매우 제한되었습니다. 폐쇄 소스 wl드라이버에는 사용 가능한 전체 채널 세트가 있습니다.

불행하게도 iPhone은 핫스팟 기능을 위해 어떤 채널을 선택했는지 표시하지 않을 수 있습니다.

실제로 말씀하신 WiFi 어댑터는 로 나타날 때도 있고 wlp4s0으로 나타날 때도 있는데 이것도 wlan0이상합니다. 어댑터가 초기 initramfs에서 초기화되는지 아니면 나중에 시스템이 완전히 실행될 때 초기화되는지에 따라 다른 설정이 적용될 수 있습니까?

일부 노트북에는 무선 송신기를 비활성화할 수 있는 물리적 스위치가 있습니다("비행기 모드"용). 다른 사람들은 비슷한 기능을 ACPI 펌웨어에 내장하고 특정 키 입력으로 작동할 수 있습니다. sudo rfkill list해당 무선 송신기 킬 스위치가 현재 활성화되어 있는지 여부를 나타내야 합니다.

질문에 추가하고 문제 해결에 도움이 되는 좋은 정보는 다음과 같습니다.

  • WiFi 칩 식별:sudo lspci -s 4:0 -nnv
  • 드라이버 상태: ( ethtool -i wlp4s0또는 ethtool -i wlan0)
  • 노트북 제조사 및 모델(알려진 펌웨어 버그로 인해 WiFi 어댑터에 문제가 발생한 경우) 출력에서 sudo dmidecode -s system-product-name; sudo dmidecode -s system-sku-number; sudo dmidecode -s system-manufacturer​​필요한 정보를 제공할 수 있습니다 .
  • BIOS 버전/출시 날짜:sudo dmidecode -s bios-version; sudo dmidecode -s bios-release-date

답변2

한 가지 가능한 해결 방법은 서로 다른 두 시스템의 서로 다른 두 인스턴스에 대해 작동하는 것 같습니다.

사용 가능한 네트워크 목록을 가져옵니다. iPhone 핫스팟이 나타나지 않으면 iPhone의 설정 -> 개인용 핫스팟 페이지에서 껐다가 다시 켜세요. 두 경우 모두 iPhone 핫스팟이 컴퓨터의 네트워크 목록에 나타납니다.

아직도 이것이 왜 필요한지 궁금합니다.

답변3

문제 해결 솔루션

iPhone 핫스팟이 사용 가능한 네트워크 목록에 나타나지 않는 경우:

  1. 개인 핫스팟 끄고 켜기
  2. 데이터 전송을 껐다가 켜세요
  3. 잠긴 화면에서 작업 중인 경우 화면 잠금을 해제하세요.
  4. 먼저 다른 휴대폰을 핫스팟에 연결하세요.
  5. 이더넷 연결을 위해 USB 케이블을 통해 컴퓨터에 연결하세요.

관련 정보